web-annotation-renderer 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +52 -51
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.cjs +1 -1
  6. package/dist/index10.cjs.map +1 -1
  7. package/dist/index10.js +13 -210
  8. package/dist/index10.js.map +1 -1
  9. package/dist/index11.cjs +1 -1
  10. package/dist/index11.cjs.map +1 -1
  11. package/dist/index11.js +50 -13
  12. package/dist/index11.js.map +1 -1
  13. package/dist/index12.cjs +1 -1
  14. package/dist/index12.cjs.map +1 -1
  15. package/dist/index12.js +155 -48
  16. package/dist/index12.js.map +1 -1
  17. package/dist/index13.cjs +1 -1
  18. package/dist/index13.cjs.map +1 -1
  19. package/dist/index13.js +34 -169
  20. package/dist/index13.js.map +1 -1
  21. package/dist/index14.cjs +1 -1
  22. package/dist/index14.cjs.map +1 -1
  23. package/dist/index14.js +65 -28
  24. package/dist/index14.js.map +1 -1
  25. package/dist/index15.cjs +1 -1
  26. package/dist/index15.cjs.map +1 -1
  27. package/dist/index15.js +33 -71
  28. package/dist/index15.js.map +1 -1
  29. package/dist/index16.cjs +1 -1
  30. package/dist/index16.cjs.map +1 -1
  31. package/dist/index16.js +77 -22
  32. package/dist/index16.js.map +1 -1
  33. package/dist/index17.cjs +1 -1
  34. package/dist/index17.cjs.map +1 -1
  35. package/dist/index17.js +31 -52
  36. package/dist/index17.js.map +1 -1
  37. package/dist/index18.cjs +1 -1
  38. package/dist/index18.cjs.map +1 -1
  39. package/dist/index18.js +22 -23
  40. package/dist/index18.js.map +1 -1
  41. package/dist/index2.cjs +1 -1
  42. package/dist/index2.cjs.map +1 -1
  43. package/dist/index2.js +5 -6
  44. package/dist/index2.js.map +1 -1
  45. package/dist/index21.cjs +1 -1
  46. package/dist/index21.cjs.map +1 -1
  47. package/dist/index21.js +48 -27
  48. package/dist/index21.js.map +1 -1
  49. package/dist/index24.cjs +1 -1
  50. package/dist/index24.js +1 -1
  51. package/dist/index25.cjs +1 -1
  52. package/dist/index25.js +1 -1
  53. package/dist/index29.cjs +1 -1
  54. package/dist/index29.cjs.map +1 -1
  55. package/dist/index29.js +70 -4
  56. package/dist/index29.js.map +1 -1
  57. package/dist/index3.cjs +1 -1
  58. package/dist/index3.js +1 -1
  59. package/dist/index30.cjs +2 -0
  60. package/dist/index30.cjs.map +1 -0
  61. package/dist/index30.js +8 -0
  62. package/dist/index30.js.map +1 -0
  63. package/dist/index31.cjs +2 -0
  64. package/dist/index31.cjs.map +1 -0
  65. package/dist/index31.js +995 -0
  66. package/dist/index31.js.map +1 -0
  67. package/dist/index5.cjs +1 -1
  68. package/dist/index5.cjs.map +1 -1
  69. package/dist/index5.js +189 -80
  70. package/dist/index5.js.map +1 -1
  71. package/dist/index6.cjs +1 -1
  72. package/dist/index6.cjs.map +1 -1
  73. package/dist/index6.js +18 -60
  74. package/dist/index6.js.map +1 -1
  75. package/dist/index7.cjs +1 -1
  76. package/dist/index7.cjs.map +1 -1
  77. package/dist/index7.js +17 -17
  78. package/dist/index7.js.map +1 -1
  79. package/dist/index8.cjs +1 -1
  80. package/dist/index8.cjs.map +1 -1
  81. package/dist/index8.js +125 -16
  82. package/dist/index8.js.map +1 -1
  83. package/dist/index9.cjs +1 -1
  84. package/dist/index9.cjs.map +1 -1
  85. package/dist/index9.js +201 -118
  86. package/dist/index9.js.map +1 -1
  87. package/package.json +4 -2
package/dist/index29.js CHANGED
@@ -1,8 +1,74 @@
1
- function r(t = "anno") {
2
- const n = Date.now().toString(36), o = Math.random().toString(36).substring(2, 9);
3
- return `${t}-${n}${o}`;
1
+ import x from "./index31.js";
2
+ const i = x.generator();
3
+ function M(r, t, n, a, e) {
4
+ const s = 1 - e;
5
+ return [
6
+ s ** 3 * r[0] + 3 * s ** 2 * e * t[0] + 3 * s * e ** 2 * n[0] + e ** 3 * a[0],
7
+ s ** 3 * r[1] + 3 * s ** 2 * e * t[1] + 3 * s * e ** 2 * n[1] + e ** 3 * a[1]
8
+ ];
9
+ }
10
+ function S(r) {
11
+ const t = [];
12
+ let n = [0, 0];
13
+ for (const { op: a, data: e } of r)
14
+ switch (a) {
15
+ case "move":
16
+ n = [e[0], e[1]], t.push([...n]);
17
+ break;
18
+ case "lineTo":
19
+ n = [e[0], e[1]], t.push([...n]);
20
+ break;
21
+ case "bcurveTo": {
22
+ const [s, f, h, d, u, c] = e, g = n, b = [s, f], m = [h, d], v = [u, c];
23
+ for (let o = 0.25; o <= 1; o += 0.25)
24
+ t.push(M(g, b, m, v, o));
25
+ n = [u, c];
26
+ break;
27
+ }
28
+ }
29
+ return t;
30
+ }
31
+ function l(r) {
32
+ const t = [];
33
+ for (const n of r.sets)
34
+ n.type === "path" && t.push(...S(n.ops));
35
+ return t;
36
+ }
37
+ function w(r) {
38
+ let t = 0;
39
+ for (let n = 0; n < r.length; n++)
40
+ t = (t << 5) - t + r.charCodeAt(n), t |= 0;
41
+ return Math.abs(t);
42
+ }
43
+ function C(r, t, n, a, e = {}) {
44
+ const s = i.line(r, t, n, a, {
45
+ roughness: e.roughness ?? 1,
46
+ bowing: e.bowing ?? 1,
47
+ seed: e.seed ?? Math.floor(Math.random() * 2147483648),
48
+ curveFitting: e.curveFitting ?? 0.95,
49
+ curveStepCount: e.curveStepCount ?? 9,
50
+ maxRandomnessOffset: e.maxRandomnessOffset ?? 2,
51
+ disableMultiStroke: e.disableMultiStroke ?? !1,
52
+ ...e
53
+ });
54
+ return l(s);
55
+ }
56
+ function p(r, t, n, a, e = {}) {
57
+ const s = i.ellipse(r, t, n, a, {
58
+ roughness: e.roughness ?? 1,
59
+ bowing: e.bowing ?? 1,
60
+ seed: e.seed ?? Math.floor(Math.random() * 2147483648),
61
+ curveFitting: e.curveFitting ?? 0.95,
62
+ curveStepCount: e.curveStepCount ?? 9,
63
+ maxRandomnessOffset: e.maxRandomnessOffset ?? 2,
64
+ disableMultiStroke: e.disableMultiStroke ?? !1,
65
+ ...e
66
+ });
67
+ return l(s);
4
68
  }
5
69
  export {
6
- r as generateId
70
+ w as hashSeed,
71
+ p as roughEllipse,
72
+ C as roughLine
7
73
  };
8
74
  //# sourceMappingURL=index29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/utils/idGenerator.js"],"sourcesContent":["/**\n * ID Generator Utility\n *\n * Generates unique IDs for annotations.\n *\n * @module utils/idGenerator\n */\n\n/**\n * Generate a unique ID for an annotation\n *\n * @param {string} [prefix='anno'] - ID prefix (e.g., 'highlight', 'text', 'ink')\n * @returns {string} Unique annotation ID\n * @example\n * ```javascript\n * const id = generateId('highlight');\n * // Returns: \"highlight-1234567890abc\"\n * ```\n */\nexport function generateId(prefix = 'anno') {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 9);\n return `${prefix}-${timestamp}${random}`;\n}\n"],"names":["generateId","prefix","timestamp","random"],"mappings":"AAmBO,SAASA,EAAWC,IAAS,QAAQ;AAC1C,QAAMC,IAAY,KAAK,IAAG,EAAG,SAAS,EAAE,GAClCC,IAAS,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACxD,SAAO,GAAGF,CAAM,IAAIC,CAAS,GAAGC,CAAM;AACxC;"}
1
+ {"version":3,"file":"index29.js","sources":["../src/rough/roughPathExtractor.js"],"sourcesContent":["/**\n * RoughJS Path Extractor - Utility functions for hand-drawn style paths\n *\n * Wraps RoughJS Generator API to extract path data as points arrays,\n * compatible with the existing StrokeRenderer pipeline.\n *\n * @module rough/roughPathExtractor\n */\n\nimport rough from 'roughjs';\n\nconst generator = rough.generator();\n\n/**\n * Cubic bezier interpolation\n *\n * @param {Array} p0 - Start point [x, y]\n * @param {Array} p1 - Control point 1 [x, y]\n * @param {Array} p2 - Control point 2 [x, y]\n * @param {Array} p3 - End point [x, y]\n * @param {number} t - Interpolation factor (0-1)\n * @returns {Array} Interpolated point [x, y]\n */\nfunction bezierPoint(p0, p1, p2, p3, t) {\n const mt = 1 - t;\n return [\n mt ** 3 * p0[0] + 3 * mt ** 2 * t * p1[0] + 3 * mt * t ** 2 * p2[0] + t ** 3 * p3[0],\n mt ** 3 * p0[1] + 3 * mt ** 2 * t * p1[1] + 3 * mt * t ** 2 * p2[1] + t ** 3 * p3[1]\n ];\n}\n\n/**\n * Convert RoughJS ops array to points array\n *\n * Processes move, lineTo, and bcurveTo operations.\n * Bezier curves are linearized with 4 intermediate points.\n *\n * @param {Array} ops - Array of RoughJS op objects\n * @returns {Array} Array of [x, y] points\n */\nfunction opsToPoints(ops) {\n const points = [];\n let current = [0, 0];\n\n for (const { op, data } of ops) {\n switch (op) {\n case 'move':\n current = [data[0], data[1]];\n points.push([...current]);\n break;\n\n case 'lineTo':\n current = [data[0], data[1]];\n points.push([...current]);\n break;\n\n case 'bcurveTo': {\n const [cx1, cy1, cx2, cy2, x, y] = data;\n const p0 = current;\n const p1 = [cx1, cy1];\n const p2 = [cx2, cy2];\n const p3 = [x, y];\n\n for (let t = 0.25; t <= 1; t += 0.25) {\n points.push(bezierPoint(p0, p1, p2, p3, t));\n }\n current = [x, y];\n break;\n }\n }\n }\n\n return points;\n}\n\n/**\n * Extract points from a RoughJS drawable\n *\n * Collects all path operations from drawable.sets and converts to points.\n *\n * @param {Object} drawable - RoughJS drawable object\n * @returns {Array} Array of [x, y] points\n */\nfunction extractPoints(drawable) {\n const allPoints = [];\n\n for (const set of drawable.sets) {\n if (set.type === 'path') {\n allPoints.push(...opsToPoints(set.ops));\n }\n }\n\n return allPoints;\n}\n\n/**\n * Generate a hash seed from a string\n *\n * Produces a deterministic number from string input for reproducible randomness.\n *\n * @param {string} str - Input string (e.g., annotation ID)\n * @returns {number} Hash value for use as seed\n */\nexport function hashSeed(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash) + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n}\n\n/**\n * Convert a line to RoughJS style points\n *\n * @param {number} x1 - Start x coordinate\n * @param {number} y1 - Start y coordinate\n * @param {number} x2 - End x coordinate\n * @param {number} y2 - End y coordinate\n * @param {Object} [options={}] - RoughJS options\n * @param {number} [options.roughness=1.0] - Line irregularity (0=clean, 3+=very rough)\n * @param {number} [options.bowing=1.0] - Line curvature (0=straight, 2+=very curved)\n * @param {number} [options.seed] - Seed for reproducible randomness\n * @param {number} [options.curveFitting=0.95] - Curve fitting (0=loose, 1=tight)\n * @param {number} [options.curveStepCount=9] - Curve resolution (higher=smoother)\n * @param {number} [options.maxRandomnessOffset=2] - Max random offset\n * @param {boolean} [options.disableMultiStroke=false] - Disable double-stroke effect\n * @returns {Array} Array of [x, y] points with hand-drawn style\n */\nexport function roughLine(x1, y1, x2, y2, options = {}) {\n const drawable = generator.line(x1, y1, x2, y2, {\n roughness: options.roughness ?? 1.0,\n bowing: options.bowing ?? 1.0,\n seed: options.seed ?? Math.floor(Math.random() * 2 ** 31),\n curveFitting: options.curveFitting ?? 0.95,\n curveStepCount: options.curveStepCount ?? 9,\n maxRandomnessOffset: options.maxRandomnessOffset ?? 2,\n disableMultiStroke: options.disableMultiStroke ?? false,\n ...options\n });\n\n return extractPoints(drawable);\n}\n\n/**\n * Convert an ellipse to RoughJS style points\n *\n * @param {number} cx - Center x coordinate\n * @param {number} cy - Center y coordinate\n * @param {number} width - Ellipse width\n * @param {number} height - Ellipse height\n * @param {Object} [options={}] - RoughJS options\n * @param {number} [options.roughness=1.0] - Shape irregularity\n * @param {number} [options.bowing=1.0] - Line curvature\n * @param {number} [options.seed] - Seed for reproducible randomness\n * @param {number} [options.curveFitting=0.95] - Curve fitting (0=loose, 1=tight)\n * @param {number} [options.curveStepCount=9] - Curve resolution (higher=smoother)\n * @param {number} [options.maxRandomnessOffset=2] - Max random offset\n * @param {boolean} [options.disableMultiStroke=false] - Disable double-stroke effect\n * @returns {Array} Array of [x, y] points with hand-drawn style\n */\nexport function roughEllipse(cx, cy, width, height, options = {}) {\n const drawable = generator.ellipse(cx, cy, width, height, {\n roughness: options.roughness ?? 1.0,\n bowing: options.bowing ?? 1.0,\n seed: options.seed ?? Math.floor(Math.random() * 2 ** 31),\n curveFitting: options.curveFitting ?? 0.95,\n curveStepCount: options.curveStepCount ?? 9,\n maxRandomnessOffset: options.maxRandomnessOffset ?? 2,\n disableMultiStroke: options.disableMultiStroke ?? false,\n ...options\n });\n\n return extractPoints(drawable);\n}\n\n/**\n * Convert a linear path (multiple connected points) to RoughJS style\n *\n * @param {Array} points - Array of [x, y] points to connect\n * @param {Object} [options={}] - RoughJS options\n * @param {number} [options.roughness=1.0] - Path irregularity\n * @param {number} [options.bowing=1.0] - Line curvature\n * @param {number} [options.seed] - Seed for reproducible randomness\n * @returns {Array} Array of [x, y] points with hand-drawn style\n */\nexport function roughLinearPath(points, options = {}) {\n if (!points || points.length < 2) {\n return points || [];\n }\n\n const drawable = generator.linearPath(points, {\n roughness: options.roughness ?? 1.0,\n bowing: options.bowing ?? 1.0,\n seed: options.seed ?? Math.floor(Math.random() * 2 ** 31),\n ...options\n });\n\n return extractPoints(drawable);\n}\n\nexport default {\n roughLine,\n roughEllipse,\n roughLinearPath,\n hashSeed\n};\n"],"names":["generator","rough","bezierPoint","p0","p1","p2","p3","t","mt","opsToPoints","ops","points","current","op","data","cx1","cy1","cx2","cy2","x","y","extractPoints","drawable","allPoints","set","hashSeed","str","hash","i","roughLine","x1","y1","x2","y2","options","roughEllipse","cx","cy","width","height"],"mappings":"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"}
package/dist/index3.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("pdfjs-dist"),l=require("./index8.cjs");function d(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,t.get?t:{enumerable:!0,get:()=>n[r]})}}return e.default=n,Object.freeze(e)}const u=d(i);class f{constructor(){this.pdfDoc=null,this.renderTask=null}async loadDocument(e){try{if(!e||typeof e!="string")return{success:!1,error:"Invalid PDF URL provided"};const t=await u.getDocument(e).promise;return this.pdfDoc=t,{success:!0,pageCount:t.numPages}}catch(r){return console.error("PDF loading error:",r),{success:!1,error:`Failed to load PDF: ${r.message}`}}}async renderPage(e,r,t){try{if(!this.pdfDoc)return{success:!1,error:"No PDF document loaded"};if(!r||!(r instanceof HTMLCanvasElement))return{success:!1,error:"Invalid canvas element provided"};if(e<1||e>this.pdfDoc.numPages)return{success:!1,error:`Invalid page number: ${e}. Document has ${this.pdfDoc.numPages} pages.`};this.renderTask&&(this.renderTask.cancel(),this.renderTask=null);const s=await this.pdfDoc.getPage(e),o=l.calculateViewport(s,t);r.width=o.width,r.height=o.height;const c=r.getContext("2d");if(!c)return{success:!1,error:"Failed to get canvas 2d context"};const a={canvasContext:c,viewport:o};return this.renderTask=s.render(a),await this.renderTask.promise,this.renderTask=null,{success:!0,viewport:o}}catch(s){return s.name==="RenderingCancelledException"?(console.log("Rendering cancelled"),{success:!1,error:"Rendering was cancelled"}):(console.error("Page rendering error:",s),{success:!1,error:`Failed to render page: ${s.message}`})}finally{this.renderTask=null}}getPageCount(){return this.pdfDoc?this.pdfDoc.numPages:0}cancelRender(){if(this.renderTask)try{this.renderTask.cancel()}catch(e){console.log("Render cancellation error (ignored):",e)}finally{this.renderTask=null}}destroy(){this.cancelRender(),this.pdfDoc&&(this.pdfDoc=null),this.renderTask=null}}exports.PDFRenderer=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("pdfjs-dist"),l=require("./index7.cjs");function d(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,t.get?t:{enumerable:!0,get:()=>n[r]})}}return e.default=n,Object.freeze(e)}const u=d(i);class f{constructor(){this.pdfDoc=null,this.renderTask=null}async loadDocument(e){try{if(!e||typeof e!="string")return{success:!1,error:"Invalid PDF URL provided"};const t=await u.getDocument(e).promise;return this.pdfDoc=t,{success:!0,pageCount:t.numPages}}catch(r){return console.error("PDF loading error:",r),{success:!1,error:`Failed to load PDF: ${r.message}`}}}async renderPage(e,r,t){try{if(!this.pdfDoc)return{success:!1,error:"No PDF document loaded"};if(!r||!(r instanceof HTMLCanvasElement))return{success:!1,error:"Invalid canvas element provided"};if(e<1||e>this.pdfDoc.numPages)return{success:!1,error:`Invalid page number: ${e}. Document has ${this.pdfDoc.numPages} pages.`};this.renderTask&&(this.renderTask.cancel(),this.renderTask=null);const s=await this.pdfDoc.getPage(e),o=l.calculateViewport(s,t);r.width=o.width,r.height=o.height;const c=r.getContext("2d");if(!c)return{success:!1,error:"Failed to get canvas 2d context"};const a={canvasContext:c,viewport:o};return this.renderTask=s.render(a),await this.renderTask.promise,this.renderTask=null,{success:!0,viewport:o}}catch(s){return s.name==="RenderingCancelledException"?(console.log("Rendering cancelled"),{success:!1,error:"Rendering was cancelled"}):(console.error("Page rendering error:",s),{success:!1,error:`Failed to render page: ${s.message}`})}finally{this.renderTask=null}}getPageCount(){return this.pdfDoc?this.pdfDoc.numPages:0}cancelRender(){if(this.renderTask)try{this.renderTask.cancel()}catch(e){console.log("Render cancellation error (ignored):",e)}finally{this.renderTask=null}}destroy(){this.cancelRender(),this.pdfDoc&&(this.pdfDoc=null),this.renderTask=null}}exports.PDFRenderer=f;
2
2
  //# sourceMappingURL=index3.cjs.map
