archgine 1.0.8 → 1.0.9

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.
@@ -3999,7 +3999,7 @@ Ss.__DOMHandler = mi;
3999
3999
  Ss.normalizeLineEndings = Hc;
4000
4000
  Ss.DOMParser = Vc;
4001
4001
  var Fy = Ss.DOMParser;
4002
- const Uy = "1.0.8";
4002
+ const Uy = "1.0.9";
4003
4003
  function qy() {
4004
4004
  return typeof window < "u" && ({}.toString.call(window) === "[object Window]" || {}.toString.call(window) === "[object global]");
4005
4005
  }
package/lib/index.mjs CHANGED
@@ -3995,7 +3995,7 @@ ja.__DOMHandler = Fs;
3995
3995
  ja.normalizeLineEndings = cp;
3996
3996
  ja.DOMParser = fp;
3997
3997
  var fv = ja.DOMParser;
3998
- const pv = "1.0.8";
3998
+ const pv = "1.0.9";
3999
3999
  function dv() {
4000
4000
  return typeof window < "u" && ({}.toString.call(window) === "[object Window]" || {}.toString.call(window) === "[object global]");
4001
4001
  }
@@ -15458,7 +15458,7 @@ class sb extends dr {
15458
15458
  "pinchmove",
15459
15459
  "pinchend"
15460
15460
  /* PINCH_END */
15461
- ].join(" "), this.pinchHandler), this.hammer.on("singletap", this.tapHandler), this.hammer.on("press", this.pressHandler), this.hammer.on("swipe", this.swipeHandler), this.hammer.on("hammer.input", this.hammerInputHandler), this.dom.addEventListener("contextmenu", this.contextMenuHandler), this.dom.addEventListener("mousewheel", this.wheelHandler, { passive: !1 }), this.dom.addEventListener("mousemove", this.pointerOverHandler), this.isSvg || (this.dom.addEventListener("pointerdown", this.pointerDownHandler), this.dom.addEventListener("pointerleave", this.pointerLeaveHandler));
15461
+ ].join(" "), this.pinchHandler), this.hammer.on("singletap", this.tapHandler), this.hammer.on("press", this.pressHandler), this.hammer.on("swipe", this.swipeHandler), this.hammer.on("hammer.input", this.hammerInputHandler), this.dom.addEventListener("contextmenu", this.contextMenuHandler), this.dom.addEventListener("wheel", this.wheelHandler, { passive: !1 }), this.dom.addEventListener("mousemove", this.pointerOverHandler), this.isSvg || (this.dom.addEventListener("pointerdown", this.pointerDownHandler), this.dom.addEventListener("pointerleave", this.pointerLeaveHandler));
15462
15462
  }
15463
15463
  unbindEvents() {
15464
15464
  var t, e, r, a, u, l, c, f;
@@ -15472,7 +15472,7 @@ class sb extends dr {
15472
15472
  "pinchmove",
15473
15473
  "pinchend"
15474
15474
  /* PINCH_END */
15475
- ].join(" "), this.pinchHandler), (r = this.hammer) == null || r.off("singletap", this.tapHandler), (a = this.hammer) == null || a.off("press", this.pressHandler), (u = this.hammer) == null || u.off("swipe", this.swipeHandler), (l = this.hammer) == null || l.off("hammer.input", this.hammerInputHandler), this.dom.removeEventListener("contextmenu", this.contextMenuHandler), this.dom.removeEventListener("mousewheel", this.wheelHandler), this.dom.removeEventListener("mousemove", this.pointerOverHandler), this.isSvg || (this.dom.removeEventListener("pointerdown", this.pointerDownHandler), this.dom.removeEventListener("pointerleave", this.pointerLeaveHandler)), (c = this.hammer) == null || c.stop(!0), (f = this.hammer) == null || f.destroy();
15475
+ ].join(" "), this.pinchHandler), (r = this.hammer) == null || r.off("singletap", this.tapHandler), (a = this.hammer) == null || a.off("press", this.pressHandler), (u = this.hammer) == null || u.off("swipe", this.swipeHandler), (l = this.hammer) == null || l.off("hammer.input", this.hammerInputHandler), this.dom.removeEventListener("contextmenu", this.contextMenuHandler), this.dom.removeEventListener("wheel", this.wheelHandler), this.dom.removeEventListener("mousemove", this.pointerOverHandler), this.isSvg || (this.dom.removeEventListener("pointerdown", this.pointerDownHandler), this.dom.removeEventListener("pointerleave", this.pointerLeaveHandler)), (c = this.hammer) == null || c.stop(!0), (f = this.hammer) == null || f.destroy();
15476
15476
  }
15477
15477
  // events: common logic
