{"version":3,"file":"733.mass-edit.js","mappings":"sGAAA,OAMA,WACI,aAMA,SAASA,EAAUC,EAAIC,GACnB,IAAIC,EAAKF,EAAGG,EAAIF,EAAGE,EACfC,EAAKJ,EAAGK,EAAIJ,EAAGI,EAEnB,OAAOH,EAAKA,EAAKE,EAAKA,CAC1B,CAGA,SAASE,EAAaC,EAAGP,EAAIC,GACzB,IAAIE,EAAIH,EAAGG,EACPE,EAAIL,EAAGK,EACPH,EAAKD,EAAGE,EAAIA,EACZC,EAAKH,EAAGI,EAAIA,EAEhB,GAAW,IAAPH,GAAmB,IAAPE,EAAU,CACtB,IAAII,IAAMD,EAAEJ,EAAIA,GAAKD,GAAMK,EAAEF,EAAIA,GAAKD,IAAOF,EAAKA,EAAKE,EAAKA,GAExDI,EAAI,GACJL,EAAIF,EAAGE,EACPE,EAAIJ,EAAGI,GACAG,EAAI,IACXL,GAAKD,EAAKM,EACVH,GAAKD,EAAKI,EAElB,CAKA,OAHAN,EAAKK,EAAEJ,EAAIA,GAGCD,GAFZE,EAAKG,EAAEF,EAAIA,GAEWD,CAC1B,CAuBA,SAASK,EAAeC,EAAQC,EAAOC,EAAMC,EAAaC,GAItD,IAHA,IACIC,EADAC,EAAYH,EAGPI,EAAIN,EAAQ,EAAGM,EAAIL,EAAMK,IAAK,CACnC,IAAIC,EAASZ,EAAaI,EAAOO,GAAIP,EAAOC,GAAQD,EAAOE,IAEvDM,EAASF,IACTD,EAAQE,EACRD,EAAYE,EAEpB,CAEIF,EAAYH,IACRE,EAAQJ,EAAQ,GAAGF,EAAeC,EAAQC,EAAOI,EAAOF,EAAaC,GACzEA,EAAWK,KAAKT,EAAOK,IACnBH,EAAOG,EAAQ,GAAGN,EAAeC,EAAQK,EAAOH,EAAMC,EAAaC,GAE/E,CAGA,SAASM,EAAuBV,EAAQG,GACpC,IAAID,EAAOF,EAAOW,OAAS,EAEvBP,EAAa,CAACJ,EAAO,IAIzB,OAHAD,EAAeC,EAAQ,EAAGE,EAAMC,EAAaC,GAC7CA,EAAWK,KAAKT,EAAOE,IAEhBE,CACX,CAGA,SAASQ,EAASZ,EAAQa,EAAWC,GACjC,GAAId,EAAOW,QAAU,EAAG,OAAOX,EAE/B,IAAIG,OAA4BY,IAAdF,EAA0BA,EAAYA,EAAY,EAKpE,OAHAb,EAASc,EAAiBd,EAxD9B,SAA4BA,EAAQG,GAKhC,IAJA,IAEIa,EAFAC,EAAYjB,EAAO,GACnBkB,EAAY,CAACD,GAGRV,EAAI,EAAGY,EAAMnB,EAAOW,OAAQJ,EAAIY,EAAKZ,IAGtClB,EAFJ2B,EAAQhB,EAAOO,GAEMU,GAAad,IAC9Be,EAAUT,KAAKO,GACfC,EAAYD,GAMpB,OAFIC,IAAcD,GAAOE,EAAUT,KAAKO,GAEjCE,CACX,CAuCuCE,CAAmBpB,EAAQG,GAC9DH,EAASU,EAAuBV,EAAQG,EAG5C,MAMK,KAFD,aACI,OAAOS,CACV,+BAMR,CAjHD,E","sources":["webpack://multi-token-edit/./multi-token-edit/scripts/libs/simplify-js/simplify.js"],"sourcesContent":["/*\r\n (c) 2017, Vladimir Agafonkin\r\n Simplify.js, a high-performance JS polyline simplification library\r\n mourner.github.io/simplify-js\r\n*/\r\n\r\n(function () {\r\n    'use strict';\r\n\r\n    // to suit your point format, run search/replace for '.x' and '.y';\r\n    // for 3D version, see 3d branch (configurability would draw significant performance overhead)\r\n\r\n    // square distance between 2 points\r\n    function getSqDist(p1, p2) {\r\n        var dx = p1.x - p2.x,\r\n            dy = p1.y - p2.y;\r\n\r\n        return dx * dx + dy * dy;\r\n    }\r\n\r\n    // square distance from a point to a segment\r\n    function getSqSegDist(p, p1, p2) {\r\n        var x = p1.x,\r\n            y = p1.y,\r\n            dx = p2.x - x,\r\n            dy = p2.y - y;\r\n\r\n        if (dx !== 0 || dy !== 0) {\r\n            var t = ((p.x - x) * dx + (p.y - y) * dy) / (dx * dx + dy * dy);\r\n\r\n            if (t > 1) {\r\n                x = p2.x;\r\n                y = p2.y;\r\n            } else if (t > 0) {\r\n                x += dx * t;\r\n                y += dy * t;\r\n            }\r\n        }\r\n\r\n        dx = p.x - x;\r\n        dy = p.y - y;\r\n\r\n        return dx * dx + dy * dy;\r\n    }\r\n    // rest of the code doesn't care about point format\r\n\r\n    // basic distance-based simplification\r\n    function simplifyRadialDist(points, sqTolerance) {\r\n        var prevPoint = points[0],\r\n            newPoints = [prevPoint],\r\n            point;\r\n\r\n        for (var i = 1, len = points.length; i < len; i++) {\r\n            point = points[i];\r\n\r\n            if (getSqDist(point, prevPoint) > sqTolerance) {\r\n                newPoints.push(point);\r\n                prevPoint = point;\r\n            }\r\n        }\r\n\r\n        if (prevPoint !== point) newPoints.push(point);\r\n\r\n        return newPoints;\r\n    }\r\n\r\n    function simplifyDPStep(points, first, last, sqTolerance, simplified) {\r\n        var maxSqDist = sqTolerance,\r\n            index;\r\n\r\n        for (var i = first + 1; i < last; i++) {\r\n            var sqDist = getSqSegDist(points[i], points[first], points[last]);\r\n\r\n            if (sqDist > maxSqDist) {\r\n                index = i;\r\n                maxSqDist = sqDist;\r\n            }\r\n        }\r\n\r\n        if (maxSqDist > sqTolerance) {\r\n            if (index - first > 1) simplifyDPStep(points, first, index, sqTolerance, simplified);\r\n            simplified.push(points[index]);\r\n            if (last - index > 1) simplifyDPStep(points, index, last, sqTolerance, simplified);\r\n        }\r\n    }\r\n\r\n    // simplification using Ramer-Douglas-Peucker algorithm\r\n    function simplifyDouglasPeucker(points, sqTolerance) {\r\n        var last = points.length - 1;\r\n\r\n        var simplified = [points[0]];\r\n        simplifyDPStep(points, 0, last, sqTolerance, simplified);\r\n        simplified.push(points[last]);\r\n\r\n        return simplified;\r\n    }\r\n\r\n    // both algorithms combined for awesome performance\r\n    function simplify(points, tolerance, highestQuality) {\r\n        if (points.length <= 2) return points;\r\n\r\n        var sqTolerance = tolerance !== undefined ? tolerance * tolerance : 1;\r\n\r\n        points = highestQuality ? points : simplifyRadialDist(points, sqTolerance);\r\n        points = simplifyDouglasPeucker(points, sqTolerance);\r\n\r\n        return points;\r\n    }\r\n\r\n    // export as AMD module / Node module / browser or worker variable\r\n    if (typeof define === 'function' && define.amd)\r\n        define(function () {\r\n            return simplify;\r\n        });\r\n    else if (typeof module !== 'undefined') {\r\n        module.exports = simplify;\r\n        module.exports.default = simplify;\r\n    } else if (typeof self !== 'undefined') self.simplify = simplify;\r\n    else window.simplify = simplify;\r\n})();\r\n"],"names":["getSqDist","p1","p2","dx","x","dy","y","getSqSegDist","p","t","simplifyDPStep","points","first","last","sqTolerance","simplified","index","maxSqDist","i","sqDist","push","simplifyDouglasPeucker","length","simplify","tolerance","highestQuality","undefined","point","prevPoint","newPoints","len","simplifyRadialDist"],"sourceRoot":""}