{"version":3,"file":"svg2pdf.umd.min.js","sources":["../node_modules/tslib/tslib.es6.js","../src/utils/rgbcolor.ts","../src/fill/ColorFill.ts","../src/context/attributestate.ts","../src/context/context.ts","../node_modules/cssesc/cssesc.js","../src/context/referenceshandler.ts","../src/utils/geometry.ts","../src/utils/path.ts","../src/utils/node.ts","../src/markerlist.ts","../src/utils/constants.ts","../src/utils/misc.ts","../src/utils/parsing.ts","../node_modules/font-family-papandreou/index.js","../src/utils/fonts.ts","../src/utils/bbox.ts","../src/utils/transform.ts","../src/nodes/svgnode.ts","../src/nodes/nonrenderednode.ts","../src/nodes/gradient.ts","../src/nodes/lineargradient.ts","../src/nodes/radialgradient.ts","../src/fill/GradientFill.ts","../src/nodes/pattern.ts","../src/fill/PatternFill.ts","../src/fill/parseFill.ts","../src/applyparseattributes.ts","../src/utils/applyclippath.ts","../src/nodes/renderednode.ts","../src/nodes/graphicsnode.ts","../src/nodes/geometrynode.ts","../src/nodes/line.ts","../src/nodes/symbol.ts","../src/context/viewport.ts","../src/nodes/use.ts","../src/nodes/rect.ts","../src/nodes/ellipsebase.ts","../src/nodes/ellipse.ts","../src/utils/text.ts","../src/textchunk.ts","../src/nodes/text.ts","../node_modules/svgpath/lib/matrix.js","../node_modules/svgpath/lib/a2c.js","../node_modules/svgpath/lib/ellipse.js","../node_modules/svgpath/lib/svgpath.js","../node_modules/svgpath/lib/path_parse.js","../node_modules/svgpath/lib/transform_parse.js","../node_modules/svgpath/index.js","../src/nodes/path.ts","../src/nodes/image.ts","../src/nodes/traverse.ts","../src/nodes/polygon.ts","../src/nodes/void.ts","../src/nodes/marker.ts","../src/nodes/circle.ts","../src/nodes/polyline.ts","../src/nodes/containernode.ts","../src/nodes/svg.ts","../src/nodes/group.ts","../src/nodes/anchor.ts","../src/nodes/clippath.ts","../src/parse.ts","../node_modules/specificity/dist/specificity.mjs","../src/context/stylesheets.ts","../src/context/textmeasure.ts","../src/svg2pdf.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,"/*! https://mths.be/cssesc v3.0.0 by @mathias */\n'use strict';\n\nvar object = {};\nvar hasOwnProperty = object.hasOwnProperty;\nvar merge = function merge(options, defaults) {\n\tif (!options) {\n\t\treturn defaults;\n\t}\n\tvar result = {};\n\tfor (var key in defaults) {\n\t\t// `if (defaults.hasOwnProperty(key) { … }` is not needed here, since\n\t\t// only recognized option names are used.\n\t\tresult[key] = hasOwnProperty.call(options, key) ? options[key] : defaults[key];\n\t}\n\treturn result;\n};\n\nvar regexAnySingleEscape = /[ -,\\.\\/:-@\\[-\\^`\\{-~]/;\nvar regexSingleEscape = /[ -,\\.\\/:-@\\[\\]\\^`\\{-~]/;\nvar regexAlwaysEscape = /['\"\\\\]/;\nvar regexExcessiveSpaces = /(^|\\\\+)?(\\\\[A-F0-9]{1,6})\\x20(?![a-fA-F0-9\\x20])/g;\n\n// https://mathiasbynens.be/notes/css-escapes#css\nvar cssesc = function cssesc(string, options) {\n\toptions = merge(options, cssesc.options);\n\tif (options.quotes != 'single' && options.quotes != 'double') {\n\t\toptions.quotes = 'single';\n\t}\n\tvar quote = options.quotes == 'double' ? '\"' : '\\'';\n\tvar isIdentifier = options.isIdentifier;\n\n\tvar firstChar = string.charAt(0);\n\tvar output = '';\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar character = string.charAt(counter++);\n\t\tvar codePoint = character.charCodeAt();\n\t\tvar value = void 0;\n\t\t// If it’s not a printable ASCII character…\n\t\tif (codePoint < 0x20 || codePoint > 0x7E) {\n\t\t\tif (codePoint >= 0xD800 && codePoint <= 0xDBFF && counter < length) {\n\t\t\t\t// It’s a high surrogate, and there is a next character.\n\t\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// next character is low surrogate\n\t\t\t\t\tcodePoint = ((codePoint & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000;\n\t\t\t\t} else {\n\t\t\t\t\t// It’s an unmatched surrogate; only append this code unit, in case\n\t\t\t\t\t// the next code unit is the high surrogate of a surrogate pair.\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t} else {\n\t\t\tif (options.escapeEverything) {\n\t\t\t\tif (regexAnySingleEscape.test(character)) {\n\t\t\t\t\tvalue = '\\\\' + character;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t\t}\n\t\t\t} else if (/[\\t\\n\\f\\r\\x0B]/.test(character)) {\n\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t} else if (character == '\\\\' || !isIdentifier && (character == '\"' && quote == character || character == '\\'' && quote == character) || isIdentifier && regexSingleEscape.test(character)) {\n\t\t\t\tvalue = '\\\\' + character;\n\t\t\t} else {\n\t\t\t\tvalue = character;\n\t\t\t}\n\t\t}\n\t\toutput += value;\n\t}\n\n\tif (isIdentifier) {\n\t\tif (/^-[-\\d]/.test(output)) {\n\t\t\toutput = '\\\\-' + output.slice(1);\n\t\t} else if (/\\d/.test(firstChar)) {\n\t\t\toutput = '\\\\3' + firstChar + ' ' + output.slice(1);\n\t\t}\n\t}\n\n\t// Remove spaces after `\\HEX` escapes that are not followed by a hex digit,\n\t// since they’re redundant. Note that this is only possible if the escape\n\t// sequence isn’t preceded by an odd number of backslashes.\n\toutput = output.replace(regexExcessiveSpaces, function ($0, $1, $2) {\n\t\tif ($1 && $1.length % 2) {\n\t\t\t// It’s not safe to remove the space, so don’t.\n\t\t\treturn $0;\n\t\t}\n\t\t// Strip the space.\n\t\treturn ($1 || '') + $2;\n\t});\n\n\tif (!isIdentifier && options.wrap) {\n\t\treturn quote + output + quote;\n\t}\n\treturn output;\n};\n\n// Expose default options (so they can be overridden globally).\ncssesc.options = {\n\t'escapeEverything': false,\n\t'isIdentifier': false,\n\t'quotes': 'single',\n\t'wrap': false\n};\n\ncssesc.version = '3.0.0';\n\nmodule.exports = cssesc;\n",null,null,null,null,null,null,null,null,"// parse\n// =====\n\n// states\n// ------\n\nvar PLAIN = 0;\nvar STRINGS = 1;\nvar ESCAPING = 2;\nvar IDENTIFIER = 3;\nvar SEPARATING = 4;\nvar SPACEAFTERIDENTIFIER = 5;\n\n// patterns\n// --------\n\nvar identifierPattern = /[a-z0-9_-]/i;\nvar spacePattern = /[\\s\\t]/;\n\n// ---\n\nvar parse = function(str) {\n\n // vars\n // ----\n\n var starting = true;\n var state = PLAIN;\n var buffer = '';\n var i = 0;\n var quote;\n var c;\n\n // result\n // ------\n\n var names = [];\n\n // parse\n // -----\n\n while (true) {\n\n c = str[i];\n\n if (state === PLAIN) {\n\n if (!c && starting) {\n\n break;\n\n } else if (!c && !starting) {\n\n throw new Error('Parse error');\n\n } else if (c === '\"' || c === \"'\") {\n\n quote = c;\n state = STRINGS;\n starting = false;\n\n } else if (spacePattern.test(c)) {\n } else if (identifierPattern.test(c)) {\n\n state = IDENTIFIER;\n starting = false;\n i--;\n\n } else {\n\n throw new Error('Parse error');\n\n }\n\n } else if (state === STRINGS) {\n\n if (!c) {\n\n throw new Error('Parse Error');\n\n } else if (c === \"\\\\\") {\n\n state = ESCAPING;\n\n } else if (c === quote) {\n\n names.push(buffer);\n buffer = '';\n state = SEPARATING;\n\n } else {\n\n buffer += c;\n\n }\n\n } else if (state === ESCAPING) {\n\n if (c === quote || c === \"\\\\\") {\n\n buffer += c;\n state = STRINGS;\n\n } else {\n\n throw new Error('Parse error');\n\n }\n\n } else if (state === IDENTIFIER) {\n\n if (!c) {\n\n names.push(buffer);\n break;\n\n } else if (identifierPattern.test(c)) {\n\n buffer += c;\n\n } else if (c === ',') {\n\n names.push(buffer);\n buffer = '';\n state = PLAIN;\n\n } else if (spacePattern.test(c)) {\n\n state = SPACEAFTERIDENTIFIER;\n } else {\n\n throw new Error('Parse error');\n\n }\n } else if (state === SPACEAFTERIDENTIFIER) {\n\n if (!c) {\n\n names.push(buffer);\n break;\n\n } else if (identifierPattern.test(c)) {\n\n buffer += ' ' + c;\n state = IDENTIFIER;\n\n } else if (c === ',') {\n\n names.push(buffer);\n buffer = '';\n state = PLAIN;\n\n } else if (spacePattern.test(c)) {\n } else {\n\n throw new Error('Parse error');\n\n }\n\n } else if (state === SEPARATING) {\n\n if (!c) {\n\n break;\n\n } else if (c === ',') {\n\n state = PLAIN;\n\n } else if (spacePattern.test(c)) {\n } else {\n\n throw new Error('Parse error');\n\n }\n\n }\n\n i++;\n\n }\n\n // result\n // ------\n\n return names;\n\n};\n\n// stringify\n// =========\n\n// pattern\n// -------\n\nvar stringsPattern = /[^a-z0-9_-]/i;\n\n// ---\n\nvar stringify = function(names, options) {\n\n // quote\n // -----\n\n var quote = options && options.quote || '\"';\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Quote must be `\\'` or `\"`');\n }\n var quotePattern = new RegExp(quote, 'g');\n\n // stringify\n // ---------\n\n var safeNames = [];\n\n for (var i = 0; i < names.length; ++i) {\n var name = names[i];\n\n if (stringsPattern.test(name)) {\n name = name\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(quotePattern, \"\\\\\" + quote);\n name = quote + name + quote;\n }\n safeNames.push(name);\n }\n\n // result\n // ------\n\n return safeNames.join(', ');\n};\n\n// export\n// ======\n\nmodule.exports = {\n parse: parse,\n stringify: stringify,\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'use strict';\n\n// combine 2 matrixes\n// m1, m2 - [a, b, c, d, e, g]\n//\nfunction combine(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5]\n ];\n}\n\n\nfunction Matrix() {\n if (!(this instanceof Matrix)) { return new Matrix(); }\n this.queue = []; // list of matrixes to apply\n this.cache = null; // combined matrix cache\n}\n\n\nMatrix.prototype.matrix = function (m) {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1 && m[4] === 0 && m[5] === 0) {\n return this;\n }\n this.cache = null;\n this.queue.push(m);\n return this;\n};\n\n\nMatrix.prototype.translate = function (tx, ty) {\n if (tx !== 0 || ty !== 0) {\n this.cache = null;\n this.queue.push([ 1, 0, 0, 1, tx, ty ]);\n }\n return this;\n};\n\n\nMatrix.prototype.scale = function (sx, sy) {\n if (sx !== 1 || sy !== 1) {\n this.cache = null;\n this.queue.push([ sx, 0, 0, sy, 0, 0 ]);\n }\n return this;\n};\n\n\nMatrix.prototype.rotate = function (angle, rx, ry) {\n var rad, cos, sin;\n\n if (angle !== 0) {\n this.translate(rx, ry);\n\n rad = angle * Math.PI / 180;\n cos = Math.cos(rad);\n sin = Math.sin(rad);\n\n this.queue.push([ cos, sin, -sin, cos, 0, 0 ]);\n this.cache = null;\n\n this.translate(-rx, -ry);\n }\n return this;\n};\n\n\nMatrix.prototype.skewX = function (angle) {\n if (angle !== 0) {\n this.cache = null;\n this.queue.push([ 1, 0, Math.tan(angle * Math.PI / 180), 1, 0, 0 ]);\n }\n return this;\n};\n\n\nMatrix.prototype.skewY = function (angle) {\n if (angle !== 0) {\n this.cache = null;\n this.queue.push([ 1, Math.tan(angle * Math.PI / 180), 0, 1, 0, 0 ]);\n }\n return this;\n};\n\n\n// Flatten queue\n//\nMatrix.prototype.toArray = function () {\n if (this.cache) {\n return this.cache;\n }\n\n if (!this.queue.length) {\n this.cache = [ 1, 0, 0, 1, 0, 0 ];\n return this.cache;\n }\n\n this.cache = this.queue[0];\n\n if (this.queue.length === 1) {\n return this.cache;\n }\n\n for (var i = 1; i < this.queue.length; i++) {\n this.cache = combine(this.cache, this.queue[i]);\n }\n\n return this.cache;\n};\n\n\n// Apply list of matrixes to (x,y) point.\n// If `isRelative` set, `translate` component of matrix will be skipped\n//\nMatrix.prototype.calc = function (x, y, isRelative) {\n var m;\n\n // Don't change point on empty transforms queue\n if (!this.queue.length) { return [ x, y ]; }\n\n // Calculate final matrix, if not exists\n //\n // NB. if you deside to apply transforms to point one-by-one,\n // they should be taken in reverse order\n\n if (!this.cache) {\n this.cache = this.toArray();\n }\n\n m = this.cache;\n\n // Apply matrix to point\n return [\n x * m[0] + y * m[2] + (isRelative ? 0 : m[4]),\n x * m[1] + y * m[3] + (isRelative ? 0 : m[5])\n ];\n};\n\n\nmodule.exports = Matrix;\n","// Convert an arc to a sequence of cubic bézier curves\n//\n'use strict';\n\n\nvar TAU = Math.PI * 2;\n\n\n/* eslint-disable space-infix-ops */\n\n// Calculate an angle between two unit vectors\n//\n// Since we measure angle between radii of circular arcs,\n// we can use simplified math (without length normalization)\n//\nfunction unit_vector_angle(ux, uy, vx, vy) {\n var sign = (ux * vy - uy * vx < 0) ? -1 : 1;\n var dot = ux * vx + uy * vy;\n\n // Add this to work with arbitrary vectors:\n // dot /= Math.sqrt(ux * ux + uy * uy) * Math.sqrt(vx * vx + vy * vy);\n\n // rounding errors, e.g. -1.0000000000000002 can screw up this\n if (dot > 1.0) { dot = 1.0; }\n if (dot < -1.0) { dot = -1.0; }\n\n return sign * Math.acos(dot);\n}\n\n\n// Convert from endpoint to center parameterization,\n// see http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n//\n// Return [cx, cy, theta1, delta_theta]\n//\nfunction get_arc_center(x1, y1, x2, y2, fa, fs, rx, ry, sin_phi, cos_phi) {\n // Step 1.\n //\n // Moving an ellipse so origin will be the middlepoint between our two\n // points. After that, rotate it to line up ellipse axes with coordinate\n // axes.\n //\n var x1p = cos_phi*(x1-x2)/2 + sin_phi*(y1-y2)/2;\n var y1p = -sin_phi*(x1-x2)/2 + cos_phi*(y1-y2)/2;\n\n var rx_sq = rx * rx;\n var ry_sq = ry * ry;\n var x1p_sq = x1p * x1p;\n var y1p_sq = y1p * y1p;\n\n // Step 2.\n //\n // Compute coordinates of the centre of this ellipse (cx', cy')\n // in the new coordinate system.\n //\n var radicant = (rx_sq * ry_sq) - (rx_sq * y1p_sq) - (ry_sq * x1p_sq);\n\n if (radicant < 0) {\n // due to rounding errors it might be e.g. -1.3877787807814457e-17\n radicant = 0;\n }\n\n radicant /= (rx_sq * y1p_sq) + (ry_sq * x1p_sq);\n radicant = Math.sqrt(radicant) * (fa === fs ? -1 : 1);\n\n var cxp = radicant * rx/ry * y1p;\n var cyp = radicant * -ry/rx * x1p;\n\n // Step 3.\n //\n // Transform back to get centre coordinates (cx, cy) in the original\n // coordinate system.\n //\n var cx = cos_phi*cxp - sin_phi*cyp + (x1+x2)/2;\n var cy = sin_phi*cxp + cos_phi*cyp + (y1+y2)/2;\n\n // Step 4.\n //\n // Compute angles (theta1, delta_theta).\n //\n var v1x = (x1p - cxp) / rx;\n var v1y = (y1p - cyp) / ry;\n var v2x = (-x1p - cxp) / rx;\n var v2y = (-y1p - cyp) / ry;\n\n var theta1 = unit_vector_angle(1, 0, v1x, v1y);\n var delta_theta = unit_vector_angle(v1x, v1y, v2x, v2y);\n\n if (fs === 0 && delta_theta > 0) {\n delta_theta -= TAU;\n }\n if (fs === 1 && delta_theta < 0) {\n delta_theta += TAU;\n }\n\n return [ cx, cy, theta1, delta_theta ];\n}\n\n//\n// Approximate one unit arc segment with bézier curves,\n// see http://math.stackexchange.com/questions/873224\n//\nfunction approximate_unit_arc(theta1, delta_theta) {\n var alpha = 4/3 * Math.tan(delta_theta/4);\n\n var x1 = Math.cos(theta1);\n var y1 = Math.sin(theta1);\n var x2 = Math.cos(theta1 + delta_theta);\n var y2 = Math.sin(theta1 + delta_theta);\n\n return [ x1, y1, x1 - y1*alpha, y1 + x1*alpha, x2 + y2*alpha, y2 - x2*alpha, x2, y2 ];\n}\n\nmodule.exports = function a2c(x1, y1, x2, y2, fa, fs, rx, ry, phi) {\n var sin_phi = Math.sin(phi * TAU / 360);\n var cos_phi = Math.cos(phi * TAU / 360);\n\n // Make sure radii are valid\n //\n var x1p = cos_phi*(x1-x2)/2 + sin_phi*(y1-y2)/2;\n var y1p = -sin_phi*(x1-x2)/2 + cos_phi*(y1-y2)/2;\n\n if (x1p === 0 && y1p === 0) {\n // we're asked to draw line to itself\n return [];\n }\n\n if (rx === 0 || ry === 0) {\n // one of the radii is zero\n return [];\n }\n\n\n // Compensate out-of-range radii\n //\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var lambda = (x1p * x1p) / (rx * rx) + (y1p * y1p) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n\n\n // Get center parameters (cx, cy, theta1, delta_theta)\n //\n var cc = get_arc_center(x1, y1, x2, y2, fa, fs, rx, ry, sin_phi, cos_phi);\n\n var result = [];\n var theta1 = cc[2];\n var delta_theta = cc[3];\n\n // Split an arc to multiple segments, so each segment\n // will be less than τ/4 (= 90°)\n //\n var segments = Math.max(Math.ceil(Math.abs(delta_theta) / (TAU / 4)), 1);\n delta_theta /= segments;\n\n for (var i = 0; i < segments; i++) {\n result.push(approximate_unit_arc(theta1, delta_theta));\n theta1 += delta_theta;\n }\n\n // We have a bezier approximation of a unit circle,\n // now need to transform back to the original ellipse\n //\n return result.map(function (curve) {\n for (var i = 0; i < curve.length; i += 2) {\n var x = curve[i + 0];\n var y = curve[i + 1];\n\n // scale\n x *= rx;\n y *= ry;\n\n // rotate\n var xp = cos_phi*x - sin_phi*y;\n var yp = sin_phi*x + cos_phi*y;\n\n // translate\n curve[i + 0] = xp + cc[0];\n curve[i + 1] = yp + cc[1];\n }\n\n return curve;\n });\n};\n","'use strict';\n\n/* eslint-disable space-infix-ops */\n\n// The precision used to consider an ellipse as a circle\n//\nvar epsilon = 0.0000000001;\n\n// To convert degree in radians\n//\nvar torad = Math.PI / 180;\n\n// Class constructor :\n// an ellipse centred at 0 with radii rx,ry and x - axis - angle ax.\n//\nfunction Ellipse(rx, ry, ax) {\n if (!(this instanceof Ellipse)) { return new Ellipse(rx, ry, ax); }\n this.rx = rx;\n this.ry = ry;\n this.ax = ax;\n}\n\n// Apply a linear transform m to the ellipse\n// m is an array representing a matrix :\n// - -\n// | m[0] m[2] |\n// | m[1] m[3] |\n// - -\n//\nEllipse.prototype.transform = function (m) {\n // We consider the current ellipse as image of the unit circle\n // by first scale(rx,ry) and then rotate(ax) ...\n // So we apply ma = m x rotate(ax) x scale(rx,ry) to the unit circle.\n var c = Math.cos(this.ax * torad), s = Math.sin(this.ax * torad);\n var ma = [\n this.rx * (m[0]*c + m[2]*s),\n this.rx * (m[1]*c + m[3]*s),\n this.ry * (-m[0]*s + m[2]*c),\n this.ry * (-m[1]*s + m[3]*c)\n ];\n\n // ma * transpose(ma) = [ J L ]\n // [ L K ]\n // L is calculated later (if the image is not a circle)\n var J = ma[0]*ma[0] + ma[2]*ma[2],\n K = ma[1]*ma[1] + ma[3]*ma[3];\n\n // the discriminant of the characteristic polynomial of ma * transpose(ma)\n var D = ((ma[0]-ma[3])*(ma[0]-ma[3]) + (ma[2]+ma[1])*(ma[2]+ma[1])) *\n ((ma[0]+ma[3])*(ma[0]+ma[3]) + (ma[2]-ma[1])*(ma[2]-ma[1]));\n\n // the \"mean eigenvalue\"\n var JK = (J + K) / 2;\n\n // check if the image is (almost) a circle\n if (D < epsilon * JK) {\n // if it is\n this.rx = this.ry = Math.sqrt(JK);\n this.ax = 0;\n return this;\n }\n\n // if it is not a circle\n var L = ma[0]*ma[1] + ma[2]*ma[3];\n\n D = Math.sqrt(D);\n\n // {l1,l2} = the two eigen values of ma * transpose(ma)\n var l1 = JK + D/2,\n l2 = JK - D/2;\n // the x - axis - rotation angle is the argument of the l1 - eigenvector\n /*eslint-disable indent*/\n this.ax = (Math.abs(L) < epsilon && Math.abs(l1 - K) < epsilon) ?\n 90\n :\n Math.atan(Math.abs(L) > Math.abs(l1 - K) ?\n (l1 - J) / L\n :\n L / (l1 - K)\n ) * 180 / Math.PI;\n /*eslint-enable indent*/\n\n // if ax > 0 => rx = sqrt(l1), ry = sqrt(l2), else exchange axes and ax += 90\n if (this.ax >= 0) {\n // if ax in [0,90]\n this.rx = Math.sqrt(l1);\n this.ry = Math.sqrt(l2);\n } else {\n // if ax in ]-90,0[ => exchange axes\n this.ax += 90;\n this.rx = Math.sqrt(l2);\n this.ry = Math.sqrt(l1);\n }\n\n return this;\n};\n\n// Check if the ellipse is (almost) degenerate, i.e. rx = 0 or ry = 0\n//\nEllipse.prototype.isDegenerate = function () {\n return (this.rx < epsilon * this.ry || this.ry < epsilon * this.rx);\n};\n\nmodule.exports = Ellipse;\n","// SVG Path transformations library\n//\n// Usage:\n//\n// SvgPath('...')\n// .translate(-150, -100)\n// .scale(0.5)\n// .translate(-150, -100)\n// .toFixed(1)\n// .toString()\n//\n\n'use strict';\n\n\nvar pathParse = require('./path_parse');\nvar transformParse = require('./transform_parse');\nvar matrix = require('./matrix');\nvar a2c = require('./a2c');\nvar ellipse = require('./ellipse');\n\n\n// Class constructor\n//\nfunction SvgPath(path) {\n if (!(this instanceof SvgPath)) { return new SvgPath(path); }\n\n var pstate = pathParse(path);\n\n // Array of path segments.\n // Each segment is array [command, param1, param2, ...]\n this.segments = pstate.segments;\n\n // Error message on parse error.\n this.err = pstate.err;\n\n // Transforms stack for lazy evaluation\n this.__stack = [];\n}\n\nSvgPath.from = function (src) {\n if (typeof src === 'string') return new SvgPath(src);\n\n if (src instanceof SvgPath) {\n // Create empty object\n var s = new SvgPath('');\n\n // Clone properies\n s.err = src.err;\n s.segments = src.segments.map(function (sgm) { return sgm.slice(); });\n s.__stack = src.__stack.map(function (m) {\n return matrix().matrix(m.toArray());\n });\n\n return s;\n }\n\n throw new Error('SvgPath.from: invalid param type ' + src);\n};\n\n\nSvgPath.prototype.__matrix = function (m) {\n var self = this, i;\n\n // Quick leave for empty matrix\n if (!m.queue.length) { return; }\n\n this.iterate(function (s, index, x, y) {\n var p, result, name, isRelative;\n\n switch (s[0]) {\n\n // Process 'assymetric' commands separately\n case 'v':\n p = m.calc(0, s[1], true);\n result = (p[0] === 0) ? [ 'v', p[1] ] : [ 'l', p[0], p[1] ];\n break;\n\n case 'V':\n p = m.calc(x, s[1], false);\n result = (p[0] === m.calc(x, y, false)[0]) ? [ 'V', p[1] ] : [ 'L', p[0], p[1] ];\n break;\n\n case 'h':\n p = m.calc(s[1], 0, true);\n result = (p[1] === 0) ? [ 'h', p[0] ] : [ 'l', p[0], p[1] ];\n break;\n\n case 'H':\n p = m.calc(s[1], y, false);\n result = (p[1] === m.calc(x, y, false)[1]) ? [ 'H', p[0] ] : [ 'L', p[0], p[1] ];\n break;\n\n case 'a':\n case 'A':\n // ARC is: ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]\n\n // Drop segment if arc is empty (end point === start point)\n /*if ((s[0] === 'A' && s[6] === x && s[7] === y) ||\n (s[0] === 'a' && s[6] === 0 && s[7] === 0)) {\n return [];\n }*/\n\n // Transform rx, ry and the x-axis-rotation\n var ma = m.toArray();\n var e = ellipse(s[1], s[2], s[3]).transform(ma);\n\n // flip sweep-flag if matrix is not orientation-preserving\n if (ma[0] * ma[3] - ma[1] * ma[2] < 0) {\n s[5] = s[5] ? '0' : '1';\n }\n\n // Transform end point as usual (without translation for relative notation)\n p = m.calc(s[6], s[7], s[0] === 'a');\n\n // Empty arcs can be ignored by renderer, but should not be dropped\n // to avoid collisions with `S A S` and so on. Replace with empty line.\n if ((s[0] === 'A' && s[6] === x && s[7] === y) ||\n (s[0] === 'a' && s[6] === 0 && s[7] === 0)) {\n result = [ s[0] === 'a' ? 'l' : 'L', p[0], p[1] ];\n break;\n }\n\n // if the resulting ellipse is (almost) a segment ...\n if (e.isDegenerate()) {\n // replace the arc by a line\n result = [ s[0] === 'a' ? 'l' : 'L', p[0], p[1] ];\n } else {\n // if it is a real ellipse\n // s[0], s[4] and s[5] are not modified\n result = [ s[0], e.rx, e.ry, e.ax, s[4], s[5], p[0], p[1] ];\n }\n\n break;\n\n case 'm':\n // Edge case. The very first `m` should be processed as absolute, if happens.\n // Make sense for coord shift transforms.\n isRelative = index > 0;\n\n p = m.calc(s[1], s[2], isRelative);\n result = [ 'm', p[0], p[1] ];\n break;\n\n default:\n name = s[0];\n result = [ name ];\n isRelative = (name.toLowerCase() === name);\n\n // Apply transformations to the segment\n for (i = 1; i < s.length; i += 2) {\n p = m.calc(s[i], s[i + 1], isRelative);\n result.push(p[0], p[1]);\n }\n }\n\n self.segments[index] = result;\n }, true);\n};\n\n\n// Apply stacked commands\n//\nSvgPath.prototype.__evaluateStack = function () {\n var m, i;\n\n if (!this.__stack.length) { return; }\n\n if (this.__stack.length === 1) {\n this.__matrix(this.__stack[0]);\n this.__stack = [];\n return;\n }\n\n m = matrix();\n i = this.__stack.length;\n\n while (--i >= 0) {\n m.matrix(this.__stack[i].toArray());\n }\n\n this.__matrix(m);\n this.__stack = [];\n};\n\n\n// Convert processed SVG Path back to string\n//\nSvgPath.prototype.toString = function () {\n var result = '', prevCmd = '', cmdSkipped = false;\n\n this.__evaluateStack();\n\n for (var i = 0, len = this.segments.length; i < len; i++) {\n var segment = this.segments[i];\n var cmd = segment[0];\n\n // Command not repeating => store\n if (cmd !== prevCmd || cmd === 'm' || cmd === 'M') {\n // workaround for FontForge SVG importing bug, keep space between \"z m\".\n if (cmd === 'm' && prevCmd === 'z') result += ' ';\n result += cmd;\n\n cmdSkipped = false;\n } else {\n cmdSkipped = true;\n }\n\n // Store segment params\n for (var pos = 1; pos < segment.length; pos++) {\n var val = segment[pos];\n // Space can be skipped\n // 1. After command (always)\n // 2. For negative value (with '-' at start)\n if (pos === 1) {\n if (cmdSkipped && val >= 0) result += ' ';\n } else if (val >= 0) result += ' ';\n\n result += val;\n }\n\n prevCmd = cmd;\n }\n\n return result;\n};\n\n\n// Translate path to (x [, y])\n//\nSvgPath.prototype.translate = function (x, y) {\n this.__stack.push(matrix().translate(x, y || 0));\n return this;\n};\n\n\n// Scale path to (sx [, sy])\n// sy = sx if not defined\n//\nSvgPath.prototype.scale = function (sx, sy) {\n this.__stack.push(matrix().scale(sx, (!sy && (sy !== 0)) ? sx : sy));\n return this;\n};\n\n\n// Rotate path around point (sx [, sy])\n// sy = sx if not defined\n//\nSvgPath.prototype.rotate = function (angle, rx, ry) {\n this.__stack.push(matrix().rotate(angle, rx || 0, ry || 0));\n return this;\n};\n\n\n// Skew path along the X axis by `degrees` angle\n//\nSvgPath.prototype.skewX = function (degrees) {\n this.__stack.push(matrix().skewX(degrees));\n return this;\n};\n\n\n// Skew path along the Y axis by `degrees` angle\n//\nSvgPath.prototype.skewY = function (degrees) {\n this.__stack.push(matrix().skewY(degrees));\n return this;\n};\n\n\n// Apply matrix transform (array of 6 elements)\n//\nSvgPath.prototype.matrix = function (m) {\n this.__stack.push(matrix().matrix(m));\n return this;\n};\n\n\n// Transform path according to \"transform\" attr of SVG spec\n//\nSvgPath.prototype.transform = function (transformString) {\n if (!transformString.trim()) {\n return this;\n }\n this.__stack.push(transformParse(transformString));\n return this;\n};\n\n\n// Round coords with given decimal precition.\n// 0 by default (to integers)\n//\nSvgPath.prototype.round = function (d) {\n var contourStartDeltaX = 0, contourStartDeltaY = 0, deltaX = 0, deltaY = 0, l;\n\n d = d || 0;\n\n this.__evaluateStack();\n\n this.segments.forEach(function (s) {\n var isRelative = (s[0].toLowerCase() === s[0]);\n\n switch (s[0]) {\n case 'H':\n case 'h':\n if (isRelative) { s[1] += deltaX; }\n deltaX = s[1] - s[1].toFixed(d);\n s[1] = +s[1].toFixed(d);\n return;\n\n case 'V':\n case 'v':\n if (isRelative) { s[1] += deltaY; }\n deltaY = s[1] - s[1].toFixed(d);\n s[1] = +s[1].toFixed(d);\n return;\n\n case 'Z':\n case 'z':\n deltaX = contourStartDeltaX;\n deltaY = contourStartDeltaY;\n return;\n\n case 'M':\n case 'm':\n if (isRelative) {\n s[1] += deltaX;\n s[2] += deltaY;\n }\n\n deltaX = s[1] - s[1].toFixed(d);\n deltaY = s[2] - s[2].toFixed(d);\n\n contourStartDeltaX = deltaX;\n contourStartDeltaY = deltaY;\n\n s[1] = +s[1].toFixed(d);\n s[2] = +s[2].toFixed(d);\n return;\n\n case 'A':\n case 'a':\n // [cmd, rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]\n if (isRelative) {\n s[6] += deltaX;\n s[7] += deltaY;\n }\n\n deltaX = s[6] - s[6].toFixed(d);\n deltaY = s[7] - s[7].toFixed(d);\n\n s[1] = +s[1].toFixed(d);\n s[2] = +s[2].toFixed(d);\n s[3] = +s[3].toFixed(d + 2); // better precision for rotation\n s[6] = +s[6].toFixed(d);\n s[7] = +s[7].toFixed(d);\n return;\n\n default:\n // a c l q s t\n l = s.length;\n\n if (isRelative) {\n s[l - 2] += deltaX;\n s[l - 1] += deltaY;\n }\n\n deltaX = s[l - 2] - s[l - 2].toFixed(d);\n deltaY = s[l - 1] - s[l - 1].toFixed(d);\n\n s.forEach(function (val, i) {\n if (!i) { return; }\n s[i] = +s[i].toFixed(d);\n });\n return;\n }\n });\n\n return this;\n};\n\n\n// Apply iterator function to all segments. If function returns result,\n// current segment will be replaced to array of returned segments.\n// If empty array is returned, current regment will be deleted.\n//\nSvgPath.prototype.iterate = function (iterator, keepLazyStack) {\n var segments = this.segments,\n replacements = {},\n needReplace = false,\n lastX = 0,\n lastY = 0,\n countourStartX = 0,\n countourStartY = 0;\n var i, j, newSegments;\n\n if (!keepLazyStack) {\n this.__evaluateStack();\n }\n\n segments.forEach(function (s, index) {\n\n var res = iterator(s, index, lastX, lastY);\n\n if (Array.isArray(res)) {\n replacements[index] = res;\n needReplace = true;\n }\n\n var isRelative = (s[0] === s[0].toLowerCase());\n\n // calculate absolute X and Y\n switch (s[0]) {\n case 'm':\n case 'M':\n lastX = s[1] + (isRelative ? lastX : 0);\n lastY = s[2] + (isRelative ? lastY : 0);\n countourStartX = lastX;\n countourStartY = lastY;\n return;\n\n case 'h':\n case 'H':\n lastX = s[1] + (isRelative ? lastX : 0);\n return;\n\n case 'v':\n case 'V':\n lastY = s[1] + (isRelative ? lastY : 0);\n return;\n\n case 'z':\n case 'Z':\n // That make sence for multiple contours\n lastX = countourStartX;\n lastY = countourStartY;\n return;\n\n default:\n lastX = s[s.length - 2] + (isRelative ? lastX : 0);\n lastY = s[s.length - 1] + (isRelative ? lastY : 0);\n }\n });\n\n // Replace segments if iterator return results\n\n if (!needReplace) { return this; }\n\n newSegments = [];\n\n for (i = 0; i < segments.length; i++) {\n if (typeof replacements[i] !== 'undefined') {\n for (j = 0; j < replacements[i].length; j++) {\n newSegments.push(replacements[i][j]);\n }\n } else {\n newSegments.push(segments[i]);\n }\n }\n\n this.segments = newSegments;\n\n return this;\n};\n\n\n// Converts segments from relative to absolute\n//\nSvgPath.prototype.abs = function () {\n\n this.iterate(function (s, index, x, y) {\n var name = s[0],\n nameUC = name.toUpperCase(),\n i;\n\n // Skip absolute commands\n if (name === nameUC) { return; }\n\n s[0] = nameUC;\n\n switch (name) {\n case 'v':\n // v has shifted coords parity\n s[1] += y;\n return;\n\n case 'a':\n // ARC is: ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]\n // touch x, y only\n s[6] += x;\n s[7] += y;\n return;\n\n default:\n for (i = 1; i < s.length; i++) {\n s[i] += i % 2 ? x : y; // odd values are X, even - Y\n }\n }\n }, true);\n\n return this;\n};\n\n\n// Converts segments from absolute to relative\n//\nSvgPath.prototype.rel = function () {\n\n this.iterate(function (s, index, x, y) {\n var name = s[0],\n nameLC = name.toLowerCase(),\n i;\n\n // Skip relative commands\n if (name === nameLC) { return; }\n\n // Don't touch the first M to avoid potential confusions.\n if (index === 0 && name === 'M') { return; }\n\n s[0] = nameLC;\n\n switch (name) {\n case 'V':\n // V has shifted coords parity\n s[1] -= y;\n return;\n\n case 'A':\n // ARC is: ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]\n // touch x, y only\n s[6] -= x;\n s[7] -= y;\n return;\n\n default:\n for (i = 1; i < s.length; i++) {\n s[i] -= i % 2 ? x : y; // odd values are X, even - Y\n }\n }\n }, true);\n\n return this;\n};\n\n\n// Converts arcs to cubic bézier curves\n//\nSvgPath.prototype.unarc = function () {\n this.iterate(function (s, index, x, y) {\n var new_segments, nextX, nextY, result = [], name = s[0];\n\n // Skip anything except arcs\n if (name !== 'A' && name !== 'a') { return null; }\n\n if (name === 'a') {\n // convert relative arc coordinates to absolute\n nextX = x + s[6];\n nextY = y + s[7];\n } else {\n nextX = s[6];\n nextY = s[7];\n }\n\n new_segments = a2c(x, y, nextX, nextY, s[4], s[5], s[1], s[2], s[3]);\n\n // Degenerated arcs can be ignored by renderer, but should not be dropped\n // to avoid collisions with `S A S` and so on. Replace with empty line.\n if (new_segments.length === 0) {\n return [ [ s[0] === 'a' ? 'l' : 'L', s[6], s[7] ] ];\n }\n\n new_segments.forEach(function (s) {\n result.push([ 'C', s[2], s[3], s[4], s[5], s[6], s[7] ]);\n });\n\n return result;\n });\n\n return this;\n};\n\n\n// Converts smooth curves (with missed control point) to generic curves\n//\nSvgPath.prototype.unshort = function () {\n var segments = this.segments;\n var prevControlX, prevControlY, prevSegment;\n var curControlX, curControlY;\n\n // TODO: add lazy evaluation flag when relative commands supported\n\n this.iterate(function (s, idx, x, y) {\n var name = s[0], nameUC = name.toUpperCase(), isRelative;\n\n // First command MUST be M|m, it's safe to skip.\n // Protect from access to [-1] for sure.\n if (!idx) { return; }\n\n if (nameUC === 'T') { // quadratic curve\n isRelative = (name === 't');\n\n prevSegment = segments[idx - 1];\n\n if (prevSegment[0] === 'Q') {\n prevControlX = prevSegment[1] - x;\n prevControlY = prevSegment[2] - y;\n } else if (prevSegment[0] === 'q') {\n prevControlX = prevSegment[1] - prevSegment[3];\n prevControlY = prevSegment[2] - prevSegment[4];\n } else {\n prevControlX = 0;\n prevControlY = 0;\n }\n\n curControlX = -prevControlX;\n curControlY = -prevControlY;\n\n if (!isRelative) {\n curControlX += x;\n curControlY += y;\n }\n\n segments[idx] = [\n isRelative ? 'q' : 'Q',\n curControlX, curControlY,\n s[1], s[2]\n ];\n\n } else if (nameUC === 'S') { // cubic curve\n isRelative = (name === 's');\n\n prevSegment = segments[idx - 1];\n\n if (prevSegment[0] === 'C') {\n prevControlX = prevSegment[3] - x;\n prevControlY = prevSegment[4] - y;\n } else if (prevSegment[0] === 'c') {\n prevControlX = prevSegment[3] - prevSegment[5];\n prevControlY = prevSegment[4] - prevSegment[6];\n } else {\n prevControlX = 0;\n prevControlY = 0;\n }\n\n curControlX = -prevControlX;\n curControlY = -prevControlY;\n\n if (!isRelative) {\n curControlX += x;\n curControlY += y;\n }\n\n segments[idx] = [\n isRelative ? 'c' : 'C',\n curControlX, curControlY,\n s[1], s[2], s[3], s[4]\n ];\n }\n });\n\n return this;\n};\n\n\nmodule.exports = SvgPath;\n","'use strict';\n\n\nvar paramCounts = { a: 7, c: 6, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, z: 0 };\n\nvar SPECIAL_SPACES = [\n 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006,\n 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF\n];\n\nfunction isSpace(ch) {\n return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029) || // Line terminators\n // White spaces\n (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) ||\n (ch >= 0x1680 && SPECIAL_SPACES.indexOf(ch) >= 0);\n}\n\nfunction isCommand(code) {\n /*eslint-disable no-bitwise*/\n switch (code | 0x20) {\n case 0x6D/* m */:\n case 0x7A/* z */:\n case 0x6C/* l */:\n case 0x68/* h */:\n case 0x76/* v */:\n case 0x63/* c */:\n case 0x73/* s */:\n case 0x71/* q */:\n case 0x74/* t */:\n case 0x61/* a */:\n case 0x72/* r */:\n return true;\n }\n return false;\n}\n\nfunction isArc(code) {\n return (code | 0x20) === 0x61;\n}\n\nfunction isDigit(code) {\n return (code >= 48 && code <= 57); // 0..9\n}\n\nfunction isDigitStart(code) {\n return (code >= 48 && code <= 57) || /* 0..9 */\n code === 0x2B || /* + */\n code === 0x2D || /* - */\n code === 0x2E; /* . */\n}\n\n\nfunction State(path) {\n this.index = 0;\n this.path = path;\n this.max = path.length;\n this.result = [];\n this.param = 0.0;\n this.err = '';\n this.segmentStart = 0;\n this.data = [];\n}\n\nfunction skipSpaces(state) {\n while (state.index < state.max && isSpace(state.path.charCodeAt(state.index))) {\n state.index++;\n }\n}\n\n\nfunction scanFlag(state) {\n var ch = state.path.charCodeAt(state.index);\n\n if (ch === 0x30/* 0 */) {\n state.param = 0;\n state.index++;\n return;\n }\n\n if (ch === 0x31/* 1 */) {\n state.param = 1;\n state.index++;\n return;\n }\n\n state.err = 'SvgPath: arc flag can be 0 or 1 only (at pos ' + state.index + ')';\n}\n\n\nfunction scanParam(state) {\n var start = state.index,\n index = start,\n max = state.max,\n zeroFirst = false,\n hasCeiling = false,\n hasDecimal = false,\n hasDot = false,\n ch;\n\n if (index >= max) {\n state.err = 'SvgPath: missed param (at pos ' + index + ')';\n return;\n }\n ch = state.path.charCodeAt(index);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n index++;\n ch = (index < max) ? state.path.charCodeAt(index) : 0;\n }\n\n // This logic is shamelessly borrowed from Esprima\n // https://github.com/ariya/esprimas\n //\n if (!isDigit(ch) && ch !== 0x2E/* . */) {\n state.err = 'SvgPath: param should start with 0..9 or `.` (at pos ' + index + ')';\n return;\n }\n\n if (ch !== 0x2E/* . */) {\n zeroFirst = (ch === 0x30/* 0 */);\n index++;\n\n ch = (index < max) ? state.path.charCodeAt(index) : 0;\n\n if (zeroFirst && index < max) {\n // decimal number starts with '0' such as '09' is illegal.\n if (ch && isDigit(ch)) {\n state.err = 'SvgPath: numbers started with `0` such as `09` are illegal (at pos ' + start + ')';\n return;\n }\n }\n\n while (index < max && isDigit(state.path.charCodeAt(index))) {\n index++;\n hasCeiling = true;\n }\n ch = (index < max) ? state.path.charCodeAt(index) : 0;\n }\n\n if (ch === 0x2E/* . */) {\n hasDot = true;\n index++;\n while (isDigit(state.path.charCodeAt(index))) {\n index++;\n hasDecimal = true;\n }\n ch = (index < max) ? state.path.charCodeAt(index) : 0;\n }\n\n if (ch === 0x65/* e */ || ch === 0x45/* E */) {\n if (hasDot && !hasCeiling && !hasDecimal) {\n state.err = 'SvgPath: invalid float exponent (at pos ' + index + ')';\n return;\n }\n\n index++;\n\n ch = (index < max) ? state.path.charCodeAt(index) : 0;\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n index++;\n }\n if (index < max && isDigit(state.path.charCodeAt(index))) {\n while (index < max && isDigit(state.path.charCodeAt(index))) {\n index++;\n }\n } else {\n state.err = 'SvgPath: invalid float exponent (at pos ' + index + ')';\n return;\n }\n }\n\n state.index = index;\n state.param = parseFloat(state.path.slice(start, index)) + 0.0;\n}\n\n\nfunction finalizeSegment(state) {\n var cmd, cmdLC;\n\n // Process duplicated commands (without comand name)\n\n // This logic is shamelessly borrowed from Raphael\n // https://github.com/DmitryBaranovskiy/raphael/\n //\n cmd = state.path[state.segmentStart];\n cmdLC = cmd.toLowerCase();\n\n var params = state.data;\n\n if (cmdLC === 'm' && params.length > 2) {\n state.result.push([ cmd, params[0], params[1] ]);\n params = params.slice(2);\n cmdLC = 'l';\n cmd = (cmd === 'm') ? 'l' : 'L';\n }\n\n if (cmdLC === 'r') {\n state.result.push([ cmd ].concat(params));\n } else {\n\n while (params.length >= paramCounts[cmdLC]) {\n state.result.push([ cmd ].concat(params.splice(0, paramCounts[cmdLC])));\n if (!paramCounts[cmdLC]) {\n break;\n }\n }\n }\n}\n\n\nfunction scanSegment(state) {\n var max = state.max,\n cmdCode, is_arc, comma_found, need_params, i;\n\n state.segmentStart = state.index;\n cmdCode = state.path.charCodeAt(state.index);\n is_arc = isArc(cmdCode);\n\n if (!isCommand(cmdCode)) {\n state.err = 'SvgPath: bad command ' + state.path[state.index] + ' (at pos ' + state.index + ')';\n return;\n }\n\n need_params = paramCounts[state.path[state.index].toLowerCase()];\n\n state.index++;\n skipSpaces(state);\n\n state.data = [];\n\n if (!need_params) {\n // Z\n finalizeSegment(state);\n return;\n }\n\n comma_found = false;\n\n for (;;) {\n for (i = need_params; i > 0; i--) {\n if (is_arc && (i === 3 || i === 4)) scanFlag(state);\n else scanParam(state);\n\n if (state.err.length) {\n return;\n }\n state.data.push(state.param);\n\n skipSpaces(state);\n comma_found = false;\n\n if (state.index < max && state.path.charCodeAt(state.index) === 0x2C/* , */) {\n state.index++;\n skipSpaces(state);\n comma_found = true;\n }\n }\n\n // after ',' param is mandatory\n if (comma_found) {\n continue;\n }\n\n if (state.index >= state.max) {\n break;\n }\n\n // Stop on next segment\n if (!isDigitStart(state.path.charCodeAt(state.index))) {\n break;\n }\n }\n\n finalizeSegment(state);\n}\n\n\n/* Returns array of segments:\n *\n * [\n * [ command, coord1, coord2, ... ]\n * ]\n */\nmodule.exports = function pathParse(svgPath) {\n var state = new State(svgPath);\n var max = state.max;\n\n skipSpaces(state);\n\n while (state.index < max && !state.err.length) {\n scanSegment(state);\n }\n\n if (state.err.length) {\n state.result = [];\n\n } else if (state.result.length) {\n\n if ('mM'.indexOf(state.result[0][0]) < 0) {\n state.err = 'SvgPath: string should start with `M` or `m`';\n state.result = [];\n } else {\n state.result[0][0] = 'M';\n }\n }\n\n return {\n err: state.err,\n segments: state.result\n };\n};\n","'use strict';\n\n\nvar Matrix = require('./matrix');\n\nvar operations = {\n matrix: true,\n scale: true,\n rotate: true,\n translate: true,\n skewX: true,\n skewY: true\n};\n\nvar CMD_SPLIT_RE = /\\s*(matrix|translate|scale|rotate|skewX|skewY)\\s*\\(\\s*(.+?)\\s*\\)[\\s,]*/;\nvar PARAMS_SPLIT_RE = /[\\s,]+/;\n\n\nmodule.exports = function transformParse(transformString) {\n var matrix = new Matrix();\n var cmd, params;\n\n // Split value into ['', 'translate', '10 50', '', 'scale', '2', '', 'rotate', '-45', '']\n transformString.split(CMD_SPLIT_RE).forEach(function (item) {\n\n // Skip empty elements\n if (!item.length) { return; }\n\n // remember operation\n if (typeof operations[item] !== 'undefined') {\n cmd = item;\n return;\n }\n\n // extract params & att operation to matrix\n params = item.split(PARAMS_SPLIT_RE).map(function (i) {\n return +i || 0;\n });\n\n // If params count is not correct - ignore command\n switch (cmd) {\n case 'matrix':\n if (params.length === 6) {\n matrix.matrix(params);\n }\n return;\n\n case 'scale':\n if (params.length === 1) {\n matrix.scale(params[0], params[0]);\n } else if (params.length === 2) {\n matrix.scale(params[0], params[1]);\n }\n return;\n\n case 'rotate':\n if (params.length === 1) {\n matrix.rotate(params[0], 0, 0);\n } else if (params.length === 3) {\n matrix.rotate(params[0], params[1], params[2]);\n }\n return;\n\n case 'translate':\n if (params.length === 1) {\n matrix.translate(params[0], 0);\n } else if (params.length === 2) {\n matrix.translate(params[0], params[1]);\n }\n return;\n\n case 'skewX':\n if (params.length === 1) {\n matrix.skewX(params[0]);\n }\n return;\n\n case 'skewY':\n if (params.length === 1) {\n matrix.skewY(params[0]);\n }\n return;\n }\n });\n\n return matrix;\n};\n","'use strict';\n\nmodule.exports = require('./lib/svgpath');\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// Calculate the specificity for a selector by dividing it into simple selectors and counting them\nvar calculate = function(input) {\n\tvar selectors,\n\t\tselector,\n\t\ti,\n\t\tlen,\n\t\tresults = [];\n\n\t// Separate input by commas\n\tselectors = input.split(',');\n\n\tfor (i = 0, len = selectors.length; i < len; i += 1) {\n\t\tselector = selectors[i];\n\t\tif (selector.length > 0) {\n\t\t\tresults.push(calculateSingle(selector));\n\t\t}\n\t}\n\n\treturn results;\n};\n\n/**\n * Calculates the specificity of CSS selectors\n * http://www.w3.org/TR/css3-selectors/#specificity\n *\n * Returns an object with the following properties:\n * - selector: the input\n * - specificity: e.g. 0,1,0,0\n * - parts: array with details about each part of the selector that counts towards the specificity\n * - specificityArray: e.g. [0, 1, 0, 0]\n */\nvar calculateSingle = function(input) {\n\tvar selector = input,\n\t\tfindMatch,\n\t\ttypeCount = {\n\t\t\t'a': 0,\n\t\t\t'b': 0,\n\t\t\t'c': 0\n\t\t},\n\t\tparts = [],\n\t\t// The following regular expressions assume that selectors matching the preceding regular expressions have been removed\n\t\tattributeRegex = /(\\[[^\\]]+\\])/g,\n\t\tidRegex = /(#[^\\#\\s\\+>~\\.\\[:\\)]+)/g,\n\t\tclassRegex = /(\\.[^\\s\\+>~\\.\\[:\\)]+)/g,\n\t\tpseudoElementRegex = /(::[^\\s\\+>~\\.\\[:]+|:first-line|:first-letter|:before|:after)/gi,\n\t\t// A regex for pseudo classes with brackets - :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-type(), :lang()\n\t\t// The negation psuedo class (:not) is filtered out because specificity is calculated on its argument\n\t\t// :global and :local are filtered out - they look like psuedo classes but are an identifier for CSS Modules\n\t\tpseudoClassWithBracketsRegex = /(:(?!not|global|local)[\\w-]+\\([^\\)]*\\))/gi,\n\t\t// A regex for other pseudo classes, which don't have brackets\n\t\tpseudoClassRegex = /(:(?!not|global|local)[^\\s\\+>~\\.\\[:]+)/g,\n\t\telementRegex = /([^\\s\\+>~\\.\\[:]+)/g;\n\n\t// Find matches for a regular expression in a string and push their details to parts\n\t// Type is \"a\" for IDs, \"b\" for classes, attributes and pseudo-classes and \"c\" for elements and pseudo-elements\n\tfindMatch = function(regex, type) {\n\t\tvar matches, i, len, match, index, length;\n\t\tif (regex.test(selector)) {\n\t\t\tmatches = selector.match(regex);\n\t\t\tfor (i = 0, len = matches.length; i < len; i += 1) {\n\t\t\t\ttypeCount[type] += 1;\n\t\t\t\tmatch = matches[i];\n\t\t\t\tindex = selector.indexOf(match);\n\t\t\t\tlength = match.length;\n\t\t\t\tparts.push({\n\t\t\t\t\tselector: input.substr(index, length),\n\t\t\t\t\ttype: type,\n\t\t\t\t\tindex: index,\n\t\t\t\t\tlength: length\n\t\t\t\t});\n\t\t\t\t// Replace this simple selector with whitespace so it won't be counted in further simple selectors\n\t\t\t\tselector = selector.replace(match, Array(length + 1).join(' '));\n\t\t\t}\n\t\t}\n\t};\n\n\t// Replace escaped characters with plain text, using the \"A\" character\n\t// https://www.w3.org/TR/CSS21/syndata.html#characters\n\t(function() {\n\t\tvar replaceWithPlainText = function(regex) {\n\t\t\t\tvar matches, i, len, match;\n\t\t\t\tif (regex.test(selector)) {\n\t\t\t\t\tmatches = selector.match(regex);\n\t\t\t\t\tfor (i = 0, len = matches.length; i < len; i += 1) {\n\t\t\t\t\t\tmatch = matches[i];\n\t\t\t\t\t\tselector = selector.replace(match, Array(match.length + 1).join('A'));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Matches a backslash followed by six hexadecimal digits followed by an optional single whitespace character\n\t\t\tescapeHexadecimalRegex = /\\\\[0-9A-Fa-f]{6}\\s?/g,\n\t\t\t// Matches a backslash followed by fewer than six hexadecimal digits followed by a mandatory single whitespace character\n\t\t\tescapeHexadecimalRegex2 = /\\\\[0-9A-Fa-f]{1,5}\\s/g,\n\t\t\t// Matches a backslash followed by any character\n\t\t\tescapeSpecialCharacter = /\\\\./g;\n\n\t\treplaceWithPlainText(escapeHexadecimalRegex);\n\t\treplaceWithPlainText(escapeHexadecimalRegex2);\n\t\treplaceWithPlainText(escapeSpecialCharacter);\n\t}());\n\n\t// Remove anything after a left brace in case a user has pasted in a rule, not just a selector\n\t(function() {\n\t\tvar regex = /{[^]*/gm,\n\t\t\tmatches, i, len, match;\n\t\tif (regex.test(selector)) {\n\t\t\tmatches = selector.match(regex);\n\t\t\tfor (i = 0, len = matches.length; i < len; i += 1) {\n\t\t\t\tmatch = matches[i];\n\t\t\t\tselector = selector.replace(match, Array(match.length + 1).join(' '));\n\t\t\t}\n\t\t}\n\t}());\n\n\t// Add attribute selectors to parts collection (type b)\n\tfindMatch(attributeRegex, 'b');\n\n\t// Add ID selectors to parts collection (type a)\n\tfindMatch(idRegex, 'a');\n\n\t// Add class selectors to parts collection (type b)\n\tfindMatch(classRegex, 'b');\n\n\t// Add pseudo-element selectors to parts collection (type c)\n\tfindMatch(pseudoElementRegex, 'c');\n\n\t// Add pseudo-class selectors to parts collection (type b)\n\tfindMatch(pseudoClassWithBracketsRegex, 'b');\n\tfindMatch(pseudoClassRegex, 'b');\n\n\t// Remove universal selector and separator characters\n\tselector = selector.replace(/[\\*\\s\\+>~]/g, ' ');\n\n\t// Remove any stray dots or hashes which aren't attached to words\n\t// These may be present if the user is live-editing this selector\n\tselector = selector.replace(/[#\\.]/g, ' ');\n\n\t// Remove the negation psuedo-class (:not) but leave its argument because specificity is calculated on its argument\n \t// Remove non-standard :local and :global CSS Module identifiers because they do not effect the specificity\n\tselector = selector.replace(/:not/g, ' ');\n\tselector = selector.replace(/:local/g, ' ');\n\tselector = selector.replace(/:global/g, ' ');\n\tselector = selector.replace(/[\\(\\)]/g, ' ');\n\n\t// The only things left should be element selectors (type c)\n\tfindMatch(elementRegex, 'c');\n\n\t// Order the parts in the order they appear in the original selector\n\t// This is neater for external apps to deal with\n\tparts.sort(function(a, b) {\n\t\treturn a.index - b.index;\n\t});\n\n\treturn {\n\t\tselector: input,\n\t\tspecificity: '0,' + typeCount.a.toString() + ',' + typeCount.b.toString() + ',' + typeCount.c.toString(),\n\t\tspecificityArray: [0, typeCount.a, typeCount.b, typeCount.c],\n\t\tparts: parts\n\t};\n};\n\n/**\n * Compares two CSS selectors for specificity\n * Alternatively you can replace one of the CSS selectors with a specificity array\n *\n * - it returns -1 if a has a lower specificity than b\n * - it returns 1 if a has a higher specificity than b\n * - it returns 0 if a has the same specificity than b\n */\nvar compare = function(a, b) {\n\tvar aSpecificity,\n\t\tbSpecificity,\n\t\ti;\n\n\tif (typeof a ==='string') {\n\t\tif (a.indexOf(',') !== -1) {\n\t\t\tthrow 'Invalid CSS selector';\n\t\t} else {\n\t\t\taSpecificity = calculateSingle(a)['specificityArray'];\n\t\t}\n\t} else if (Array.isArray(a)) {\n\t\tif (a.filter(function(e) { return (typeof e === 'number'); }).length !== 4) {\n\t\t\tthrow 'Invalid specificity array';\n\t\t} else {\n\t\t\taSpecificity = a;\n\t\t}\n\t} else {\n\t\tthrow 'Invalid CSS selector or specificity array';\n\t}\n\n\tif (typeof b ==='string') {\n\t\tif (b.indexOf(',') !== -1) {\n\t\t\tthrow 'Invalid CSS selector';\n\t\t} else {\n\t\t\tbSpecificity = calculateSingle(b)['specificityArray'];\n\t\t}\n\t} else if (Array.isArray(b)) {\n\t\tif (b.filter(function(e) { return (typeof e === 'number'); }).length !== 4) {\n\t\t\tthrow 'Invalid specificity array';\n\t\t} else {\n\t\t\tbSpecificity = b;\n\t\t}\n\t} else {\n\t\tthrow 'Invalid CSS selector or specificity array';\n\t}\n\n\tfor (i = 0; i < 4; i += 1) {\n\t\tif (aSpecificity[i] < bSpecificity[i]) {\n\t\t\treturn -1;\n\t\t} else if (aSpecificity[i] > bSpecificity[i]) {\n\t\t\treturn 1;\n\t\t}\n\t}\n\n\treturn 0;\n};\n\nexport { calculate, compare };\n",null,null,null],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","pop","push","RGBColor","colorString","a","undefined","r","simpleColors","colorDefs","ok","key","charAt","substr","replace","toLowerCase","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","re","example","process","bits","parseInt","Math","round","parseFloat","processor","exec","channels","isNaN","toRGB","toRGBA","toHex","toString","getHelpXML","examples","j","sc","xml","document","createElement","setAttribute","listItem","listColor","exampleDiv","style","cssText","appendChild","createTextNode","listItemValue","ColorFill","color","getFillData","forNode","context","AttributeState","xmlSpace","fill","fillOpacity","fontFamily","fontSize","fontStyle","fontWeight","opacity","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","alignmentBaseline","textAnchor","visibility","contextFill","contextStroke","fillRule","clone","default","attributeState","getContextColors","includeCurrentColor","colors","Context","pdf","values","svg2pdfParameters","viewport","refsHandler","styleSheets","textMeasure","transform","_a","unitMatrix","withinClipPath","_b","withinUse","_c","_d","regexAnySingleEscape","regexSingleEscape","regexExcessiveSpaces","cssesc","string","options","defaults","merge","quotes","quote","isIdentifier","firstChar","output","counter","character","codePoint","charCodeAt","extra","toUpperCase","escapeEverything","test","slice","$0","$1","$2","wrap","version","cssesc_1","ReferencesHandler","idMap","renderedElements","idPrefix","instanceCounter","getRendered","id","contextColors","renderCallback","generateKey","svgNode","get","cssEsc","colorHash","map","join","getAngle","from","to","atan2","cToQ","toCubic","normalize","sqrt","getDirectionVector","addVectors","v1","v2","multVecMatrix","vec","matrix","x","c","Path","segments","moveTo","MoveTo","lineTo","LineTo","curveTo","x1","y1","x2","y2","CurveTo","close","Close","forEach","seg","p1","p2","draw","nodeIs","node","tagsString","split","indexOf","nodeName","tagName","getAttribute","propertyNode","propertyCss","attribute","getPropertyValue","propertyValue","hasAttribute","svgNodeIsVisible","parentVisible","element","visible","svgNodeAndChildrenVisible","childNodes","children","child","isVisible","MarkerList","markers","addMarker","marker","tf","angle","anchor","cos","sin","Matrix","matrixMult","saveGraphicsState","doFormObject","restoreGraphicsState","Marker","isStartMarker","iriReference","alignmentBaselineMap","bottom","top","hanging","middle","central","center","mathematical","ideographic","alphabetic","baseline","svgNamespaceURI","toPixels","pdfFontSize","match","mapAlignmentBaseline","parseFloats","str","floats","regex","parseColor","transparent","identifierPattern","spacePattern","stringsPattern","fontFamilyPapandreou","parse","starting","state","buffer","names","Error","stringify","quotePattern","RegExp","safeNames","name","fontAliases","verdana","arial","fixed","monospace","terminal","serif","cursive","fantasy","parts","isJsPDF23","jsPDF","combineFontStyleAndFontWeight","getBoundingBoxByChildren","svgnode","boundingBox","nodeBox","getBoundingBox","computeNodeTransform","sx","tx","sy","ty","min","max","defaultBoundingBox","pf","computeViewBoxTransform","viewBox","eX","eY","eWidth","eHeight","noTranslate","align","meetOrSlice","vbX","vbY","vbWidth","vbHeight","scaleX","scaleY","preserveAspectRatio","alignAndMeetOrSlice","translateX","translateY","translate","scale","parseTransform","transformString","m","tSLength","mRegex","tRegex","rRegex","sRegex","sXRegex","sYRegex","resultMatrix","PI","t1","t2","SvgNode","parent","setParent","getParent","getBoundingBoxCore","nodeTransform","computeNodeTransformCore","NonRenderedNode","_super","render","parentContext","Gradient","pdfGradientType","_this","contextColor","getStops","opacitySum","hasOpacity","gState","GState","pattern","ShadingPattern","getCoordinates","addShadingPattern","stops","ancestor","colorAttr","stop","offset","parseGradientOffset","parsedValue","LinearGradient","RadialGradient","cx","cy","fx","fy","GradientFill","gradient","gradientUnitsMatrix","bBox","gradientTransform","Pattern","TilingPattern","beginTilingPattern","_i","endTilingPattern","PatternFill","patternData","xStep","yStep","patternUnitsMatrix","fillBBox","width","height","patternContentUnitsMatrix","patternTransformMatrix","patternTransform","parseFill","url","fillUrl","fillNode","stopColor","rgbColor","getGradientFill","fillColor","parseAttributes","domNode","abs","strokeRGB","lineCap","lineJoin","dashArray","dashOffset","miterLimit","fontFamilies","FontFamily","fontType","availableFonts","getFontList","firstAvailable","some","font","availableStyles","findFirstAvailableFontFamily","getFontSize","matchArr","applyAttributes","childContext","hasFillOpacity","hasStrokeOpacity","setGState","setFillColor","setLineWidth","setDrawColor","setLineCap","setLineJoin","setLineDashPattern","setLineMiterLimit","setTextColor","setFont","setFontSize","internal","scaleFactor","getClipPathNode","clipPathAttr","targetNode","clipPathId","applyClipPath","clipPathNode","clipContext","RenderedNode","clipPathAttribute","hasClipPath","clipNode","renderCore","GraphicsNode","GeometryNode","hasMarkers","cachedPath","path","getCachedPath","setCurrentTransformationMatrix","fillOrStroke","drawMarkers","getPath","getMarkers","fillData","isNodeFillRuleEvenOdd","fillStrokeEvenOdd","fillStroke","fillEvenOdd","discardPath","minX","Number","POSITIVE_INFINITY","minY","maxX","NEGATIVE_INFINITY","maxY","markerStart","markerMid","markerEnd","iri","list_1","prevAngle","curAngle","first","firstAngle","last_1","curr","hasStartMarker","index","tmp","hasEndMarker","hasMidMarker","prev","markerNode","orient","Line","box","ownerSVGElement","Viewport","Use","substring","refNode","refNodeOpensViewport","refContext","renderReferencedNode","rect","clip","beginFormObject","endFormObject","Rect","w","h","isFinite","rxAttr","ryAttr","rx","ry","arc","SQRT2","EllipseBase","getRx","getRy","lx","ly","Ellipse","getTextRenderingMode","renderingMode","doStroke","doFill","removeNewlines","replaceTabsBySpace","consolidateSpaces","transformText","text","TextChunk","originX","originY","textNode","texts","textNodes","contexts","textMeasures","setX","setY","add","tSpan","rightTrimText","measureText","measureTextWidth","put","charSpace","textNodeContext","alreadySeen","xs","ys","currentTextX","currentTextY","includes","tSpanDx","resolveRelativePositionAttribute","tSpanDy","textOffset","textRenderingMode","attributeName","currentElement","parentElement","firstChild","TextNode","processTSpans","textChunks","currentTextSegment","trimInfo","firstText","initialSpace","childNode","textContent","trimmedText","prevText","transformedText","prevContext","tSpanAbsX","type","chunk","tSpanAbsY","xOffset","lengthAdjustment","textX","textY","dx","dy","textLength","childElementCount","trim","transformXmlSpace","getTextOffset","defaultSize","trimRight","totalDefaultWidth_1","totalLength_1","reduce","lastPositions","queue","cache","rotate","rad","skewX","skewY","toArray","m1","m2","calc","isRelative","TAU","unit_vector_angle","ux","uy","vx","vy","dot","acos","approximate_unit_arc","theta1","delta_theta","alpha","a2c","fa","fs","phi","sin_phi","cos_phi","x1p","y1p","lambda","cc","rx_sq","ry_sq","x1p_sq","y1p_sq","radicant","cxp","cyp","v1x","v1y","v2x","v2y","get_arc_center","ceil","curve","xp","yp","epsilon","torad","ax","ma","J","K","D","JK","L","l1","l2","atan","isDegenerate","ellipse","pathParse","paramCounts","l","q","z","SPECIAL_SPACES","isDigit","code","isDigitStart","State","param","err","segmentStart","data","skipSpaces","ch","scanFlag","scanParam","start","zeroFirst","hasCeiling","hasDecimal","hasDot","finalizeSegment","cmd","cmdLC","params","concat","splice","scanSegment","cmdCode","is_arc","comma_found","need_params","isCommand","path_parse","svgPath","require$$0","transformParse","operations","CMD_SPLIT_RE","PARAMS_SPLIT_RE","transform_parse","item","require$$1","require$$2","require$$3","require$$4","SvgPath","pstate","__stack","src","sgm","__matrix","self","iterate","__evaluateStack","prevCmd","cmdSkipped","len","segment","pos","val","degrees","contourStartDeltaX","contourStartDeltaY","deltaX","deltaY","toFixed","keepLazyStack","newSegments","replacements","needReplace","lastX","lastY","countourStartX","countourStartY","res","isArray","nameUC","rel","nameLC","unarc","new_segments","nextX","nextY","unshort","prevControlX","prevControlY","prevSegment","curControlX","curControlY","idx","svgpath","PathNode","prevX","prevY","p3","dataUriRegex","ImageNode","imageLoadingPromise","imageUrl","fetchImageData","format","parser","DOMParser","svgElement","parseFromString","firstElementChild","dataUri","btoa","getImageDimensions","imgWidth","imgHeight","addImage","console","warn","e_1","mimeType","mimeTypeParts","atob","decodeURIComponent","fetchImage","lastIndexOf","xhr","XMLHttpRequest","open","responseType","onload","status","bytes","Uint8Array","response","fromCharCode","onerror","onabort","send","getMimeType","img","Image","Traverse","closed","points","parsePointsString","Polygon","VoidNode","MarkerNode","tfMatrix","applyContext","vb","refX","refY","bounds","Circle","getR","Polyline","ContainerNode","Svg","getX","getY","getWidth","getHeight","getViewBox","widthAttr","parameters","isOutermostSvg","aspectRatio","heightAttr","xAttr","yAttr","Group","Anchor","href","ph","pageSize","link","ClipPath","clipPathMatrix","inversed","fn","forEachChild","calculateSingle","input","findMatch","replaceWithPlainText","selector","typeCount","matches","sort","specificity","specificityArray","StyleSheets","rootSvg","loadExtSheets","loadExternalSheets","load","collectStyleSheetTexts","sheetTexts","parseCssSheets","ownerDocument","loadSheet","styleElements","querySelectorAll","styleElement","all","filter","sheet","styleDoc","implementation","createHTMLDocument","sheetTexts_1","sheetText","CSSStyleSheet","cssRules","cssRule","CSSStyleRule","cssStyleRule","selectorText","deleteRule","selectors","splitSelectorAtCommas","insertRule","initialRegex","closingDoubleQuotesRegex","closingSingleQuotesRegex","lastCommaIndex","closingQuotesRegex","lastIndex","responseText","catch","matchingRules","rule","compare","priorityA","getPropertyPriority","aSpecificity","bSpecificity","compareSpecificity","previousValue","currentValue","TextMeasure","measureMethods","getMeasureFunction","getMeasurementTextNode","textMeasuringTextElement","createElementNS","svg","setProperty","canvasTextMeasure","getContext","svgTextMeasure","measurementTextNode","setAttributeNS","getBBox","method","canvasWidth","testString","svgWidth","cleanupTextMeasuring","parentNode","removeChild","svg2pdf","element_1","pdf_1","extCss","loadExternalStyleSheets","advancedAPI","compatAPI","jspdf","API"],"mappings":"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","x_google_ignoreList":[0,5,14,42,43,44,45,46,47,48,63]}