{"remainingRequest":"/home/camus/work/lotus/node_modules/thread-loader/dist/cjs.js!/home/camus/work/lotus/node_modules/babel-loader/lib/index.js!/home/camus/work/lotus/node_modules/ts-loader/index.js??ref--15-3!/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/staffSvg/svgParser.ts","dependencies":[{"path":"/home/camus/work/lotus/inc/staffSvg/svgParser.ts","mtime":1732184473679},{"path":"/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js","mtime":1719800821084},{"path":"/home/camus/work/lotus/node_modules/thread-loader/dist/cjs.js","mtime":1719800821095},{"path":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js","mtime":1727163989637},{"path":"/home/camus/work/lotus/node_modules/ts-loader/index.js","mtime":1726221607070},{"path":"/home/camus/work/lotus/node_modules/eslint-loader/index.js","mtime":1719800837044}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Y29uc3QgcHJlc2VydmVkQXR0cmlidXRlcyA9IHsKICAuLi5bInZpZXdCb3giLCAidHJhbnNmb3JtIiwgIngiLCAieSIsICJ3aWR0aCIsICJoZWlnaHQiLCAicnkiLCAiZCIsICJ4MSIsICJ5MSIsICJ4MiIsICJ5MiIsICJjb2xvciIsICJzdHJva2Utd2lkdGgiLCAicG9pbnRzIiwgInN0cm9rZS1kYXNoYXJyYXkiLCAiZm9udC1zaXplIiwgImZvbnQtd2VpZ2h0IiwgImZvbnQtc3R5bGUiLCAidGV4dC1hbmNob3IiXS5yZWR1Y2UoKGRpY3QsIGtleSkgPT4gKHsKICAgIC4uLmRpY3QsCiAgICBba2V5XToga2V5CiAgfSksIHt9KSwKICAieGxpbms6aHJlZiI6ICJocmVmIgp9Owpjb25zdCBkb21Ob2RlVG9FbGVtZW50ID0gbm9kZSA9PiB7CiAgY29uc3QgZWxlbSA9IHsKICAgIHR5cGU6IG5vZGUudGFnTmFtZQogIH07CiAgZm9yIChjb25zdCBrZXkgaW4gcHJlc2VydmVkQXR0cmlidXRlcykgewogICAgY29uc3QgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShrZXkpOwogICAgaWYgKHZhbHVlKSBlbGVtW3ByZXNlcnZlZEF0dHJpYnV0ZXNba2V5XV0gPSB2YWx1ZTsKICB9CiAgc3dpdGNoIChub2RlLnRhZ05hbWUpIHsKICAgIGNhc2UgInRzcGFuIjoKICAgICAgZWxlbS50ZXh0ID0gbm9kZS50ZXh0Q29udGVudDsKICAgICAgYnJlYWs7CiAgICBjYXNlICJhIjoKICAgICAgaWYgKCEvOihcZCs6XGQrOlxkKykkLy50ZXN0KGVsZW0uaHJlZikpIHsKICAgICAgICAvL2lmICghL2xpbHlwb25kLy50ZXN0KGVsZW0uaHJlZikpCiAgICAgICAgLy8JY29uc29sZS53YXJuKCJ1bmV4cGVjdGVkIGEuaHJlZjoiLCBlbGVtLmhyZWYpOwogICAgICAgIGRlbGV0ZSBlbGVtLmhyZWY7CiAgICAgIH0gZWxzZSBlbGVtLmhyZWYgPSBlbGVtLmhyZWYubWF0Y2goLzooXGQrOlxkKzpcZCspJC8pWzFdOwogICAgICBicmVhazsKICAgIGNhc2UgInBhdGgiOgogICAgICAvL2NvbnNvbGUubG9nKCJwYXRoOiIsIG5vZGUuZ2V0QXR0cmlidXRlKCJkIiksIGVsZW0pOwogICAgICAvL2lmIChlbGVtLmQpCiAgICAgIC8vCWVsZW0uZCA9IHNoYTEoZWxlbS5kKTsKICAgICAgYnJlYWs7CiAgICBjYXNlICJwb2x5Z29uIjoKICAgICAgLy9pZiAoZWxlbS5wb2ludHMpCiAgICAgIC8vCWVsZW0ucG9pbnRzID0gc2hhMShlbGVtLnBvaW50cyk7CiAgICAgIGJyZWFrOwogIH0KICBbIngiLCAieSIsICJ3aWR0aCIsICJoZWlnaHQiLCAicnkiLCAieDEiLCAieTEiLCAieDIiLCAieTIiLCAic3Ryb2tlLXdpZHRoIiwgImZvbnQtc2l6ZSIsICJmb250LXdlaWdodCIsICJmb250LXN0eWxlIiwgInRleHQtYW5jaG9yIl0uZm9yRWFjaChhdHQgPT4gewogICAgaWYgKGVsZW1bYXR0XSkgewogICAgICBjb25zdCBuID0gTnVtYmVyKGVsZW1bYXR0XSk7CiAgICAgIGlmIChOdW1iZXIuaXNGaW5pdGUobikpIGVsZW1bYXR0XSA9IG47CiAgICB9CiAgfSk7CiAgaWYgKGVsZW0udHJhbnNmb3JtKSB7CiAgICBsZXQgW18sIHR4LCB0eSwgc3gsIHN5XSA9IFtudWxsLCAwLCAwLCAxLCAxXTsKICAgIGlmICgvdHJhbnNsYXRlXChbXGQuXC0sXHNdK1wpXHMqc2NhbGVcKFtcZC5cLSxcc10rXCkvLnRlc3QoZWxlbS50cmFuc2Zvcm0pKSBbXywgdHgsIHR5LCBzeCwgc3ldID0gZWxlbS50cmFuc2Zvcm0ubWF0Y2goL3RyYW5zbGF0ZVwoKFtcZC4tXSspLFxzKihbXGQuLV0rKVwpXHMqc2NhbGVcKChbXGQuLV0rKSxccyooW1xkLi1dKylcKS8pO2Vsc2UgaWYgKC90cmFuc2xhdGVcKFtcZC5cLSxcc10rXCkvLnRlc3QoZWxlbS50cmFuc2Zvcm0pKSBbXywgdHgsIHR5XSA9IGVsZW0udHJhbnNmb3JtLm1hdGNoKC90cmFuc2xhdGVcKChbXGQuLV0rKSxccyooW1xkLi1dKylcKS8pO2Vsc2UgaWYgKC9zY2FsZVwoW1xkLlwtLFxzXStcKS8udGVzdChlbGVtLnRyYW5zZm9ybSkpIFtfLCBzeCwgc3ldID0gZWxlbS50cmFuc2Zvcm0ubWF0Y2goL3NjYWxlXCgoW1xkLi1dKyksXHMqKFtcZC4tXSspXCkvKTtlbHNlIGlmICgvXnJvdGF0ZSguKikkLy50ZXN0KGVsZW0udHJhbnNmb3JtKSkge30gZWxzZSBjb25zb2xlLndhcm4oInVuZXhwZWN0ZWQgdHJhbnNmb3JtOiIsIGVsZW0udHJhbnNmb3JtKTsKICAgIGVsZW0udHJhbnNmb3JtID0gewogICAgICB0cmFuc2xhdGU6IHsKICAgICAgICB4OiBOdW1iZXIodHgpLAogICAgICAgIHk6IE51bWJlcih0eSkKICAgICAgfSwKICAgICAgc2NhbGU6IHsKICAgICAgICB4OiBOdW1iZXIoc3gpLAogICAgICAgIHk6IE51bWJlcihzeSkKICAgICAgfQogICAgfTsKICB9CiAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLmNoaWxkTm9kZXMubGVuZ3RoOyArK2kpIHsKICAgIGNvbnN0IGNoaWxkID0gbm9kZS5jaGlsZE5vZGVzW2ldOwogICAgaWYgKGNoaWxkLm5vZGVUeXBlID09PSAxKSB7CiAgICAgIC8vY29uc29sZS5sb2coImNoaWxkOiIsIGNoaWxkKTsKICAgICAgZWxlbS5jaGlsZHJlbiA9IGVsZW0uY2hpbGRyZW4gfHwgW107CiAgICAgIGVsZW0uY2hpbGRyZW4ucHVzaChkb21Ob2RlVG9FbGVtZW50KGNoaWxkKSk7CiAgICB9CiAgfQogIHN3aXRjaCAoZWxlbS50eXBlKSB7CiAgICBjYXNlICJ0ZXh0IjoKICAgICAgaWYgKGVsZW0uY2hpbGRyZW4pIGVsZW0udGV4dCA9IGVsZW0uY2hpbGRyZW4uZmlsdGVyKGUgPT4gZS50eXBlID09PSAidHNwYW4iICYmIGUudGV4dCkubWFwKGUgPT4gZS50ZXh0KS5qb2luKCIiKTsKICAgICAgYnJlYWs7CiAgfQogIHJldHVybiBlbGVtOwp9Owpjb25zdCBzdmdUb0VsZW1lbnRzID0gKHN2Z1RleHQsIHsKICBsb2dnZXIgPSBudWxsLAogIERPTVBhcnNlciA9IG51bGwKfSA9IHt9KSA9PiB7CiAgY29uc3QgZG9tID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhzdmdUZXh0LCAidGV4dC94bWwiKTsKICAvL2NvbnNvbGUubG9nKCJkb206IiwgZG9tKTsKICBpZiAobG9nZ2VyKSBsb2dnZXIuYXBwZW5kKCJzdmdUb0VsZW1lbnRzIik7CiAgY29uc3Qgc3ZnID0gZG9tLmNoaWxkTm9kZXNbMF07CiAgY29uc29sZS5hc3NlcnQoc3ZnICYmIHN2Zy50YWdOYW1lID09PSAic3ZnIik7CiAgY29uc3Qgcm9vdCA9IGRvbU5vZGVUb0VsZW1lbnQoc3ZnKTsKICAvL2lmIChsb2dnZXIpCiAgLy8JbG9nZ2VyLmFwcGVuZCgic3ZnVG9FbGVtZW50cy5yb290IiwgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyb290KSkpOwogIGlmICghcm9vdC5jaGlsZHJlbikgewogICAgY29uc29sZS5sb2coImludmFsaWQgc3ZnOiIsIHJvb3QsIHN2Z1RleHQpOwogICAgcmV0dXJuIG51bGw7CiAgfQogIC8vIHJlbW92ZSBwcm94eSB0YWdzIG9mIGEgJiBnCiAgd2hpbGUgKHRydWUpIHsKICAgIGNvbnN0IGluZGV4ID0gcm9vdC5jaGlsZHJlbi5maW5kSW5kZXgoYyA9PiBjLnR5cGUgPT09ICJhIiAmJiBjLmNoaWxkcmVuKTsKICAgIGlmIChpbmRleCA+PSAwKSB7CiAgICAgIGNvbnN0IGEgPSByb290LmNoaWxkcmVuW2luZGV4XTsKICAgICAgYS5jaGlsZHJlbi5mb3JFYWNoKHAgPT4gewogICAgICAgIHAuaHJlZiA9IGEuaHJlZjsKICAgICAgICBwLmNvbG9yID0gYS5jb2xvcjsKICAgICAgfSk7CiAgICAgIHJvb3QuY2hpbGRyZW4uc3BsaWNlKGluZGV4LCAxLCAuLi5hLmNoaWxkcmVuKTsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IGdpID0gcm9vdC5jaGlsZHJlbi5maW5kSW5kZXgoYyA9PiBjLnR5cGUgPT09ICJnIiAmJiBjLmNoaWxkcmVuKTsKICAgICAgaWYgKGdpID49IDApIHsKICAgICAgICBjb25zdCBnID0gcm9vdC5jaGlsZHJlbltnaV07CiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBnLmNoaWxkcmVuKSB7CiAgICAgICAgICBpZiAoZy50cmFuc2Zvcm0pIHsKICAgICAgICAgICAgY2hpbGQudHJhbnNmb3JtID0gY2hpbGQudHJhbnNmb3JtIHx8IHsKICAgICAgICAgICAgICB0cmFuc2xhdGU6IHsKICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICB5OiAwCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBzY2FsZTogewogICAgICAgICAgICAgICAgeDogMSwKICAgICAgICAgICAgICAgIHk6IDEKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNoaWxkLnRyYW5zZm9ybS50cmFuc2xhdGUueCA9IGcudHJhbnNmb3JtLnRyYW5zbGF0ZS54ICsgY2hpbGQudHJhbnNmb3JtLnRyYW5zbGF0ZS54ICogZy50cmFuc2Zvcm0uc2NhbGUueDsKICAgICAgICAgICAgY2hpbGQudHJhbnNmb3JtLnRyYW5zbGF0ZS55ID0gZy50cmFuc2Zvcm0udHJhbnNsYXRlLnkgKyBjaGlsZC50cmFuc2Zvcm0udHJhbnNsYXRlLnkgKiBnLnRyYW5zZm9ybS5zY2FsZS55OwogICAgICAgICAgICBjaGlsZC50cmFuc2Zvcm0uc2NhbGUueCAqPSBnLnRyYW5zZm9ybS5zY2FsZS54OwogICAgICAgICAgICBjaGlsZC50cmFuc2Zvcm0uc2NhbGUueSAqPSBnLnRyYW5zZm9ybS5zY2FsZS55OwogICAgICAgICAgfQogICAgICAgICAgaWYgKGcuY29sb3IpIGNoaWxkLmNvbG9yID0gZy5jb2xvcjsKICAgICAgICAgIGlmIChnLmhyZWYpIGNoaWxkLmhyZWYgPSBnLmhyZWY7CiAgICAgICAgfQogICAgICAgIHJvb3QuY2hpbGRyZW4uc3BsaWNlKGdpLCAxLCAuLi5nLmNoaWxkcmVuKTsKICAgICAgfSBlbHNlIGJyZWFrOwogICAgfQogIH0KICA7CiAgcmV0dXJuIHJvb3Q7Cn07CmV4cG9ydCB7IHN2Z1RvRWxlbWVudHMgfTs="},{"version":3,"names":["preservedAttributes","reduce","dict","key","domNodeToElement","node","elem","type","tagName","value","getAttribute","text","textContent","test","href","match","forEach","att","n","Number","isFinite","transform","_","tx","ty","sx","sy","console","warn","translate","x","y","scale","i","childNodes","length","child","nodeType","children","push","filter","e","map","join","svgToElements","svgText","logger","DOMParser","dom","parseFromString","append","svg","assert","root","log","index","findIndex","c","a","p","color","splice","gi","g"],"sources":["/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/staffSvg/svgParser.ts"],"sourcesContent":["\nconst preservedAttributes = {\n\t...[\n\t\t\"viewBox\", \"transform\", \"x\", \"y\", \"width\", \"height\", \"ry\", \"d\", \"x1\", \"y1\", \"x2\", \"y2\", \"color\",\n\t\t\"stroke-width\", \"points\", \"stroke-dasharray\", \"font-size\", \"font-weight\", \"font-style\", \"text-anchor\",\n\t].reduce((dict, key) => ({...dict, [key]: key}), {}),\n\t\"xlink:href\": \"href\",\n};\n\n\nconst domNodeToElement = node => {\n\tconst elem : any = {\n\t\ttype: node.tagName,\n\t};\n\n\tfor (const key in preservedAttributes) {\n\t\tconst value = node.getAttribute(key);\n\t\tif (value)\n\t\t\telem[preservedAttributes[key]] = value;\n\t}\n\n\tswitch (node.tagName) {\n\tcase \"tspan\":\n\t\telem.text = node.textContent;\n\n\t\tbreak;\n\tcase \"a\":\n\t\tif (!/:(\\d+:\\d+:\\d+)$/.test(elem.href)) {\n\t\t\t//if (!/lilypond/.test(elem.href))\n\t\t\t//\tconsole.warn(\"unexpected a.href:\", elem.href);\n\n\t\t\tdelete elem.href;\n\t\t}\n\t\telse\n\t\t\telem.href = elem.href.match(/:(\\d+:\\d+:\\d+)$/)[1];\n\n\t\tbreak;\n\tcase \"path\":\n\t\t//console.log(\"path:\", node.getAttribute(\"d\"), elem);\n\t\t//if (elem.d)\n\t\t//\telem.d = sha1(elem.d);\n\n\t\tbreak;\n\tcase \"polygon\":\n\t\t//if (elem.points)\n\t\t//\telem.points = sha1(elem.points);\n\n\t\tbreak;\n\t}\n\n\t[\n\t\t\"x\", \"y\", \"width\", \"height\", \"ry\", \"x1\", \"y1\", \"x2\", \"y2\", \"stroke-width\", \"font-size\", \"font-weight\", \"font-style\", \"text-anchor\",\n\t].forEach(att => {\n\t\tif (elem[att]) {\n\t\t\tconst n = Number(elem[att]);\n\t\t\tif (Number.isFinite(n))\n\t\t\t\telem[att] = n;\n\t\t}\n\t});\n\n\tif (elem.transform) {\n\t\tlet [_, tx, ty, sx, sy] = [null, 0, 0, 1, 1];\n\t\tif (/translate\\([\\d.\\-,\\s]+\\)\\s*scale\\([\\d.\\-,\\s]+\\)/.test(elem.transform))\n\t\t\t[_, tx, ty, sx, sy] = elem.transform.match(/translate\\(([\\d.-]+),\\s*([\\d.-]+)\\)\\s*scale\\(([\\d.-]+),\\s*([\\d.-]+)\\)/);\n\t\telse if (/translate\\([\\d.\\-,\\s]+\\)/.test(elem.transform))\n\t\t\t[_, tx, ty] = elem.transform.match(/translate\\(([\\d.-]+),\\s*([\\d.-]+)\\)/);\n\t\telse if (/scale\\([\\d.\\-,\\s]+\\)/.test(elem.transform))\n\t\t\t[_, sx, sy] = elem.transform.match(/scale\\(([\\d.-]+),\\s*([\\d.-]+)\\)/);\n\t\telse if (/^rotate(.*)$/.test(elem.transform)) {}\n\t\telse\n\t\t\tconsole.warn(\"unexpected transform:\", elem.transform);\n\n\t\telem.transform = {\n\t\t\ttranslate: {\n\t\t\t\tx: Number(tx),\n\t\t\t\ty: Number(ty),\n\t\t\t},\n\t\t\tscale: {\n\t\t\t\tx: Number(sx),\n\t\t\t\ty: Number(sy),\n\t\t\t},\n\t\t};\n\t}\n\n\tfor (let i = 0; i < node.childNodes.length; ++i) {\n\t\tconst child = node.childNodes[i];\n\t\tif (child.nodeType === 1) {\n\t\t\t//console.log(\"child:\", child);\n\t\t\telem.children = elem.children || [];\n\t\t\telem.children.push(domNodeToElement(child));\n\t\t}\n\t}\n\n\tswitch (elem.type) {\n\tcase \"text\":\n\t\tif (elem.children)\n\t\t\telem.text = elem.children.filter(e => e.type === \"tspan\" && e.text).map(e => e.text).join(\"\");\n\n\t\tbreak;\n\t}\n\t\n\treturn elem;\n};\n\n\nconst svgToElements = (svgText, {logger = null, DOMParser = null} = {}) => {\n\tconst dom = new DOMParser().parseFromString(svgText, \"text/xml\");\n\t//console.log(\"dom:\", dom);\n\n\tif (logger)\n\t\tlogger.append(\"svgToElements\");\n\n\tconst svg : any = dom.childNodes[0];\n\tconsole.assert(svg && svg.tagName === \"svg\");\n\n\tconst root = domNodeToElement(svg);\n\n\t//if (logger)\n\t//\tlogger.append(\"svgToElements.root\", JSON.parse(JSON.stringify(root)));\n\n\tif (!root.children) {\n\t\tconsole.log(\"invalid svg:\", root, svgText);\n\t\treturn null;\n\t}\n\n\t// remove proxy tags of a & g\n\twhile (true) {\n\t\tconst index = root.children.findIndex(c => c.type === \"a\" && c.children);\n\t\tif (index >= 0) {\n\t\t\tconst a = root.children[index];\n\t\t\ta.children.forEach(p => {\n\t\t\t\tp.href = a.href;\n\t\t\t\tp.color = a.color;\n\t\t\t});\n\n\t\t\troot.children.splice(index, 1, ...a.children);\n\t\t}\n\t\telse {\n\t\t\tconst gi = root.children.findIndex(c => c.type === \"g\" && c.children);\n\t\t\tif (gi >= 0) {\n\t\t\t\tconst g = root.children[gi];\n\t\t\t\tfor (const child of g.children) {\n\t\t\t\t\tif (g.transform) {\n\t\t\t\t\t\tchild.transform = child.transform || {\n\t\t\t\t\t\t\ttranslate: {x: 0, y: 0},\n\t\t\t\t\t\t\tscale: {x: 1, y: 1},\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tchild.transform.translate.x = g.transform.translate.x + child.transform.translate.x * g.transform.scale.x;\n\t\t\t\t\t\tchild.transform.translate.y = g.transform.translate.y + child.transform.translate.y * g.transform.scale.y;\n\t\t\t\t\t\tchild.transform.scale.x *= g.transform.scale.x;\n\t\t\t\t\t\tchild.transform.scale.y *= g.transform.scale.y;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (g.color)\n\t\t\t\t\t\tchild.color = g.color;\n\n\t\t\t\t\tif (g.href)\n\t\t\t\t\t\tchild.href = g.href;\n\t\t\t\t}\n\t\n\t\t\t\troot.children.splice(gi, 1, ...g.children);\n\t\t\t}\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn root;\n};\n\n\n\nexport {\n\tsvgToElements,\n};\n"],"mappings":"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","ignoreList":[]}]}