15478
15478
  setFocus(t, e) {
package/lib/index.umd.js CHANGED
@@ -2,7 +2,7 @@
2
2
  `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),n.entityMap=n.HTML_ENTITIES})(sh);var vu={},Wn=bi.NAMESPACE,xu=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,ah=new RegExp("[\\-\\.0-9"+xu.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),uh=new RegExp("^"+xu.source+ah.source+"*(?::"+xu.source+ah.source+"*)?$"),zn=0,Zi=1,Kr=2,Vn=3,Qr=4,Jr=5,$n=6,Ys=7;function jr(n,t){this.message=n,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,jr)}jr.prototype=new Error,jr.prototype.name=jr.name;function oh(){}oh.prototype={parse:function(n,t,e){var r=this.domBuilder;r.startDocument(),ch(t,t={}),ad(n,t,e,r,this.errorHandler),r.endDocument()}};function ad(n,t,e,r,a){function u(B){if(B>65535){B-=65536;var Pt=55296+(B>>10),Pe=56320+(B&1023);return String.fromCharCode(Pt,Pe)}else return String.fromCharCode(B)}function l(B){var Pt=B.slice(1,-1);return Object.hasOwnProperty.call(e,Pt)?e[Pt]:Pt.charAt(0)==="#"?u(parseInt(Pt.substr(1).replace("x","0x"))):(a.error("entity not found:"+B),B)}function c(B){if(B>S){var Pt=n.substring(S,B).replace(/&#?\w+;/g,l);A&&f(S),r.characters(Pt,0,B-S),S=B}}function f(B,Pt){for(;B>=x&&(Pt=E.exec(n));)g=Pt.index,x=g+Pt[0].length,A.lineNumber++;A.columnNumber=B-g+1}for(var g=0,x=0,E=/.*(?:\r\n?|\n)|.*$/g,A=r.locator,T=[{currentNSMap:t}],I={},S=0;;){try{var D=n.indexOf("<",S);if(D<0){if(!n.substr(S).match(/^\s*$/)){var q=r.doc,V=q.createTextNode(n.substr(S));q.appendChild(V),r.currentElement=V}return}switch(D>S&&c(D),n.charAt(D+1)){case"/":var nt=n.indexOf(">",D+3),W=n.substring(D+2,nt).replace(/[ \t\n\r]+$/g,""),X=T.pop();nt<0?(W=n.substring(D+2).replace(/[\s<].*/,""),a.error("end tag name: "+W+" is not complete:"+X.tagName),nt=D+1+W.length):W.match(/\s</)&&(W=W.replace(/[\s<].*/,""),a.error("end tag name: "+W+" maybe not complete"),nt=D+1+W.length);var $=X.localNSMap,K=X.tagName==W,tt=K||X.tagName&&X.tagName.toLowerCase()==W.toLowerCase();if(tt){if(r.endElement(X.uri,X.localName,W),$)for(var Z in $)Object.prototype.hasOwnProperty.call($,Z)&&r.endPrefixMapping(Z);K||a.fatalError("end tag name: "+W+" is not match the current start tagName:"+X.tagName)}else T.push(X);nt++;break;case"?":A&&f(D),nt=cd(n,D,r);break;case"!":A&&f(D),nt=hd(n,D,r,a);break;default:A&&f(D);var z=new fh,J=T[T.length-1].currentNSMap,nt=ud(n,D,z,J,l,a),mt=z.length;if(!z.closed&&ld(n,nt,z.tagName,I)&&(z.closed=!0,e.nbsp||a.warning("unclosed xml attribute")),A&&mt){for(var It=lh(A,{}),Ct=0;Ct<mt;Ct++){var yt=z[Ct];f(yt.offset),yt.locator=lh(A,{})}r.locator=It,hh(z,r,J)&&T.push(z),r.locator=A}else hh(z,r,J)&&T.push(z);Wn.isHTML(z.uri)&&!z.closed?nt=od(n,nt,z.tagName,l,r):nt++}}catch(B){if(B instanceof jr)throw B;a.error("element parse error: "+B),nt=-1}nt>S?S=nt:c(Math.max(D,S)+1)}}function lh(n,t){return t.lineNumber=n.lineNumber,t.columnNumber=n.columnNumber,t}function ud(n,t,e,r,a,u){function l(A,T,I){e.attributeNames.hasOwnProperty(A)&&u.fatalError("Attribute "+A+" redefined"),e.addValue(A,T.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,a),I)}for(var c,f,g=++t,x=zn;;){var E=n.charAt(g);switch(E){case"=":if(x===Zi)c=n.slice(t,g),x=Vn;else if(x===Kr)x=Vn;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(x===Vn||x===Zi)if(x===Zi&&(u.warning('attribute value must after "="'),c=n.slice(t,g)),t=g+1,g=n.indexOf(E,t),g>0)f=n.slice(t,g),l(c,f,t-1),x=Jr;else throw new Error("attribute value no end '"+E+"' match");else if(x==Qr)f=n.slice(t,g),l(c,f,t),u.warning('attribute "'+c+'" missed start quot('+E+")!!"),t=g+1,x=Jr;else throw new Error('attribute value must after "="');break;case"/":switch(x){case zn:e.setTagName(n.slice(t,g));case Jr:case $n:case Ys:x=Ys,e.closed=!0;case Qr:case Zi:break;case Kr:e.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return u.error("unexpected end of input"),x==zn&&e.setTagName(n.slice(t,g)),g;case">":switch(x){case zn:e.setTagName(n.slice(t,g));case Jr:case $n:case Ys:break;case Qr:case Zi:f=n.slice(t,g),f.slice(-1)==="/"&&(e.closed=!0,f=f.slice(0,-1));case Kr:x===Kr&&(f=c),x==Qr?(u.warning('attribute "'+f+'" missed quot(")!'),l(c,f,t)):((!Wn.isHTML(r[""])||!f.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+f+'" missed value!! "'+f+'" instead!!'),l(f,f,t));break;case Vn:throw new Error("attribute value missed!!")}return g;case"€":E=" ";default:if(E<=" ")switch(x){case zn:e.setTagName(n.slice(t,g)),x=$n;break;case Zi:c=n.slice(t,g),x=Kr;break;case Qr:var f=n.slice(t,g);u.warning('attribute "'+f+'" missed quot(")!!'),l(c,f,t);case Jr:x=$n;break}else switch(x){case Kr:e.tagName,(!Wn.isHTML(r[""])||!c.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+c+'" missed value!! "'+c+'" instead2!!'),l(c,c,t),t=g,x=Zi;break;case Jr:u.warning('attribute space is required"'+c+'"!!');case $n:x=Zi,t=g;break;case Vn:x=Qr,t=g;break;case Ys:throw new Error("elements closed character '/' and '>' must be connected to")}}g++}}function hh(n,t,e){for(var r=n.tagName,a=null,E=n.length;E--;){var u=n[E],l=u.qName,c=u.value,A=l.indexOf(":");if(A>0)var f=u.prefix=l.slice(0,A),g=l.slice(A+1),x=f==="xmlns"&&g;else g=l,f=null,x=l==="xmlns"&&"";u.localName=g,x!==!1&&(a==null&&(a={},ch(e,e={})),e[x]=a[x]=c,u.uri=Wn.XMLNS,t.startPrefixMapping(x,c))}for(var E=n.length;E--;){u=n[E];var f=u.prefix;f&&(f==="xml"&&(u.uri=Wn.XML),f!=="xmlns"&&(u.uri=e[f||""]))}var A=r.indexOf(":");A>0?(f=n.prefix=r.slice(0,A),g=n.localName=r.slice(A+1)):(f=null,g=n.localName=r);var T=n.uri=e[f||""];if(t.startElement(T,g,r,n),n.closed){if(t.endElement(T,g,r),a)for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&t.endPrefixMapping(f)}else return n.currentNSMap=e,n.localNSMap=a,!0}function od(n,t,e,r,a){if(/^(?:script|textarea)$/i.test(e)){var u=n.indexOf("</"+e+">",t),l=n.substring(t+1,u);if(/[&<]/.test(l))return/^script$/i.test(e)?(a.characters(l,0,l.length),u):(l=l.replace(/&#?\w+;/g,r),a.characters(l,0,l.length),u)}return t+1}function ld(n,t,e,r){var a=r[e];return a==null&&(a=n.lastIndexOf("</"+e+">"),a<t&&(a=n.lastIndexOf("</"+e)),r[e]=a),a<t}function ch(n,t){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}function hd(n,t,e,r){var a=n.charAt(t+2);switch(a){case"-":if(n.charAt(t+3)==="-"){var u=n.indexOf("-->",t+4);return u>t?(e.comment(n,t+4,u-t-4),u+3):(r.error("Unclosed comment"),-1)}else return-1;default:if(n.substr(t+3,6)=="CDATA["){var u=n.indexOf("]]>",t+9);return e.startCDATA(),e.characters(n,t+9,u-t-9),e.endCDATA(),u+3}var l=fd(n,t),c=l.length;if(c>1&&/!doctype/i.test(l[0][0])){var f=l[1][0],g=!1,x=!1;c>3&&(/^public$/i.test(l[2][0])?(g=l[3][0],x=c>4&&l[4][0]):/^system$/i.test(l[2][0])&&(x=l[3][0]));var E=l[c-1];return e.startDTD(f,g,x),e.endDTD(),E.index+E[0].length}}return-1}function cd(n,t,e){var r=n.indexOf("?>",t);if(r){var a=n.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return a?(a[0].length,e.processingInstruction(a[1],a[2]),r+2):-1}return-1}function fh(){this.attributeNames={}}fh.prototype={setTagName:function(n){if(!uh.test(n))throw new Error("invalid tagName:"+n);this.tagName=n},addValue:function(n,t,e){if(!uh.test(n))throw new Error("invalid attribute:"+n);this.attributeNames[n]=this.length,this[this.length++]={qName:n,value:t,offset:e}},length:0,getLocalName:function(n){return this[n].localName},getLocator:function(n){return this[n].locator},getQName:function(n){return this[n].qName},getURI:function(n){return this[n].uri},getValue:function(n){return this[n].value}};function fd(n,t){var e,r=[],a=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(a.lastIndex=t,a.exec(n);e=a.exec(n);)if(r.push(e),e[1])return r}vu.XMLReader=oh,vu.ParseError=jr;var pd=bi,dd=Yi,ph=sh,dh=vu,gd=dd.DOMImplementation,gh=pd.NAMESPACE,md=dh.ParseError,yd=dh.XMLReader;function mh(n){return n.replace(/\r[\n\u0085]/g,`
3
3
  `).replace(/[\r\u0085\u2028]/g,`
4
4
  `)}function yh(n){this.options=n||{locator:{}}}yh.prototype.parseFromString=function(n,t){var e=this.options,r=new yd,a=e.domBuilder||new Gn,u=e.errorHandler,l=e.locator,c=e.xmlns||{},f=/\/x?html?$/.test(t),g=f?ph.HTML_ENTITIES:ph.XML_ENTITIES;l&&a.setDocumentLocator(l),r.errorHandler=vd(u,a,l),r.domBuilder=e.domBuilder||a,f&&(c[""]=gh.HTML),c.xml=c.xml||gh.XML;var x=e.normalizeLineEndings||mh;return n&&typeof n=="string"?r.parse(x(n),c,g):r.errorHandler.error("invalid doc source"),a.doc};function vd(n,t,e){if(!n){if(t instanceof Gn)return t;n=t}var r={},a=n instanceof Function;e=e||{};function u(l){var c=n[l];!c&&a&&(c=n.length==2?function(f){n(l,f)}:n),r[l]=c&&function(f){c("[xmldom "+l+"] "+f+Eu(e))}||function(){}}return u("warning"),u("error"),u("fatalError"),r}function Gn(){this.cdata=!1}function tn(n,t){t.lineNumber=n.lineNumber,t.columnNumber=n.columnNumber}Gn.prototype={startDocument:function(){this.doc=new gd().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(n,t,e,r){var a=this.doc,u=a.createElementNS(n,e||t),l=r.length;Zs(this,u),this.currentElement=u,this.locator&&tn(this.locator,u);for(var c=0;c<l;c++){var n=r.getURI(c),f=r.getValue(c),e=r.getQName(c),g=a.createAttributeNS(n,e);this.locator&&tn(r.getLocator(c),g),g.value=g.nodeValue=f,u.setAttributeNode(g)}},endElement:function(n,t,e){var r=this.currentElement;r.tagName,this.currentElement=r.parentNode},startPrefixMapping:function(n,t){},endPrefixMapping:function(n){},processingInstruction:function(n,t){var e=this.doc.createProcessingInstruction(n,t);this.locator&&tn(this.locator,e),Zs(this,e)},ignorableWhitespace:function(n,t,e){},characters:function(n,t,e){if(n=vh.apply(this,arguments),n){if(this.cdata)var r=this.doc.createCDATASection(n);else var r=this.doc.createTextNode(n);this.currentElement?this.currentElement.appendChild(r):/^\s*$/.test(n)&&this.doc.appendChild(r),this.locator&&tn(this.locator,r)}},skippedEntity:function(n){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(n){(this.locator=n)&&(n.lineNumber=0)},comment:function(n,t,e){n=vh.apply(this,arguments);var r=this.doc.createComment(n);this.locator&&tn(this.locator,r),Zs(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(n,t,e){var r=this.doc.implementation;if(r&&r.createDocumentType){var a=r.createDocumentType(n,t,e);this.locator&&tn(this.locator,a),Zs(this,a),this.doc.doctype=a}},warning:function(n){console.warn("[xmldom warning] "+n,Eu(this.locator))},error:function(n){console.error("[xmldom error] "+n,Eu(this.locator))},fatalError:function(n){throw new md(n,this.locator)}};function Eu(n){if(n)return`
5
- @`+(n.systemId||"")+"#[line:"+n.lineNumber+",col:"+n.columnNumber+"]"}function vh(n,t,e){return typeof n=="string"?n.substr(t,e):n.length>=t+e||t?new java.lang.String(n,t,e)+"":n}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(n){Gn.prototype[n]=function(){return null}});function Zs(n,t){n.currentElement?n.currentElement.appendChild(t):n.doc.appendChild(t)}Xs.__DOMHandler=Gn,Xs.normalizeLineEndings=mh,Xs.DOMParser=yh;var xd=Xs.DOMParser;const Ed="1.0.8";function Ad(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const en=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};en.Path2D||Hp(en),en.DOMParser||(en.DOMParser=xd);const gt={window:en,version:Ed,isBrowser:Ad(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:en.document,time:0,deltaTime:0,config:$r},Xn=(n,t,e)=>Math.max(t,Math.min(e,n)),Ki=(n,t=1e-6)=>Math.abs(n)<t?0:n<0?-1:1,Ks=n=>n*(Math.PI/180),bd=(n,t)=>(n%t+t)%t,Au=(n,t,e)=>(1-e)*n+e*t,wd=n=>{let t=n*(180/Math.PI);return t<0&&(t+=360),t>360&&(t-=360),t},be={transparent:"rgba(1, 1, 1, 0)",green:"#45b787",darkGreen:"#314a43",blue:"#6e9bc5",darkBlue:"#2775b6",red:"#F26666",darkRed:"#D95970",brown:"#ECD2B9",darkBrown:"#BF9D8A",yellow:"#ECDEC0",darkYellow:"#D0AC57",lightGray:"#e0e0e0",gray:"#beb6b6",darkGray:"#918883",white:"#F2F2F2",darkWhite:"#ececec",lightBlack:"#2E3032",black:"#182327",blackAlpha5:"rgba(0, 0, 0, 0.5)"},Td={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ye={h:0,s:0,l:0},Qs={h:0,s:0,l:0};function bu(n,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?n+(t-n)*6*e:e<1/2?t:e<2/3?n+(t-n)*6*(2/3-e):n}const _d=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$|rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)|rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)/;class we{isColor=!0;r=1;g=1;b=1;a=1;constructor(t,e,r,a){return e===void 0&&r===void 0?this.set(t):this.setRGBA(t,e,r,a)}static isColor(t){return typeof t=="string"?_d.test(t):typeof t=="number"?t>=0&&t<=16777215:!1}static getRandomStyle(){return Qi.random().getStyle()}static getDarken(t,e=.8){return Qi.set(t).getHSL(Js),Qi.setHSL(Js.h,Js.s,Js.l*e).getStyle()}static getLighten(t,e=1.2){return this.getDarken(t,e)}static getContrast(t){return Qi.set(t),Qi.getContrastString()}static getArray(t){return Qi.set(t).toArray()}static getComplementary(t){return Qi.set(t),Qi.getComplementaryString()}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}random(){return this.setHex(Math.floor(Math.random()*(1<<24)))}setScalar(t){return this.r=t,this.g=t,this.b=t,this.a=1,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this.a=1,this}setR(t){return this.r=t,this}setG(t){return this.g=t,this}setB(t){return this.b=t,this}setA(t){return this.a=t,this}setRGB(t,e,r){return this.setRGBA(t,e,r,this.a)}setRGBA(t,e,r,a=1){return this.r=t,this.g=e,this.b=r,this.a=a,this}setHSL(t,e,r,a=1){if(t=bd(t,1),e=Xn(e,0,1),r=Xn(r,0,1),e===0)this.r=this.g=this.b=r;else{const u=r<=.5?r*(1+e):r+e-r*e,l=2*r-u;this.r=bu(l,u,t+1/3),this.g=bu(l,u,t),this.b=bu(l,u,t-1/3)}return this.a=a,this}setStyle(t){let e;if(e=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let r;const a=e[1],u=e[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u)){const l=parseFloat(r[1])/360,c=parseInt(r[2],10)/100,f=parseInt(r[3],10)/100,g=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0);return this.setHSL(l,c,f,g)}break}}else if(e=/^\#([A-Fa-f\d]+)$/.exec(t)){const r=e[1],a=r.length;if(a===3)return this.r=parseInt(r.charAt(0)+r.charAt(0),16)/255,this.g=parseInt(r.charAt(1)+r.charAt(1),16)/255,this.b=parseInt(r.charAt(2)+r.charAt(2),16)/255,this.a=1,this;if(a===6)return this.r=parseInt(r.charAt(0)+r.charAt(1),16)/255,this.g=parseInt(r.charAt(2)+r.charAt(3),16)/255,this.b=parseInt(r.charAt(4)+r.charAt(5),16)/255,this.a=1,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Td[t.toLowerCase()];return e!==void 0?this.setHex(e):console.warn("Color: Unknown color "+t),this}clone(){return new we(this.r,this.g,this.b,this.a)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}getRGB(t=new we){return t.setRGB(this.r,this.g,this.b)}getRGBByBg(t=new we){const e=this.a,r=e*this.r+(1-e)*t.r,a=e*this.g+(1-e)*t.g,u=e*this.b+(1-e)*t.b;return new we(r,a,u)}getHex(){return Xn(this.r*255,0,255)<<16^Xn(this.g*255,0,255)<<8^Xn(this.b*255,0,255)<<0}getHSL(t){const e=this.r,r=this.g,a=this.b,u=Math.max(e,r,a),l=Math.min(e,r,a);let c=0,f;const g=(l+u)/2;if(l===u)c=0,f=0;else{const x=u-l;switch(f=g<=.5?x/(u+l):x/(2-u-l),u){case e:c=(r-a)/x+(r<a?6:0);break;case r:c=(a-e)/x+2;break;case a:c=(e-r)/x+4;break}c/=6}return t.h=c,t.s=f,t.l=g,t}getStyle(){return this.a===1?`rgb(${this.r*255|0},${this.g*255|0},${this.b*255|0})`:`rgba(${this.r*255|0},${this.g*255|0},${this.b*255|0},${this.a||1})`}getHexString(){return"#"+("000000"+this.getHex().toString(16)).slice(-6)}getBrightness(){let t=(this.r*255*299+this.g*255*587+this.b*255*144)/1e3;return t+=(255-t)*(255-this.a*255)/255,t}getContrastString(){return this.getBrightness()>125?"#2f2f2f":"#f2f2f2"}getComplementary(t=new we){const e=this.toArray(),r=[0,0,0,1];for(let a=0;a<e.length;a++)if(a<3)r[a]=1-e[a];else if(a===3)e[a]>1||e[a]<=0?r[a]=1:r[a]=Math.max(Math.min(parseFloat(e[a].toFixed(2)),1),0);else continue;return t.setRGBA(r[0],r[1],r[2],parseFloat(r[3].toFixed(2)))}getComplementaryString(){return this.getComplementary().getStyle()}getLightenOrDarken(t){if(typeof t>"u"||t>=1)return this.getHexString();const e=this.getRGBByBg(),r=e.r*t+(1-t),a=e.g*t+(1-t),u=e.b*t+(1-t);return new we(r,a,u).getHexString()}getNormalized(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.a,1),0).toFixed(2))]}getNormalized3(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2))]}offsetHSL(t,e,r){return this.getHSL(Ye),Ye.h+=t,Ye.s+=e,Ye.l+=r,this.setHSL(Ye.h,Ye.s,Ye.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(Ye),t.getHSL(Qs);const r=Au(Ye.h,Qs.h,e),a=Au(Ye.s,Qs.s,e),u=Au(Ye.l,Qs.l,e);return this.setHSL(r,a,u),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this.a=t[e+3],this}toArray(t=[0,0,0,0],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),t.normalized===!0&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const Qi=new we,Js={h:0,s:0,l:0};class L{isVector2=!0;x=0;y=0;z;constructor(t=0,e=0,r){this.x=t,this.y=e,this.z=r||0}static isZero(t){return t.x===0&&t.y===0}static isEmpty(t){return!Number.isFinite(t.x)&&!Number.isFinite(t.y)}static equals(t,e,r=!0){return r?t.x===e.x&&t.y===e.y:Math.abs(t.x-e.x)<Number.EPSILON&&Math.abs(t.y-e.y)<Number.EPSILON}static getInt32Array(t,e=2){const r=new ArrayBuffer(t.length*e*4),a=new Int32Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getFloat64Array(t,e=2){const r=new ArrayBuffer(t.length*e*8),a=new Float64Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getVectors(t){const e=[];for(let r=0,a=t.length;r<a;r++)e.push(new L(t[r].x,t[r].y));return e}static getStrings(t){const e=[];if(!t||!t.length)return"";for(let r=0,a=t.length;r<a;r++)e.push(L.getString(t[r]));return e.join(",")}static getString(t){return`${t.x},${t.y}`}static getLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}static getDistance(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}static dot(t,e){return t.x*e.y+t.y*e.x}static cross(t,e){return t.x*e.y-t.y*e.x}static sub(t,e){return new L().subVectors(t,e)}static isPointOnSegment(t,e,r){return Ki(this.sub(t,r).cross(this.sub(e,r)))===0&&Ki(this.sub(t,r).dot(this.sub(e,r)))<=0}static angle(t,e,r){return r?Math.atan2(t.y-e.y,t.x-e.x):wd(Math.atan2(t.y-e.y,t.x-e.x))}static getSamplingPoints(t,e=100){let r=this.getClothoidPoints(t,e),a=0;for(let u=0,l=r.length;u<l;u++){let c=Math.max(0,u-1);u>0?a+=this.getDistance(r[c],r[c+1]):a=0,r[u].l=Math.round(a);let f=this.angle(r[c+1],r[c]);r[u].a=Math.round(f*100)/100}return r}static getClothoidPoints(t,e=100){let r=[],a=t.concat([]);if(!a||a.length<2)return r;a.length===2?(a.push(a[1]),a.unshift(a[0])):a.length===3&&a.splice(2,0,a[1]);for(let u=0;u<a.length-3;u+=3){let l=new L(a[u].x,a[u].y),c=new L(a[u+1].x,a[u+1].y),f=new L(a[u+2].x,a[u+2].y),g=new L(a[u+3].x,a[u+3].y),x=0;x+=l.distanceTo(c),x+=c.distanceTo(f),x+=f.distanceTo(g);let E=Math.min(.5,1/(x/e));for(let A=E;A<1;A+=E){let T=3*(c.x-l.x),I=3*(f.x-c.x)-T,S=g.x-l.x-T-I,D=3*(c.y-l.y),q=3*(f.y-c.y)-D,V=g.y-l.y-D-q,W=S*Math.pow(A,3)+I*Math.pow(A,2)+T*A+l.x,X=V*Math.pow(A,3)+q*Math.pow(A,2)+D*A+l.y;r.push({x:Math.round(W),y:Math.round(X),a:0,l:0})}}return r.unshift({x:a[0].x,y:a[0].y,a:0,l:0}),r.push({x:a[a.length-1].x,y:a[a.length-1].y,a:0,l:0}),r}static getClothoidLength(t){let e=0;if(t.length>2)for(let r=0;r<t.length;r++){let a=Math.max(0,r-1);r>0&&(e+=this.getDistance(t[a],t[a+1]))}return e}static getCircleCenterByChord(t,e,r,a=!0,u=new L){const l=this.getDistance(t,e);if(l===0)return u.x=1/0,u.y=1/0,u;wu.set((t.x+e.x)/2,(t.y+e.y)/2);const c=Math.sqrt(r*r-l*l/4),f=a?-1:1;return u.x=wu.x+f*c*(e.y-t.y)/l,u.y=wu.y-f*c*(e.x-t.x)/l,u}static isPointInCircle(t,e,r){return this.getDistance(r,t)<e}static isPointInPolygonByRay(t,e){let r=0;const a=new L().copy(t),u=new L,l=new L;for(let c=0;c<e.length;c++){c===e.length-1?(u.copy(e[c]),l.copy(e[0])):(u.copy(e[c]),l.copy(e[c+1]));let f=[u.y,l.y].sort((g,x)=>g-x);f[0]<a.y&&f[1]>a.y&&(u.x<a.x||l.x<a.x)&&r++}return r%2===1}static whichSideOfSegment(t,e,r){return(e.x-t.x)*(r.y-t.y)-(r.x-t.x)*(e.y-t.y)}static getIntersectionOfSegments(t,e,r,a,u=!1,l=new L){const c=(a.y-r.y)*(e.x-t.x)-(a.x-r.x)*(e.y-t.y);if(c===0)return l.makeEmpty();const f=(a.x-r.x)*(t.y-r.y)-(a.y-r.y)*(t.x-r.x),g=(e.x-t.x)*(t.y-r.y)-(e.y-t.y)*(t.x-r.x),x=f/c,E=g/c;return u&&(x<0||x>1||E<0||E>1)?l.makeEmpty():(l.x=t.x+x*(e.x-t.x),l.y=t.y+x*(e.y-t.y),l)}static getConvexHullByGrahamScan(t,e=!1,r=[]){if(!t||!t.length)return r;const a=t.length;let u=0;for(let f=0;f<a;f++)t[f].x<t[u].x&&(u=f);let l=u,c;do{r.push(t[l]),c=(l+1)%a;for(let f=0;f<a;f++)this.whichSideOfSegment(t[l],t[f],t[c])>0&&(c=f);l=c}while(l!==u);return e&&r.push(t[u]),r}static getPointsWithMatrix3(t,e){const r=[];if(!t)return r;for(let a=0,u=t.length;a<u;a++)r.push({x:e.elements[0]*t[a].x+e.elements[3]*t[a].y+e.elements[6],y:e.elements[1]*t[a].x+e.elements[4]*t[a].y+e.elements[7]});return r}static getPointsApplyMatrix3(t,e=[]){for(let r=0,a=e.length;r<a;r++){const u=t.elements[0]*e[r].x+t.elements[3]*e[r].y+t.elements[6],l=t.elements[1]*e[r].x+t.elements[4]*e[r].y+t.elements[7];e[r].x=u,e[r].y=l}return e}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}applyMatrix3(t){const e=this.x,r=this.y,a=t.elements;return this.x=a[0]*e+a[3]*r+a[6],this.y=a[1]*e+a[4]*r+a[7],this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}ceilToZero(){return this.x=this.x<0?Math.floor(this.x):Math.ceil(this.x),this.y=this.y<0?Math.floor(this.y):Math.ceil(this.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampLength(t,e){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(t,Math.min(e,r)))}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clone(){return new L(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}cross(t){return this.x*t.y-this.y*t.x}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,r=this.y-t.y;return e*e+r*r}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}dot(t){return this.x*t.x+this.y*t.y}equals(t,e=!0){return e?t.x===this.x&&t.y===this.y:Math.abs(t.x-this.x)<Number.EPSILON&&Math.abs(t.y-this.y)<Number.EPSILON}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}floorToZero(){return this.roundToZero()}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("out of range: "+t)}}identity(){return this.set(0,0)}isEmpty(){return!Number.isFinite(this.x)&&!Number.isFinite(this.y)}isZero(){return this.x===0&&this.y===0}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSq(){return this.x*this.x+this.y*this.y}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}makeEmpty(){return this.x=1/0,this.y=1/0,this}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}maxXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}minXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t,e){return this.x*=t,this.y*=e||t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this}negate(){return this.x=-this.x,this.y=-this.y,this}normalize(){return this.divideScalar(this.length()||1)}project(t){return this.applyMatrix3(t.matrixWorldInverse).applyMatrix3(t.projectionMatrix)}random(){return this.x=Math.random(),this.y=Math.random(),this}rotate(t){const e=Math.cos(t),r=Math.sin(t),a=this.x,u=this.y;return this.x=a*e-u*r,this.y=a*r+u*e,this}rotateAround(t,e){const r=Math.cos(e),a=Math.sin(e),u=this.x-t.x,l=this.y-t.y;return this.x=u*r-l*a+t.x,this.y=u*a+l*r+t.y,this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}set(t,e){return this.x=t,this.y=e,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("out of range: "+t)}return this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*3)}setLength(t){return this.normalize().multiplyScalar(t)}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}toString(){return`{x:${this.x},y:${this.y}}`}unproject(t,e=!1){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}validate(){return!(isNaN(this.x)||isNaN(this.y))}*[Symbol.iterator](){yield this.x,yield this.y}}const wu=new L,Cd=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"}));class Ji{_listeners=new Map;destroy(){this._listeners.clear()}addEventListener(t,e){let r=this._listeners.get(t);r||(r=[],this._listeners.set(t,r)),r.includes(e)||r.push(e)}addEventListeners(t,e){const r=t.split(","),a=r.length;for(let u=0;u<a;u++)this.addEventListener(r[u].trim(),e)}isListening(t){var e;return this._listeners.has(t)&&!!((e=this._listeners.get(t))!=null&&e.length)}hasEventListener(t,e){var r;return this._listeners.size===0?!1:this._listeners.has(t)&&!!((r=this._listeners.get(t))!=null&&r.includes(e))}removeEventListener(t,e){const r=this._listeners.get(t);if(r){const a=r.indexOf(e);a>-1&&r.splice(a,1)}}dispatchEvent(t){const e=this._listeners.get(t.type);if(e){t.target=this;const r=e.slice(0);for(let a=0,u=r.length;a<u;a++)r[a].call(this,t);t.target=void 0}}dispatchEventAsync(t){const e=this._listeners.get(t.type);e&&setTimeout(()=>{for(const r of e)r.call(this,t)})}}function Sd(n){var t,e;return(e=(t=gt.window)==null?void 0:t.document)==null?void 0:e.createElement(n)}async function Dd(n=2e3){return new Promise(t=>setTimeout(t,(Math.random()+.5)*n))}var js={exports:{}};/**
5
+ @`+(n.systemId||"")+"#[line:"+n.lineNumber+",col:"+n.columnNumber+"]"}function vh(n,t,e){return typeof n=="string"?n.substr(t,e):n.length>=t+e||t?new java.lang.String(n,t,e)+"":n}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(n){Gn.prototype[n]=function(){return null}});function Zs(n,t){n.currentElement?n.currentElement.appendChild(t):n.doc.appendChild(t)}Xs.__DOMHandler=Gn,Xs.normalizeLineEndings=mh,Xs.DOMParser=yh;var xd=Xs.DOMParser;const Ed="1.0.9";function Ad(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const en=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};en.Path2D||Hp(en),en.DOMParser||(en.DOMParser=xd);const gt={window:en,version:Ed,isBrowser:Ad(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:en.document,time:0,deltaTime:0,config:$r},Xn=(n,t,e)=>Math.max(t,Math.min(e,n)),Ki=(n,t=1e-6)=>Math.abs(n)<t?0:n<0?-1:1,Ks=n=>n*(Math.PI/180),bd=(n,t)=>(n%t+t)%t,Au=(n,t,e)=>(1-e)*n+e*t,wd=n=>{let t=n*(180/Math.PI);return t<0&&(t+=360),t>360&&(t-=360),t},be={transparent:"rgba(1, 1, 1, 0)",green:"#45b787",darkGreen:"#314a43",blue:"#6e9bc5",darkBlue:"#2775b6",red:"#F26666",darkRed:"#D95970",brown:"#ECD2B9",darkBrown:"#BF9D8A",yellow:"#ECDEC0",darkYellow:"#D0AC57",lightGray:"#e0e0e0",gray:"#beb6b6",darkGray:"#918883",white:"#F2F2F2",darkWhite:"#ececec",lightBlack:"#2E3032",black:"#182327",blackAlpha5:"rgba(0, 0, 0, 0.5)"},Td={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ye={h:0,s:0,l:0},Qs={h:0,s:0,l:0};function bu(n,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?n+(t-n)*6*e:e<1/2?t:e<2/3?n+(t-n)*6*(2/3-e):n}const _d=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$|rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)|rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)/;class we{isColor=!0;r=1;g=1;b=1;a=1;constructor(t,e,r,a){return e===void 0&&r===void 0?this.set(t):this.setRGBA(t,e,r,a)}static isColor(t){return typeof t=="string"?_d.test(t):typeof t=="number"?t>=0&&t<=16777215:!1}static getRandomStyle(){return Qi.random().getStyle()}static getDarken(t,e=.8){return Qi.set(t).getHSL(Js),Qi.setHSL(Js.h,Js.s,Js.l*e).getStyle()}static getLighten(t,e=1.2){return this.getDarken(t,e)}static getContrast(t){return Qi.set(t),Qi.getContrastString()}static getArray(t){return Qi.set(t).toArray()}static getComplementary(t){return Qi.set(t),Qi.getComplementaryString()}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}random(){return this.setHex(Math.floor(Math.random()*(1<<24)))}setScalar(t){return this.r=t,this.g=t,this.b=t,this.a=1,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this.a=1,this}setR(t){return this.r=t,this}setG(t){return this.g=t,this}setB(t){return this.b=t,this}setA(t){return this.a=t,this}setRGB(t,e,r){return this.setRGBA(t,e,r,this.a)}setRGBA(t,e,r,a=1){return this.r=t,this.g=e,this.b=r,this.a=a,this}setHSL(t,e,r,a=1){if(t=bd(t,1),e=Xn(e,0,1),r=Xn(r,0,1),e===0)this.r=this.g=this.b=r;else{const u=r<=.5?r*(1+e):r+e-r*e,l=2*r-u;this.r=bu(l,u,t+1/3),this.g=bu(l,u,t),this.b=bu(l,u,t-1/3)}return this.a=a,this}setStyle(t){let e;if(e=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let r;const a=e[1],u=e[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u)){const l=parseFloat(r[1])/360,c=parseInt(r[2],10)/100,f=parseInt(r[3],10)/100,g=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0);return this.setHSL(l,c,f,g)}break}}else if(e=/^\#([A-Fa-f\d]+)$/.exec(t)){const r=e[1],a=r.length;if(a===3)return this.r=parseInt(r.charAt(0)+r.charAt(0),16)/255,this.g=parseInt(r.charAt(1)+r.charAt(1),16)/255,this.b=parseInt(r.charAt(2)+r.charAt(2),16)/255,this.a=1,this;if(a===6)return this.r=parseInt(r.charAt(0)+r.charAt(1),16)/255,this.g=parseInt(r.charAt(2)+r.charAt(3),16)/255,this.b=parseInt(r.charAt(4)+r.charAt(5),16)/255,this.a=1,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Td[t.toLowerCase()];return e!==void 0?this.setHex(e):console.warn("Color: Unknown color "+t),this}clone(){return new we(this.r,this.g,this.b,this.a)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}getRGB(t=new we){return t.setRGB(this.r,this.g,this.b)}getRGBByBg(t=new we){const e=this.a,r=e*this.r+(1-e)*t.r,a=e*this.g+(1-e)*t.g,u=e*this.b+(1-e)*t.b;return new we(r,a,u)}getHex(){return Xn(this.r*255,0,255)<<16^Xn(this.g*255,0,255)<<8^Xn(this.b*255,0,255)<<0}getHSL(t){const e=this.r,r=this.g,a=this.b,u=Math.max(e,r,a),l=Math.min(e,r,a);let c=0,f;const g=(l+u)/2;if(l===u)c=0,f=0;else{const x=u-l;switch(f=g<=.5?x/(u+l):x/(2-u-l),u){case e:c=(r-a)/x+(r<a?6:0);break;case r:c=(a-e)/x+2;break;case a:c=(e-r)/x+4;break}c/=6}return t.h=c,t.s=f,t.l=g,t}getStyle(){return this.a===1?`rgb(${this.r*255|0},${this.g*255|0},${this.b*255|0})`:`rgba(${this.r*255|0},${this.g*255|0},${this.b*255|0},${this.a||1})`}getHexString(){return"#"+("000000"+this.getHex().toString(16)).slice(-6)}getBrightness(){let t=(this.r*255*299+this.g*255*587+this.b*255*144)/1e3;return t+=(255-t)*(255-this.a*255)/255,t}getContrastString(){return this.getBrightness()>125?"#2f2f2f":"#f2f2f2"}getComplementary(t=new we){const e=this.toArray(),r=[0,0,0,1];for(let a=0;a<e.length;a++)if(a<3)r[a]=1-e[a];else if(a===3)e[a]>1||e[a]<=0?r[a]=1:r[a]=Math.max(Math.min(parseFloat(e[a].toFixed(2)),1),0);else continue;return t.setRGBA(r[0],r[1],r[2],parseFloat(r[3].toFixed(2)))}getComplementaryString(){return this.getComplementary().getStyle()}getLightenOrDarken(t){if(typeof t>"u"||t>=1)return this.getHexString();const e=this.getRGBByBg(),r=e.r*t+(1-t),a=e.g*t+(1-t),u=e.b*t+(1-t);return new we(r,a,u).getHexString()}getNormalized(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.a,1),0).toFixed(2))]}getNormalized3(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2))]}offsetHSL(t,e,r){return this.getHSL(Ye),Ye.h+=t,Ye.s+=e,Ye.l+=r,this.setHSL(Ye.h,Ye.s,Ye.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(Ye),t.getHSL(Qs);const r=Au(Ye.h,Qs.h,e),a=Au(Ye.s,Qs.s,e),u=Au(Ye.l,Qs.l,e);return this.setHSL(r,a,u),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this.a=t[e+3],this}toArray(t=[0,0,0,0],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),t.normalized===!0&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const Qi=new we,Js={h:0,s:0,l:0};class L{isVector2=!0;x=0;y=0;z;constructor(t=0,e=0,r){this.x=t,this.y=e,this.z=r||0}static isZero(t){return t.x===0&&t.y===0}static isEmpty(t){return!Number.isFinite(t.x)&&!Number.isFinite(t.y)}static equals(t,e,r=!0){return r?t.x===e.x&&t.y===e.y:Math.abs(t.x-e.x)<Number.EPSILON&&Math.abs(t.y-e.y)<Number.EPSILON}static getInt32Array(t,e=2){const r=new ArrayBuffer(t.length*e*4),a=new Int32Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getFloat64Array(t,e=2){const r=new ArrayBuffer(t.length*e*8),a=new Float64Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getVectors(t){const e=[];for(let r=0,a=t.length;r<a;r++)e.push(new L(t[r].x,t[r].y));return e}static getStrings(t){const e=[];if(!t||!t.length)return"";for(let r=0,a=t.length;r<a;r++)e.push(L.getString(t[r]));return e.join(",")}static getString(t){return`${t.x},${t.y}`}static getLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}static getDistance(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}static dot(t,e){return t.x*e.y+t.y*e.x}static cross(t,e){return t.x*e.y-t.y*e.x}static sub(t,e){return new L().subVectors(t,e)}static isPointOnSegment(t,e,r){return Ki(this.sub(t,r).cross(this.sub(e,r)))===0&&Ki(this.sub(t,r).dot(this.sub(e,r)))<=0}static angle(t,e,r){return r?Math.atan2(t.y-e.y,t.x-e.x):wd(Math.atan2(t.y-e.y,t.x-e.x))}static getSamplingPoints(t,e=100){let r=this.getClothoidPoints(t,e),a=0;for(let u=0,l=r.length;u<l;u++){let c=Math.max(0,u-1);u>0?a+=this.getDistance(r[c],r[c+1]):a=0,r[u].l=Math.round(a);let f=this.angle(r[c+1],r[c]);r[u].a=Math.round(f*100)/100}return r}static getClothoidPoints(t,e=100){let r=[],a=t.concat([]);if(!a||a.length<2)return r;a.length===2?(a.push(a[1]),a.unshift(a[0])):a.length===3&&a.splice(2,0,a[1]);for(let u=0;u<a.length-3;u+=3){let l=new L(a[u].x,a[u].y),c=new L(a[u+1].x,a[u+1].y),f=new L(a[u+2].x,a[u+2].y),g=new L(a[u+3].x,a[u+3].y),x=0;x+=l.distanceTo(c),x+=c.distanceTo(f),x+=f.distanceTo(g);let E=Math.min(.5,1/(x/e));for(let A=E;A<1;A+=E){let T=3*(c.x-l.x),I=3*(f.x-c.x)-T,S=g.x-l.x-T-I,D=3*(c.y-l.y),q=3*(f.y-c.y)-D,V=g.y-l.y-D-q,W=S*Math.pow(A,3)+I*Math.pow(A,2)+T*A+l.x,X=V*Math.pow(A,3)+q*Math.pow(A,2)+D*A+l.y;r.push({x:Math.round(W),y:Math.round(X),a:0,l:0})}}return r.unshift({x:a[0].x,y:a[0].y,a:0,l:0}),r.push({x:a[a.length-1].x,y:a[a.length-1].y,a:0,l:0}),r}static getClothoidLength(t){let e=0;if(t.length>2)for(let r=0;r<t.length;r++){let a=Math.max(0,r-1);r>0&&(e+=this.getDistance(t[a],t[a+1]))}return e}static getCircleCenterByChord(t,e,r,a=!0,u=new L){const l=this.getDistance(t,e);if(l===0)return u.x=1/0,u.y=1/0,u;wu.set((t.x+e.x)/2,(t.y+e.y)/2);const c=Math.sqrt(r*r-l*l/4),f=a?-1:1;return u.x=wu.x+f*c*(e.y-t.y)/l,u.y=wu.y-f*c*(e.x-t.x)/l,u}static isPointInCircle(t,e,r){return this.getDistance(r,t)<e}static isPointInPolygonByRay(t,e){let r=0;const a=new L().copy(t),u=new L,l=new L;for(let c=0;c<e.length;c++){c===e.length-1?(u.copy(e[c]),l.copy(e[0])):(u.copy(e[c]),l.copy(e[c+1]));let f=[u.y,l.y].sort((g,x)=>g-x);f[0]<a.y&&f[1]>a.y&&(u.x<a.x||l.x<a.x)&&r++}return r%2===1}static whichSideOfSegment(t,e,r){return(e.x-t.x)*(r.y-t.y)-(r.x-t.x)*(e.y-t.y)}static getIntersectionOfSegments(t,e,r,a,u=!1,l=new L){const c=(a.y-r.y)*(e.x-t.x)-(a.x-r.x)*(e.y-t.y);if(c===0)return l.makeEmpty();const f=(a.x-r.x)*(t.y-r.y)-(a.y-r.y)*(t.x-r.x),g=(e.x-t.x)*(t.y-r.y)-(e.y-t.y)*(t.x-r.x),x=f/c,E=g/c;return u&&(x<0||x>1||E<0||E>1)?l.makeEmpty():(l.x=t.x+x*(e.x-t.x),l.y=t.y+x*(e.y-t.y),l)}static getConvexHullByGrahamScan(t,e=!1,r=[]){if(!t||!t.length)return r;const a=t.length;let u=0;for(let f=0;f<a;f++)t[f].x<t[u].x&&(u=f);let l=u,c;do{r.push(t[l]),c=(l+1)%a;for(let f=0;f<a;f++)this.whichSideOfSegment(t[l],t[f],t[c])>0&&(c=f);l=c}while(l!==u);return e&&r.push(t[u]),r}static getPointsWithMatrix3(t,e){const r=[];if(!t)return r;for(let a=0,u=t.length;a<u;a++)r.push({x:e.elements[0]*t[a].x+e.elements[3]*t[a].y+e.elements[6],y:e.elements[1]*t[a].x+e.elements[4]*t[a].y+e.elements[7]});return r}static getPointsApplyMatrix3(t,e=[]){for(let r=0,a=e.length;r<a;r++){const u=t.elements[0]*e[r].x+t.elements[3]*e[r].y+t.elements[6],l=t.elements[1]*e[r].x+t.elements[4]*e[r].y+t.elements[7];e[r].x=u,e[r].y=l}return e}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}applyMatrix3(t){const e=this.x,r=this.y,a=t.elements;return this.x=a[0]*e+a[3]*r+a[6],this.y=a[1]*e+a[4]*r+a[7],this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}ceilToZero(){return this.x=this.x<0?Math.floor(this.x):Math.ceil(this.x),this.y=this.y<0?Math.floor(this.y):Math.ceil(this.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampLength(t,e){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(t,Math.min(e,r)))}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clone(){return new L(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}cross(t){return this.x*t.y-this.y*t.x}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,r=this.y-t.y;return e*e+r*r}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}dot(t){return this.x*t.x+this.y*t.y}equals(t,e=!0){return e?t.x===this.x&&t.y===this.y:Math.abs(t.x-this.x)<Number.EPSILON&&Math.abs(t.y-this.y)<Number.EPSILON}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}floorToZero(){return this.roundToZero()}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("out of range: "+t)}}identity(){return this.set(0,0)}isEmpty(){return!Number.isFinite(this.x)&&!Number.isFinite(this.y)}isZero(){return this.x===0&&this.y===0}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSq(){return this.x*this.x+this.y*this.y}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}makeEmpty(){return this.x=1/0,this.y=1/0,this}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}maxXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}minXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t,e){return this.x*=t,this.y*=e||t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this}negate(){return this.x=-this.x,this.y=-this.y,this}normalize(){return this.divideScalar(this.length()||1)}project(t){return this.applyMatrix3(t.matrixWorldInverse).applyMatrix3(t.projectionMatrix)}random(){return this.x=Math.random(),this.y=Math.random(),this}rotate(t){const e=Math.cos(t),r=Math.sin(t),a=this.x,u=this.y;return this.x=a*e-u*r,this.y=a*r+u*e,this}rotateAround(t,e){const r=Math.cos(e),a=Math.sin(e),u=this.x-t.x,l=this.y-t.y;return this.x=u*r-l*a+t.x,this.y=u*a+l*r+t.y,this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}set(t,e){return this.x=t,this.y=e,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("out of range: "+t)}return this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*3)}setLength(t){return this.normalize().multiplyScalar(t)}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}toString(){return`{x:${this.x},y:${this.y}}`}unproject(t,e=!1){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}validate(){return!(isNaN(this.x)||isNaN(this.y))}*[Symbol.iterator](){yield this.x,yield this.y}}const wu=new L,Cd=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"}));class Ji{_listeners=new Map;destroy(){this._listeners.clear()}addEventListener(t,e){let r=this._listeners.get(t);r||(r=[],this._listeners.set(t,r)),r.includes(e)||r.push(e)}addEventListeners(t,e){const r=t.split(","),a=r.length;for(let u=0;u<a;u++)this.addEventListener(r[u].trim(),e)}isListening(t){var e;return this._listeners.has(t)&&!!((e=this._listeners.get(t))!=null&&e.length)}hasEventListener(t,e){var r;return this._listeners.size===0?!1:this._listeners.has(t)&&!!((r=this._listeners.get(t))!=null&&r.includes(e))}removeEventListener(t,e){const r=this._listeners.get(t);if(r){const a=r.indexOf(e);a>-1&&r.splice(a,1)}}dispatchEvent(t){const e=this._listeners.get(t.type);if(e){t.target=this;const r=e.slice(0);for(let a=0,u=r.length;a<u;a++)r[a].call(this,t);t.target=void 0}}dispatchEventAsync(t){const e=this._listeners.get(t.type);e&&setTimeout(()=>{for(const r of e)r.call(this,t)})}}function Sd(n){var t,e;return(e=(t=gt.window)==null?void 0:t.document)==null?void 0:e.createElement(n)}async function Dd(n=2e3){return new Promise(t=>setTimeout(t,(Math.random()+.5)*n))}var js={exports:{}};/**
6
6
  * @license
7
7
  * Lodash <https://lodash.com/>
8
8
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
@@ -54,4 +54,4 @@ function print() { __p += __j.call(arguments, '') }
54
54
  * Copyright (c) 2016 Jorik Tangelder;
55
55
  * Licensed under the MIT license */(function(n){(function(t,e,r,a){var u=["","webkit","Moz","MS","ms","o"],l=e.createElement("div"),c="function",f=Math.round,g=Math.abs,x=Date.now;function E(d,v,w){return setTimeout(W(d,w),v)}function A(d,v,w){return Array.isArray(d)?(T(d,w[v],w),!0):!1}function T(d,v,w){var M;if(d)if(d.forEach)d.forEach(v,w);else if(d.length!==a)for(M=0;M<d.length;)v.call(w,d[M],M,d),M++;else for(M in d)d.hasOwnProperty(M)&&v.call(w,d[M],M,d)}function I(d,v,w){var M="DEPRECATED METHOD: "+v+`
56
56
  `+w+` AT
57
- `;return function(){var H=new Error("get-stack-trace"),Y=H&&H.stack?H.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ot=t.console&&(t.console.warn||t.console.log);return ot&&ot.call(t.console,M,Y),d.apply(this,arguments)}}var S;typeof Object.assign!="function"?S=function(v){if(v===a||v===null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(v),M=1;M<arguments.length;M++){var H=arguments[M];if(H!==a&&H!==null)for(var Y in H)H.hasOwnProperty(Y)&&(w[Y]=H[Y])}return w}:S=Object.assign;var D=I(function(v,w,M){for(var H=Object.keys(w),Y=0;Y<H.length;)(!M||M&&v[H[Y]]===a)&&(v[H[Y]]=w[H[Y]]),Y++;return v},"extend","Use `assign`."),q=I(function(v,w){return D(v,w,!0)},"merge","Use `assign`.");function V(d,v,w){var M=v.prototype,H;H=d.prototype=Object.create(M),H.constructor=d,H._super=M,w&&S(H,w)}function W(d,v){return function(){return d.apply(v,arguments)}}function X(d,v){return typeof d==c?d.apply(v&&v[0]||a,v):d}function $(d,v){return d===a?v:d}function K(d,v,w){T(J(v),function(M){d.addEventListener(M,w,!1)})}function tt(d,v,w){T(J(v),function(M){d.removeEventListener(M,w,!1)})}function Z(d,v){for(;d;){if(d==v)return!0;d=d.parentNode}return!1}function z(d,v){return d.indexOf(v)>-1}function J(d){return d.trim().split(/\s+/g)}function nt(d,v,w){if(d.indexOf&&!w)return d.indexOf(v);for(var M=0;M<d.length;){if(w&&d[M][w]==v||!w&&d[M]===v)return M;M++}return-1}function mt(d){return Array.prototype.slice.call(d,0)}function It(d,v,w){for(var M=[],H=[],Y=0;Y<d.length;){var ot=d[Y][v];nt(H,ot)<0&&M.push(d[Y]),H[Y]=ot,Y++}return M=M.sort(function(zt,Yt){return zt[v]>Yt[v]}),M}function Ct(d,v){for(var w,M,H=v[0].toUpperCase()+v.slice(1),Y=0;Y<u.length;){if(w=u[Y],M=w?w+H:v,M in d)return M;Y++}return a}var yt=1;function B(){return yt++}function Pt(d){var v=d.ownerDocument||d;return v.defaultView||v.parentWindow||t}var Pe=/mobile|tablet|ip(ad|hone|od)|android/i,ca="ontouchstart"in t,ln=Ct(t,"PointerEvent")!==a,Le=ca&&Pe.test(navigator.userAgent),Dr="touch",ro="pen",os="mouse",ir="kinect",hn=25,Kt=1,_e=2,St=4,re=8,Pi=1,mi=2,rr=4,Qt=8,ri=16,Re=mi|rr,Jt=Qt|ri,ls=Re|Jt,fa=["x","y"],yi=["clientX","clientY"];function Ot(d,v){var w=this;this.manager=d,this.callback=v,this.element=d.element,this.target=d.options.inputTarget,this.domHandler=function(M){X(d.options.enable,[d])&&w.handler(M)},this.init()}Ot.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Pt(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&tt(this.element,this.evEl,this.domHandler),this.evTarget&&tt(this.target,this.evTarget,this.domHandler),this.evWin&&tt(Pt(this.element),this.evWin,this.domHandler)}};function Nr(d){var v,w=d.options.inputClass;return w?v=w:ln?v=ys:Le?v=ar:ca?v=Es:v=dn,new v(d,cn)}function cn(d,v,w){var M=w.pointers.length,H=w.changedPointers.length,Y=v&Kt&&M-H===0,ot=v&(St|re)&&M-H===0;w.isFirst=!!Y,w.isFinal=!!ot,Y&&(d.session={}),w.eventType=v,no(d,w),d.emit("hammer.input",w),d.recognize(w),d.session.prevInput=w}function no(d,v){var w=d.session,M=v.pointers,H=M.length;w.firstInput||(w.firstInput=nr(v)),H>1&&!w.firstMultiple?w.firstMultiple=nr(v):H===1&&(w.firstMultiple=!1);var Y=w.firstInput,ot=w.firstMultiple,qt=ot?ot.center:Y.center,zt=v.center=Li(M);v.timeStamp=x(),v.deltaTime=v.timeStamp-Y.timeStamp,v.angle=Or(qt,zt),v.distance=sr(qt,zt),Mr(w,v),v.offsetDirection=pn(v.deltaX,v.deltaY);var Yt=fn(v.deltaTime,v.deltaX,v.deltaY);v.overallVelocityX=Yt.x,v.overallVelocityY=Yt.y,v.overallVelocity=g(Yt.x)>g(Yt.y)?Yt.x:Yt.y,v.scale=ot?cs(ot.pointers,M):1,v.rotation=ot?hs(ot.pointers,M):0,v.maxPointers=w.prevInput?v.pointers.length>w.prevInput.maxPointers?v.pointers.length:w.prevInput.maxPointers:v.pointers.length,so(w,v);var Ue=d.element;Z(v.srcEvent.target,Ue)&&(Ue=v.srcEvent.target),v.target=Ue}function Mr(d,v){var w=v.center,M=d.offsetDelta||{},H=d.prevDelta||{},Y=d.prevInput||{};(v.eventType===Kt||Y.eventType===St)&&(H=d.prevDelta={x:Y.deltaX||0,y:Y.deltaY||0},M=d.offsetDelta={x:w.x,y:w.y}),v.deltaX=H.x+(w.x-M.x),v.deltaY=H.y+(w.y-M.y)}function so(d,v){var w=d.lastInterval||v,M=v.timeStamp-w.timeStamp,H,Y,ot,qt;if(v.eventType!=re&&(M>hn||w.velocity===a)){var zt=v.deltaX-w.deltaX,Yt=v.deltaY-w.deltaY,Ue=fn(M,zt,Yt);Y=Ue.x,ot=Ue.y,H=g(Ue.x)>g(Ue.y)?Ue.x:Ue.y,qt=pn(zt,Yt),d.lastInterval=v}else H=w.velocity,Y=w.velocityX,ot=w.velocityY,qt=w.direction;v.velocity=H,v.velocityX=Y,v.velocityY=ot,v.direction=qt}function nr(d){for(var v=[],w=0;w<d.pointers.length;)v[w]={clientX:f(d.pointers[w].clientX),clientY:f(d.pointers[w].clientY)},w++;return{timeStamp:x(),pointers:v,center:Li(v),deltaX:d.deltaX,deltaY:d.deltaY}}function Li(d){var v=d.length;if(v===1)return{x:f(d[0].clientX),y:f(d[0].clientY)};for(var w=0,M=0,H=0;H<v;)w+=d[H].clientX,M+=d[H].clientY,H++;return{x:f(w/v),y:f(M/v)}}function fn(d,v,w){return{x:v/d||0,y:w/d||0}}function pn(d,v){return d===v?Pi:g(d)>=g(v)?d<0?mi:rr:v<0?Qt:ri}function sr(d,v,w){w||(w=fa);var M=v[w[0]]-d[w[0]],H=v[w[1]]-d[w[1]];return Math.sqrt(M*M+H*H)}function Or(d,v,w){w||(w=fa);var M=v[w[0]]-d[w[0]],H=v[w[1]]-d[w[1]];return Math.atan2(H,M)*180/Math.PI}function hs(d,v){return Or(v[1],v[0],yi)+Or(d[1],d[0],yi)}function cs(d,v){return sr(v[0],v[1],yi)/sr(d[0],d[1],yi)}var fs={mousedown:Kt,mousemove:_e,mouseup:St},ps="mousedown",ds="mousemove mouseup";function dn(){this.evEl=ps,this.evWin=ds,this.pressed=!1,Ot.apply(this,arguments)}V(dn,Ot,{handler:function(v){var w=fs[v.type];w&Kt&&v.button===0&&(this.pressed=!0),w&_e&&v.which!==1&&(w=St),this.pressed&&(w&St&&(this.pressed=!1),this.callback(this.manager,w,{pointers:[v],changedPointers:[v],pointerType:os,srcEvent:v}))}});var ao={pointerdown:Kt,pointermove:_e,pointerup:St,pointercancel:re,pointerout:re},uo={2:Dr,3:ro,4:os,5:ir},gs="pointerdown",ms="pointermove pointerup pointercancel";t.MSPointerEvent&&!t.PointerEvent&&(gs="MSPointerDown",ms="MSPointerMove MSPointerUp MSPointerCancel");function ys(){this.evEl=gs,this.evWin=ms,Ot.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}V(ys,Ot,{handler:function(v){var w=this.store,M=!1,H=v.type.toLowerCase().replace("ms",""),Y=ao[H],ot=uo[v.pointerType]||v.pointerType,qt=ot==Dr,zt=nt(w,v.pointerId,"pointerId");Y&Kt&&(v.button===0||qt)?zt<0&&(w.push(v),zt=w.length-1):Y&(St|re)&&(M=!0),!(zt<0)&&(w[zt]=v,this.callback(this.manager,Y,{pointers:w,changedPointers:[v],pointerType:ot,srcEvent:v}),M&&w.splice(zt,1))}});var oo={touchstart:Kt,touchmove:_e,touchend:St,touchcancel:re},lo="touchstart",ho="touchstart touchmove touchend touchcancel";function vs(){this.evTarget=lo,this.evWin=ho,this.started=!1,Ot.apply(this,arguments)}V(vs,Ot,{handler:function(v){var w=oo[v.type];if(w===Kt&&(this.started=!0),!!this.started){var M=co.call(this,v,w);w&(St|re)&&M[0].length-M[1].length===0&&(this.started=!1),this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:v})}}});function co(d,v){var w=mt(d.touches),M=mt(d.changedTouches);return v&(St|re)&&(w=It(w.concat(M),"identifier")),[w,M]}var fo={touchstart:Kt,touchmove:_e,touchend:St,touchcancel:re},po="touchstart touchmove touchend touchcancel";function ar(){this.evTarget=po,this.targetIds={},Ot.apply(this,arguments)}V(ar,Ot,{handler:function(v){var w=fo[v.type],M=go.call(this,v,w);M&&this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:v})}});function go(d,v){var w=mt(d.touches),M=this.targetIds;if(v&(Kt|_e)&&w.length===1)return M[w[0].identifier]=!0,[w,w];var H,Y,ot=mt(d.changedTouches),qt=[],zt=this.target;if(Y=w.filter(function(Yt){return Z(Yt.target,zt)}),v===Kt)for(H=0;H<Y.length;)M[Y[H].identifier]=!0,H++;for(H=0;H<ot.length;)M[ot[H].identifier]&&qt.push(ot[H]),v&(St|re)&&delete M[ot[H].identifier],H++;if(qt.length)return[It(Y.concat(qt),"identifier"),qt]}var xs=2500,pa=25;function Es(){Ot.apply(this,arguments);var d=W(this.handler,this);this.touch=new ar(this.manager,d),this.mouse=new dn(this.manager,d),this.primaryTouch=null,this.lastTouches=[]}V(Es,Ot,{handler:function(v,w,M){var H=M.pointerType==Dr,Y=M.pointerType==os;if(!(Y&&M.sourceCapabilities&&M.sourceCapabilities.firesTouchEvents)){if(H)mo.call(this,w,M);else if(Y&&yo.call(this,M))return;this.callback(v,w,M)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function mo(d,v){d&Kt?(this.primaryTouch=v.changedPointers[0].identifier,da.call(this,v)):d&(St|re)&&da.call(this,v)}function da(d){var v=d.changedPointers[0];if(v.identifier===this.primaryTouch){var w={x:v.clientX,y:v.clientY};this.lastTouches.push(w);var M=this.lastTouches,H=function(){var Y=M.indexOf(w);Y>-1&&M.splice(Y,1)};setTimeout(H,xs)}}function yo(d){for(var v=d.srcEvent.clientX,w=d.srcEvent.clientY,M=0;M<this.lastTouches.length;M++){var H=this.lastTouches[M],Y=Math.abs(v-H.x),ot=Math.abs(w-H.y);if(Y<=pa&&ot<=pa)return!0}return!1}var ga=Ct(l.style,"touchAction"),ma=ga!==a,ya="compute",As="auto",bs="manipulation",Ri="none",Br="pan-x",Ir="pan-y",gn=vo();function ws(d,v){this.manager=d,this.set(v)}ws.prototype={set:function(d){d==ya&&(d=this.compute()),ma&&this.manager.element.style&&gn[d]&&(this.manager.element.style[ga]=d),this.actions=d.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var d=[];return T(this.manager.recognizers,function(v){X(v.options.enable,[v])&&(d=d.concat(v.getTouchAction()))}),mn(d.join(" "))},preventDefaults:function(d){var v=d.srcEvent,w=d.offsetDirection;if(this.manager.session.prevented){v.preventDefault();return}var M=this.actions,H=z(M,Ri)&&!gn[Ri],Y=z(M,Ir)&&!gn[Ir],ot=z(M,Br)&&!gn[Br];if(H){var qt=d.pointers.length===1,zt=d.distance<2,Yt=d.deltaTime<250;if(qt&&zt&&Yt)return}if(!(ot&&Y)&&(H||Y&&w&Re||ot&&w&Jt))return this.preventSrc(v)},preventSrc:function(d){this.manager.session.prevented=!0,d.preventDefault()}};function mn(d){if(z(d,Ri))return Ri;var v=z(d,Br),w=z(d,Ir);return v&&w?Ri:v||w?v?Br:Ir:z(d,bs)?bs:As}function vo(){if(!ma)return!1;var d={},v=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(w){d[w]=v?t.CSS.supports("touch-action",w):!0}),d}var Fi=1,ge=2,ur=4,vi=8,Fe=vi,or=16,Ce=32;function ni(d){this.options=S({},this.defaults,d||{}),this.id=B(),this.manager=null,this.options.enable=$(this.options.enable,!0),this.state=Fi,this.simultaneous={},this.requireFail=[]}ni.prototype={defaults:{},set:function(d){return S(this.options,d),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(d){if(A(d,"recognizeWith",this))return this;var v=this.simultaneous;return d=yn(d,this),v[d.id]||(v[d.id]=d,d.recognizeWith(this)),this},dropRecognizeWith:function(d){return A(d,"dropRecognizeWith",this)?this:(d=yn(d,this),delete this.simultaneous[d.id],this)},requireFailure:function(d){if(A(d,"requireFailure",this))return this;var v=this.requireFail;return d=yn(d,this),nt(v,d)===-1&&(v.push(d),d.requireFailure(this)),this},dropRequireFailure:function(d){if(A(d,"dropRequireFailure",this))return this;d=yn(d,this);var v=nt(this.requireFail,d);return v>-1&&this.requireFail.splice(v,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(d){return!!this.simultaneous[d.id]},emit:function(d){var v=this,w=this.state;function M(H){v.manager.emit(H,d)}w<vi&&M(v.options.event+va(w)),M(v.options.event),d.additionalEvent&&M(d.additionalEvent),w>=vi&&M(v.options.event+va(w))},tryEmit:function(d){if(this.canEmit())return this.emit(d);this.state=Ce},canEmit:function(){for(var d=0;d<this.requireFail.length;){if(!(this.requireFail[d].state&(Ce|Fi)))return!1;d++}return!0},recognize:function(d){var v=S({},d);if(!X(this.options.enable,[this,v])){this.reset(),this.state=Ce;return}this.state&(Fe|or|Ce)&&(this.state=Fi),this.state=this.process(v),this.state&(ge|ur|vi|or)&&this.tryEmit(v)},process:function(d){},getTouchAction:function(){},reset:function(){}};function va(d){return d&or?"cancel":d&vi?"end":d&ur?"move":d&ge?"start":""}function xa(d){return d==ri?"down":d==Qt?"up":d==mi?"left":d==rr?"right":""}function yn(d,v){var w=v.manager;return w?w.get(d):d}function me(){ni.apply(this,arguments)}V(me,ni,{defaults:{pointers:1},attrTest:function(d){var v=this.options.pointers;return v===0||d.pointers.length===v},process:function(d){var v=this.state,w=d.eventType,M=v&(ge|ur),H=this.attrTest(d);return M&&(w&re||!H)?v|or:M||H?w&St?v|vi:v&ge?v|ur:ge:Ce}});function Pr(){me.apply(this,arguments),this.pX=null,this.pY=null}V(Pr,me,{defaults:{event:"pan",threshold:10,pointers:1,direction:ls},getTouchAction:function(){var d=this.options.direction,v=[];return d&Re&&v.push(Ir),d&Jt&&v.push(Br),v},directionTest:function(d){var v=this.options,w=!0,M=d.distance,H=d.direction,Y=d.deltaX,ot=d.deltaY;return H&v.direction||(v.direction&Re?(H=Y===0?Pi:Y<0?mi:rr,w=Y!=this.pX,M=Math.abs(d.deltaX)):(H=ot===0?Pi:ot<0?Qt:ri,w=ot!=this.pY,M=Math.abs(d.deltaY))),d.direction=H,w&&M>v.threshold&&H&v.direction},attrTest:function(d){return me.prototype.attrTest.call(this,d)&&(this.state&ge||!(this.state&ge)&&this.directionTest(d))},emit:function(d){this.pX=d.deltaX,this.pY=d.deltaY;var v=xa(d.direction);v&&(d.additionalEvent=this.options.event+v),this._super.emit.call(this,d)}});function vn(){me.apply(this,arguments)}V(vn,me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ri]},attrTest:function(d){return this._super.attrTest.call(this,d)&&(Math.abs(d.scale-1)>this.options.threshold||this.state&ge)},emit:function(d){if(d.scale!==1){var v=d.scale<1?"in":"out";d.additionalEvent=this.options.event+v}this._super.emit.call(this,d)}});function Lr(){ni.apply(this,arguments),this._timer=null,this._input=null}V(Lr,ni,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[As]},process:function(d){var v=this.options,w=d.pointers.length===v.pointers,M=d.distance<v.threshold,H=d.deltaTime>v.time;if(this._input=d,!M||!w||d.eventType&(St|re)&&!H)this.reset();else if(d.eventType&Kt)this.reset(),this._timer=E(function(){this.state=Fe,this.tryEmit()},v.time,this);else if(d.eventType&St)return Fe;return Ce},reset:function(){clearTimeout(this._timer)},emit:function(d){this.state===Fe&&(d&&d.eventType&St?this.manager.emit(this.options.event+"up",d):(this._input.timeStamp=x(),this.manager.emit(this.options.event,this._input)))}});function Ts(){me.apply(this,arguments)}V(Ts,me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ri]},attrTest:function(d){return this._super.attrTest.call(this,d)&&(Math.abs(d.rotation)>this.options.threshold||this.state&ge)}});function xn(){me.apply(this,arguments)}V(xn,me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Re|Jt,pointers:1},getTouchAction:function(){return Pr.prototype.getTouchAction.call(this)},attrTest:function(d){var v=this.options.direction,w;return v&(Re|Jt)?w=d.overallVelocity:v&Re?w=d.overallVelocityX:v&Jt&&(w=d.overallVelocityY),this._super.attrTest.call(this,d)&&v&d.offsetDirection&&d.distance>this.options.threshold&&d.maxPointers==this.options.pointers&&g(w)>this.options.velocity&&d.eventType&St},emit:function(d){var v=xa(d.offsetDirection);v&&this.manager.emit(this.options.event+v,d),this.manager.emit(this.options.event,d)}});function Ui(){ni.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}V(Ui,ni,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[bs]},process:function(d){var v=this.options,w=d.pointers.length===v.pointers,M=d.distance<v.threshold,H=d.deltaTime<v.time;if(this.reset(),d.eventType&Kt&&this.count===0)return this.failTimeout();if(M&&H&&w){if(d.eventType!=St)return this.failTimeout();var Y=this.pTime?d.timeStamp-this.pTime<v.interval:!0,ot=!this.pCenter||sr(this.pCenter,d.center)<v.posThreshold;this.pTime=d.timeStamp,this.pCenter=d.center,!ot||!Y?this.count=1:this.count+=1,this._input=d;var qt=this.count%v.taps;if(qt===0)return this.hasRequireFailures()?(this._timer=E(function(){this.state=Fe,this.tryEmit()},v.interval,this),ge):Fe}return Ce},failTimeout:function(){return this._timer=E(function(){this.state=Ce},this.options.interval,this),Ce},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Fe&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function si(d,v){return v=v||{},v.recognizers=$(v.recognizers,si.defaults.preset),new En(d,v)}si.VERSION="2.0.7",si.defaults={domEvents:!1,touchAction:ya,enable:!0,inputTarget:null,inputClass:null,preset:[[Ts,{enable:!1}],[vn,{enable:!1},["rotate"]],[xn,{direction:Re}],[Pr,{direction:Re},["swipe"]],[Ui],[Ui,{event:"doubletap",taps:2},["tap"]],[Lr]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var xo=1,_s=2;function En(d,v){this.options=S({},si.defaults,v||{}),this.options.inputTarget=this.options.inputTarget||d,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=d,this.input=Nr(this),this.touchAction=new ws(this,this.options.touchAction),An(this,!0),T(this.options.recognizers,function(w){var M=this.add(new w[0](w[1]));w[2]&&M.recognizeWith(w[2]),w[3]&&M.requireFailure(w[3])},this)}En.prototype={set:function(d){return S(this.options,d),d.touchAction&&this.touchAction.update(),d.inputTarget&&(this.input.destroy(),this.input.target=d.inputTarget,this.input.init()),this},stop:function(d){this.session.stopped=d?_s:xo},recognize:function(d){var v=this.session;if(!v.stopped){this.touchAction.preventDefaults(d);var w,M=this.recognizers,H=v.curRecognizer;(!H||H&&H.state&Fe)&&(H=v.curRecognizer=null);for(var Y=0;Y<M.length;)w=M[Y],v.stopped!==_s&&(!H||w==H||w.canRecognizeWith(H))?w.recognize(d):w.reset(),!H&&w.state&(ge|ur|vi)&&(H=v.curRecognizer=w),Y++}},get:function(d){if(d instanceof ni)return d;for(var v=this.recognizers,w=0;w<v.length;w++)if(v[w].options.event==d)return v[w];return null},add:function(d){if(A(d,"add",this))return this;var v=this.get(d.options.event);return v&&this.remove(v),this.recognizers.push(d),d.manager=this,this.touchAction.update(),d},remove:function(d){if(A(d,"remove",this))return this;if(d=this.get(d),d){var v=this.recognizers,w=nt(v,d);w!==-1&&(v.splice(w,1),this.touchAction.update())}return this},on:function(d,v){if(d!==a&&v!==a){var w=this.handlers;return T(J(d),function(M){w[M]=w[M]||[],w[M].push(v)}),this}},off:function(d,v){if(d!==a){var w=this.handlers;return T(J(d),function(M){v?w[M]&&w[M].splice(nt(w[M],v),1):delete w[M]}),this}},emit:function(d,v){this.options.domEvents&&Eo(d,v);var w=this.handlers[d]&&this.handlers[d].slice();if(!(!w||!w.length)){v.type=d,v.preventDefault=function(){v.srcEvent.preventDefault()};for(var M=0;M<w.length;)w[M](v),M++}},destroy:function(){this.element&&An(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function An(d,v){var w=d.element;if(w.style){var M;T(d.options.cssProps,function(H,Y){M=Ct(w.style,Y),v?(d.oldCssProps[M]=w.style[M],w.style[M]=H):w.style[M]=d.oldCssProps[M]||""}),v||(d.oldCssProps={})}}function Eo(d,v){var w=e.createEvent("Event");w.initEvent(d,!0,!0),w.gesture=v,v.target.dispatchEvent(w)}S(si,{INPUT_START:Kt,INPUT_MOVE:_e,INPUT_END:St,INPUT_CANCEL:re,STATE_POSSIBLE:Fi,STATE_BEGAN:ge,STATE_CHANGED:ur,STATE_ENDED:vi,STATE_RECOGNIZED:Fe,STATE_CANCELLED:or,STATE_FAILED:Ce,DIRECTION_NONE:Pi,DIRECTION_LEFT:mi,DIRECTION_RIGHT:rr,DIRECTION_UP:Qt,DIRECTION_DOWN:ri,DIRECTION_HORIZONTAL:Re,DIRECTION_VERTICAL:Jt,DIRECTION_ALL:ls,Manager:En,Input:Ot,TouchAction:ws,TouchInput:ar,MouseInput:dn,PointerEventInput:ys,TouchMouseInput:Es,SingleTouchInput:vs,Recognizer:ni,AttrRecognizer:me,Tap:Ui,Pan:Pr,Swipe:xn,Pinch:vn,Rotate:Ts,Press:Lr,on:K,off:tt,each:T,merge:q,extend:D,assign:S,inherit:V,bindFn:W,prefixed:Ct});var Ea=typeof t<"u"?t:typeof self<"u"?self:{};Ea.Hammer=si,n.exports?n.exports=si:t[r]=si})(window,document,"Hammer")})(Sc);var om=Sc.exports;const us=Nl(om),Dc=new L,ii=new L;class lm extends Ji{name="orbit-controller.ts";isSvg=!1;dom;domOffset=new L;camera;hammer;enabled=!0;enablePan=!0;enableRotate=!0;rotateSpeed=1;enableZoom=!0;minZoom=0;maxZoom=1/0;zoomSpeed=1;zoomChanged=!1;distanceStart=1;distanceEnd=1;state=-1;EPS=1e-6;focus=new L;target=new L;scaled=1;rotateTheta=0;enableDamping=!1;dampingFactor=.05;mouseButtons={LEFT:2,MIDDLE:1,RIGHT:0};isWheeling=!1;finalTimer;rotateStart=new L;rotateEnd=new L;rotateDelta=new L;panStart=new L;panEnd=new L;panOffset=new L;dollyStart=0;dollyOffset=new L;contextMenuHandler=this.handleContextMenu.bind(this);wheelHandler=this.handleWheel.bind(this);pointerDownHandler=this.handlePointerDown.bind(this);pointerUpHandler=this.handlePointerUp.bind(this);pointerMoveHandler=this.handlePointerMove.bind(this);pointerOverHandler=this.handlePointerOver.bind(this);pointerLeaveHandler=this.handlePointerLeave.bind(this);tapHandler=this.handleTap.bind(this);panHandler=this.handlePan.bind(this);pinchHandler=this.handlePinch.bind(this);pressHandler=this.handlePress.bind(this);swipeHandler=this.handleSwipe.bind(this);hammerInputHandler=this.handleHammerInput.bind(this);constructor(t,e,r=!1){super(),this.isSvg=r,this.dom=t,this.camera=e,this.scaled=e.scaled.x;let a=this.dom.getBoundingClientRect();this.domOffset.set(a.left,a.top),this.dom.style.touchAction="none",this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}update(){Dc.copy(this.camera.position).sub(this.target),this.target.add(this.panOffset),this.camera.position.copy(this.target).add(Dc),this.camera.position.add(this.dollyOffset),this.camera.scaled.set(this.scaled,this.scaled),this.camera.update(),this.panOffset.set(0,0),this.dollyOffset.set(0,0),this.scaled=this.camera.scaled.x}bindEvents(){this.unbindEvents(),this.hammer=new us.Manager(this.dom);const t=new us.Pan({threshold:0,pointers:0}),e=new us.Pinch({threshold:0}),r=new us.Tap({event:"singletap",taps:1}),a=new us.Press({});this.hammer.add([t,r,a,e]),e.recognizeWith(t),this.hammer.on(["panstart","panmove","panend"].join(" "),this.panHandler),this.hammer.on(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),this.hammer.on("singletap",this.tapHandler),this.hammer.on("press",this.pressHandler),this.hammer.on("swipe",this.swipeHandler),this.hammer.on("hammer.input",this.hammerInputHandler),this.dom.addEventListener("contextmenu",this.contextMenuHandler),this.dom.addEventListener("mousewheel",this.wheelHandler,{passive:!1}),this.dom.addEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.addEventListener("pointerdown",this.pointerDownHandler),this.dom.addEventListener("pointerleave",this.pointerLeaveHandler))}unbindEvents(){var t,e,r,a,u,l,c,f;(t=this.hammer)==null||t.off(["panstart","panmove","panend"].join(" "),this.panHandler),(e=this.hammer)==null||e.off(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),(r=this.hammer)==null||r.off("singletap",this.tapHandler),(a=this.hammer)==null||a.off("press",this.pressHandler),(u=this.hammer)==null||u.off("swipe",this.swipeHandler),(l=this.hammer)==null||l.off("hammer.input",this.hammerInputHandler),this.dom.removeEventListener("contextmenu",this.contextMenuHandler),this.dom.removeEventListener("mousewheel",this.wheelHandler),this.dom.removeEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.removeEventListener("pointerdown",this.pointerDownHandler),this.dom.removeEventListener("pointerleave",this.pointerLeaveHandler)),(c=this.hammer)==null||c.stop(!0),(f=this.hammer)==null||f.destroy()}setFocus(t,e){this.focus.set(t,e).sub(this.domOffset).unproject(this.camera)}handleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Tap: ",t),ii.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"tap",data:{screenCoords:{x:ii.x,y:ii.y}},e:t})}handleDoubleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】DoubleTap: ",t),ii.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"doubletap",data:{screenCoords:{x:ii.x,y:ii.y}}})}handlePress(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Press: ",t)}handlePan(t){var r;if(((r=t.pointers)==null?void 0:r.length)!==1)return;typeof t.preventDefault=="function"&&t.preventDefault();const e={type:"panmove",data:{}};(t.isFirst||t.type==="panstart")&&(this.state=2,this.panStart.set(t.center.x,t.center.y),e.type="panstart"),(t.isFinal||t.type==="panend")&&(this.state=-1,e.type="panend"),this.panEnd.set(t.center.x,t.center.y),this.panOffset.subVectors(this.panEnd,this.panStart).multiplyScalar(-this.camera.scaled.x,-this.camera.scaled.y*(this.camera.flipY?1:-1)),this.panStart.copy(this.panEnd),ii.set(t.center.x,t.center.y).sub(this.domOffset),e.data.screenCoords=ii.clone(),this.dispatchEvent(e),this.enablePan&&this.update()}handlePinch(t){typeof t.preventDefault=="function"&&t.preventDefault(),t.type==="pinchstart"&&(this.dollyStart=this.camera.scaled.x,this.state=1),(t.isFinal||t.type==="pinchend")&&(this.state=-1),this.scaled=this.dollyStart*(1/t.scale);let e=(this.scaled-this.camera.scaled.x)/this.camera.scaled.x;this.setFocus(t.center.x,t.center.y),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-e).sub(this.camera.position),this.update()}handleRotate(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleSwipe(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleHammerInput(t){var e,r;t.isFirst&&(console.warn("【orbitController】isFirst: ",(e=t.pointers)==null?void 0:e.length,t),this.state=9),t.isFinal&&(console.warn("【orbitController】isFinal: ",(r=t.pointers)==null?void 0:r.length,t),this.state=-1)}handleContextMenu(t){this.enabled&&typeof t.preventDefault=="function"&&t.preventDefault()}handleWheel(t){if(!this.enabled||!this.enableZoom||this.state!==-1)return;this.isWheeling||(this.dispatchEvent({type:"wheelstart"}),this.isWheeling=!0),typeof t.preventDefault=="function"&&t.preventDefault(),typeof t.stopPropagation=="function"&&t.stopPropagation();let e=t.deltaY;(t==null?void 0:t.deltaMode)===1?e*=16:(t==null?void 0:t.deltaMode)===2&&(e*=100),t!=null&&t.ctrlKey&&(e*=10),this.setFocus(t.clientX,t.clientY);let r=this.getZoomScale(e);e<0?this.onDollyIn(r):e>0?this.onDollyOut(r):(this.scaled=this.camera.scaled.x,this.dollyOffset.set(0,0)),this.update(),clearTimeout(this.finalTimer),this.finalTimer=setTimeout(()=>{this.isWheeling&&(this.dispatchEvent({type:"wheelend"}),this.isWheeling=!1)},500)}onDollyIn(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x*t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,1-t).sub(this.camera.position)}onDollyOut(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x/t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-1+t).sub(this.camera.position)}getZoomScale(t){return Math.pow(.95,this.zoomSpeed*Math.abs(t*.03))}handlePointerDown(t){if(!this.enabled||t.button!==2)return;this.dom.addEventListener("pointermove",this.pointerMoveHandler),this.dom.addEventListener("pointerup",this.pointerUpHandler);let e=-1;t.button===0?e=this.mouseButtons.LEFT:t.button===1?e=this.mouseButtons.MIDDLE:t.button===2&&(e=this.mouseButtons.RIGHT),e===0&&(this.rotateStart.set(t.clientX,t.clientY),this.setFocus(this.rotateStart.x,this.rotateStart.y),this.state=0)}handlePointerUp(){this.dom.removeEventListener("pointermove",this.pointerMoveHandler),this.dom.removeEventListener("pointerup",this.pointerUpHandler),this.state=-1}handlePointerLeave(){this.state=-1}handlePointerMove(t){if(this.enabled&&this.state===0){if(!this.enableRotate)return;this.onRotate(t.clientX,t.clientY)}}handlePointerOver(t){t.buttons>0||(ii.set(t.clientX,t.clientY).sub(this.domOffset),this.dispatchEvent({type:"pointerover",data:{screenCoords:{x:ii.x,y:ii.y}},e:t}))}onRotate(t,e){this.rotateEnd.set(t,e),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const r=this.rotateDelta.x*Math.PI*2/this.dom.clientHeight;this.rotateTheta-=r,this.rotateStart.copy(this.rotateEnd),this.camera.rotation.x-=this.rotateTheta,this.target.rotateAround(this.focus,-this.rotateTheta),this.camera.position.copy(this.target),this.camera.update(),this.rotateTheta=0}}var xt=(n=>(n.CONTEXTMENU="contextmenu",n.LOSTPOINTERCAPTURE="lostpointercapture",n.MOUSEOVER="mouseover",n.MOUSEOUT="mouseout",n.MOUSELEAVE="mouseleave",n.MOUSEENTER="mouseenter",n.MOUSEMOVE="mousemove",n.MOUSEDOWN="mousedown",n.MOUSEUP="mouseup",n.POINTERMOVE="pointermove",n.POINTERDOWN="pointerdown",n.POINTERUP="pointerup",n.POINTERCANCEL="pointercancel",n.POINTEROUT="pointerout",n.POINTERLEAVE="pointerleave",n.POINTEROVER="pointerover",n.POINTERENTER="pointerenter",n.TOUCHSTART="touchstart",n.TOUCHEND="touchend",n.TOUCHMOVE="touchmove",n.TOUCHCANCEL="touchcancel",n.WHEEL="wheel",n.WHEEL_START="wheelstart",n.WHEEL_END="wheelend",n.MOUSEWHEEL="mousewheel",n.CLICK="click",n.DBLCLICK="dblclick",n.CONTEXT_LOST="contextlost",n.CONTEXT_RESTORED="contextrestored",n.CONTROLS_CHANGED="controlschanged",n.TAP="tap",n.SINGLE_TAP="singletap",n.DOUBLE_TAP="doubletap",n.PRESS="press",n.PAN="pan",n.PAN_START="panstart",n.PAN_MOVE="panmove",n.PAN_END="panend",n.ROTATE="rotate",n.ROTATE_START="rotatestart",n.ROTATE_MOVE="rotatemove",n.ROTATE_END="rotateend",n.PINCH="pinch",n.PINCH_START="pinchstart",n.PINCH_MOVE="pinchmove",n.PINCH_END="pinchend",n.PINCH_IN="pinchin",n.PINCH_OUT="pinchout",n.SWIPE="swipe",n.CHANGE_START="change_start",n.CHANGE_END="change_end",n))(xt||{});const on=new L;class hm extends ra{isCamera=!0;type="Camera2";name="Camera2";params;matrixAutoUpdate=!1;matrixWorldAutoUpdate=!1;projectionMatrix=new Mt;projectionMatrixInverse=new Mt;viewMatrix=new Mt;viewMatrixNeedsUpdate=!0;viewArea=0;left=-1;right=1;top=1;bottom=-1;width=2;height=2;aspect=1;view;constructor(t){super(),this.width=(t==null?void 0:t.width)!==void 0?t.width:2,this.height=(t==null?void 0:t.height)!==void 0?t.height:2,this.aspect=(t==null?void 0:t.aspect)!==void 0?t.aspect:1,(t==null?void 0:t.left)!==void 0&&(this.left=t.left),(t==null?void 0:t.right)!==void 0&&(this.right=t.right),(t==null?void 0:t.top)!==void 0&&(this.top=t.top),(t==null?void 0:t.bottom)!==void 0&&(this.bottom=t.bottom);const e=(this.right+this.left)/2,r=(this.top+this.bottom)/2;if(this.aspect>1){const a=Math.round((this.right-this.left)/2/this.aspect);this.top=r+a,this.bottom=r-a}else if(this.aspect<1){const a=Math.round((this.top-this.bottom)/2*this.aspect);this.left=e-a,this.right=e+a}this.flipY=(t==null?void 0:t.flipY)===!0,this.updateProjectionMatrix(),t!=null&&t.eye&&this.position.fromArray(t.eye),t!=null&&t.up&&this.up.fromArray(t.up),this.computeBoundingBox(),this.update()}destroy(){super.destroy()}get pixelWidth(){return this.scaled.x}set(t=-1,e=1,r=1,a=-1){on.set(t+e,a+r).multiplyScalar(.5);const u=Math.max((e-t)/this.width,(r-a)/this.height);this.position.set(on.x,on.y),this.rotation.set(0,0),this.scaled.set(u,u),this.update()}setByBox(t){if(!t||t.isEmpty())throw new Error("box is empty");this.set(t.min.x,t.max.x,t.max.y,t.min.y)}resize(t,e){this.aspect=t/e,this.updateProjectionMatrix(),this.update()}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[6],-e[7]).normalize()}updateMatrixWorld(t=!1){super.updateMatrixWorld(t),this.updateViewMatrix()}updateProjectionMatrix(){this.parent===void 0&&this.matrixWorldAutoUpdate&&this.updateMatrixWorld(),this.projectionMatrix.makeProjection(this.left,this.right,this.top,this.bottom,this.width,this.height),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}updateViewMatrix(){this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.viewMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse)}update(){this.matrixAutoUpdate||this.updateMatrix(),this.updateMatrixWorld(),this.needsUpdate=!0,this.updateBoundingBox()}computeBoundingBox(){return on.set(this.width,this.height).multiplyScalar(.5).multiplyScalar(this.scaled.x),this.boundingBox.min.subVectors(this.position,on),this.boundingBox.max.addVectors(this.position,on),this.boundingBox}updateBoundingBox(){super.updateBoundingBox(),this.viewArea=this.boundingBoxWorld.getArea()}toJSON(){const t={};return t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.width=this.width,t.height=this.height,t.aspect=this.aspect,t.position=this.position.toArray(),t.rotation=this.rotation.toArray(),t.scaled=this.scaled.toArray(),t}fromJSON(t){this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.position.fromArray(t.position),this.rotation.fromArray(t.rotation),this.scaled.fromArray(t.scaled)}clone(){return new this.constructor.prototype.constructor().copy(this)}copy(t,e=!0){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this}}class Nc extends Ji{name="SvgSelectRect";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",la+"SvgSelectRect"),this.el.setAttribute("class",la+"-svg-select-rect"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}draw(t){t.getSize(ju),this.el.style.display="none",this.el.style.position="absolute",this.el.style.left=t.min.x+"px",this.el.style.top=t.min.y+"px",this.el.style.width=ju.x+"px",this.el.style.height=ju.y+"px",this.el.style.display="block",this.el.style.background=new we(be.darkBlue).setA(.1).getStyle(),this.el.style.border=be.darkBlue+" 1px dashed"}hide(){this.el.style.display="none"}}const ju=new L;class cm extends Ji{name="SvgMultiSelector";controls;scene;p1=new L;p2=new L;graph;selectEnable=!1;multiSelectEnable=!1;controlsTapHandler=this.handleControlsTap.bind(this);controlsPanStartHandler=this.handleControlsPanStart.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPanEndHandler=this.handleControlsPanEnd.bind(this);constructor(t,e){super(),this.controls=t,this.graph=new Nc(e),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t}selectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.selectEnable=!!t}multiSelectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.multiSelectEnable=!!t,this.controls.enablePan=!this.multiSelectEnable}bindControlsEvents(){this.controls.addEventListener(xt.TAP,this.controlsTapHandler),this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.TAP,this.controlsTapHandler),this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler)}handleControlsTap(t){var r,a,u,l,c,f;if((t==null?void 0:t.type)!==xt.TAP||!this.selectEnable&&!this.multiSelectEnable)return;const e=((r=t==null?void 0:t.e)==null?void 0:r.target)||((u=(a=t==null?void 0:t.e)==null?void 0:a.srcEvent)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.srcElement);e!=null&&e.id&&(f=this.scene)!=null&&f.isCurrentAssetType(e==null?void 0:e.id)&&this.dispatchEvent({type:"SELECTED",data:{...t.data,target:[e]}})}handleControlsPanStart(t){(t==null?void 0:t.type)===xt.PAN_START&&this.multiSelectEnable&&(this.p1.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Cr))}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.multiSelectEnable&&(this.p2.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Cr))}handleControlsPanEnd(t){var r;if((t==null?void 0:t.type)!==xt.PAN_END||!this.multiSelectEnable)return;this.p2.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera);const e=(r=this.scene)==null?void 0:r.getElementsByBox(Cr);this.graph.hide(),Cr.makeEmpty(),this.dispatchEvent({type:"SELECTED",data:{target:e}})}}var to=(n=>(n.SELECTED="SELECTED",n))(to||{});const Cr=new wt;class fm extends Ji{name="Tooltip";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",la+"Tooltip"),this.el.setAttribute("class",la+"-tooltip"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}show(t,e,r){this.el.style.display="none",this.el.textContent=r,this.el.style.position="absolute",this.el.style.left=t+"px",this.el.style.top=e+"px",this.el.style.opacity="0.9",this.el.style.display="block"}hide(){this.el.style.display="none",this.el.textContent=""}}class pm extends Ji{name="SvgView";params;container;camera;controls;scene;p1=new L;p2=new L;graph;tooltip;multiSelector;zoomToSelectEnable=!1;zoomBox=new wt;selectEnable=!1;multiSelectEnable=!1;controlsPanStartHandler=this.handleSkeletonStart.bind(this);controlsPanEndHandler=this.handleSkeletonEnd.bind(this);controlsWheelStartHandler=this.handleSkeletonStart.bind(this);controlsWheelEndHandler=this.handleSkeletonEnd.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPointerOverHandler=this.handleControlsPointerOver.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.camera=new hm({...t.camera||{},flipY:!0}),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.controls=new lm(this.container,this.camera,!0),this.graph=new Nc(this.container),this.params.tooltip&&(this.tooltip=new fm),this.multiSelector=new cm(this.controls,this.container),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t,this.multiSelector.bindScene(this.scene)}setByBox(t){var e;(e=this.camera)==null||e.setByBox(t)}zoomIn(){this.controls.scaled=this.camera.scaled.x*.9,this.controls.update()}zoomOut(){this.controls.scaled=this.camera.scaled.x*1.1,this.controls.update()}zoomToSelectEnableChanged(t){console.log("TODO: zoomToSelectEnableChanged: ",t),this.zoomToSelectEnable=t,this.controls.enablePan=!this.zoomToSelectEnable}selectEnableChanged(t){this.selectEnable=!!t,this.multiSelector.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.multiSelector.multiSelectEnableChanged(t)}bindControlsEvents(){this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.addEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.addEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.addEventListener(to.SELECTED,this.multiSelectorSelectedHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.removeEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.removeEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.removeEventListener(to.SELECTED,this.multiSelectorSelectedHandler)}handleSkeletonStart(t){var e;if(!((t==null?void 0:t.type)!==xt.PAN_START&&(t==null?void 0:t.type)!==xt.WHEEL_START)){if(console.warn("handleSkeletonStart: ",this.zoomToSelectEnable),this.zoomToSelectEnable){this.p1.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Sr);return}this.multiSelectEnable||this.zoomToSelectEnable||(console.warn("handleSkeletonStart: ",t),(e=this.scene)==null||e.showSkeleton())}}handleSkeletonEnd(t){var e;if(!((t==null?void 0:t.type)!==xt.PAN_END&&(t==null?void 0:t.type)!==xt.WHEEL_END)){if(this.zoomToSelectEnable){this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera),this.setByBox(Sr),this.graph.hide(),Sr.makeEmpty();return}(e=this.scene)==null||e.hideSkeleton()}}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.zoomToSelectEnable&&(this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Sr))}handleControlsPointerOver(t){var u,l,c,f,g,x,E,A;const e=((u=t==null?void 0:t.e)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.target)||((g=(f=t==null?void 0:t.e)==null?void 0:f.srcEvent)==null?void 0:g.srcElement),r=e==null?void 0:e.id;let a=!1;r&&((x=this.scene)!=null&&x.isCurrentAssetType(r))&&(a=!0),a?(this.container.style.cursor="pointer",(E=this.tooltip)==null||E.show(t.e.clientX+8,t.e.clientY+15,r)):(this.container.style.cursor="initial",(A=this.tooltip)==null||A.hide())}handleMultiSelectorSelected(t){console.warn("handleMultiSelectorSelected:",t.data),this.dispatchEvent({type:"SELECTED",data:t.data})}}const Sr=new wt;var eo=(n=>(n.SELECTED="SELECTED",n))(eo||{});class dm extends Ji{name="SvgApp";params;renderer;view;scene;loadingScene;mainScene;zoomToSelectEnable=!1;zoomBox=new wt;selectEnable=!1;multiSelectEnable=!1;runningHandler=this.running.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.renderer=new t0(t),this.view=new pm(t),this.trans2LoadingScene()}get isLoadingScene(){var t;return((t=this.scene)==null?void 0:t.name)==="SvgLoadingScene"}destroy(){var t,e;this.unbindAssetsEvents(),super.destroy(),(t=this.view)==null||t.destroy(),(e=this.renderer)==null||e.destroy()}isScene(t){var e;return((e=this.scene)==null?void 0:e.uuid)===t.uuid}removeScene(t){this.scene=void 0,t==null||t.destroy()}trans2MainScene(){var t,e;(t=this.scene)==null||t.unmount(),this.scene=this.mainScene,this.scene.isMounted||this.scene.mount(),this.view.bindScene(this.scene),(e=this.loadingScene)==null||e.destroy()}trans2LoadingScene(){var e,r;this.loadingScene=new um(this.params),(e=this.scene)==null||e.unmount(),this.scene=this.loadingScene,this.scene.isMounted||this.scene.mount();const t=new wt().copy(this.loadingScene.viewBox).expandByVector(new L(1,1).multiplyScalar(360));this.view.setByBox(t),(r=this.mainScene)==null||r.destroy()}start(){requestAnimationFrame(this.runningHandler)}running(){this.scene&&(this.scene.update(),this.renderer.render(this.scene,this.view.camera),requestAnimationFrame(this.runningHandler))}async load(t,e,r=2,a){this.isLoadingScene||this.trans2LoadingScene(),await Dd(this.params.syncDelay);const u=await new Qu().loadAsync(t);this.mainScene=new Cc(this.params),this.mainScene.bind(u),this.view.setByBox(this.mainScene.viewBox);const l=this.mainScene.getLayers(r);return e!=null&&e.length||(e=ct.map(l,"label")),this.mainScene.showDefaultLayers(e,!0),a!=null&&a.length&&this.setSkeletons(a),this.trans2MainScene(),this.bindAssetsEvents(),console.log("svgApp.load: ",l),l}setSkeletons(t){this.mainScene.setSkeletonLayers(t)}getLayers(t=2){return this.mainScene.getLayers(t)}updateLayersVisibility(t,e=!1){this.mainScene.updateLayersVisibility(t,e)}selectedElementsById(t){this.mainScene.selectedElementsById(t),io.copy(this.mainScene.getSelectedBoundingBox()).expandByVector(new L(1,1).multiplyScalar(500)),io.isEmpty()||this.view.setByBox(io)}selectedElements(t){this.mainScene.selectedElements(t,this.multiSelectEnable)}setViewAreaLimit(t){this.renderer.viewAreaLimit=t}setAssetType(t,e){this.mainScene.setAssetType(t,e)}getAssetsIdByType(t){return this.mainScene.getAssetsIdByType(t)}clearFillByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"fill")}setFillByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"fill")}clearStrokeByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"stroke")}setStrokeByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"stroke")}getLegend(){return this.mainScene.getLegend()}setAssetLabel(t,e){this.mainScene.setAssetLabel(t,e)}clearAssetLabels(t){this.mainScene.clearAssetLabels(t)}zoomIn(){this.view.zoomIn()}zoomOut(){this.view.zoomOut()}fontZoomIn(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",1.1)}fontZoomOut(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",.9)}zoomToSelectEnableChanged(t){this.view.zoomToSelectEnableChanged(t)}selectEnableChanged(t){this.selectEnable=!!t,this.view.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.view.multiSelectEnableChanged(t)}clearSelected(){var t;(t=this.scene)==null||t.clearSelected()}socialDistanceEnableChanged(t){var e;(e=this.scene)==null||e.socialDistanceEnableChanged(t)}bindAssetsEvents(){this.view.addEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}unbindAssetsEvents(){this.view.removeEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}handleMultiSelectorSelected(t){this.dispatchEvent({type:"SELECTED",data:t.data})}handleInitializeStart(){console.log("App.initializeStart ...")}async handleInitializeComplete(t){console.log("App.initializeComplete ...",t),t!=null&&t.data&&this.launch()}launch(){console.log("App.launch ...")}}const io=new wt;var Mc=(n=>(n.SELECTED="SELECTED",n))(Mc||{});function gm(n){return new Worker("/environment.worker.js",{type:"module",name:n==null?void 0:n.name})}Ae.AppEnum=Mc,Ae.Color=we,Ae.ColorsEnum=be,Ae.EnvironmentWorker=gm,Ae.GLOB=gt,Ae.SvgApp=dm,Ae.Vector2=Cd,Ae.defaultConfig=$r,Object.defineProperty(Ae,Symbol.toStringTag,{value:"Module"})});
57
+ `;return function(){var H=new Error("get-stack-trace"),Y=H&&H.stack?H.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ot=t.console&&(t.console.warn||t.console.log);return ot&&ot.call(t.console,M,Y),d.apply(this,arguments)}}var S;typeof Object.assign!="function"?S=function(v){if(v===a||v===null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(v),M=1;M<arguments.length;M++){var H=arguments[M];if(H!==a&&H!==null)for(var Y in H)H.hasOwnProperty(Y)&&(w[Y]=H[Y])}return w}:S=Object.assign;var D=I(function(v,w,M){for(var H=Object.keys(w),Y=0;Y<H.length;)(!M||M&&v[H[Y]]===a)&&(v[H[Y]]=w[H[Y]]),Y++;return v},"extend","Use `assign`."),q=I(function(v,w){return D(v,w,!0)},"merge","Use `assign`.");function V(d,v,w){var M=v.prototype,H;H=d.prototype=Object.create(M),H.constructor=d,H._super=M,w&&S(H,w)}function W(d,v){return function(){return d.apply(v,arguments)}}function X(d,v){return typeof d==c?d.apply(v&&v[0]||a,v):d}function $(d,v){return d===a?v:d}function K(d,v,w){T(J(v),function(M){d.addEventListener(M,w,!1)})}function tt(d,v,w){T(J(v),function(M){d.removeEventListener(M,w,!1)})}function Z(d,v){for(;d;){if(d==v)return!0;d=d.parentNode}return!1}function z(d,v){return d.indexOf(v)>-1}function J(d){return d.trim().split(/\s+/g)}function nt(d,v,w){if(d.indexOf&&!w)return d.indexOf(v);for(var M=0;M<d.length;){if(w&&d[M][w]==v||!w&&d[M]===v)return M;M++}return-1}function mt(d){return Array.prototype.slice.call(d,0)}function It(d,v,w){for(var M=[],H=[],Y=0;Y<d.length;){var ot=d[Y][v];nt(H,ot)<0&&M.push(d[Y]),H[Y]=ot,Y++}return M=M.sort(function(zt,Yt){return zt[v]>Yt[v]}),M}function Ct(d,v){for(var w,M,H=v[0].toUpperCase()+v.slice(1),Y=0;Y<u.length;){if(w=u[Y],M=w?w+H:v,M in d)return M;Y++}return a}var yt=1;function B(){return yt++}function Pt(d){var v=d.ownerDocument||d;return v.defaultView||v.parentWindow||t}var Pe=/mobile|tablet|ip(ad|hone|od)|android/i,ca="ontouchstart"in t,ln=Ct(t,"PointerEvent")!==a,Le=ca&&Pe.test(navigator.userAgent),Dr="touch",ro="pen",os="mouse",ir="kinect",hn=25,Kt=1,_e=2,St=4,re=8,Pi=1,mi=2,rr=4,Qt=8,ri=16,Re=mi|rr,Jt=Qt|ri,ls=Re|Jt,fa=["x","y"],yi=["clientX","clientY"];function Ot(d,v){var w=this;this.manager=d,this.callback=v,this.element=d.element,this.target=d.options.inputTarget,this.domHandler=function(M){X(d.options.enable,[d])&&w.handler(M)},this.init()}Ot.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Pt(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&tt(this.element,this.evEl,this.domHandler),this.evTarget&&tt(this.target,this.evTarget,this.domHandler),this.evWin&&tt(Pt(this.element),this.evWin,this.domHandler)}};function Nr(d){var v,w=d.options.inputClass;return w?v=w:ln?v=ys:Le?v=ar:ca?v=Es:v=dn,new v(d,cn)}function cn(d,v,w){var M=w.pointers.length,H=w.changedPointers.length,Y=v&Kt&&M-H===0,ot=v&(St|re)&&M-H===0;w.isFirst=!!Y,w.isFinal=!!ot,Y&&(d.session={}),w.eventType=v,no(d,w),d.emit("hammer.input",w),d.recognize(w),d.session.prevInput=w}function no(d,v){var w=d.session,M=v.pointers,H=M.length;w.firstInput||(w.firstInput=nr(v)),H>1&&!w.firstMultiple?w.firstMultiple=nr(v):H===1&&(w.firstMultiple=!1);var Y=w.firstInput,ot=w.firstMultiple,qt=ot?ot.center:Y.center,zt=v.center=Li(M);v.timeStamp=x(),v.deltaTime=v.timeStamp-Y.timeStamp,v.angle=Or(qt,zt),v.distance=sr(qt,zt),Mr(w,v),v.offsetDirection=pn(v.deltaX,v.deltaY);var Yt=fn(v.deltaTime,v.deltaX,v.deltaY);v.overallVelocityX=Yt.x,v.overallVelocityY=Yt.y,v.overallVelocity=g(Yt.x)>g(Yt.y)?Yt.x:Yt.y,v.scale=ot?cs(ot.pointers,M):1,v.rotation=ot?hs(ot.pointers,M):0,v.maxPointers=w.prevInput?v.pointers.length>w.prevInput.maxPointers?v.pointers.length:w.prevInput.maxPointers:v.pointers.length,so(w,v);var Ue=d.element;Z(v.srcEvent.target,Ue)&&(Ue=v.srcEvent.target),v.target=Ue}function Mr(d,v){var w=v.center,M=d.offsetDelta||{},H=d.prevDelta||{},Y=d.prevInput||{};(v.eventType===Kt||Y.eventType===St)&&(H=d.prevDelta={x:Y.deltaX||0,y:Y.deltaY||0},M=d.offsetDelta={x:w.x,y:w.y}),v.deltaX=H.x+(w.x-M.x),v.deltaY=H.y+(w.y-M.y)}function so(d,v){var w=d.lastInterval||v,M=v.timeStamp-w.timeStamp,H,Y,ot,qt;if(v.eventType!=re&&(M>hn||w.velocity===a)){var zt=v.deltaX-w.deltaX,Yt=v.deltaY-w.deltaY,Ue=fn(M,zt,Yt);Y=Ue.x,ot=Ue.y,H=g(Ue.x)>g(Ue.y)?Ue.x:Ue.y,qt=pn(zt,Yt),d.lastInterval=v}else H=w.velocity,Y=w.velocityX,ot=w.velocityY,qt=w.direction;v.velocity=H,v.velocityX=Y,v.velocityY=ot,v.direction=qt}function nr(d){for(var v=[],w=0;w<d.pointers.length;)v[w]={clientX:f(d.pointers[w].clientX),clientY:f(d.pointers[w].clientY)},w++;return{timeStamp:x(),pointers:v,center:Li(v),deltaX:d.deltaX,deltaY:d.deltaY}}function Li(d){var v=d.length;if(v===1)return{x:f(d[0].clientX),y:f(d[0].clientY)};for(var w=0,M=0,H=0;H<v;)w+=d[H].clientX,M+=d[H].clientY,H++;return{x:f(w/v),y:f(M/v)}}function fn(d,v,w){return{x:v/d||0,y:w/d||0}}function pn(d,v){return d===v?Pi:g(d)>=g(v)?d<0?mi:rr:v<0?Qt:ri}function sr(d,v,w){w||(w=fa);var M=v[w[0]]-d[w[0]],H=v[w[1]]-d[w[1]];return Math.sqrt(M*M+H*H)}function Or(d,v,w){w||(w=fa);var M=v[w[0]]-d[w[0]],H=v[w[1]]-d[w[1]];return Math.atan2(H,M)*180/Math.PI}function hs(d,v){return Or(v[1],v[0],yi)+Or(d[1],d[0],yi)}function cs(d,v){return sr(v[0],v[1],yi)/sr(d[0],d[1],yi)}var fs={mousedown:Kt,mousemove:_e,mouseup:St},ps="mousedown",ds="mousemove mouseup";function dn(){this.evEl=ps,this.evWin=ds,this.pressed=!1,Ot.apply(this,arguments)}V(dn,Ot,{handler:function(v){var w=fs[v.type];w&Kt&&v.button===0&&(this.pressed=!0),w&_e&&v.which!==1&&(w=St),this.pressed&&(w&St&&(this.pressed=!1),this.callback(this.manager,w,{pointers:[v],changedPointers:[v],pointerType:os,srcEvent:v}))}});var ao={pointerdown:Kt,pointermove:_e,pointerup:St,pointercancel:re,pointerout:re},uo={2:Dr,3:ro,4:os,5:ir},gs="pointerdown",ms="pointermove pointerup pointercancel";t.MSPointerEvent&&!t.PointerEvent&&(gs="MSPointerDown",ms="MSPointerMove MSPointerUp MSPointerCancel");function ys(){this.evEl=gs,this.evWin=ms,Ot.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}V(ys,Ot,{handler:function(v){var w=this.store,M=!1,H=v.type.toLowerCase().replace("ms",""),Y=ao[H],ot=uo[v.pointerType]||v.pointerType,qt=ot==Dr,zt=nt(w,v.pointerId,"pointerId");Y&Kt&&(v.button===0||qt)?zt<0&&(w.push(v),zt=w.length-1):Y&(St|re)&&(M=!0),!(zt<0)&&(w[zt]=v,this.callback(this.manager,Y,{pointers:w,changedPointers:[v],pointerType:ot,srcEvent:v}),M&&w.splice(zt,1))}});var oo={touchstart:Kt,touchmove:_e,touchend:St,touchcancel:re},lo="touchstart",ho="touchstart touchmove touchend touchcancel";function vs(){this.evTarget=lo,this.evWin=ho,this.started=!1,Ot.apply(this,arguments)}V(vs,Ot,{handler:function(v){var w=oo[v.type];if(w===Kt&&(this.started=!0),!!this.started){var M=co.call(this,v,w);w&(St|re)&&M[0].length-M[1].length===0&&(this.started=!1),this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:v})}}});function co(d,v){var w=mt(d.touches),M=mt(d.changedTouches);return v&(St|re)&&(w=It(w.concat(M),"identifier")),[w,M]}var fo={touchstart:Kt,touchmove:_e,touchend:St,touchcancel:re},po="touchstart touchmove touchend touchcancel";function ar(){this.evTarget=po,this.targetIds={},Ot.apply(this,arguments)}V(ar,Ot,{handler:function(v){var w=fo[v.type],M=go.call(this,v,w);M&&this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:v})}});function go(d,v){var w=mt(d.touches),M=this.targetIds;if(v&(Kt|_e)&&w.length===1)return M[w[0].identifier]=!0,[w,w];var H,Y,ot=mt(d.changedTouches),qt=[],zt=this.target;if(Y=w.filter(function(Yt){return Z(Yt.target,zt)}),v===Kt)for(H=0;H<Y.length;)M[Y[H].identifier]=!0,H++;for(H=0;H<ot.length;)M[ot[H].identifier]&&qt.push(ot[H]),v&(St|re)&&delete M[ot[H].identifier],H++;if(qt.length)return[It(Y.concat(qt),"identifier"),qt]}var xs=2500,pa=25;function Es(){Ot.apply(this,arguments);var d=W(this.handler,this);this.touch=new ar(this.manager,d),this.mouse=new dn(this.manager,d),this.primaryTouch=null,this.lastTouches=[]}V(Es,Ot,{handler:function(v,w,M){var H=M.pointerType==Dr,Y=M.pointerType==os;if(!(Y&&M.sourceCapabilities&&M.sourceCapabilities.firesTouchEvents)){if(H)mo.call(this,w,M);else if(Y&&yo.call(this,M))return;this.callback(v,w,M)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function mo(d,v){d&Kt?(this.primaryTouch=v.changedPointers[0].identifier,da.call(this,v)):d&(St|re)&&da.call(this,v)}function da(d){var v=d.changedPointers[0];if(v.identifier===this.primaryTouch){var w={x:v.clientX,y:v.clientY};this.lastTouches.push(w);var M=this.lastTouches,H=function(){var Y=M.indexOf(w);Y>-1&&M.splice(Y,1)};setTimeout(H,xs)}}function yo(d){for(var v=d.srcEvent.clientX,w=d.srcEvent.clientY,M=0;M<this.lastTouches.length;M++){var H=this.lastTouches[M],Y=Math.abs(v-H.x),ot=Math.abs(w-H.y);if(Y<=pa&&ot<=pa)return!0}return!1}var ga=Ct(l.style,"touchAction"),ma=ga!==a,ya="compute",As="auto",bs="manipulation",Ri="none",Br="pan-x",Ir="pan-y",gn=vo();function ws(d,v){this.manager=d,this.set(v)}ws.prototype={set:function(d){d==ya&&(d=this.compute()),ma&&this.manager.element.style&&gn[d]&&(this.manager.element.style[ga]=d),this.actions=d.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var d=[];return T(this.manager.recognizers,function(v){X(v.options.enable,[v])&&(d=d.concat(v.getTouchAction()))}),mn(d.join(" "))},preventDefaults:function(d){var v=d.srcEvent,w=d.offsetDirection;if(this.manager.session.prevented){v.preventDefault();return}var M=this.actions,H=z(M,Ri)&&!gn[Ri],Y=z(M,Ir)&&!gn[Ir],ot=z(M,Br)&&!gn[Br];if(H){var qt=d.pointers.length===1,zt=d.distance<2,Yt=d.deltaTime<250;if(qt&&zt&&Yt)return}if(!(ot&&Y)&&(H||Y&&w&Re||ot&&w&Jt))return this.preventSrc(v)},preventSrc:function(d){this.manager.session.prevented=!0,d.preventDefault()}};function mn(d){if(z(d,Ri))return Ri;var v=z(d,Br),w=z(d,Ir);return v&&w?Ri:v||w?v?Br:Ir:z(d,bs)?bs:As}function vo(){if(!ma)return!1;var d={},v=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(w){d[w]=v?t.CSS.supports("touch-action",w):!0}),d}var Fi=1,ge=2,ur=4,vi=8,Fe=vi,or=16,Ce=32;function ni(d){this.options=S({},this.defaults,d||{}),this.id=B(),this.manager=null,this.options.enable=$(this.options.enable,!0),this.state=Fi,this.simultaneous={},this.requireFail=[]}ni.prototype={defaults:{},set:function(d){return S(this.options,d),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(d){if(A(d,"recognizeWith",this))return this;var v=this.simultaneous;return d=yn(d,this),v[d.id]||(v[d.id]=d,d.recognizeWith(this)),this},dropRecognizeWith:function(d){return A(d,"dropRecognizeWith",this)?this:(d=yn(d,this),delete this.simultaneous[d.id],this)},requireFailure:function(d){if(A(d,"requireFailure",this))return this;var v=this.requireFail;return d=yn(d,this),nt(v,d)===-1&&(v.push(d),d.requireFailure(this)),this},dropRequireFailure:function(d){if(A(d,"dropRequireFailure",this))return this;d=yn(d,this);var v=nt(this.requireFail,d);return v>-1&&this.requireFail.splice(v,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(d){return!!this.simultaneous[d.id]},emit:function(d){var v=this,w=this.state;function M(H){v.manager.emit(H,d)}w<vi&&M(v.options.event+va(w)),M(v.options.event),d.additionalEvent&&M(d.additionalEvent),w>=vi&&M(v.options.event+va(w))},tryEmit:function(d){if(this.canEmit())return this.emit(d);this.state=Ce},canEmit:function(){for(var d=0;d<this.requireFail.length;){if(!(this.requireFail[d].state&(Ce|Fi)))return!1;d++}return!0},recognize:function(d){var v=S({},d);if(!X(this.options.enable,[this,v])){this.reset(),this.state=Ce;return}this.state&(Fe|or|Ce)&&(this.state=Fi),this.state=this.process(v),this.state&(ge|ur|vi|or)&&this.tryEmit(v)},process:function(d){},getTouchAction:function(){},reset:function(){}};function va(d){return d&or?"cancel":d&vi?"end":d&ur?"move":d&ge?"start":""}function xa(d){return d==ri?"down":d==Qt?"up":d==mi?"left":d==rr?"right":""}function yn(d,v){var w=v.manager;return w?w.get(d):d}function me(){ni.apply(this,arguments)}V(me,ni,{defaults:{pointers:1},attrTest:function(d){var v=this.options.pointers;return v===0||d.pointers.length===v},process:function(d){var v=this.state,w=d.eventType,M=v&(ge|ur),H=this.attrTest(d);return M&&(w&re||!H)?v|or:M||H?w&St?v|vi:v&ge?v|ur:ge:Ce}});function Pr(){me.apply(this,arguments),this.pX=null,this.pY=null}V(Pr,me,{defaults:{event:"pan",threshold:10,pointers:1,direction:ls},getTouchAction:function(){var d=this.options.direction,v=[];return d&Re&&v.push(Ir),d&Jt&&v.push(Br),v},directionTest:function(d){var v=this.options,w=!0,M=d.distance,H=d.direction,Y=d.deltaX,ot=d.deltaY;return H&v.direction||(v.direction&Re?(H=Y===0?Pi:Y<0?mi:rr,w=Y!=this.pX,M=Math.abs(d.deltaX)):(H=ot===0?Pi:ot<0?Qt:ri,w=ot!=this.pY,M=Math.abs(d.deltaY))),d.direction=H,w&&M>v.threshold&&H&v.direction},attrTest:function(d){return me.prototype.attrTest.call(this,d)&&(this.state&ge||!(this.state&ge)&&this.directionTest(d))},emit:function(d){this.pX=d.deltaX,this.pY=d.deltaY;var v=xa(d.direction);v&&(d.additionalEvent=this.options.event+v),this._super.emit.call(this,d)}});function vn(){me.apply(this,arguments)}V(vn,me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ri]},attrTest:function(d){return this._super.attrTest.call(this,d)&&(Math.abs(d.scale-1)>this.options.threshold||this.state&ge)},emit:function(d){if(d.scale!==1){var v=d.scale<1?"in":"out";d.additionalEvent=this.options.event+v}this._super.emit.call(this,d)}});function Lr(){ni.apply(this,arguments),this._timer=null,this._input=null}V(Lr,ni,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[As]},process:function(d){var v=this.options,w=d.pointers.length===v.pointers,M=d.distance<v.threshold,H=d.deltaTime>v.time;if(this._input=d,!M||!w||d.eventType&(St|re)&&!H)this.reset();else if(d.eventType&Kt)this.reset(),this._timer=E(function(){this.state=Fe,this.tryEmit()},v.time,this);else if(d.eventType&St)return Fe;return Ce},reset:function(){clearTimeout(this._timer)},emit:function(d){this.state===Fe&&(d&&d.eventType&St?this.manager.emit(this.options.event+"up",d):(this._input.timeStamp=x(),this.manager.emit(this.options.event,this._input)))}});function Ts(){me.apply(this,arguments)}V(Ts,me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ri]},attrTest:function(d){return this._super.attrTest.call(this,d)&&(Math.abs(d.rotation)>this.options.threshold||this.state&ge)}});function xn(){me.apply(this,arguments)}V(xn,me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Re|Jt,pointers:1},getTouchAction:function(){return Pr.prototype.getTouchAction.call(this)},attrTest:function(d){var v=this.options.direction,w;return v&(Re|Jt)?w=d.overallVelocity:v&Re?w=d.overallVelocityX:v&Jt&&(w=d.overallVelocityY),this._super.attrTest.call(this,d)&&v&d.offsetDirection&&d.distance>this.options.threshold&&d.maxPointers==this.options.pointers&&g(w)>this.options.velocity&&d.eventType&St},emit:function(d){var v=xa(d.offsetDirection);v&&this.manager.emit(this.options.event+v,d),this.manager.emit(this.options.event,d)}});function Ui(){ni.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}V(Ui,ni,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[bs]},process:function(d){var v=this.options,w=d.pointers.length===v.pointers,M=d.distance<v.threshold,H=d.deltaTime<v.time;if(this.reset(),d.eventType&Kt&&this.count===0)return this.failTimeout();if(M&&H&&w){if(d.eventType!=St)return this.failTimeout();var Y=this.pTime?d.timeStamp-this.pTime<v.interval:!0,ot=!this.pCenter||sr(this.pCenter,d.center)<v.posThreshold;this.pTime=d.timeStamp,this.pCenter=d.center,!ot||!Y?this.count=1:this.count+=1,this._input=d;var qt=this.count%v.taps;if(qt===0)return this.hasRequireFailures()?(this._timer=E(function(){this.state=Fe,this.tryEmit()},v.interval,this),ge):Fe}return Ce},failTimeout:function(){return this._timer=E(function(){this.state=Ce},this.options.interval,this),Ce},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Fe&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function si(d,v){return v=v||{},v.recognizers=$(v.recognizers,si.defaults.preset),new En(d,v)}si.VERSION="2.0.7",si.defaults={domEvents:!1,touchAction:ya,enable:!0,inputTarget:null,inputClass:null,preset:[[Ts,{enable:!1}],[vn,{enable:!1},["rotate"]],[xn,{direction:Re}],[Pr,{direction:Re},["swipe"]],[Ui],[Ui,{event:"doubletap",taps:2},["tap"]],[Lr]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var xo=1,_s=2;function En(d,v){this.options=S({},si.defaults,v||{}),this.options.inputTarget=this.options.inputTarget||d,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=d,this.input=Nr(this),this.touchAction=new ws(this,this.options.touchAction),An(this,!0),T(this.options.recognizers,function(w){var M=this.add(new w[0](w[1]));w[2]&&M.recognizeWith(w[2]),w[3]&&M.requireFailure(w[3])},this)}En.prototype={set:function(d){return S(this.options,d),d.touchAction&&this.touchAction.update(),d.inputTarget&&(this.input.destroy(),this.input.target=d.inputTarget,this.input.init()),this},stop:function(d){this.session.stopped=d?_s:xo},recognize:function(d){var v=this.session;if(!v.stopped){this.touchAction.preventDefaults(d);var w,M=this.recognizers,H=v.curRecognizer;(!H||H&&H.state&Fe)&&(H=v.curRecognizer=null);for(var Y=0;Y<M.length;)w=M[Y],v.stopped!==_s&&(!H||w==H||w.canRecognizeWith(H))?w.recognize(d):w.reset(),!H&&w.state&(ge|ur|vi)&&(H=v.curRecognizer=w),Y++}},get:function(d){if(d instanceof ni)return d;for(var v=this.recognizers,w=0;w<v.length;w++)if(v[w].options.event==d)return v[w];return null},add:function(d){if(A(d,"add",this))return this;var v=this.get(d.options.event);return v&&this.remove(v),this.recognizers.push(d),d.manager=this,this.touchAction.update(),d},remove:function(d){if(A(d,"remove",this))return this;if(d=this.get(d),d){var v=this.recognizers,w=nt(v,d);w!==-1&&(v.splice(w,1),this.touchAction.update())}return this},on:function(d,v){if(d!==a&&v!==a){var w=this.handlers;return T(J(d),function(M){w[M]=w[M]||[],w[M].push(v)}),this}},off:function(d,v){if(d!==a){var w=this.handlers;return T(J(d),function(M){v?w[M]&&w[M].splice(nt(w[M],v),1):delete w[M]}),this}},emit:function(d,v){this.options.domEvents&&Eo(d,v);var w=this.handlers[d]&&this.handlers[d].slice();if(!(!w||!w.length)){v.type=d,v.preventDefault=function(){v.srcEvent.preventDefault()};for(var M=0;M<w.length;)w[M](v),M++}},destroy:function(){this.element&&An(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function An(d,v){var w=d.element;if(w.style){var M;T(d.options.cssProps,function(H,Y){M=Ct(w.style,Y),v?(d.oldCssProps[M]=w.style[M],w.style[M]=H):w.style[M]=d.oldCssProps[M]||""}),v||(d.oldCssProps={})}}function Eo(d,v){var w=e.createEvent("Event");w.initEvent(d,!0,!0),w.gesture=v,v.target.dispatchEvent(w)}S(si,{INPUT_START:Kt,INPUT_MOVE:_e,INPUT_END:St,INPUT_CANCEL:re,STATE_POSSIBLE:Fi,STATE_BEGAN:ge,STATE_CHANGED:ur,STATE_ENDED:vi,STATE_RECOGNIZED:Fe,STATE_CANCELLED:or,STATE_FAILED:Ce,DIRECTION_NONE:Pi,DIRECTION_LEFT:mi,DIRECTION_RIGHT:rr,DIRECTION_UP:Qt,DIRECTION_DOWN:ri,DIRECTION_HORIZONTAL:Re,DIRECTION_VERTICAL:Jt,DIRECTION_ALL:ls,Manager:En,Input:Ot,TouchAction:ws,TouchInput:ar,MouseInput:dn,PointerEventInput:ys,TouchMouseInput:Es,SingleTouchInput:vs,Recognizer:ni,AttrRecognizer:me,Tap:Ui,Pan:Pr,Swipe:xn,Pinch:vn,Rotate:Ts,Press:Lr,on:K,off:tt,each:T,merge:q,extend:D,assign:S,inherit:V,bindFn:W,prefixed:Ct});var Ea=typeof t<"u"?t:typeof self<"u"?self:{};Ea.Hammer=si,n.exports?n.exports=si:t[r]=si})(window,document,"Hammer")})(Sc);var om=Sc.exports;const us=Nl(om),Dc=new L,ii=new L;class lm extends Ji{name="orbit-controller.ts";isSvg=!1;dom;domOffset=new L;camera;hammer;enabled=!0;enablePan=!0;enableRotate=!0;rotateSpeed=1;enableZoom=!0;minZoom=0;maxZoom=1/0;zoomSpeed=1;zoomChanged=!1;distanceStart=1;distanceEnd=1;state=-1;EPS=1e-6;focus=new L;target=new L;scaled=1;rotateTheta=0;enableDamping=!1;dampingFactor=.05;mouseButtons={LEFT:2,MIDDLE:1,RIGHT:0};isWheeling=!1;finalTimer;rotateStart=new L;rotateEnd=new L;rotateDelta=new L;panStart=new L;panEnd=new L;panOffset=new L;dollyStart=0;dollyOffset=new L;contextMenuHandler=this.handleContextMenu.bind(this);wheelHandler=this.handleWheel.bind(this);pointerDownHandler=this.handlePointerDown.bind(this);pointerUpHandler=this.handlePointerUp.bind(this);pointerMoveHandler=this.handlePointerMove.bind(this);pointerOverHandler=this.handlePointerOver.bind(this);pointerLeaveHandler=this.handlePointerLeave.bind(this);tapHandler=this.handleTap.bind(this);panHandler=this.handlePan.bind(this);pinchHandler=this.handlePinch.bind(this);pressHandler=this.handlePress.bind(this);swipeHandler=this.handleSwipe.bind(this);hammerInputHandler=this.handleHammerInput.bind(this);constructor(t,e,r=!1){super(),this.isSvg=r,this.dom=t,this.camera=e,this.scaled=e.scaled.x;let a=this.dom.getBoundingClientRect();this.domOffset.set(a.left,a.top),this.dom.style.touchAction="none",this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}update(){Dc.copy(this.camera.position).sub(this.target),this.target.add(this.panOffset),this.camera.position.copy(this.target).add(Dc),this.camera.position.add(this.dollyOffset),this.camera.scaled.set(this.scaled,this.scaled),this.camera.update(),this.panOffset.set(0,0),this.dollyOffset.set(0,0),this.scaled=this.camera.scaled.x}bindEvents(){this.unbindEvents(),this.hammer=new us.Manager(this.dom);const t=new us.Pan({threshold:0,pointers:0}),e=new us.Pinch({threshold:0}),r=new us.Tap({event:"singletap",taps:1}),a=new us.Press({});this.hammer.add([t,r,a,e]),e.recognizeWith(t),this.hammer.on(["panstart","panmove","panend"].join(" "),this.panHandler),this.hammer.on(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),this.hammer.on("singletap",this.tapHandler),this.hammer.on("press",this.pressHandler),this.hammer.on("swipe",this.swipeHandler),this.hammer.on("hammer.input",this.hammerInputHandler),this.dom.addEventListener("contextmenu",this.contextMenuHandler),this.dom.addEventListener("wheel",this.wheelHandler,{passive:!1}),this.dom.addEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.addEventListener("pointerdown",this.pointerDownHandler),this.dom.addEventListener("pointerleave",this.pointerLeaveHandler))}unbindEvents(){var t,e,r,a,u,l,c,f;(t=this.hammer)==null||t.off(["panstart","panmove","panend"].join(" "),this.panHandler),(e=this.hammer)==null||e.off(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),(r=this.hammer)==null||r.off("singletap",this.tapHandler),(a=this.hammer)==null||a.off("press",this.pressHandler),(u=this.hammer)==null||u.off("swipe",this.swipeHandler),(l=this.hammer)==null||l.off("hammer.input",this.hammerInputHandler),this.dom.removeEventListener("contextmenu",this.contextMenuHandler),this.dom.removeEventListener("wheel",this.wheelHandler),this.dom.removeEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.removeEventListener("pointerdown",this.pointerDownHandler),this.dom.removeEventListener("pointerleave",this.pointerLeaveHandler)),(c=this.hammer)==null||c.stop(!0),(f=this.hammer)==null||f.destroy()}setFocus(t,e){this.focus.set(t,e).sub(this.domOffset).unproject(this.camera)}handleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Tap: ",t),ii.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"tap",data:{screenCoords:{x:ii.x,y:ii.y}},e:t})}handleDoubleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】DoubleTap: ",t),ii.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"doubletap",data:{screenCoords:{x:ii.x,y:ii.y}}})}handlePress(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Press: ",t)}handlePan(t){var r;if(((r=t.pointers)==null?void 0:r.length)!==1)return;typeof t.preventDefault=="function"&&t.preventDefault();const e={type:"panmove",data:{}};(t.isFirst||t.type==="panstart")&&(this.state=2,this.panStart.set(t.center.x,t.center.y),e.type="panstart"),(t.isFinal||t.type==="panend")&&(this.state=-1,e.type="panend"),this.panEnd.set(t.center.x,t.center.y),this.panOffset.subVectors(this.panEnd,this.panStart).multiplyScalar(-this.camera.scaled.x,-this.camera.scaled.y*(this.camera.flipY?1:-1)),this.panStart.copy(this.panEnd),ii.set(t.center.x,t.center.y).sub(this.domOffset),e.data.screenCoords=ii.clone(),this.dispatchEvent(e),this.enablePan&&this.update()}handlePinch(t){typeof t.preventDefault=="function"&&t.preventDefault(),t.type==="pinchstart"&&(this.dollyStart=this.camera.scaled.x,this.state=1),(t.isFinal||t.type==="pinchend")&&(this.state=-1),this.scaled=this.dollyStart*(1/t.scale);let e=(this.scaled-this.camera.scaled.x)/this.camera.scaled.x;this.setFocus(t.center.x,t.center.y),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-e).sub(this.camera.position),this.update()}handleRotate(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleSwipe(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleHammerInput(t){var e,r;t.isFirst&&(console.warn("【orbitController】isFirst: ",(e=t.pointers)==null?void 0:e.length,t),this.state=9),t.isFinal&&(console.warn("【orbitController】isFinal: ",(r=t.pointers)==null?void 0:r.length,t),this.state=-1)}handleContextMenu(t){this.enabled&&typeof t.preventDefault=="function"&&t.preventDefault()}handleWheel(t){if(!this.enabled||!this.enableZoom||this.state!==-1)return;this.isWheeling||(this.dispatchEvent({type:"wheelstart"}),this.isWheeling=!0),typeof t.preventDefault=="function"&&t.preventDefault(),typeof t.stopPropagation=="function"&&t.stopPropagation();let e=t.deltaY;(t==null?void 0:t.deltaMode)===1?e*=16:(t==null?void 0:t.deltaMode)===2&&(e*=100),t!=null&&t.ctrlKey&&(e*=10),this.setFocus(t.clientX,t.clientY);let r=this.getZoomScale(e);e<0?this.onDollyIn(r):e>0?this.onDollyOut(r):(this.scaled=this.camera.scaled.x,this.dollyOffset.set(0,0)),this.update(),clearTimeout(this.finalTimer),this.finalTimer=setTimeout(()=>{this.isWheeling&&(this.dispatchEvent({type:"wheelend"}),this.isWheeling=!1)},500)}onDollyIn(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x*t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,1-t).sub(this.camera.position)}onDollyOut(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x/t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-1+t).sub(this.camera.position)}getZoomScale(t){return Math.pow(.95,this.zoomSpeed*Math.abs(t*.03))}handlePointerDown(t){if(!this.enabled||t.button!==2)return;this.dom.addEventListener("pointermove",this.pointerMoveHandler),this.dom.addEventListener("pointerup",this.pointerUpHandler);let e=-1;t.button===0?e=this.mouseButtons.LEFT:t.button===1?e=this.mouseButtons.MIDDLE:t.button===2&&(e=this.mouseButtons.RIGHT),e===0&&(this.rotateStart.set(t.clientX,t.clientY),this.setFocus(this.rotateStart.x,this.rotateStart.y),this.state=0)}handlePointerUp(){this.dom.removeEventListener("pointermove",this.pointerMoveHandler),this.dom.removeEventListener("pointerup",this.pointerUpHandler),this.state=-1}handlePointerLeave(){this.state=-1}handlePointerMove(t){if(this.enabled&&this.state===0){if(!this.enableRotate)return;this.onRotate(t.clientX,t.clientY)}}handlePointerOver(t){t.buttons>0||(ii.set(t.clientX,t.clientY).sub(this.domOffset),this.dispatchEvent({type:"pointerover",data:{screenCoords:{x:ii.x,y:ii.y}},e:t}))}onRotate(t,e){this.rotateEnd.set(t,e),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const r=this.rotateDelta.x*Math.PI*2/this.dom.clientHeight;this.rotateTheta-=r,this.rotateStart.copy(this.rotateEnd),this.camera.rotation.x-=this.rotateTheta,this.target.rotateAround(this.focus,-this.rotateTheta),this.camera.position.copy(this.target),this.camera.update(),this.rotateTheta=0}}var xt=(n=>(n.CONTEXTMENU="contextmenu",n.LOSTPOINTERCAPTURE="lostpointercapture",n.MOUSEOVER="mouseover",n.MOUSEOUT="mouseout",n.MOUSELEAVE="mouseleave",n.MOUSEENTER="mouseenter",n.MOUSEMOVE="mousemove",n.MOUSEDOWN="mousedown",n.MOUSEUP="mouseup",n.POINTERMOVE="pointermove",n.POINTERDOWN="pointerdown",n.POINTERUP="pointerup",n.POINTERCANCEL="pointercancel",n.POINTEROUT="pointerout",n.POINTERLEAVE="pointerleave",n.POINTEROVER="pointerover",n.POINTERENTER="pointerenter",n.TOUCHSTART="touchstart",n.TOUCHEND="touchend",n.TOUCHMOVE="touchmove",n.TOUCHCANCEL="touchcancel",n.WHEEL="wheel",n.WHEEL_START="wheelstart",n.WHEEL_END="wheelend",n.MOUSEWHEEL="mousewheel",n.CLICK="click",n.DBLCLICK="dblclick",n.CONTEXT_LOST="contextlost",n.CONTEXT_RESTORED="contextrestored",n.CONTROLS_CHANGED="controlschanged",n.TAP="tap",n.SINGLE_TAP="singletap",n.DOUBLE_TAP="doubletap",n.PRESS="press",n.PAN="pan",n.PAN_START="panstart",n.PAN_MOVE="panmove",n.PAN_END="panend",n.ROTATE="rotate",n.ROTATE_START="rotatestart",n.ROTATE_MOVE="rotatemove",n.ROTATE_END="rotateend",n.PINCH="pinch",n.PINCH_START="pinchstart",n.PINCH_MOVE="pinchmove",n.PINCH_END="pinchend",n.PINCH_IN="pinchin",n.PINCH_OUT="pinchout",n.SWIPE="swipe",n.CHANGE_START="change_start",n.CHANGE_END="change_end",n))(xt||{});const on=new L;class hm extends ra{isCamera=!0;type="Camera2";name="Camera2";params;matrixAutoUpdate=!1;matrixWorldAutoUpdate=!1;projectionMatrix=new Mt;projectionMatrixInverse=new Mt;viewMatrix=new Mt;viewMatrixNeedsUpdate=!0;viewArea=0;left=-1;right=1;top=1;bottom=-1;width=2;height=2;aspect=1;view;constructor(t){super(),this.width=(t==null?void 0:t.width)!==void 0?t.width:2,this.height=(t==null?void 0:t.height)!==void 0?t.height:2,this.aspect=(t==null?void 0:t.aspect)!==void 0?t.aspect:1,(t==null?void 0:t.left)!==void 0&&(this.left=t.left),(t==null?void 0:t.right)!==void 0&&(this.right=t.right),(t==null?void 0:t.top)!==void 0&&(this.top=t.top),(t==null?void 0:t.bottom)!==void 0&&(this.bottom=t.bottom);const e=(this.right+this.left)/2,r=(this.top+this.bottom)/2;if(this.aspect>1){const a=Math.round((this.right-this.left)/2/this.aspect);this.top=r+a,this.bottom=r-a}else if(this.aspect<1){const a=Math.round((this.top-this.bottom)/2*this.aspect);this.left=e-a,this.right=e+a}this.flipY=(t==null?void 0:t.flipY)===!0,this.updateProjectionMatrix(),t!=null&&t.eye&&this.position.fromArray(t.eye),t!=null&&t.up&&this.up.fromArray(t.up),this.computeBoundingBox(),this.update()}destroy(){super.destroy()}get pixelWidth(){return this.scaled.x}set(t=-1,e=1,r=1,a=-1){on.set(t+e,a+r).multiplyScalar(.5);const u=Math.max((e-t)/this.width,(r-a)/this.height);this.position.set(on.x,on.y),this.rotation.set(0,0),this.scaled.set(u,u),this.update()}setByBox(t){if(!t||t.isEmpty())throw new Error("box is empty");this.set(t.min.x,t.max.x,t.max.y,t.min.y)}resize(t,e){this.aspect=t/e,this.updateProjectionMatrix(),this.update()}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[6],-e[7]).normalize()}updateMatrixWorld(t=!1){super.updateMatrixWorld(t),this.updateViewMatrix()}updateProjectionMatrix(){this.parent===void 0&&this.matrixWorldAutoUpdate&&this.updateMatrixWorld(),this.projectionMatrix.makeProjection(this.left,this.right,this.top,this.bottom,this.width,this.height),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}updateViewMatrix(){this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.viewMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse)}update(){this.matrixAutoUpdate||this.updateMatrix(),this.updateMatrixWorld(),this.needsUpdate=!0,this.updateBoundingBox()}computeBoundingBox(){return on.set(this.width,this.height).multiplyScalar(.5).multiplyScalar(this.scaled.x),this.boundingBox.min.subVectors(this.position,on),this.boundingBox.max.addVectors(this.position,on),this.boundingBox}updateBoundingBox(){super.updateBoundingBox(),this.viewArea=this.boundingBoxWorld.getArea()}toJSON(){const t={};return t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.width=this.width,t.height=this.height,t.aspect=this.aspect,t.position=this.position.toArray(),t.rotation=this.rotation.toArray(),t.scaled=this.scaled.toArray(),t}fromJSON(t){this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.position.fromArray(t.position),this.rotation.fromArray(t.rotation),this.scaled.fromArray(t.scaled)}clone(){return new this.constructor.prototype.constructor().copy(this)}copy(t,e=!0){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this}}class Nc extends Ji{name="SvgSelectRect";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",la+"SvgSelectRect"),this.el.setAttribute("class",la+"-svg-select-rect"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}draw(t){t.getSize(ju),this.el.style.display="none",this.el.style.position="absolute",this.el.style.left=t.min.x+"px",this.el.style.top=t.min.y+"px",this.el.style.width=ju.x+"px",this.el.style.height=ju.y+"px",this.el.style.display="block",this.el.style.background=new we(be.darkBlue).setA(.1).getStyle(),this.el.style.border=be.darkBlue+" 1px dashed"}hide(){this.el.style.display="none"}}const ju=new L;class cm extends Ji{name="SvgMultiSelector";controls;scene;p1=new L;p2=new L;graph;selectEnable=!1;multiSelectEnable=!1;controlsTapHandler=this.handleControlsTap.bind(this);controlsPanStartHandler=this.handleControlsPanStart.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPanEndHandler=this.handleControlsPanEnd.bind(this);constructor(t,e){super(),this.controls=t,this.graph=new Nc(e),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t}selectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.selectEnable=!!t}multiSelectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.multiSelectEnable=!!t,this.controls.enablePan=!this.multiSelectEnable}bindControlsEvents(){this.controls.addEventListener(xt.TAP,this.controlsTapHandler),this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.TAP,this.controlsTapHandler),this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler)}handleControlsTap(t){var r,a,u,l,c,f;if((t==null?void 0:t.type)!==xt.TAP||!this.selectEnable&&!this.multiSelectEnable)return;const e=((r=t==null?void 0:t.e)==null?void 0:r.target)||((u=(a=t==null?void 0:t.e)==null?void 0:a.srcEvent)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.srcElement);e!=null&&e.id&&(f=this.scene)!=null&&f.isCurrentAssetType(e==null?void 0:e.id)&&this.dispatchEvent({type:"SELECTED",data:{...t.data,target:[e]}})}handleControlsPanStart(t){(t==null?void 0:t.type)===xt.PAN_START&&this.multiSelectEnable&&(this.p1.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Cr))}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.multiSelectEnable&&(this.p2.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Cr))}handleControlsPanEnd(t){var r;if((t==null?void 0:t.type)!==xt.PAN_END||!this.multiSelectEnable)return;this.p2.copy(t.data.screenCoords),Cr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera);const e=(r=this.scene)==null?void 0:r.getElementsByBox(Cr);this.graph.hide(),Cr.makeEmpty(),this.dispatchEvent({type:"SELECTED",data:{target:e}})}}var to=(n=>(n.SELECTED="SELECTED",n))(to||{});const Cr=new wt;class fm extends Ji{name="Tooltip";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",la+"Tooltip"),this.el.setAttribute("class",la+"-tooltip"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}show(t,e,r){this.el.style.display="none",this.el.textContent=r,this.el.style.position="absolute",this.el.style.left=t+"px",this.el.style.top=e+"px",this.el.style.opacity="0.9",this.el.style.display="block"}hide(){this.el.style.display="none",this.el.textContent=""}}class pm extends Ji{name="SvgView";params;container;camera;controls;scene;p1=new L;p2=new L;graph;tooltip;multiSelector;zoomToSelectEnable=!1;zoomBox=new wt;selectEnable=!1;multiSelectEnable=!1;controlsPanStartHandler=this.handleSkeletonStart.bind(this);controlsPanEndHandler=this.handleSkeletonEnd.bind(this);controlsWheelStartHandler=this.handleSkeletonStart.bind(this);controlsWheelEndHandler=this.handleSkeletonEnd.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPointerOverHandler=this.handleControlsPointerOver.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.camera=new hm({...t.camera||{},flipY:!0}),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.controls=new lm(this.container,this.camera,!0),this.graph=new Nc(this.container),this.params.tooltip&&(this.tooltip=new fm),this.multiSelector=new cm(this.controls,this.container),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t,this.multiSelector.bindScene(this.scene)}setByBox(t){var e;(e=this.camera)==null||e.setByBox(t)}zoomIn(){this.controls.scaled=this.camera.scaled.x*.9,this.controls.update()}zoomOut(){this.controls.scaled=this.camera.scaled.x*1.1,this.controls.update()}zoomToSelectEnableChanged(t){console.log("TODO: zoomToSelectEnableChanged: ",t),this.zoomToSelectEnable=t,this.controls.enablePan=!this.zoomToSelectEnable}selectEnableChanged(t){this.selectEnable=!!t,this.multiSelector.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.multiSelector.multiSelectEnableChanged(t)}bindControlsEvents(){this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.addEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.addEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.addEventListener(to.SELECTED,this.multiSelectorSelectedHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.removeEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.removeEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.removeEventListener(to.SELECTED,this.multiSelectorSelectedHandler)}handleSkeletonStart(t){var e;if(!((t==null?void 0:t.type)!==xt.PAN_START&&(t==null?void 0:t.type)!==xt.WHEEL_START)){if(console.warn("handleSkeletonStart: ",this.zoomToSelectEnable),this.zoomToSelectEnable){this.p1.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Sr);return}this.multiSelectEnable||this.zoomToSelectEnable||(console.warn("handleSkeletonStart: ",t),(e=this.scene)==null||e.showSkeleton())}}handleSkeletonEnd(t){var e;if(!((t==null?void 0:t.type)!==xt.PAN_END&&(t==null?void 0:t.type)!==xt.WHEEL_END)){if(this.zoomToSelectEnable){this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera),this.setByBox(Sr),this.graph.hide(),Sr.makeEmpty();return}(e=this.scene)==null||e.hideSkeleton()}}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.zoomToSelectEnable&&(this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Sr))}handleControlsPointerOver(t){var u,l,c,f,g,x,E,A;const e=((u=t==null?void 0:t.e)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.target)||((g=(f=t==null?void 0:t.e)==null?void 0:f.srcEvent)==null?void 0:g.srcElement),r=e==null?void 0:e.id;let a=!1;r&&((x=this.scene)!=null&&x.isCurrentAssetType(r))&&(a=!0),a?(this.container.style.cursor="pointer",(E=this.tooltip)==null||E.show(t.e.clientX+8,t.e.clientY+15,r)):(this.container.style.cursor="initial",(A=this.tooltip)==null||A.hide())}handleMultiSelectorSelected(t){console.warn("handleMultiSelectorSelected:",t.data),this.dispatchEvent({type:"SELECTED",data:t.data})}}const Sr=new wt;var eo=(n=>(n.SELECTED="SELECTED",n))(eo||{});class dm extends Ji{name="SvgApp";params;renderer;view;scene;loadingScene;mainScene;zoomToSelectEnable=!1;zoomBox=new wt;selectEnable=!1;multiSelectEnable=!1;runningHandler=this.running.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.renderer=new t0(t),this.view=new pm(t),this.trans2LoadingScene()}get isLoadingScene(){var t;return((t=this.scene)==null?void 0:t.name)==="SvgLoadingScene"}destroy(){var t,e;this.unbindAssetsEvents(),super.destroy(),(t=this.view)==null||t.destroy(),(e=this.renderer)==null||e.destroy()}isScene(t){var e;return((e=this.scene)==null?void 0:e.uuid)===t.uuid}removeScene(t){this.scene=void 0,t==null||t.destroy()}trans2MainScene(){var t,e;(t=this.scene)==null||t.unmount(),this.scene=this.mainScene,this.scene.isMounted||this.scene.mount(),this.view.bindScene(this.scene),(e=this.loadingScene)==null||e.destroy()}trans2LoadingScene(){var e,r;this.loadingScene=new um(this.params),(e=this.scene)==null||e.unmount(),this.scene=this.loadingScene,this.scene.isMounted||this.scene.mount();const t=new wt().copy(this.loadingScene.viewBox).expandByVector(new L(1,1).multiplyScalar(360));this.view.setByBox(t),(r=this.mainScene)==null||r.destroy()}start(){requestAnimationFrame(this.runningHandler)}running(){this.scene&&(this.scene.update(),this.renderer.render(this.scene,this.view.camera),requestAnimationFrame(this.runningHandler))}async load(t,e,r=2,a){this.isLoadingScene||this.trans2LoadingScene(),await Dd(this.params.syncDelay);const u=await new Qu().loadAsync(t);this.mainScene=new Cc(this.params),this.mainScene.bind(u),this.view.setByBox(this.mainScene.viewBox);const l=this.mainScene.getLayers(r);return e!=null&&e.length||(e=ct.map(l,"label")),this.mainScene.showDefaultLayers(e,!0),a!=null&&a.length&&this.setSkeletons(a),this.trans2MainScene(),this.bindAssetsEvents(),console.log("svgApp.load: ",l),l}setSkeletons(t){this.mainScene.setSkeletonLayers(t)}getLayers(t=2){return this.mainScene.getLayers(t)}updateLayersVisibility(t,e=!1){this.mainScene.updateLayersVisibility(t,e)}selectedElementsById(t){this.mainScene.selectedElementsById(t),io.copy(this.mainScene.getSelectedBoundingBox()).expandByVector(new L(1,1).multiplyScalar(500)),io.isEmpty()||this.view.setByBox(io)}selectedElements(t){this.mainScene.selectedElements(t,this.multiSelectEnable)}setViewAreaLimit(t){this.renderer.viewAreaLimit=t}setAssetType(t,e){this.mainScene.setAssetType(t,e)}getAssetsIdByType(t){return this.mainScene.getAssetsIdByType(t)}clearFillByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"fill")}setFillByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"fill")}clearStrokeByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"stroke")}setStrokeByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"stroke")}getLegend(){return this.mainScene.getLegend()}setAssetLabel(t,e){this.mainScene.setAssetLabel(t,e)}clearAssetLabels(t){this.mainScene.clearAssetLabels(t)}zoomIn(){this.view.zoomIn()}zoomOut(){this.view.zoomOut()}fontZoomIn(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",1.1)}fontZoomOut(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",.9)}zoomToSelectEnableChanged(t){this.view.zoomToSelectEnableChanged(t)}selectEnableChanged(t){this.selectEnable=!!t,this.view.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.view.multiSelectEnableChanged(t)}clearSelected(){var t;(t=this.scene)==null||t.clearSelected()}socialDistanceEnableChanged(t){var e;(e=this.scene)==null||e.socialDistanceEnableChanged(t)}bindAssetsEvents(){this.view.addEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}unbindAssetsEvents(){this.view.removeEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}handleMultiSelectorSelected(t){this.dispatchEvent({type:"SELECTED",data:t.data})}handleInitializeStart(){console.log("App.initializeStart ...")}async handleInitializeComplete(t){console.log("App.initializeComplete ...",t),t!=null&&t.data&&this.launch()}launch(){console.log("App.launch ...")}}const io=new wt;var Mc=(n=>(n.SELECTED="SELECTED",n))(Mc||{});function gm(n){return new Worker("/environment.worker.js",{type:"module",name:n==null?void 0:n.name})}Ae.AppEnum=Mc,Ae.Color=we,Ae.ColorsEnum=be,Ae.EnvironmentWorker=gm,Ae.GLOB=gt,Ae.SvgApp=dm,Ae.Vector2=Cd,Ae.defaultConfig=$r,Object.defineProperty(Ae,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archgine",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "A simple rendering engine developed by archbds.",
5
5
  "author": "diozhu@163.com",
6
6
  "license": "ISC",