package/dist/index3.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as c from "pdfjs-dist";
2
- import { calculateViewport as i } from "./index8.js";
2
+ import { calculateViewport as i } from "./index7.js";
3
3
  class u {
4
4
  constructor() {
5
5
  this.pdfDoc = null, this.renderTask = null;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(t="anno"){const n=Date.now().toString(36),e=Math.random().toString(36).substring(2,9);return`${t}-${n}${e}`}exports.generateId=o;
2
+ //# sourceMappingURL=index30.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index30.cjs","sources":["../src/utils/idGenerator.js"],"sourcesContent":["/**\n * ID Generator Utility\n *\n * Generates unique IDs for annotations.\n *\n * @module utils/idGenerator\n */\n\n/**\n * Generate a unique ID for an annotation\n *\n * @param {string} [prefix='anno'] - ID prefix (e.g., 'highlight', 'text', 'ink')\n * @returns {string} Unique annotation ID\n * @example\n * ```javascript\n * const id = generateId('highlight');\n * // Returns: \"highlight-1234567890abc\"\n * ```\n */\nexport function generateId(prefix = 'anno') {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 9);\n return `${prefix}-${timestamp}${random}`;\n}\n"],"names":["generateId","prefix","timestamp","random"],"mappings":"gFAmBO,SAASA,EAAWC,EAAS,OAAQ,CAC1C,MAAMC,EAAY,KAAK,IAAG,EAAG,SAAS,EAAE,EAClCC,EAAS,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,EAAG,CAAC,EACxD,MAAO,GAAGF,CAAM,IAAIC,CAAS,GAAGC,CAAM,EACxC"}
@@ -0,0 +1,8 @@
1
+ function r(t = "anno") {
2
+ const n = Date.now().toString(36), o = Math.random().toString(36).substring(2, 9);
3
+ return `${t}-${n}${o}`;
4
+ }
5
+ export {
6
+ r as generateId
7
+ };
8
+ //# sourceMappingURL=index30.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index30.js","sources":["../src/utils/idGenerator.js"],"sourcesContent":["/**\n * ID Generator Utility\n *\n * Generates unique IDs for annotations.\n *\n * @module utils/idGenerator\n */\n\n/**\n * Generate a unique ID for an annotation\n *\n * @param {string} [prefix='anno'] - ID prefix (e.g., 'highlight', 'text', 'ink')\n * @returns {string} Unique annotation ID\n * @example\n * ```javascript\n * const id = generateId('highlight');\n * // Returns: \"highlight-1234567890abc\"\n * ```\n */\nexport function generateId(prefix = 'anno') {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 9);\n return `${prefix}-${timestamp}${random}`;\n}\n"],"names":["generateId","prefix","timestamp","random"],"mappings":"AAmBO,SAASA,EAAWC,IAAS,QAAQ;AAC1C,QAAMC,IAAY,KAAK,IAAG,EAAG,SAAS,EAAE,GAClCC,IAAS,KAAK,SAAS,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC;AACxD,SAAO,GAAGF,CAAM,IAAIC,CAAS,GAAGC,CAAM;AACxC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function X(a,e,s){if(a&&a.length){const[t,n]=e,o=Math.PI/180*s,r=Math.cos(o),h=Math.sin(o);for(const i of a){const[l,c]=i;i[0]=(l-t)*r-(c-n)*h+t,i[1]=(l-t)*h+(c-n)*r+n}}}function Ot(a,e){return a[0]===e[0]&&a[1]===e[1]}function Lt(a,e,s,t=1){const n=s,o=Math.max(e,.1),r=a[0]&&a[0][0]&&typeof a[0][0]=="number"?[a]:a,h=[0,0];if(n)for(const l of r)X(l,h,n);const i=(function(l,c,d){const p=[];for(const M of l){const m=[...M];Ot(m[0],m[m.length-1])||m.push([m[0][0],m[0][1]]),m.length>2&&p.push(m)}const u=[];c=Math.max(c,.1);const f=[];for(const M of p)for(let m=0;m<M.length-1;m++){const P=M[m],x=M[m+1];if(P[1]!==x[1]){const w=Math.min(P[1],x[1]);f.push({ymin:w,ymax:Math.max(P[1],x[1]),x:w===P[1]?P[0]:x[0],islope:(x[0]-P[0])/(x[1]-P[1])})}}if(f.sort(((M,m)=>M.ymin<m.ymin?-1:M.ymin>m.ymin?1:M.x<m.x?-1:M.x>m.x?1:M.ymax===m.ymax?0:(M.ymax-m.ymax)/Math.abs(M.ymax-m.ymax))),!f.length)return u;let g=[],k=f[0].ymin,b=0;for(;g.length||f.length;){if(f.length){let M=-1;for(let m=0;m<f.length&&!(f[m].ymin>k);m++)M=m;f.splice(0,M+1).forEach((m=>{g.push({s:k,edge:m})}))}if(g=g.filter((M=>!(M.edge.ymax<=k))),g.sort(((M,m)=>M.edge.x===m.edge.x?0:(M.edge.x-m.edge.x)/Math.abs(M.edge.x-m.edge.x))),(d!==1||b%c==0)&&g.length>1)for(let M=0;M<g.length;M+=2){const m=M+1;if(m>=g.length)break;const P=g[M].edge,x=g[m].edge;u.push([[Math.round(P.x),k],[Math.round(x.x),k]])}k+=d,g.forEach((M=>{M.edge.x=M.edge.x+d*M.edge.islope})),b++}return u})(r,o,t);if(n){for(const l of r)X(l,h,-n);(function(l,c,d){const p=[];l.forEach((u=>p.push(...u))),X(p,c,d)})(i,h,-n)}return i}function j(a,e){var s;const t=e.hachureAngle+90;let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.round(Math.max(n,.1));let o=1;return e.roughness>=1&&(((s=e.randomizer)===null||s===void 0?void 0:s.next())||Math.random())>.7&&(o=n),Lt(a,n,t,o||1)}class ht{constructor(e){this.helper=e}fillPolygons(e,s){return this._fillPolygons(e,s)}_fillPolygons(e,s){const t=j(e,s);return{type:"fillSketch",ops:this.renderLines(t,s)}}renderLines(e,s){const t=[];for(const n of e)t.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],s));return t}}function U(a){const e=a[0],s=a[1];return Math.sqrt(Math.pow(e[0]-s[0],2)+Math.pow(e[1]-s[1],2))}class Tt extends ht{fillPolygons(e,s){let t=s.hachureGap;t<0&&(t=4*s.strokeWidth),t=Math.max(t,.1);const n=j(e,Object.assign({},s,{hachureGap:t})),o=Math.PI/180*s.hachureAngle,r=[],h=.5*t*Math.cos(o),i=.5*t*Math.sin(o);for(const[l,c]of n)U([l,c])&&r.push([[l[0]-h,l[1]+i],[...c]],[[l[0]+h,l[1]-i],[...c]]);return{type:"fillSketch",ops:this.renderLines(r,s)}}}class Dt extends ht{fillPolygons(e,s){const t=this._fillPolygons(e,s),n=Object.assign({},s,{hachureAngle:s.hachureAngle+90}),o=this._fillPolygons(e,n);return t.ops=t.ops.concat(o.ops),t}}class _t{constructor(e){this.helper=e}fillPolygons(e,s){const t=j(e,s=Object.assign({},s,{hachureAngle:0}));return this.dotsOnLines(t,s)}dotsOnLines(e,s){const t=[];let n=s.hachureGap;n<0&&(n=4*s.strokeWidth),n=Math.max(n,.1);let o=s.fillWeight;o<0&&(o=s.strokeWidth/2);const r=n/4;for(const h of e){const i=U(h),l=i/n,c=Math.ceil(l)-1,d=i-c*n,p=(h[0][0]+h[1][0])/2-n/4,u=Math.min(h[0][1],h[1][1]);for(let f=0;f<c;f++){const g=u+d+f*n,k=p-r+2*Math.random()*r,b=g-r+2*Math.random()*r,M=this.helper.ellipse(k,b,o,o,s);t.push(...M.ops)}}return{type:"fillSketch",ops:t}}}class At{constructor(e){this.helper=e}fillPolygons(e,s){const t=j(e,s);return{type:"fillSketch",ops:this.dashedLine(t,s)}}dashedLine(e,s){const t=s.dashOffset<0?s.hachureGap<0?4*s.strokeWidth:s.hachureGap:s.dashOffset,n=s.dashGap<0?s.hachureGap<0?4*s.strokeWidth:s.hachureGap:s.dashGap,o=[];return e.forEach((r=>{const h=U(r),i=Math.floor(h/(t+n)),l=(h+n-i*(t+n))/2;let c=r[0],d=r[1];c[0]>d[0]&&(c=r[1],d=r[0]);const p=Math.atan((d[1]-c[1])/(d[0]-c[0]));for(let u=0;u<i;u++){const f=u*(t+n),g=f+t,k=[c[0]+f*Math.cos(p)+l*Math.cos(p),c[1]+f*Math.sin(p)+l*Math.sin(p)],b=[c[0]+g*Math.cos(p)+l*Math.cos(p),c[1]+g*Math.sin(p)+l*Math.sin(p)];o.push(...this.helper.doubleLineOps(k[0],k[1],b[0],b[1],s))}})),o}}class It{constructor(e){this.helper=e}fillPolygons(e,s){const t=s.hachureGap<0?4*s.strokeWidth:s.hachureGap,n=s.zigzagOffset<0?t:s.zigzagOffset,o=j(e,s=Object.assign({},s,{hachureGap:t+n}));return{type:"fillSketch",ops:this.zigzagLines(o,n,s)}}zigzagLines(e,s,t){const n=[];return e.forEach((o=>{const r=U(o),h=Math.round(r/(2*s));let i=o[0],l=o[1];i[0]>l[0]&&(i=o[1],l=o[0]);const c=Math.atan((l[1]-i[1])/(l[0]-i[0]));for(let d=0;d<h;d++){const p=2*d*s,u=2*(d+1)*s,f=Math.sqrt(2*Math.pow(s,2)),g=[i[0]+p*Math.cos(c),i[1]+p*Math.sin(c)],k=[i[0]+u*Math.cos(c),i[1]+u*Math.sin(c)],b=[g[0]+f*Math.cos(c+Math.PI/4),g[1]+f*Math.sin(c+Math.PI/4)];n.push(...this.helper.doubleLineOps(g[0],g[1],b[0],b[1],t),...this.helper.doubleLineOps(b[0],b[1],k[0],k[1],t))}})),n}}const S={};class Ct{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const zt=0,Y=1,lt=2,F={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tt(a,e){return a.type===e}function rt(a){const e=[],s=(function(r){const h=new Array;for(;r!=="";)if(r.match(/^([ \t\r\n,]+)/))r=r.substr(RegExp.$1.length);else if(r.match(/^([aAcChHlLmMqQsStTvVzZ])/))h[h.length]={type:zt,text:RegExp.$1},r=r.substr(RegExp.$1.length);else{if(!r.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];h[h.length]={type:Y,text:`${parseFloat(RegExp.$1)}`},r=r.substr(RegExp.$1.length)}return h[h.length]={type:lt,text:""},h})(a);let t="BOD",n=0,o=s[n];for(;!tt(o,lt);){let r=0;const h=[];if(t==="BOD"){if(o.text!=="M"&&o.text!=="m")return rt("M0,0"+a);n++,r=F[o.text],t=o.text}else tt(o,Y)?r=F[t]:(n++,r=F[o.text],t=o.text);if(!(n+r<s.length))throw new Error("Path data ended short");for(let i=n;i<n+r;i++){const l=s[i];if(!tt(l,Y))throw new Error("Param not a number: "+t+","+l.text);h[h.length]=+l.text}if(typeof F[t]!="number")throw new Error("Bad segment: "+t);{const i={key:t,data:h};e.push(i),n+=r,o=s[n],t==="M"&&(t="L"),t==="m"&&(t="l")}}return e}function bt(a){let e=0,s=0,t=0,n=0;const o=[];for(const{key:r,data:h}of a)switch(r){case"M":o.push({key:"M",data:[...h]}),[e,s]=h,[t,n]=h;break;case"m":e+=h[0],s+=h[1],o.push({key:"M",data:[e,s]}),t=e,n=s;break;case"L":o.push({key:"L",data:[...h]}),[e,s]=h;break;case"l":e+=h[0],s+=h[1],o.push({key:"L",data:[e,s]});break;case"C":o.push({key:"C",data:[...h]}),e=h[4],s=h[5];break;case"c":{const i=h.map(((l,c)=>c%2?l+s:l+e));o.push({key:"C",data:i}),e=i[4],s=i[5];break}case"Q":o.push({key:"Q",data:[...h]}),e=h[2],s=h[3];break;case"q":{const i=h.map(((l,c)=>c%2?l+s:l+e));o.push({key:"Q",data:i}),e=i[2],s=i[3];break}case"A":o.push({key:"A",data:[...h]}),e=h[5],s=h[6];break;case"a":e+=h[5],s+=h[6],o.push({key:"A",data:[h[0],h[1],h[2],h[3],h[4],e,s]});break;case"H":o.push({key:"H",data:[...h]}),e=h[0];break;case"h":e+=h[0],o.push({key:"H",data:[e]});break;case"V":o.push({key:"V",data:[...h]}),s=h[0];break;case"v":s+=h[0],o.push({key:"V",data:[s]});break;case"S":o.push({key:"S",data:[...h]}),e=h[2],s=h[3];break;case"s":{const i=h.map(((l,c)=>c%2?l+s:l+e));o.push({key:"S",data:i}),e=i[2],s=i[3];break}case"T":o.push({key:"T",data:[...h]}),e=h[0],s=h[1];break;case"t":e+=h[0],s+=h[1],o.push({key:"T",data:[e,s]});break;case"Z":case"z":o.push({key:"Z",data:[]}),e=t,s=n}return o}function yt(a){const e=[];let s="",t=0,n=0,o=0,r=0,h=0,i=0;for(const{key:l,data:c}of a){switch(l){case"M":e.push({key:"M",data:[...c]}),[t,n]=c,[o,r]=c;break;case"C":e.push({key:"C",data:[...c]}),t=c[4],n=c[5],h=c[2],i=c[3];break;case"L":e.push({key:"L",data:[...c]}),[t,n]=c;break;case"H":t=c[0],e.push({key:"L",data:[t,n]});break;case"V":n=c[0],e.push({key:"L",data:[t,n]});break;case"S":{let d=0,p=0;s==="C"||s==="S"?(d=t+(t-h),p=n+(n-i)):(d=t,p=n),e.push({key:"C",data:[d,p,...c]}),h=c[0],i=c[1],t=c[2],n=c[3];break}case"T":{const[d,p]=c;let u=0,f=0;s==="Q"||s==="T"?(u=t+(t-h),f=n+(n-i)):(u=t,f=n);const g=t+2*(u-t)/3,k=n+2*(f-n)/3,b=d+2*(u-d)/3,M=p+2*(f-p)/3;e.push({key:"C",data:[g,k,b,M,d,p]}),h=u,i=f,t=d,n=p;break}case"Q":{const[d,p,u,f]=c,g=t+2*(d-t)/3,k=n+2*(p-n)/3,b=u+2*(d-u)/3,M=f+2*(p-f)/3;e.push({key:"C",data:[g,k,b,M,u,f]}),h=d,i=p,t=u,n=f;break}case"A":{const d=Math.abs(c[0]),p=Math.abs(c[1]),u=c[2],f=c[3],g=c[4],k=c[5],b=c[6];d===0||p===0?(e.push({key:"C",data:[t,n,k,b,k,b]}),t=k,n=b):(t!==k||n!==b)&&(mt(t,n,k,b,d,p,u,f,g).forEach((function(M){e.push({key:"C",data:M})})),t=k,n=b);break}case"Z":e.push({key:"Z",data:[]}),t=o,n=r}s=l}return e}function $(a,e,s){return[a*Math.cos(s)-e*Math.sin(s),a*Math.sin(s)+e*Math.cos(s)]}function mt(a,e,s,t,n,o,r,h,i,l){const c=(d=r,Math.PI*d/180);var d;let p=[],u=0,f=0,g=0,k=0;if(l)[u,f,g,k]=l;else{[a,e]=$(a,e,-c),[s,t]=$(s,t,-c);const T=(a-s)/2,v=(e-t)/2;let A=T*T/(n*n)+v*v/(o*o);A>1&&(A=Math.sqrt(A),n*=A,o*=A);const W=n*n,E=o*o,vt=W*E-W*v*v-E*T*T,St=W*v*v+E*T*T,ct=(h===i?-1:1)*Math.sqrt(Math.abs(vt/St));g=ct*n*v/o+(a+s)/2,k=ct*-o*T/n+(e+t)/2,u=Math.asin(parseFloat(((e-k)/o).toFixed(9))),f=Math.asin(parseFloat(((t-k)/o).toFixed(9))),a<g&&(u=Math.PI-u),s<g&&(f=Math.PI-f),u<0&&(u=2*Math.PI+u),f<0&&(f=2*Math.PI+f),i&&u>f&&(u-=2*Math.PI),!i&&f>u&&(f-=2*Math.PI)}let b=f-u;if(Math.abs(b)>120*Math.PI/180){const T=f,v=s,A=t;f=i&&f>u?u+120*Math.PI/180*1:u+120*Math.PI/180*-1,p=mt(s=g+n*Math.cos(f),t=k+o*Math.sin(f),v,A,n,o,r,0,i,[f,T,g,k])}b=f-u;const M=Math.cos(u),m=Math.sin(u),P=Math.cos(f),x=Math.sin(f),w=Math.tan(b/4),L=4/3*n*w,_=4/3*o*w,q=[a,e],D=[a+L*m,e-_*M],C=[s+L*x,t-_*P],it=[s,t];if(D[0]=2*q[0]-D[0],D[1]=2*q[1]-D[1],l)return[D,C,it].concat(p);{p=[D,C,it].concat(p);const T=[];for(let v=0;v<p.length;v+=3){const A=$(p[v][0],p[v][1],c),W=$(p[v+1][0],p[v+1][1],c),E=$(p[v+2][0],p[v+2][1],c);T.push([A[0],A[1],W[0],W[1],E[0],E[1]])}return T}}const Wt={randOffset:function(a,e){return y(a,e)},randOffsetWithRange:function(a,e,s){return N(a,e,s)},ellipse:function(a,e,s,t,n){const o=xt(s,t,n);return nt(a,e,n,o).opset},doubleLineOps:function(a,e,s,t,n){return I(a,e,s,t,n,!0)}};function wt(a,e,s,t,n){return{type:"path",ops:I(a,e,s,t,n)}}function Q(a,e,s){const t=(a||[]).length;if(t>2){const n=[];for(let o=0;o<t-1;o++)n.push(...I(a[o][0],a[o][1],a[o+1][0],a[o+1][1],s));return e&&n.push(...I(a[t-1][0],a[t-1][1],a[0][0],a[0][1],s)),{type:"path",ops:n}}return t===2?wt(a[0][0],a[0][1],a[1][0],a[1][1],s):{type:"path",ops:[]}}function Et(a,e,s,t,n){return(function(o,r){return Q(o,!0,r)})([[a,e],[a+s,e],[a+s,e+t],[a,e+t]],n)}function ut(a,e){if(a.length){const s=typeof a[0][0]=="number"?[a]:a,t=V(s[0],1*(1+.2*e.roughness),e),n=e.disableMultiStroke?[]:V(s[0],1.5*(1+.22*e.roughness),dt(e));for(let o=1;o<s.length;o++){const r=s[o];if(r.length){const h=V(r,1*(1+.2*e.roughness),e),i=e.disableMultiStroke?[]:V(r,1.5*(1+.22*e.roughness),dt(e));for(const l of h)l.op!=="move"&&t.push(l);for(const l of i)l.op!=="move"&&n.push(l)}}return{type:"path",ops:t.concat(n)}}return{type:"path",ops:[]}}function xt(a,e,s){const t=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(a/2,2)+Math.pow(e/2,2))/2)),n=Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*t)),o=2*Math.PI/n;let r=Math.abs(a/2),h=Math.abs(e/2);const i=1-s.curveFitting;return r+=y(r*i,s),h+=y(h*i,s),{increment:o,rx:r,ry:h}}function nt(a,e,s,t){const[n,o]=gt(t.increment,a,e,t.rx,t.ry,1,t.increment*N(.1,N(.4,1,s),s),s);let r=B(n,null,s);if(!s.disableMultiStroke&&s.roughness!==0){const[h]=gt(t.increment,a,e,t.rx,t.ry,1.5,0,s),i=B(h,null,s);r=r.concat(i)}return{estimatedPoints:o,opset:{type:"path",ops:r}}}function pt(a,e,s,t,n,o,r,h,i){const l=a,c=e;let d=Math.abs(s/2),p=Math.abs(t/2);d+=y(.01*d,i),p+=y(.01*p,i);let u=n,f=o;for(;u<0;)u+=2*Math.PI,f+=2*Math.PI;f-u>2*Math.PI&&(u=0,f=2*Math.PI);const g=2*Math.PI/i.curveStepCount,k=Math.min(g/2,(f-u)/2),b=Mt(k,l,c,d,p,u,f,1,i);if(!i.disableMultiStroke){const M=Mt(k,l,c,d,p,u,f,1.5,i);b.push(...M)}return r&&(h?b.push(...I(l,c,l+d*Math.cos(u),c+p*Math.sin(u),i),...I(l,c,l+d*Math.cos(f),c+p*Math.sin(f),i)):b.push({op:"lineTo",data:[l,c]},{op:"lineTo",data:[l+d*Math.cos(u),c+p*Math.sin(u)]})),{type:"path",ops:b}}function ft(a,e){const s=yt(bt(rt(a))),t=[];let n=[0,0],o=[0,0];for(const{key:r,data:h}of s)switch(r){case"M":o=[h[0],h[1]],n=[h[0],h[1]];break;case"L":t.push(...I(o[0],o[1],h[0],h[1],e)),o=[h[0],h[1]];break;case"C":{const[i,l,c,d,p,u]=h;t.push(...Gt(i,l,c,d,p,u,o,e)),o=[p,u];break}case"Z":t.push(...I(o[0],o[1],n[0],n[1],e)),o=[n[0],n[1]]}return{type:"path",ops:t}}function et(a,e){const s=[];for(const t of a)if(t.length){const n=e.maxRandomnessOffset||0,o=t.length;if(o>2){s.push({op:"move",data:[t[0][0]+y(n,e),t[0][1]+y(n,e)]});for(let r=1;r<o;r++)s.push({op:"lineTo",data:[t[r][0]+y(n,e),t[r][1]+y(n,e)]})}}return{type:"fillPath",ops:s}}function G(a,e){return(function(s,t){let n=s.fillStyle||"hachure";if(!S[n])switch(n){case"zigzag":S[n]||(S[n]=new Tt(t));break;case"cross-hatch":S[n]||(S[n]=new Dt(t));break;case"dots":S[n]||(S[n]=new _t(t));break;case"dashed":S[n]||(S[n]=new At(t));break;case"zigzag-line":S[n]||(S[n]=new It(t));break;default:n="hachure",S[n]||(S[n]=new ht(t))}return S[n]})(e,Wt).fillPolygons(a,e)}function dt(a){const e=Object.assign({},a);return e.randomizer=void 0,a.seed&&(e.seed=a.seed+1),e}function Pt(a){return a.randomizer||(a.randomizer=new Ct(a.seed||0)),a.randomizer.next()}function N(a,e,s,t=1){return s.roughness*t*(Pt(s)*(e-a)+a)}function y(a,e,s=1){return N(-a,a,e,s)}function I(a,e,s,t,n,o=!1){const r=o?n.disableMultiStrokeFill:n.disableMultiStroke,h=at(a,e,s,t,n,!0,!1);if(r)return h;const i=at(a,e,s,t,n,!0,!0);return h.concat(i)}function at(a,e,s,t,n,o,r){const h=Math.pow(a-s,2)+Math.pow(e-t,2),i=Math.sqrt(h);let l=1;l=i<200?1:i>500?.4:-.0016668*i+1.233334;let c=n.maxRandomnessOffset||0;c*c*100>h&&(c=i/10);const d=c/2,p=.2+.2*Pt(n);let u=n.bowing*n.maxRandomnessOffset*(t-e)/200,f=n.bowing*n.maxRandomnessOffset*(a-s)/200;u=y(u,n,l),f=y(f,n,l);const g=[],k=()=>y(d,n,l),b=()=>y(c,n,l),M=n.preserveVertices;return r?g.push({op:"move",data:[a+(M?0:k()),e+(M?0:k())]}):g.push({op:"move",data:[a+(M?0:y(c,n,l)),e+(M?0:y(c,n,l))]}),r?g.push({op:"bcurveTo",data:[u+a+(s-a)*p+k(),f+e+(t-e)*p+k(),u+a+2*(s-a)*p+k(),f+e+2*(t-e)*p+k(),s+(M?0:k()),t+(M?0:k())]}):g.push({op:"bcurveTo",data:[u+a+(s-a)*p+b(),f+e+(t-e)*p+b(),u+a+2*(s-a)*p+b(),f+e+2*(t-e)*p+b(),s+(M?0:b()),t+(M?0:b())]}),g}function V(a,e,s){if(!a.length)return[];const t=[];t.push([a[0][0]+y(e,s),a[0][1]+y(e,s)]),t.push([a[0][0]+y(e,s),a[0][1]+y(e,s)]);for(let n=1;n<a.length;n++)t.push([a[n][0]+y(e,s),a[n][1]+y(e,s)]),n===a.length-1&&t.push([a[n][0]+y(e,s),a[n][1]+y(e,s)]);return B(t,null,s)}function B(a,e,s){const t=a.length,n=[];if(t>3){const o=[],r=1-s.curveTightness;n.push({op:"move",data:[a[1][0],a[1][1]]});for(let h=1;h+2<t;h++){const i=a[h];o[0]=[i[0],i[1]],o[1]=[i[0]+(r*a[h+1][0]-r*a[h-1][0])/6,i[1]+(r*a[h+1][1]-r*a[h-1][1])/6],o[2]=[a[h+1][0]+(r*a[h][0]-r*a[h+2][0])/6,a[h+1][1]+(r*a[h][1]-r*a[h+2][1])/6],o[3]=[a[h+1][0],a[h+1][1]],n.push({op:"bcurveTo",data:[o[1][0],o[1][1],o[2][0],o[2][1],o[3][0],o[3][1]]})}}else t===3?(n.push({op:"move",data:[a[1][0],a[1][1]]}),n.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[2][0],a[2][1]]})):t===2&&n.push(...at(a[0][0],a[0][1],a[1][0],a[1][1],s,!0,!0));return n}function gt(a,e,s,t,n,o,r,h){const i=[],l=[];if(h.roughness===0){a/=4,l.push([e+t*Math.cos(-a),s+n*Math.sin(-a)]);for(let c=0;c<=2*Math.PI;c+=a){const d=[e+t*Math.cos(c),s+n*Math.sin(c)];i.push(d),l.push(d)}l.push([e+t*Math.cos(0),s+n*Math.sin(0)]),l.push([e+t*Math.cos(a),s+n*Math.sin(a)])}else{const c=y(.5,h)-Math.PI/2;l.push([y(o,h)+e+.9*t*Math.cos(c-a),y(o,h)+s+.9*n*Math.sin(c-a)]);const d=2*Math.PI+c-.01;for(let p=c;p<d;p+=a){const u=[y(o,h)+e+t*Math.cos(p),y(o,h)+s+n*Math.sin(p)];i.push(u),l.push(u)}l.push([y(o,h)+e+t*Math.cos(c+2*Math.PI+.5*r),y(o,h)+s+n*Math.sin(c+2*Math.PI+.5*r)]),l.push([y(o,h)+e+.98*t*Math.cos(c+r),y(o,h)+s+.98*n*Math.sin(c+r)]),l.push([y(o,h)+e+.9*t*Math.cos(c+.5*r),y(o,h)+s+.9*n*Math.sin(c+.5*r)])}return[l,i]}function Mt(a,e,s,t,n,o,r,h,i){const l=o+y(.1,i),c=[];c.push([y(h,i)+e+.9*t*Math.cos(l-a),y(h,i)+s+.9*n*Math.sin(l-a)]);for(let d=l;d<=r;d+=a)c.push([y(h,i)+e+t*Math.cos(d),y(h,i)+s+n*Math.sin(d)]);return c.push([e+t*Math.cos(r),s+n*Math.sin(r)]),c.push([e+t*Math.cos(r),s+n*Math.sin(r)]),B(c,null,i)}function Gt(a,e,s,t,n,o,r,h){const i=[],l=[h.maxRandomnessOffset||1,(h.maxRandomnessOffset||1)+.3];let c=[0,0];const d=h.disableMultiStroke?1:2,p=h.preserveVertices;for(let u=0;u<d;u++)u===0?i.push({op:"move",data:[r[0],r[1]]}):i.push({op:"move",data:[r[0]+(p?0:y(l[0],h)),r[1]+(p?0:y(l[0],h))]}),c=p?[n,o]:[n+y(l[u],h),o+y(l[u],h)],i.push({op:"bcurveTo",data:[a+y(l[u],h),e+y(l[u],h),s+y(l[u],h),t+y(l[u],h),c[0],c[1]]});return i}function R(a){return[...a]}function kt(a,e=0){const s=a.length;if(s<3)throw new Error("A curve must have at least three points.");const t=[];if(s===3)t.push(R(a[0]),R(a[1]),R(a[2]),R(a[2]));else{const n=[];n.push(a[0],a[0]);for(let h=1;h<a.length;h++)n.push(a[h]),h===a.length-1&&n.push(a[h]);const o=[],r=1-e;t.push(R(n[0]));for(let h=1;h+2<n.length;h++){const i=n[h];o[0]=[i[0],i[1]],o[1]=[i[0]+(r*n[h+1][0]-r*n[h-1][0])/6,i[1]+(r*n[h+1][1]-r*n[h-1][1])/6],o[2]=[n[h+1][0]+(r*n[h][0]-r*n[h+2][0])/6,n[h+1][1]+(r*n[h][1]-r*n[h+2][1])/6],o[3]=[n[h+1][0],n[h+1][1]],t.push(o[1],o[2],o[3])}}return t}function H(a,e){return Math.pow(a[0]-e[0],2)+Math.pow(a[1]-e[1],2)}function $t(a,e,s){const t=H(e,s);if(t===0)return H(a,e);let n=((a[0]-e[0])*(s[0]-e[0])+(a[1]-e[1])*(s[1]-e[1]))/t;return n=Math.max(0,Math.min(1,n)),H(a,z(e,s,n))}function z(a,e,s){return[a[0]+(e[0]-a[0])*s,a[1]+(e[1]-a[1])*s]}function ot(a,e,s,t){const n=t||[];if((function(h,i){const l=h[i+0],c=h[i+1],d=h[i+2],p=h[i+3];let u=3*c[0]-2*l[0]-p[0];u*=u;let f=3*c[1]-2*l[1]-p[1];f*=f;let g=3*d[0]-2*p[0]-l[0];g*=g;let k=3*d[1]-2*p[1]-l[1];return k*=k,u<g&&(u=g),f<k&&(f=k),u+f})(a,e)<s){const h=a[e+0];n.length?(o=n[n.length-1],r=h,Math.sqrt(H(o,r))>1&&n.push(h)):n.push(h),n.push(a[e+3])}else{const i=a[e+0],l=a[e+1],c=a[e+2],d=a[e+3],p=z(i,l,.5),u=z(l,c,.5),f=z(c,d,.5),g=z(p,u,.5),k=z(u,f,.5),b=z(g,k,.5);ot([i,p,g,b],0,s,n),ot([b,k,f,d],0,s,n)}var o,r;return n}function Rt(a,e){return J(a,0,a.length,e)}function J(a,e,s,t,n){const o=n||[],r=a[e],h=a[s-1];let i=0,l=1;for(let c=e+1;c<s-1;++c){const d=$t(a[c],r,h);d>i&&(i=d,l=c)}return Math.sqrt(i)>t?(J(a,e,l+1,t,o),J(a,l,s,t,o)):(o.length||o.push(r),o.push(h)),o}function st(a,e=.15,s){const t=[],n=(a.length-1)/3;for(let o=0;o<n;o++)ot(a,3*o,e,t);return s&&s>0?J(t,0,t.length,s):t}const O="none";class K{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,s,t){return{shape:e,sets:s||[],options:t||this.defaultOptions}}line(e,s,t,n,o){const r=this._o(o);return this._d("line",[wt(e,s,t,n,r)],r)}rectangle(e,s,t,n,o){const r=this._o(o),h=[],i=Et(e,s,t,n,r);if(r.fill){const l=[[e,s],[e+t,s],[e+t,s+n],[e,s+n]];r.fillStyle==="solid"?h.push(et([l],r)):h.push(G([l],r))}return r.stroke!==O&&h.push(i),this._d("rectangle",h,r)}ellipse(e,s,t,n,o){const r=this._o(o),h=[],i=xt(t,n,r),l=nt(e,s,r,i);if(r.fill)if(r.fillStyle==="solid"){const c=nt(e,s,r,i).opset;c.type="fillPath",h.push(c)}else h.push(G([l.estimatedPoints],r));return r.stroke!==O&&h.push(l.opset),this._d("ellipse",h,r)}circle(e,s,t,n){const o=this.ellipse(e,s,t,t,n);return o.shape="circle",o}linearPath(e,s){const t=this._o(s);return this._d("linearPath",[Q(e,!1,t)],t)}arc(e,s,t,n,o,r,h=!1,i){const l=this._o(i),c=[],d=pt(e,s,t,n,o,r,h,!0,l);if(h&&l.fill)if(l.fillStyle==="solid"){const p=Object.assign({},l);p.disableMultiStroke=!0;const u=pt(e,s,t,n,o,r,!0,!1,p);u.type="fillPath",c.push(u)}else c.push((function(p,u,f,g,k,b,M){const m=p,P=u;let x=Math.abs(f/2),w=Math.abs(g/2);x+=y(.01*x,M),w+=y(.01*w,M);let L=k,_=b;for(;L<0;)L+=2*Math.PI,_+=2*Math.PI;_-L>2*Math.PI&&(L=0,_=2*Math.PI);const q=(_-L)/M.curveStepCount,D=[];for(let C=L;C<=_;C+=q)D.push([m+x*Math.cos(C),P+w*Math.sin(C)]);return D.push([m+x*Math.cos(_),P+w*Math.sin(_)]),D.push([m,P]),G([D],M)})(e,s,t,n,o,r,l));return l.stroke!==O&&c.push(d),this._d("arc",c,l)}curve(e,s){const t=this._o(s),n=[],o=ut(e,t);if(t.fill&&t.fill!==O)if(t.fillStyle==="solid"){const r=ut(e,Object.assign(Object.assign({},t),{disableMultiStroke:!0,roughness:t.roughness?t.roughness+t.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(r.ops)})}else{const r=[],h=e;if(h.length){const i=typeof h[0][0]=="number"?[h]:h;for(const l of i)l.length<3?r.push(...l):l.length===3?r.push(...st(kt([l[0],l[0],l[1],l[2]]),10,(1+t.roughness)/2)):r.push(...st(kt(l),10,(1+t.roughness)/2))}r.length&&n.push(G([r],t))}return t.stroke!==O&&n.push(o),this._d("curve",n,t)}polygon(e,s){const t=this._o(s),n=[],o=Q(e,!0,t);return t.fill&&(t.fillStyle==="solid"?n.push(et([e],t)):n.push(G([e],t))),t.stroke!==O&&n.push(o),this._d("polygon",n,t)}path(e,s){const t=this._o(s),n=[];if(!e)return this._d("path",n,t);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const o=t.fill&&t.fill!=="transparent"&&t.fill!==O,r=t.stroke!==O,h=!!(t.simplification&&t.simplification<1),i=(function(c,d,p){const u=yt(bt(rt(c))),f=[];let g=[],k=[0,0],b=[];const M=()=>{b.length>=4&&g.push(...st(b,d)),b=[]},m=()=>{M(),g.length&&(f.push(g),g=[])};for(const{key:x,data:w}of u)switch(x){case"M":m(),k=[w[0],w[1]],g.push(k);break;case"L":M(),g.push([w[0],w[1]]);break;case"C":if(!b.length){const L=g.length?g[g.length-1]:k;b.push([L[0],L[1]])}b.push([w[0],w[1]]),b.push([w[2],w[3]]),b.push([w[4],w[5]]);break;case"Z":M(),g.push([k[0],k[1]])}if(m(),!p)return f;const P=[];for(const x of f){const w=Rt(x,p);w.length&&P.push(w)}return P})(e,1,h?4-4*(t.simplification||1):(1+t.roughness)/2),l=ft(e,t);if(o)if(t.fillStyle==="solid")if(i.length===1){const c=ft(e,Object.assign(Object.assign({},t),{disableMultiStroke:!0,roughness:t.roughness?t.roughness+t.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(c.ops)})}else n.push(et(i,t));else n.push(G(i,t));return r&&(h?i.forEach((c=>{n.push(Q(c,!1,t))})):n.push(l)),this._d("path",n,t)}opsToPath(e,s){let t="";for(const n of e.ops){const o=typeof s=="number"&&s>=0?n.data.map((r=>+r.toFixed(s))):n.data;switch(n.op){case"move":t+=`M${o[0]} ${o[1]} `;break;case"bcurveTo":t+=`C${o[0]} ${o[1]}, ${o[2]} ${o[3]}, ${o[4]} ${o[5]} `;break;case"lineTo":t+=`L${o[0]} ${o[1]} `}}return t.trim()}toPaths(e){const s=e.sets||[],t=e.options||this.defaultOptions,n=[];for(const o of s){let r=null;switch(o.type){case"path":r={d:this.opsToPath(o),stroke:t.stroke,strokeWidth:t.strokeWidth,fill:O};break;case"fillPath":r={d:this.opsToPath(o),stroke:O,strokeWidth:0,fill:t.fill||O};break;case"fillSketch":r=this.fillSketch(o,t)}r&&n.push(r)}return n}fillSketch(e,s){let t=s.fillWeight;return t<0&&(t=s.strokeWidth/2),{d:this.opsToPath(e),stroke:s.fill||O,strokeWidth:t,fill:O}}_mergedShape(e){return e.filter(((s,t)=>t===0||s.op!=="move"))}}class jt{constructor(e,s){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new K(s)}draw(e){const s=e.sets||[],t=e.options||this.getDefaultOptions(),n=this.ctx,o=e.options.fixedDecimalPlaceDigits;for(const r of s)switch(r.type){case"path":n.save(),n.strokeStyle=t.stroke==="none"?"transparent":t.stroke,n.lineWidth=t.strokeWidth,t.strokeLineDash&&n.setLineDash(t.strokeLineDash),t.strokeLineDashOffset&&(n.lineDashOffset=t.strokeLineDashOffset),this._drawToContext(n,r,o),n.restore();break;case"fillPath":{n.save(),n.fillStyle=t.fill||"";const h=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(n,r,o,h),n.restore();break}case"fillSketch":this.fillSketch(n,r,t)}}fillSketch(e,s,t){let n=t.fillWeight;n<0&&(n=t.strokeWidth/2),e.save(),t.fillLineDash&&e.setLineDash(t.fillLineDash),t.fillLineDashOffset&&(e.lineDashOffset=t.fillLineDashOffset),e.strokeStyle=t.fill||"",e.lineWidth=n,this._drawToContext(e,s,t.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,s,t,n="nonzero"){e.beginPath();for(const o of s.ops){const r=typeof t=="number"&&t>=0?o.data.map((h=>+h.toFixed(t))):o.data;switch(o.op){case"move":e.moveTo(r[0],r[1]);break;case"bcurveTo":e.bezierCurveTo(r[0],r[1],r[2],r[3],r[4],r[5]);break;case"lineTo":e.lineTo(r[0],r[1])}}s.type==="fillPath"?e.fill(n):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,s,t,n,o){const r=this.gen.line(e,s,t,n,o);return this.draw(r),r}rectangle(e,s,t,n,o){const r=this.gen.rectangle(e,s,t,n,o);return this.draw(r),r}ellipse(e,s,t,n,o){const r=this.gen.ellipse(e,s,t,n,o);return this.draw(r),r}circle(e,s,t,n){const o=this.gen.circle(e,s,t,n);return this.draw(o),o}linearPath(e,s){const t=this.gen.linearPath(e,s);return this.draw(t),t}polygon(e,s){const t=this.gen.polygon(e,s);return this.draw(t),t}arc(e,s,t,n,o,r,h=!1,i){const l=this.gen.arc(e,s,t,n,o,r,h,i);return this.draw(l),l}curve(e,s){const t=this.gen.curve(e,s);return this.draw(t),t}path(e,s){const t=this.gen.path(e,s);return this.draw(t),t}}const Z="http://www.w3.org/2000/svg";class qt{constructor(e,s){this.svg=e,this.gen=new K(s)}draw(e){const s=e.sets||[],t=e.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,o=n.createElementNS(Z,"g"),r=e.options.fixedDecimalPlaceDigits;for(const h of s){let i=null;switch(h.type){case"path":i=n.createElementNS(Z,"path"),i.setAttribute("d",this.opsToPath(h,r)),i.setAttribute("stroke",t.stroke),i.setAttribute("stroke-width",t.strokeWidth+""),i.setAttribute("fill","none"),t.strokeLineDash&&i.setAttribute("stroke-dasharray",t.strokeLineDash.join(" ").trim()),t.strokeLineDashOffset&&i.setAttribute("stroke-dashoffset",`${t.strokeLineDashOffset}`);break;case"fillPath":i=n.createElementNS(Z,"path"),i.setAttribute("d",this.opsToPath(h,r)),i.setAttribute("stroke","none"),i.setAttribute("stroke-width","0"),i.setAttribute("fill",t.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||i.setAttribute("fill-rule","evenodd");break;case"fillSketch":i=this.fillSketch(n,h,t)}i&&o.appendChild(i)}return o}fillSketch(e,s,t){let n=t.fillWeight;n<0&&(n=t.strokeWidth/2);const o=e.createElementNS(Z,"path");return o.setAttribute("d",this.opsToPath(s,t.fixedDecimalPlaceDigits)),o.setAttribute("stroke",t.fill||""),o.setAttribute("stroke-width",n+""),o.setAttribute("fill","none"),t.fillLineDash&&o.setAttribute("stroke-dasharray",t.fillLineDash.join(" ").trim()),t.fillLineDashOffset&&o.setAttribute("stroke-dashoffset",`${t.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,s){return this.gen.opsToPath(e,s)}line(e,s,t,n,o){const r=this.gen.line(e,s,t,n,o);return this.draw(r)}rectangle(e,s,t,n,o){const r=this.gen.rectangle(e,s,t,n,o);return this.draw(r)}ellipse(e,s,t,n,o){const r=this.gen.ellipse(e,s,t,n,o);return this.draw(r)}circle(e,s,t,n){const o=this.gen.circle(e,s,t,n);return this.draw(o)}linearPath(e,s){const t=this.gen.linearPath(e,s);return this.draw(t)}polygon(e,s){const t=this.gen.polygon(e,s);return this.draw(t)}arc(e,s,t,n,o,r,h=!1,i){const l=this.gen.arc(e,s,t,n,o,r,h,i);return this.draw(l)}curve(e,s){const t=this.gen.curve(e,s);return this.draw(t)}path(e,s){const t=this.gen.path(e,s);return this.draw(t)}}var Ft={canvas:(a,e)=>new jt(a,e),svg:(a,e)=>new qt(a,e),generator:a=>new K(a),newSeed:()=>K.newSeed()};exports.default=Ft;
2
+ //# sourceMappingURL=index31.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index31.cjs","sources":["../node_modules/roughjs/bundled/rough.esm.js"],"sourcesContent":["function t(t,e,s){if(t&&t.length){const[n,o]=e,a=Math.PI/180*s,h=Math.cos(a),r=Math.sin(a);for(const e of t){const[t,s]=e;e[0]=(t-n)*h-(s-o)*r+n,e[1]=(t-n)*r+(s-o)*h+o}}}function e(t,e){return t[0]===e[0]&&t[1]===e[1]}function s(s,n,o,a=1){const h=o,r=Math.max(n,.1),i=s[0]&&s[0][0]&&\"number\"==typeof s[0][0]?[s]:s,c=[0,0];if(h)for(const e of i)t(e,c,h);const l=function(t,s,n){const o=[];for(const s of t){const t=[...s];e(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&o.push(t)}const a=[];s=Math.max(s,.1);const h=[];for(const t of o)for(let e=0;e<t.length-1;e++){const s=t[e],n=t[e+1];if(s[1]!==n[1]){const t=Math.min(s[1],n[1]);h.push({ymin:t,ymax:Math.max(s[1],n[1]),x:t===s[1]?s[0]:n[0],islope:(n[0]-s[0])/(n[1]-s[1])})}}if(h.sort(((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!h.length)return a;let r=[],i=h[0].ymin,c=0;for(;r.length||h.length;){if(h.length){let t=-1;for(let e=0;e<h.length&&!(h[e].ymin>i);e++)t=e;h.splice(0,t+1).forEach((t=>{r.push({s:i,edge:t})}))}if(r=r.filter((t=>!(t.edge.ymax<=i))),r.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==n||c%s==0)&&r.length>1)for(let t=0;t<r.length;t+=2){const e=t+1;if(e>=r.length)break;const s=r[t].edge,n=r[e].edge;a.push([[Math.round(s.x),i],[Math.round(n.x),i]])}i+=n,r.forEach((t=>{t.edge.x=t.edge.x+n*t.edge.islope})),c++}return a}(i,r,a);if(h){for(const e of i)t(e,c,-h);!function(e,s,n){const o=[];e.forEach((t=>o.push(...t))),t(o,s,n)}(l,c,-h)}return l}function n(t,e){var n;const o=e.hachureAngle+90;let a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));let h=1;return e.roughness>=1&&((null===(n=e.randomizer)||void 0===n?void 0:n.next())||Math.random())>.7&&(h=a),s(t,a,o,h||1)}class o{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.renderLines(s,e)}}renderLines(t,e){const s=[];for(const n of t)s.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],e));return s}}function a(t){const e=t[0],s=t[1];return Math.sqrt(Math.pow(e[0]-s[0],2)+Math.pow(e[1]-s[1],2))}class h extends o{fillPolygons(t,e){let s=e.hachureGap;s<0&&(s=4*e.strokeWidth),s=Math.max(s,.1);const o=n(t,Object.assign({},e,{hachureGap:s})),h=Math.PI/180*e.hachureAngle,r=[],i=.5*s*Math.cos(h),c=.5*s*Math.sin(h);for(const[t,e]of o)a([t,e])&&r.push([[t[0]-i,t[1]+c],[...e]],[[t[0]+i,t[1]-c],[...e]]);return{type:\"fillSketch\",ops:this.renderLines(r,e)}}}class r extends o{fillPolygons(t,e){const s=this._fillPolygons(t,e),n=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),o=this._fillPolygons(t,n);return s.ops=s.ops.concat(o.ops),s}}class i{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(s,e)}dotsOnLines(t,e){const s=[];let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);let o=e.fillWeight;o<0&&(o=e.strokeWidth/2);const h=n/4;for(const r of t){const t=a(r),i=t/n,c=Math.ceil(i)-1,l=t-c*n,u=(r[0][0]+r[1][0])/2-n/4,p=Math.min(r[0][1],r[1][1]);for(let t=0;t<c;t++){const a=p+l+t*n,r=u-h+2*Math.random()*h,i=a-h+2*Math.random()*h,c=this.helper.ellipse(r,i,o,o,e);s.push(...c.ops)}}return{type:\"fillSketch\",ops:s}}}class c{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.dashedLine(s,e)}}dashedLine(t,e){const s=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,n=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,o=[];return t.forEach((t=>{const h=a(t),r=Math.floor(h/(s+n)),i=(h+n-r*(s+n))/2;let c=t[0],l=t[1];c[0]>l[0]&&(c=t[1],l=t[0]);const u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let t=0;t<r;t++){const a=t*(s+n),h=a+s,r=[c[0]+a*Math.cos(u)+i*Math.cos(u),c[1]+a*Math.sin(u)+i*Math.sin(u)],l=[c[0]+h*Math.cos(u)+i*Math.cos(u),c[1]+h*Math.sin(u)+i*Math.sin(u)];o.push(...this.helper.doubleLineOps(r[0],r[1],l[0],l[1],e))}})),o}}class l{constructor(t){this.helper=t}fillPolygons(t,e){const s=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,o=e.zigzagOffset<0?s:e.zigzagOffset,a=n(t,e=Object.assign({},e,{hachureGap:s+o}));return{type:\"fillSketch\",ops:this.zigzagLines(a,o,e)}}zigzagLines(t,e,s){const n=[];return t.forEach((t=>{const o=a(t),h=Math.round(o/(2*e));let r=t[0],i=t[1];r[0]>i[0]&&(r=t[1],i=t[0]);const c=Math.atan((i[1]-r[1])/(i[0]-r[0]));for(let t=0;t<h;t++){const o=2*t*e,a=2*(t+1)*e,h=Math.sqrt(2*Math.pow(e,2)),i=[r[0]+o*Math.cos(c),r[1]+o*Math.sin(c)],l=[r[0]+a*Math.cos(c),r[1]+a*Math.sin(c)],u=[i[0]+h*Math.cos(c+Math.PI/4),i[1]+h*Math.sin(c+Math.PI/4)];n.push(...this.helper.doubleLineOps(i[0],i[1],u[0],u[1],s),...this.helper.doubleLineOps(u[0],u[1],l[0],l[1],s))}})),n}}const u={};class p{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const f=0,d=1,g=2,M={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function k(t,e){return t.type===e}function b(t){const e=[],s=function(t){const e=new Array;for(;\"\"!==t;)if(t.match(/^([ \\t\\r\\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:f,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:d,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:g,text:\"\"},e}(t);let n=\"BOD\",o=0,a=s[o];for(;!k(a,g);){let h=0;const r=[];if(\"BOD\"===n){if(\"M\"!==a.text&&\"m\"!==a.text)return b(\"M0,0\"+t);o++,h=M[a.text],n=a.text}else k(a,d)?h=M[n]:(o++,h=M[a.text],n=a.text);if(!(o+h<s.length))throw new Error(\"Path data ended short\");for(let t=o;t<o+h;t++){const e=s[t];if(!k(e,d))throw new Error(\"Param not a number: \"+n+\",\"+e.text);r[r.length]=+e.text}if(\"number\"!=typeof M[n])throw new Error(\"Bad segment: \"+n);{const t={key:n,data:r};e.push(t),o+=h,a=s[o],\"M\"===n&&(n=\"L\"),\"m\"===n&&(n=\"l\")}}return e}function y(t){let e=0,s=0,n=0,o=0;const a=[];for(const{key:h,data:r}of t)switch(h){case\"M\":a.push({key:\"M\",data:[...r]}),[e,s]=r,[n,o]=r;break;case\"m\":e+=r[0],s+=r[1],a.push({key:\"M\",data:[e,s]}),n=e,o=s;break;case\"L\":a.push({key:\"L\",data:[...r]}),[e,s]=r;break;case\"l\":e+=r[0],s+=r[1],a.push({key:\"L\",data:[e,s]});break;case\"C\":a.push({key:\"C\",data:[...r]}),e=r[4],s=r[5];break;case\"c\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"C\",data:t}),e=t[4],s=t[5];break}case\"Q\":a.push({key:\"Q\",data:[...r]}),e=r[2],s=r[3];break;case\"q\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"Q\",data:t}),e=t[2],s=t[3];break}case\"A\":a.push({key:\"A\",data:[...r]}),e=r[5],s=r[6];break;case\"a\":e+=r[5],s+=r[6],a.push({key:\"A\",data:[r[0],r[1],r[2],r[3],r[4],e,s]});break;case\"H\":a.push({key:\"H\",data:[...r]}),e=r[0];break;case\"h\":e+=r[0],a.push({key:\"H\",data:[e]});break;case\"V\":a.push({key:\"V\",data:[...r]}),s=r[0];break;case\"v\":s+=r[0],a.push({key:\"V\",data:[s]});break;case\"S\":a.push({key:\"S\",data:[...r]}),e=r[2],s=r[3];break;case\"s\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"S\",data:t}),e=t[2],s=t[3];break}case\"T\":a.push({key:\"T\",data:[...r]}),e=r[0],s=r[1];break;case\"t\":e+=r[0],s+=r[1],a.push({key:\"T\",data:[e,s]});break;case\"Z\":case\"z\":a.push({key:\"Z\",data:[]}),e=n,s=o}return a}function m(t){const e=[];let s=\"\",n=0,o=0,a=0,h=0,r=0,i=0;for(const{key:c,data:l}of t){switch(c){case\"M\":e.push({key:\"M\",data:[...l]}),[n,o]=l,[a,h]=l;break;case\"C\":e.push({key:\"C\",data:[...l]}),n=l[4],o=l[5],r=l[2],i=l[3];break;case\"L\":e.push({key:\"L\",data:[...l]}),[n,o]=l;break;case\"H\":n=l[0],e.push({key:\"L\",data:[n,o]});break;case\"V\":o=l[0],e.push({key:\"L\",data:[n,o]});break;case\"S\":{let t=0,a=0;\"C\"===s||\"S\"===s?(t=n+(n-r),a=o+(o-i)):(t=n,a=o),e.push({key:\"C\",data:[t,a,...l]}),r=l[0],i=l[1],n=l[2],o=l[3];break}case\"T\":{const[t,a]=l;let h=0,c=0;\"Q\"===s||\"T\"===s?(h=n+(n-r),c=o+(o-i)):(h=n,c=o);const u=n+2*(h-n)/3,p=o+2*(c-o)/3,f=t+2*(h-t)/3,d=a+2*(c-a)/3;e.push({key:\"C\",data:[u,p,f,d,t,a]}),r=h,i=c,n=t,o=a;break}case\"Q\":{const[t,s,a,h]=l,c=n+2*(t-n)/3,u=o+2*(s-o)/3,p=a+2*(t-a)/3,f=h+2*(s-h)/3;e.push({key:\"C\",data:[c,u,p,f,a,h]}),r=t,i=s,n=a,o=h;break}case\"A\":{const t=Math.abs(l[0]),s=Math.abs(l[1]),a=l[2],h=l[3],r=l[4],i=l[5],c=l[6];if(0===t||0===s)e.push({key:\"C\",data:[n,o,i,c,i,c]}),n=i,o=c;else if(n!==i||o!==c){x(n,o,i,c,t,s,a,h,r).forEach((function(t){e.push({key:\"C\",data:t})})),n=i,o=c}break}case\"Z\":e.push({key:\"Z\",data:[]}),n=a,o=h}s=c}return e}function w(t,e,s){return[t*Math.cos(s)-e*Math.sin(s),t*Math.sin(s)+e*Math.cos(s)]}function x(t,e,s,n,o,a,h,r,i,c){const l=(u=h,Math.PI*u/180);var u;let p=[],f=0,d=0,g=0,M=0;if(c)[f,d,g,M]=c;else{[t,e]=w(t,e,-l),[s,n]=w(s,n,-l);const h=(t-s)/2,c=(e-n)/2;let u=h*h/(o*o)+c*c/(a*a);u>1&&(u=Math.sqrt(u),o*=u,a*=u);const p=o*o,k=a*a,b=p*k-p*c*c-k*h*h,y=p*c*c+k*h*h,m=(r===i?-1:1)*Math.sqrt(Math.abs(b/y));g=m*o*c/a+(t+s)/2,M=m*-a*h/o+(e+n)/2,f=Math.asin(parseFloat(((e-M)/a).toFixed(9))),d=Math.asin(parseFloat(((n-M)/a).toFixed(9))),t<g&&(f=Math.PI-f),s<g&&(d=Math.PI-d),f<0&&(f=2*Math.PI+f),d<0&&(d=2*Math.PI+d),i&&f>d&&(f-=2*Math.PI),!i&&d>f&&(d-=2*Math.PI)}let k=d-f;if(Math.abs(k)>120*Math.PI/180){const t=d,e=s,r=n;d=i&&d>f?f+120*Math.PI/180*1:f+120*Math.PI/180*-1,p=x(s=g+o*Math.cos(d),n=M+a*Math.sin(d),e,r,o,a,h,0,i,[d,t,g,M])}k=d-f;const b=Math.cos(f),y=Math.sin(f),m=Math.cos(d),P=Math.sin(d),v=Math.tan(k/4),S=4/3*o*v,O=4/3*a*v,L=[t,e],T=[t+S*y,e-O*b],D=[s+S*P,n-O*m],A=[s,n];if(T[0]=2*L[0]-T[0],T[1]=2*L[1]-T[1],c)return[T,D,A].concat(p);{p=[T,D,A].concat(p);const t=[];for(let e=0;e<p.length;e+=3){const s=w(p[e][0],p[e][1],l),n=w(p[e+1][0],p[e+1][1],l),o=w(p[e+2][0],p[e+2][1],l);t.push([s[0],s[1],n[0],n[1],o[0],o[1]])}return t}}const P={randOffset:function(t,e){return G(t,e)},randOffsetWithRange:function(t,e,s){return E(t,e,s)},ellipse:function(t,e,s,n,o){const a=T(s,n,o);return D(t,e,o,a).opset},doubleLineOps:function(t,e,s,n,o){return $(t,e,s,n,o,!0)}};function v(t,e,s,n,o){return{type:\"path\",ops:$(t,e,s,n,o)}}function S(t,e,s){const n=(t||[]).length;if(n>2){const o=[];for(let e=0;e<n-1;e++)o.push(...$(t[e][0],t[e][1],t[e+1][0],t[e+1][1],s));return e&&o.push(...$(t[n-1][0],t[n-1][1],t[0][0],t[0][1],s)),{type:\"path\",ops:o}}return 2===n?v(t[0][0],t[0][1],t[1][0],t[1][1],s):{type:\"path\",ops:[]}}function O(t,e,s,n,o){return function(t,e){return S(t,!0,e)}([[t,e],[t+s,e],[t+s,e+n],[t,e+n]],o)}function L(t,e){if(t.length){const s=\"number\"==typeof t[0][0]?[t]:t,n=j(s[0],1*(1+.2*e.roughness),e),o=e.disableMultiStroke?[]:j(s[0],1.5*(1+.22*e.roughness),z(e));for(let t=1;t<s.length;t++){const a=s[t];if(a.length){const t=j(a,1*(1+.2*e.roughness),e),s=e.disableMultiStroke?[]:j(a,1.5*(1+.22*e.roughness),z(e));for(const e of t)\"move\"!==e.op&&n.push(e);for(const t of s)\"move\"!==t.op&&o.push(t)}}return{type:\"path\",ops:n.concat(o)}}return{type:\"path\",ops:[]}}function T(t,e,s){const n=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),o=Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*n)),a=2*Math.PI/o;let h=Math.abs(t/2),r=Math.abs(e/2);const i=1-s.curveFitting;return h+=G(h*i,s),r+=G(r*i,s),{increment:a,rx:h,ry:r}}function D(t,e,s,n){const[o,a]=F(n.increment,t,e,n.rx,n.ry,1,n.increment*E(.1,E(.4,1,s),s),s);let h=q(o,null,s);if(!s.disableMultiStroke&&0!==s.roughness){const[o]=F(n.increment,t,e,n.rx,n.ry,1.5,0,s),a=q(o,null,s);h=h.concat(a)}return{estimatedPoints:a,opset:{type:\"path\",ops:h}}}function A(t,e,s,n,o,a,h,r,i){const c=t,l=e;let u=Math.abs(s/2),p=Math.abs(n/2);u+=G(.01*u,i),p+=G(.01*p,i);let f=o,d=a;for(;f<0;)f+=2*Math.PI,d+=2*Math.PI;d-f>2*Math.PI&&(f=0,d=2*Math.PI);const g=2*Math.PI/i.curveStepCount,M=Math.min(g/2,(d-f)/2),k=V(M,c,l,u,p,f,d,1,i);if(!i.disableMultiStroke){const t=V(M,c,l,u,p,f,d,1.5,i);k.push(...t)}return h&&(r?k.push(...$(c,l,c+u*Math.cos(f),l+p*Math.sin(f),i),...$(c,l,c+u*Math.cos(d),l+p*Math.sin(d),i)):k.push({op:\"lineTo\",data:[c,l]},{op:\"lineTo\",data:[c+u*Math.cos(f),l+p*Math.sin(f)]})),{type:\"path\",ops:k}}function _(t,e){const s=m(y(b(t))),n=[];let o=[0,0],a=[0,0];for(const{key:t,data:h}of s)switch(t){case\"M\":a=[h[0],h[1]],o=[h[0],h[1]];break;case\"L\":n.push(...$(a[0],a[1],h[0],h[1],e)),a=[h[0],h[1]];break;case\"C\":{const[t,s,o,r,i,c]=h;n.push(...Z(t,s,o,r,i,c,a,e)),a=[i,c];break}case\"Z\":n.push(...$(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]]}return{type:\"path\",ops:n}}function I(t,e){const s=[];for(const n of t)if(n.length){const t=e.maxRandomnessOffset||0,o=n.length;if(o>2){s.push({op:\"move\",data:[n[0][0]+G(t,e),n[0][1]+G(t,e)]});for(let a=1;a<o;a++)s.push({op:\"lineTo\",data:[n[a][0]+G(t,e),n[a][1]+G(t,e)]})}}return{type:\"fillPath\",ops:s}}function C(t,e){return function(t,e){let s=t.fillStyle||\"hachure\";if(!u[s])switch(s){case\"zigzag\":u[s]||(u[s]=new h(e));break;case\"cross-hatch\":u[s]||(u[s]=new r(e));break;case\"dots\":u[s]||(u[s]=new i(e));break;case\"dashed\":u[s]||(u[s]=new c(e));break;case\"zigzag-line\":u[s]||(u[s]=new l(e));break;default:s=\"hachure\",u[s]||(u[s]=new o(e))}return u[s]}(e,P).fillPolygons(t,e)}function z(t){const e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function W(t){return t.randomizer||(t.randomizer=new p(t.seed||0)),t.randomizer.next()}function E(t,e,s,n=1){return s.roughness*n*(W(s)*(e-t)+t)}function G(t,e,s=1){return E(-t,t,e,s)}function $(t,e,s,n,o,a=!1){const h=a?o.disableMultiStrokeFill:o.disableMultiStroke,r=R(t,e,s,n,o,!0,!1);if(h)return r;const i=R(t,e,s,n,o,!0,!0);return r.concat(i)}function R(t,e,s,n,o,a,h){const r=Math.pow(t-s,2)+Math.pow(e-n,2),i=Math.sqrt(r);let c=1;c=i<200?1:i>500?.4:-.0016668*i+1.233334;let l=o.maxRandomnessOffset||0;l*l*100>r&&(l=i/10);const u=l/2,p=.2+.2*W(o);let f=o.bowing*o.maxRandomnessOffset*(n-e)/200,d=o.bowing*o.maxRandomnessOffset*(t-s)/200;f=G(f,o,c),d=G(d,o,c);const g=[],M=()=>G(u,o,c),k=()=>G(l,o,c),b=o.preserveVertices;return a&&(h?g.push({op:\"move\",data:[t+(b?0:M()),e+(b?0:M())]}):g.push({op:\"move\",data:[t+(b?0:G(l,o,c)),e+(b?0:G(l,o,c))]})),h?g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+M(),d+e+(n-e)*p+M(),f+t+2*(s-t)*p+M(),d+e+2*(n-e)*p+M(),s+(b?0:M()),n+(b?0:M())]}):g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+k(),d+e+(n-e)*p+k(),f+t+2*(s-t)*p+k(),d+e+2*(n-e)*p+k(),s+(b?0:k()),n+(b?0:k())]}),g}function j(t,e,s){if(!t.length)return[];const n=[];n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]),n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]);for(let o=1;o<t.length;o++)n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]),o===t.length-1&&n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]);return q(n,null,s)}function q(t,e,s){const n=t.length,o=[];if(n>3){const a=[],h=1-s.curveTightness;o.push({op:\"move\",data:[t[1][0],t[1][1]]});for(let e=1;e+2<n;e++){const s=t[e];a[0]=[s[0],s[1]],a[1]=[s[0]+(h*t[e+1][0]-h*t[e-1][0])/6,s[1]+(h*t[e+1][1]-h*t[e-1][1])/6],a[2]=[t[e+1][0]+(h*t[e][0]-h*t[e+2][0])/6,t[e+1][1]+(h*t[e][1]-h*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],o.push({op:\"bcurveTo\",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){const t=s.maxRandomnessOffset;o.push({op:\"lineTo\",data:[e[0]+G(t,s),e[1]+G(t,s)]})}}else 3===n?(o.push({op:\"move\",data:[t[1][0],t[1][1]]}),o.push({op:\"bcurveTo\",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===n&&o.push(...R(t[0][0],t[0][1],t[1][0],t[1][1],s,!0,!0));return o}function F(t,e,s,n,o,a,h,r){const i=[],c=[];if(0===r.roughness){t/=4,c.push([e+n*Math.cos(-t),s+o*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){const t=[e+n*Math.cos(a),s+o*Math.sin(a)];i.push(t),c.push(t)}c.push([e+n*Math.cos(0),s+o*Math.sin(0)]),c.push([e+n*Math.cos(t),s+o*Math.sin(t)])}else{const l=G(.5,r)-Math.PI/2;c.push([G(a,r)+e+.9*n*Math.cos(l-t),G(a,r)+s+.9*o*Math.sin(l-t)]);const u=2*Math.PI+l-.01;for(let h=l;h<u;h+=t){const t=[G(a,r)+e+n*Math.cos(h),G(a,r)+s+o*Math.sin(h)];i.push(t),c.push(t)}c.push([G(a,r)+e+n*Math.cos(l+2*Math.PI+.5*h),G(a,r)+s+o*Math.sin(l+2*Math.PI+.5*h)]),c.push([G(a,r)+e+.98*n*Math.cos(l+h),G(a,r)+s+.98*o*Math.sin(l+h)]),c.push([G(a,r)+e+.9*n*Math.cos(l+.5*h),G(a,r)+s+.9*o*Math.sin(l+.5*h)])}return[c,i]}function V(t,e,s,n,o,a,h,r,i){const c=a+G(.1,i),l=[];l.push([G(r,i)+e+.9*n*Math.cos(c-t),G(r,i)+s+.9*o*Math.sin(c-t)]);for(let a=c;a<=h;a+=t)l.push([G(r,i)+e+n*Math.cos(a),G(r,i)+s+o*Math.sin(a)]);return l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),q(l,null,i)}function Z(t,e,s,n,o,a,h,r){const i=[],c=[r.maxRandomnessOffset||1,(r.maxRandomnessOffset||1)+.3];let l=[0,0];const u=r.disableMultiStroke?1:2,p=r.preserveVertices;for(let f=0;f<u;f++)0===f?i.push({op:\"move\",data:[h[0],h[1]]}):i.push({op:\"move\",data:[h[0]+(p?0:G(c[0],r)),h[1]+(p?0:G(c[0],r))]}),l=p?[o,a]:[o+G(c[f],r),a+G(c[f],r)],i.push({op:\"bcurveTo\",data:[t+G(c[f],r),e+G(c[f],r),s+G(c[f],r),n+G(c[f],r),l[0],l[1]]});return i}function Q(t){return[...t]}function H(t,e=0){const s=t.length;if(s<3)throw new Error(\"A curve must have at least three points.\");const n=[];if(3===s)n.push(Q(t[0]),Q(t[1]),Q(t[2]),Q(t[2]));else{const s=[];s.push(t[0],t[0]);for(let e=1;e<t.length;e++)s.push(t[e]),e===t.length-1&&s.push(t[e]);const o=[],a=1-e;n.push(Q(s[0]));for(let t=1;t+2<s.length;t++){const e=s[t];o[0]=[e[0],e[1]],o[1]=[e[0]+(a*s[t+1][0]-a*s[t-1][0])/6,e[1]+(a*s[t+1][1]-a*s[t-1][1])/6],o[2]=[s[t+1][0]+(a*s[t][0]-a*s[t+2][0])/6,s[t+1][1]+(a*s[t][1]-a*s[t+2][1])/6],o[3]=[s[t+1][0],s[t+1][1]],n.push(o[1],o[2],o[3])}}return n}function N(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function B(t,e,s){const n=N(e,s);if(0===n)return N(t,e);let o=((t[0]-e[0])*(s[0]-e[0])+(t[1]-e[1])*(s[1]-e[1]))/n;return o=Math.max(0,Math.min(1,o)),N(t,J(e,s,o))}function J(t,e,s){return[t[0]+(e[0]-t[0])*s,t[1]+(e[1]-t[1])*s]}function K(t,e,s,n){const o=n||[];if(function(t,e){const s=t[e+0],n=t[e+1],o=t[e+2],a=t[e+3];let h=3*n[0]-2*s[0]-a[0];h*=h;let r=3*n[1]-2*s[1]-a[1];r*=r;let i=3*o[0]-2*a[0]-s[0];i*=i;let c=3*o[1]-2*a[1]-s[1];return c*=c,h<i&&(h=i),r<c&&(r=c),h+r}(t,e)<s){const s=t[e+0];if(o.length){(a=o[o.length-1],h=s,Math.sqrt(N(a,h)))>1&&o.push(s)}else o.push(s);o.push(t[e+3])}else{const n=.5,a=t[e+0],h=t[e+1],r=t[e+2],i=t[e+3],c=J(a,h,n),l=J(h,r,n),u=J(r,i,n),p=J(c,l,n),f=J(l,u,n),d=J(p,f,n);K([a,c,p,d],0,s,o),K([d,f,u,i],0,s,o)}var a,h;return o}function U(t,e){return X(t,0,t.length,e)}function X(t,e,s,n,o){const a=o||[],h=t[e],r=t[s-1];let i=0,c=1;for(let n=e+1;n<s-1;++n){const e=B(t[n],h,r);e>i&&(i=e,c=n)}return Math.sqrt(i)>n?(X(t,e,c+1,n,a),X(t,c,s,n,a)):(a.length||a.push(h),a.push(r)),a}function Y(t,e=.15,s){const n=[],o=(t.length-1)/3;for(let s=0;s<o;s++){K(t,3*s,e,n)}return s&&s>0?X(n,0,n.length,s):n}const tt=\"none\";class et{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:\"#000\",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:\"hachure\",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,s){return{shape:t,sets:e||[],options:s||this.defaultOptions}}line(t,e,s,n,o){const a=this._o(o);return this._d(\"line\",[v(t,e,s,n,a)],a)}rectangle(t,e,s,n,o){const a=this._o(o),h=[],r=O(t,e,s,n,a);if(a.fill){const o=[[t,e],[t+s,e],[t+s,e+n],[t,e+n]];\"solid\"===a.fillStyle?h.push(I([o],a)):h.push(C([o],a))}return a.stroke!==tt&&h.push(r),this._d(\"rectangle\",h,a)}ellipse(t,e,s,n,o){const a=this._o(o),h=[],r=T(s,n,a),i=D(t,e,a,r);if(a.fill)if(\"solid\"===a.fillStyle){const s=D(t,e,a,r).opset;s.type=\"fillPath\",h.push(s)}else h.push(C([i.estimatedPoints],a));return a.stroke!==tt&&h.push(i.opset),this._d(\"ellipse\",h,a)}circle(t,e,s,n){const o=this.ellipse(t,e,s,s,n);return o.shape=\"circle\",o}linearPath(t,e){const s=this._o(e);return this._d(\"linearPath\",[S(t,!1,s)],s)}arc(t,e,s,n,o,a,h=!1,r){const i=this._o(r),c=[],l=A(t,e,s,n,o,a,h,!0,i);if(h&&i.fill)if(\"solid\"===i.fillStyle){const h=Object.assign({},i);h.disableMultiStroke=!0;const r=A(t,e,s,n,o,a,!0,!1,h);r.type=\"fillPath\",c.push(r)}else c.push(function(t,e,s,n,o,a,h){const r=t,i=e;let c=Math.abs(s/2),l=Math.abs(n/2);c+=G(.01*c,h),l+=G(.01*l,h);let u=o,p=a;for(;u<0;)u+=2*Math.PI,p+=2*Math.PI;p-u>2*Math.PI&&(u=0,p=2*Math.PI);const f=(p-u)/h.curveStepCount,d=[];for(let t=u;t<=p;t+=f)d.push([r+c*Math.cos(t),i+l*Math.sin(t)]);return d.push([r+c*Math.cos(p),i+l*Math.sin(p)]),d.push([r,i]),C([d],h)}(t,e,s,n,o,a,i));return i.stroke!==tt&&c.push(l),this._d(\"arc\",c,i)}curve(t,e){const s=this._o(e),n=[],o=L(t,s);if(s.fill&&s.fill!==tt)if(\"solid\"===s.fillStyle){const e=L(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else{const e=[],o=t;if(o.length){const t=\"number\"==typeof o[0][0]?[o]:o;for(const n of t)n.length<3?e.push(...n):3===n.length?e.push(...Y(H([n[0],n[0],n[1],n[2]]),10,(1+s.roughness)/2)):e.push(...Y(H(n),10,(1+s.roughness)/2))}e.length&&n.push(C([e],s))}return s.stroke!==tt&&n.push(o),this._d(\"curve\",n,s)}polygon(t,e){const s=this._o(e),n=[],o=S(t,!0,s);return s.fill&&(\"solid\"===s.fillStyle?n.push(I([t],s)):n.push(C([t],s))),s.stroke!==tt&&n.push(o),this._d(\"polygon\",n,s)}path(t,e){const s=this._o(e),n=[];if(!t)return this._d(\"path\",n,s);t=(t||\"\").replace(/\\n/g,\" \").replace(/(-\\s)/g,\"-\").replace(\"/(ss)/g\",\" \");const o=s.fill&&\"transparent\"!==s.fill&&s.fill!==tt,a=s.stroke!==tt,h=!!(s.simplification&&s.simplification<1),r=function(t,e,s){const n=m(y(b(t))),o=[];let a=[],h=[0,0],r=[];const i=()=>{r.length>=4&&a.push(...Y(r,e)),r=[]},c=()=>{i(),a.length&&(o.push(a),a=[])};for(const{key:t,data:e}of n)switch(t){case\"M\":c(),h=[e[0],e[1]],a.push(h);break;case\"L\":i(),a.push([e[0],e[1]]);break;case\"C\":if(!r.length){const t=a.length?a[a.length-1]:h;r.push([t[0],t[1]])}r.push([e[0],e[1]]),r.push([e[2],e[3]]),r.push([e[4],e[5]]);break;case\"Z\":i(),a.push([h[0],h[1]])}if(c(),!s)return o;const l=[];for(const t of o){const e=U(t,s);e.length&&l.push(e)}return l}(t,1,h?4-4*(s.simplification||1):(1+s.roughness)/2),i=_(t,s);if(o)if(\"solid\"===s.fillStyle)if(1===r.length){const e=_(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else n.push(I(r,s));else n.push(C(r,s));return a&&(h?r.forEach((t=>{n.push(S(t,!1,s))})):n.push(i)),this._d(\"path\",n,s)}opsToPath(t,e){let s=\"\";for(const n of t.ops){const t=\"number\"==typeof e&&e>=0?n.data.map((t=>+t.toFixed(e))):n.data;switch(n.op){case\"move\":s+=`M${t[0]} ${t[1]} `;break;case\"bcurveTo\":s+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case\"lineTo\":s+=`L${t[0]} ${t[1]} `}}return s.trim()}toPaths(t){const e=t.sets||[],s=t.options||this.defaultOptions,n=[];for(const t of e){let e=null;switch(t.type){case\"path\":e={d:this.opsToPath(t),stroke:s.stroke,strokeWidth:s.strokeWidth,fill:tt};break;case\"fillPath\":e={d:this.opsToPath(t),stroke:tt,strokeWidth:0,fill:s.fill||tt};break;case\"fillSketch\":e=this.fillSketch(t,s)}e&&n.push(e)}return n}fillSketch(t,e){let s=e.fillWeight;return s<0&&(s=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||tt,strokeWidth:s,fill:tt}}_mergedShape(t){return t.filter(((t,e)=>0===e||\"move\"!==t.op))}}class st{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext(\"2d\"),this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(const a of e)switch(a.type){case\"path\":n.save(),n.strokeStyle=\"none\"===s.stroke?\"transparent\":s.stroke,n.lineWidth=s.strokeWidth,s.strokeLineDash&&n.setLineDash(s.strokeLineDash),s.strokeLineDashOffset&&(n.lineDashOffset=s.strokeLineDashOffset),this._drawToContext(n,a,o),n.restore();break;case\"fillPath\":{n.save(),n.fillStyle=s.fill||\"\";const e=\"curve\"===t.shape||\"polygon\"===t.shape||\"path\"===t.shape?\"evenodd\":\"nonzero\";this._drawToContext(n,a,o,e),n.restore();break}case\"fillSketch\":this.fillSketch(n,a,s)}}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2),t.save(),s.fillLineDash&&t.setLineDash(s.fillLineDash),s.fillLineDashOffset&&(t.lineDashOffset=s.fillLineDashOffset),t.strokeStyle=s.fill||\"\",t.lineWidth=n,this._drawToContext(t,e,s.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,s,n=\"nonzero\"){t.beginPath();for(const n of e.ops){const e=\"number\"==typeof s&&s>=0?n.data.map((t=>+t.toFixed(s))):n.data;switch(n.op){case\"move\":t.moveTo(e[0],e[1]);break;case\"bcurveTo\":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case\"lineTo\":t.lineTo(e[0],e[1])}}\"fillPath\"===e.type?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a),a}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a),a}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a),a}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o),o}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s),s}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s),s}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i),i}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s),s}path(t,e){const s=this.gen.path(t,e);return this.draw(s),s}}const nt=\"http://www.w3.org/2000/svg\";class ot{constructor(t,e){this.svg=t,this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,o=n.createElementNS(nt,\"g\"),a=t.options.fixedDecimalPlaceDigits;for(const h of e){let e=null;switch(h.type){case\"path\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",s.stroke),e.setAttribute(\"stroke-width\",s.strokeWidth+\"\"),e.setAttribute(\"fill\",\"none\"),s.strokeLineDash&&e.setAttribute(\"stroke-dasharray\",s.strokeLineDash.join(\" \").trim()),s.strokeLineDashOffset&&e.setAttribute(\"stroke-dashoffset\",`${s.strokeLineDashOffset}`);break;case\"fillPath\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",\"none\"),e.setAttribute(\"stroke-width\",\"0\"),e.setAttribute(\"fill\",s.fill||\"\"),\"curve\"!==t.shape&&\"polygon\"!==t.shape||e.setAttribute(\"fill-rule\",\"evenodd\");break;case\"fillSketch\":e=this.fillSketch(n,h,s)}e&&o.appendChild(e)}return o}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2);const o=t.createElementNS(nt,\"path\");return o.setAttribute(\"d\",this.opsToPath(e,s.fixedDecimalPlaceDigits)),o.setAttribute(\"stroke\",s.fill||\"\"),o.setAttribute(\"stroke-width\",n+\"\"),o.setAttribute(\"fill\",\"none\"),s.fillLineDash&&o.setAttribute(\"stroke-dasharray\",s.fillLineDash.join(\" \").trim()),s.fillLineDashOffset&&o.setAttribute(\"stroke-dashoffset\",`${s.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a)}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a)}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a)}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o)}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s)}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s)}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i)}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s)}path(t,e){const s=this.gen.path(t,e);return this.draw(s)}}var at={canvas:(t,e)=>new st(t,e),svg:(t,e)=>new ot(t,e),generator:t=>new et(t),newSeed:()=>et.newSeed()};export{at as default};\n"],"names":["t","n","o","a","h","r","e","s","i","c","l","u","p","f","d","g","M","k","b","y","m","x","w","P","v","S","O","L","T","D","A","G","E","$","j","z","F","q","V","_","Z","I","C","W","R","Q","H","N","B","J","K","U","X","Y","tt","et","st","nt","ot","at"],"mappings":"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","x_google_ignoreList":[0]}