gantt-source_management 3.37.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintrc.json +39 -0
  3. package/.prettierrc.cjs +5 -0
  4. package/README.md +129 -0
  5. package/cypress/e2e/add-rows-items.test.ts +26 -0
  6. package/cypress/e2e/basic.test.ts +173 -0
  7. package/cypress/e2e/calculated-zoom-mode.test.ts +163 -0
  8. package/cypress/e2e/calendar-dates.test.ts +285 -0
  9. package/cypress/e2e/dst.test.ts +691 -0
  10. package/cypress/e2e/grid-cells.test.ts +72 -0
  11. package/cypress/e2e/items-vertical.test.ts +305 -0
  12. package/cypress/e2e/items.test.ts +501 -0
  13. package/cypress/e2e/list-columns-toggle.test.ts +124 -0
  14. package/cypress/e2e/list-header-resize.test.ts +30 -0
  15. package/cypress/e2e/locale.test.ts +102 -0
  16. package/cypress/e2e/move-items-outside.test.ts +437 -0
  17. package/cypress/e2e/rows.test.ts +50 -0
  18. package/cypress/e2e/scroll-bar.test.ts +357 -0
  19. package/cypress/e2e/time-bookmarks.test.ts +92 -0
  20. package/cypress/e2e/utc-mode.test.ts +51 -0
  21. package/cypress/fixtures/example.json +5 -0
  22. package/cypress/helpers.ts +12 -0
  23. package/cypress/plugins/index.js +22 -0
  24. package/cypress/support/commands.ts +175 -0
  25. package/cypress/support/e2e.ts +31 -0
  26. package/cypress.config.js +24 -0
  27. package/dist/api/api.d.ts +182 -0
  28. package/dist/api/helpers.d.ts +9 -0
  29. package/dist/api/id.d.ts +14 -0
  30. package/dist/api/locale.d.ts +3 -0
  31. package/dist/api/main.d.ts +47 -0
  32. package/dist/api/public.d.ts +32 -0
  33. package/dist/api/slots.d.ts +22 -0
  34. package/dist/api/time.d.ts +104 -0
  35. package/dist/assets/2f1f893a.wasm +0 -0
  36. package/dist/gstc.d.ts +708 -0
  37. package/dist/gstc.esm.min.d.ts +708 -0
  38. package/dist/gstc.esm.min.js +574 -0
  39. package/dist/gstc.umd.min.d.ts +708 -0
  40. package/dist/gstc.umd.min.js +701 -0
  41. package/dist/gstc.wasm.esm.min.d.ts +708 -0
  42. package/dist/gstc.wasm.esm.min.js +574 -0
  43. package/dist/gstc.wasm.umd.min.d.ts +708 -0
  44. package/dist/gstc.wasm.umd.min.js +701 -0
  45. package/dist/plugins/calendar-scroll.d.ts +15 -0
  46. package/dist/plugins/calendar-scroll.esm.min.d.ts +15 -0
  47. package/dist/plugins/calendar-scroll.esm.min.js +13 -0
  48. package/dist/plugins/calendar-scroll.umd.min.d.ts +15 -0
  49. package/dist/plugins/calendar-scroll.umd.min.js +13 -0
  50. package/dist/plugins/dependency-lines.d.ts +47 -0
  51. package/dist/plugins/dependency-lines.esm.min.d.ts +47 -0
  52. package/dist/plugins/dependency-lines.esm.min.js +38 -0
  53. package/dist/plugins/dependency-lines.umd.min.d.ts +47 -0
  54. package/dist/plugins/dependency-lines.umd.min.js +38 -0
  55. package/dist/plugins/export-image.d.ts +12 -0
  56. package/dist/plugins/export-image.esm.min.d.ts +12 -0
  57. package/dist/plugins/export-image.esm.min.js +28 -0
  58. package/dist/plugins/export-image.umd.min.d.ts +12 -0
  59. package/dist/plugins/export-image.umd.min.js +34 -0
  60. package/dist/plugins/export-pdf.d.ts +12 -0
  61. package/dist/plugins/export-pdf.esm.min.d.ts +12 -0
  62. package/dist/plugins/export-pdf.esm.min.js +389 -0
  63. package/dist/plugins/export-pdf.umd.min.d.ts +12 -0
  64. package/dist/plugins/export-pdf.umd.min.js +511 -0
  65. package/dist/plugins/grab-scroll.d.ts +14 -0
  66. package/dist/plugins/grab-scroll.esm.min.d.ts +14 -0
  67. package/dist/plugins/grab-scroll.umd.min.d.ts +14 -0
  68. package/dist/plugins/highlight-weekends.d.ts +12 -0
  69. package/dist/plugins/highlight-weekends.esm.min.d.ts +12 -0
  70. package/dist/plugins/highlight-weekends.esm.min.js +14 -0
  71. package/dist/plugins/highlight-weekends.umd.min.d.ts +12 -0
  72. package/dist/plugins/highlight-weekends.umd.min.js +14 -0
  73. package/dist/plugins/item-movement.d.ts +97 -0
  74. package/dist/plugins/item-movement.esm.min.d.ts +97 -0
  75. package/dist/plugins/item-movement.esm.min.js +25 -0
  76. package/dist/plugins/item-movement.umd.min.d.ts +97 -0
  77. package/dist/plugins/item-movement.umd.min.js +25 -0
  78. package/dist/plugins/item-resizing.d.ts +102 -0
  79. package/dist/plugins/item-resizing.esm.min.d.ts +102 -0
  80. package/dist/plugins/item-resizing.esm.min.js +37 -0
  81. package/dist/plugins/item-resizing.umd.min.d.ts +102 -0
  82. package/dist/plugins/item-resizing.umd.min.js +37 -0
  83. package/dist/plugins/item-types.d.ts +13 -0
  84. package/dist/plugins/item-types.esm.min.d.ts +13 -0
  85. package/dist/plugins/item-types.esm.min.js +127 -0
  86. package/dist/plugins/item-types.umd.min.d.ts +13 -0
  87. package/dist/plugins/item-types.umd.min.js +127 -0
  88. package/dist/plugins/progress-bar.d.ts +13 -0
  89. package/dist/plugins/progress-bar.esm.min.d.ts +13 -0
  90. package/dist/plugins/progress-bar.esm.min.js +27 -0
  91. package/dist/plugins/progress-bar.umd.min.d.ts +13 -0
  92. package/dist/plugins/progress-bar.umd.min.js +27 -0
  93. package/dist/plugins/selection.d.ts +94 -0
  94. package/dist/plugins/selection.esm.min.d.ts +94 -0
  95. package/dist/plugins/selection.esm.min.js +26 -0
  96. package/dist/plugins/selection.umd.min.d.ts +94 -0
  97. package/dist/plugins/selection.umd.min.js +26 -0
  98. package/dist/plugins/time-bookmarks.d.ts +38 -0
  99. package/dist/plugins/time-bookmarks.esm.min.d.ts +38 -0
  100. package/dist/plugins/time-bookmarks.esm.min.js +50 -0
  101. package/dist/plugins/time-bookmarks.umd.min.d.ts +38 -0
  102. package/dist/plugins/time-bookmarks.umd.min.js +50 -0
  103. package/dist/plugins/timeline-pointer.d.ts +83 -0
  104. package/dist/plugins/timeline-pointer.esm.min.d.ts +83 -0
  105. package/dist/plugins/timeline-pointer.esm.min.js +13 -0
  106. package/dist/plugins/timeline-pointer.umd.min.d.ts +83 -0
  107. package/dist/plugins/timeline-pointer.umd.min.js +13 -0
  108. package/dist/style.css +811 -0
  109. package/dist/vendor.esm.min.js +128 -0
  110. package/examples/complex-1/faces/face-1.jpg +0 -0
  111. package/examples/complex-1/faces/face-10.jpg +0 -0
  112. package/examples/complex-1/faces/face-11.jpg +0 -0
  113. package/examples/complex-1/faces/face-12.jpg +0 -0
  114. package/examples/complex-1/faces/face-13.jpg +0 -0
  115. package/examples/complex-1/faces/face-14.jpg +0 -0
  116. package/examples/complex-1/faces/face-15.jpg +0 -0
  117. package/examples/complex-1/faces/face-16.jpg +0 -0
  118. package/examples/complex-1/faces/face-17.jpg +0 -0
  119. package/examples/complex-1/faces/face-18.jpg +0 -0
  120. package/examples/complex-1/faces/face-19.jpg +0 -0
  121. package/examples/complex-1/faces/face-2.jpg +0 -0
  122. package/examples/complex-1/faces/face-20.jpg +0 -0
  123. package/examples/complex-1/faces/face-21.jpg +0 -0
  124. package/examples/complex-1/faces/face-22.jpg +0 -0
  125. package/examples/complex-1/faces/face-23.jpg +0 -0
  126. package/examples/complex-1/faces/face-24.jpg +0 -0
  127. package/examples/complex-1/faces/face-25.jpg +0 -0
  128. package/examples/complex-1/faces/face-26.jpg +0 -0
  129. package/examples/complex-1/faces/face-27.jpg +0 -0
  130. package/examples/complex-1/faces/face-28.jpg +0 -0
  131. package/examples/complex-1/faces/face-29.jpg +0 -0
  132. package/examples/complex-1/faces/face-3.jpg +0 -0
  133. package/examples/complex-1/faces/face-30.jpg +0 -0
  134. package/examples/complex-1/faces/face-31.jpg +0 -0
  135. package/examples/complex-1/faces/face-32.jpg +0 -0
  136. package/examples/complex-1/faces/face-33.jpg +0 -0
  137. package/examples/complex-1/faces/face-34.jpg +0 -0
  138. package/examples/complex-1/faces/face-35.jpg +0 -0
  139. package/examples/complex-1/faces/face-36.jpg +0 -0
  140. package/examples/complex-1/faces/face-37.jpg +0 -0
  141. package/examples/complex-1/faces/face-38.jpg +0 -0
  142. package/examples/complex-1/faces/face-39.jpg +0 -0
  143. package/examples/complex-1/faces/face-4.jpg +0 -0
  144. package/examples/complex-1/faces/face-40.jpg +0 -0
  145. package/examples/complex-1/faces/face-41.jpg +0 -0
  146. package/examples/complex-1/faces/face-42.jpg +0 -0
  147. package/examples/complex-1/faces/face-43.jpg +0 -0
  148. package/examples/complex-1/faces/face-44.jpg +0 -0
  149. package/examples/complex-1/faces/face-45.jpg +0 -0
  150. package/examples/complex-1/faces/face-46.jpg +0 -0
  151. package/examples/complex-1/faces/face-47.jpg +0 -0
  152. package/examples/complex-1/faces/face-48.jpg +0 -0
  153. package/examples/complex-1/faces/face-49.jpg +0 -0
  154. package/examples/complex-1/faces/face-5.jpg +0 -0
  155. package/examples/complex-1/faces/face-50.jpg +0 -0
  156. package/examples/complex-1/faces/face-6.jpg +0 -0
  157. package/examples/complex-1/faces/face-7.jpg +0 -0
  158. package/examples/complex-1/faces/face-8.jpg +0 -0
  159. package/examples/complex-1/faces/face-9.jpg +0 -0
  160. package/examples/complex-1/index.html +61 -0
  161. package/examples/complex-1/index.js +923 -0
  162. package/examples/index.html +22 -0
  163. package/examples/reset.css +455 -0
  164. package/examples/server.js +18 -0
  165. package/package.json +150 -0
  166. package/tsconfig.json +17 -0
@@ -0,0 +1,701 @@
1
+ !function(A,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(A="undefined"!=typeof globalThis?globalThis:A||self).GSTC=t()}(this,(function(){"use strict";
2
+ /**
3
+ * @license
4
+ * Copyright 2017 Google LLC
5
+ * SPDX-License-Identifier: BSD-3-Clause
6
+ */var A;const t=globalThis.trustedTypes,g=t?t.createPolicy("lit-html",{createHTML:A=>A}):void 0,e=`lit$${(Math.random()+"").slice(9)}$`,i="?"+e,o=`<${i}>`,I=document,a=(A="")=>I.createComment(A),s=A=>null===A||"object"!=typeof A&&"function"!=typeof A,B=Array.isArray,n=A=>{var t;return B(A)||"function"==typeof(null===(t=A)||void 0===t?void 0:t[Symbol.iterator])},C=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Q=/-->/g,r=/>/g,E=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,c=/'/g,l=/"/g,h=/^(?:script|style|textarea|title)$/i,d=A=>(t,...g)=>({_$litType$:A,strings:t,values:g}),u=d(1),w=d(2),D=Symbol.for("lit-noChange"),m=Symbol.for("lit-nothing"),y=new WeakMap,f=(A,t,g)=>{var e,i;const o=null!==(e=null==g?void 0:g.renderBefore)&&void 0!==e?e:t;let I=o._$litPart$;if(void 0===I){const A=null!==(i=null==g?void 0:g.renderBefore)&&void 0!==i?i:null;o._$litPart$=I=new b(t.insertBefore(a(),A),A,void 0,null!=g?g:{})}return I._$AI(A),I},p=I.createTreeWalker(I,129,null,!1),k=(A,t)=>{const i=A.length-1,I=[];let a,s=2===t?"<svg>":"",B=C;for(let t=0;t<i;t++){const g=A[t];let i,n,d=-1,u=0;for(;u<g.length&&(B.lastIndex=u,n=B.exec(g),null!==n);)u=B.lastIndex,B===C?"!--"===n[1]?B=Q:void 0!==n[1]?B=r:void 0!==n[2]?(h.test(n[2])&&(a=RegExp("</"+n[2],"g")),B=E):void 0!==n[3]&&(B=E):B===E?">"===n[0]?(B=null!=a?a:C,d=-1):void 0===n[1]?d=-2:(d=B.lastIndex-n[2].length,i=n[1],B=void 0===n[3]?E:'"'===n[3]?l:c):B===l||B===c?B=E:B===Q||B===r?B=C:(B=E,a=void 0);const w=B===E&&A[t+1].startsWith("/>")?" ":"";s+=B===C?g+o:d>=0?(I.push(i),g.slice(0,d)+"$lit$"+g.slice(d)+e+w):g+e+(-2===d?(I.push(void 0),t):w)}const n=s+(A[i]||"<?>")+(2===t?"</svg>":"");if(!Array.isArray(A)||!A.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==g?g.createHTML(n):n,I]};class G{constructor({strings:A,_$litType$:g},o){let I;this.parts=[];let s=0,B=0;const n=A.length-1,C=this.parts,[Q,r]=k(A,g);if(this.el=G.createElement(Q,o),p.currentNode=this.el.content,2===g){const A=this.el.content,t=A.firstChild;t.remove(),A.append(...t.childNodes)}for(;null!==(I=p.nextNode())&&C.length<n;){if(1===I.nodeType){if(I.hasAttributes()){const A=[];for(const t of I.getAttributeNames())if(t.endsWith("$lit$")||t.startsWith(e)){const g=r[B++];if(A.push(t),void 0!==g){const A=I.getAttribute(g.toLowerCase()+"$lit$").split(e),t=/([.?@])?(.*)/.exec(g);C.push({type:1,index:s,name:t[2],strings:A,ctor:"."===t[1]?F:"?"===t[1]?v:"@"===t[1]?Y:R})}else C.push({type:6,index:s})}for(const t of A)I.removeAttribute(t)}if(h.test(I.tagName)){const A=I.textContent.split(e),g=A.length-1;if(g>0){I.textContent=t?t.emptyScript:"";for(let t=0;t<g;t++)I.append(A[t],a()),p.nextNode(),C.push({type:2,index:++s});I.append(A[g],a())}}}else if(8===I.nodeType)if(I.data===i)C.push({type:2,index:s});else{let A=-1;for(;-1!==(A=I.data.indexOf(e,A+1));)C.push({type:7,index:s}),A+=e.length-1}s++}}static createElement(A,t){const g=I.createElement("template");return g.innerHTML=A,g}}function M(A,t,g=A,e){var i,o,I,a;if(t===D)return t;let B=void 0!==e?null===(i=g._$Cl)||void 0===i?void 0:i[e]:g._$Cu;const n=s(t)?void 0:t._$litDirective$;return(null==B?void 0:B.constructor)!==n&&(null===(o=null==B?void 0:B._$AO)||void 0===o||o.call(B,!1),void 0===n?B=void 0:(B=new n(A),B._$AT(A,g,e)),void 0!==e?(null!==(I=(a=g)._$Cl)&&void 0!==I?I:a._$Cl=[])[e]=B:g._$Cu=B),void 0!==B&&(t=M(A,B._$AS(A,t.values),B,e)),t}class N{constructor(A,t){this.v=[],this._$AN=void 0,this._$AD=A,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(A){var t;const{el:{content:g},parts:e}=this._$AD,i=(null!==(t=null==A?void 0:A.creationScope)&&void 0!==t?t:I).importNode(g,!0);p.currentNode=i;let o=p.nextNode(),a=0,s=0,B=e[0];for(;void 0!==B;){if(a===B.index){let t;2===B.type?t=new b(o,o.nextSibling,this,A):1===B.type?t=new B.ctor(o,B.name,B.strings,this,A):6===B.type&&(t=new L(o,this,A)),this.v.push(t),B=e[++s]}a!==(null==B?void 0:B.index)&&(o=p.nextNode(),a++)}return i}m(A){let t=0;for(const g of this.v)void 0!==g&&(void 0!==g.strings?(g._$AI(A,g,t),t+=g.strings.length-2):g._$AI(A[t])),t++}}class b{constructor(A,t,g,e){var i;this.type=2,this._$AH=m,this._$AN=void 0,this._$AA=A,this._$AB=t,this._$AM=g,this.options=e,this._$Cg=null===(i=null==e?void 0:e.isConnected)||void 0===i||i}get _$AU(){var A,t;return null!==(t=null===(A=this._$AM)||void 0===A?void 0:A._$AU)&&void 0!==t?t:this._$Cg}get parentNode(){let A=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===A.nodeType&&(A=t.parentNode),A}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(A,t=this){A=M(this,A,t),s(A)?A===m||null==A||""===A?(this._$AH!==m&&this._$AR(),this._$AH=m):A!==this._$AH&&A!==D&&this.$(A):void 0!==A._$litType$?this.T(A):void 0!==A.nodeType?this.k(A):n(A)?this.S(A):this.$(A)}M(A,t=this._$AB){return this._$AA.parentNode.insertBefore(A,t)}k(A){this._$AH!==A&&(this._$AR(),this._$AH=this.M(A))}$(A){this._$AH!==m&&s(this._$AH)?this._$AA.nextSibling.data=A:this.k(I.createTextNode(A)),this._$AH=A}T(A){var t;const{values:g,_$litType$:e}=A,i="number"==typeof e?this._$AC(A):(void 0===e.el&&(e.el=G.createElement(e.h,this.options)),e);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===i)this._$AH.m(g);else{const A=new N(i,this),t=A.p(this.options);A.m(g),this.k(t),this._$AH=A}}_$AC(A){let t=y.get(A.strings);return void 0===t&&y.set(A.strings,t=new G(A)),t}S(A){B(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let g,e=0;for(const i of A)e===t.length?t.push(g=new b(this.M(a()),this.M(a()),this,this.options)):g=t[e],g._$AI(i),e++;e<t.length&&(this._$AR(g&&g._$AB.nextSibling,e),t.length=e)}_$AR(A=this._$AA.nextSibling,t){var g;for(null===(g=this._$AP)||void 0===g||g.call(this,!1,!0,t);A&&A!==this._$AB;){const t=A.nextSibling;A.remove(),A=t}}setConnected(A){var t;void 0===this._$AM&&(this._$Cg=A,null===(t=this._$AP)||void 0===t||t.call(this,A))}}class R{constructor(A,t,g,e,i){this.type=1,this._$AH=m,this._$AN=void 0,this.element=A,this.name=t,this._$AM=e,this.options=i,g.length>2||""!==g[0]||""!==g[1]?(this._$AH=Array(g.length-1).fill(new String),this.strings=g):this._$AH=m}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(A,t=this,g,e){const i=this.strings;let o=!1;if(void 0===i)A=M(this,A,t,0),o=!s(A)||A!==this._$AH&&A!==D,o&&(this._$AH=A);else{const e=A;let I,a;for(A=i[0],I=0;I<i.length-1;I++)a=M(this,e[g+I],t,I),a===D&&(a=this._$AH[I]),o||(o=!s(a)||a!==this._$AH[I]),a===m?A=m:A!==m&&(A+=(null!=a?a:"")+i[I+1]),this._$AH[I]=a}o&&!e&&this.C(A)}C(A){A===m?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=A?A:"")}}class F extends R{constructor(){super(...arguments),this.type=3}C(A){this.element[this.name]=A===m?void 0:A}}const S=t?t.emptyScript:"";class v extends R{constructor(){super(...arguments),this.type=4}C(A){A&&A!==m?this.element.setAttribute(this.name,S):this.element.removeAttribute(this.name)}}class Y extends R{constructor(A,t,g,e,i){super(A,t,g,e,i),this.type=5}_$AI(A,t=this){var g;if((A=null!==(g=M(this,A,t,0))&&void 0!==g?g:m)===D)return;const e=this._$AH,i=A===m&&e!==m||A.capture!==e.capture||A.once!==e.once||A.passive!==e.passive,o=A!==m&&(e===m||i);i&&this.element.removeEventListener(this.name,this,e),o&&this.element.addEventListener(this.name,this,A),this._$AH=A}handleEvent(A){var t,g;"function"==typeof this._$AH?this._$AH.call(null!==(g=null===(t=this.options)||void 0===t?void 0:t.host)&&void 0!==g?g:this.element,A):this._$AH.handleEvent(A)}}class L{constructor(A,t,g){this.element=A,this.type=6,this._$AN=void 0,this._$AM=t,this.options=g}get _$AU(){return this._$AM._$AU}_$AI(A){M(this,A)}}const U={L:"$lit$",P:e,V:i,I:1,N:k,R:N,j:n,D:M,H:b,F:R,O:v,W:Y,B:F,Z:L},J=window.litHtmlPolyfillSupport;null==J||J(G,b),(null!==(A=globalThis.litHtmlVersions)&&void 0!==A?A:globalThis.litHtmlVersions=[]).push("2.2.6");var x=Object.freeze({__proto__:null,_$LH:U,html:u,noChange:D,nothing:m,render:f,svg:w});
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */const H={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},q=A=>(...t)=>({_$litDirective$:A,values:t});class K{constructor(A){}get _$AU(){return this._$AM._$AU}_$AT(A,t,g){this._$Ct=A,this._$AM=t,this._$Ci=g}_$AS(A,t){return this.update(A,t)}update(A,t){return this.render(...t)}}
12
+ /**
13
+ * @license
14
+ * Copyright 2020 Google LLC
15
+ * SPDX-License-Identifier: BSD-3-Clause
16
+ */const{H:z}=U,W=(A,t)=>{var g,e;return void 0===t?void 0!==(null===(g=A)||void 0===g?void 0:g._$litType$):(null===(e=A)||void 0===e?void 0:e._$litType$)===t},T=A=>void 0===A.strings,j=()=>document.createComment(""),Z=(A,t,g)=>{var e;const i=A._$AA.parentNode,o=void 0===t?A._$AB:t._$AA;if(void 0===g){const t=i.insertBefore(j(),o),e=i.insertBefore(j(),o);g=new z(t,e,A,A.options)}else{const t=g._$AB.nextSibling,I=g._$AM,a=I!==A;if(a){let t;null===(e=g._$AQ)||void 0===e||e.call(g,A),g._$AM=A,void 0!==g._$AP&&(t=A._$AU)!==I._$AU&&g._$AP(t)}if(t!==o||a){let A=g._$AA;for(;A!==t;){const t=A.nextSibling;i.insertBefore(A,o),A=t}}}return g},V=(A,t,g=A)=>(A._$AI(t,g),A),P={},O=(A,t=P)=>A._$AH=t,X=A=>A._$AH,$=A=>{var t;null===(t=A._$AP)||void 0===t||t.call(A,!1,!0);let g=A._$AA;const e=A._$AB.nextSibling;for(;g!==e;){const A=g.nextSibling;g.remove(),g=A}},_=A=>{A._$AR()},AA=(A,t)=>{var g,e;const i=A._$AN;if(void 0===i)return!1;for(const A of i)null===(e=(g=A)._$AO)||void 0===e||e.call(g,t,!1),AA(A,t);return!0},tA=A=>{let t,g;do{if(void 0===(t=A._$AM))break;g=t._$AN,g.delete(A),A=t}while(0===(null==g?void 0:g.size))},gA=A=>{for(let t;t=A._$AM;A=t){let g=t._$AN;if(void 0===g)t._$AN=g=new Set;else if(g.has(A))break;g.add(A),oA(t)}};
17
+ /**
18
+ * @license
19
+ * Copyright 2017 Google LLC
20
+ * SPDX-License-Identifier: BSD-3-Clause
21
+ */function eA(A){void 0!==this._$AN?(tA(this),this._$AM=A,gA(this)):this._$AM=A}function iA(A,t=!1,g=0){const e=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(e))for(let A=g;A<e.length;A++)AA(e[A],!1),tA(e[A]);else null!=e&&(AA(e,!1),tA(e));else AA(this,A)}const oA=A=>{var t,g,e,i;A.type==H.CHILD&&(null!==(t=(e=A)._$AP)&&void 0!==t||(e._$AP=iA),null!==(g=(i=A)._$AQ)&&void 0!==g||(i._$AQ=eA))};class IA extends K{constructor(){super(...arguments),this._$AN=void 0}_$AT(A,t,g){super._$AT(A,t,g),gA(this),this.isConnected=A._$AU}_$AO(A,t=!0){var g,e;A!==this.isConnected&&(this.isConnected=A,A?null===(g=this.reconnected)||void 0===g||g.call(this):null===(e=this.disconnected)||void 0===e||e.call(this)),t&&(AA(this,A),tA(this))}setValue(A){if(T(this._$Ct))this._$Ct._$AI(A,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=A,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}
22
+ /**
23
+ * @license
24
+ * Copyright 2021 Google LLC
25
+ * SPDX-License-Identifier: BSD-3-Clause
26
+ */class aA{constructor(A){this.U=A}disconnect(){this.U=void 0}reconnect(A){this.U=A}deref(){return this.U}}class sA{constructor(){this.Y=void 0,this.q=void 0}get(){return this.Y}pause(){var A;null!==(A=this.Y)&&void 0!==A||(this.Y=new Promise((A=>this.q=A)))}resume(){var A;null===(A=this.q)||void 0===A||A.call(this),this.Y=this.q=void 0}}
27
+ /**
28
+ * @license
29
+ * Copyright 2017 Google LLC
30
+ * SPDX-License-Identifier: BSD-3-Clause
31
+ */class BA extends IA{constructor(){super(...arguments),this._$CG=new aA(this),this._$CK=new sA}render(A,t){return D}update(A,[t,g]){if(this.isConnected||this.disconnected(),t===this._$CX)return;this._$CX=t;let e=0;const{_$CG:i,_$CK:o}=this;return(async(A,t)=>{for await(const g of A)if(!1===await t(g))return})(t,(async A=>{for(;o.get();)await o.get();const I=i.deref();if(void 0!==I){if(I._$CX!==t)return!1;void 0!==g&&(A=g(A,e)),I.commitValue(A,e),e++}return!0})),D}commitValue(A,t){this.setValue(A)}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const nA=q(BA),CA=q(class extends BA{constructor(A){if(super(A),A.type!==H.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(A,t){return this._$CJ=A,super.update(A,t)}commitValue(A,t){0===t&&_(this._$CJ);const g=Z(this._$CJ);V(g,A)}}),QA=q(class extends K{constructor(A){super(A),this.tt=new WeakMap}render(A){return[A]}update(A,[t]){if(W(this.it)&&(!W(t)||this.it.strings!==t.strings)){const t=X(A).pop();let g=this.tt.get(this.it.strings);if(void 0===g){const A=document.createDocumentFragment();g=f(m,A),g.setConnected(!1),this.tt.set(this.it.strings,g)}O(g,[t]),Z(g,void 0,t)}if(W(t)){if(!W(this.it)||this.it.strings!==t.strings){const g=this.tt.get(t.strings);if(void 0!==g){const t=X(g).pop();_(A),Z(A,void 0,t),O(A,[t])}}this.it=t}else this.it=void 0;return this.render(t)}}),rA={},EA=q(class extends K{constructor(){super(...arguments),this.nt=rA}render(A,t){return t()}update(A,[t,g]){if(Array.isArray(t)){if(Array.isArray(this.nt)&&this.nt.length===t.length&&t.every(((A,t)=>A===this.nt[t])))return D}else if(this.nt===t)return D;return this.nt=Array.isArray(t)?Array.from(t):t,this.render(t,g)}}),cA=A=>null!=A?A:m
32
+ /**
33
+ * @license
34
+ * Copyright 2017 Google LLC
35
+ * SPDX-License-Identifier: BSD-3-Clause
36
+ */,lA=(A,t,g)=>{const e=new Map;for(let i=t;i<=g;i++)e.set(A[i],i);return e},hA=q(class extends K{constructor(A){if(super(A),A.type!==H.CHILD)throw Error("repeat() can only be used in text expressions")}dt(A,t,g){let e;void 0===g?g=t:void 0!==t&&(e=t);const i=[],o=[];let I=0;for(const t of A)i[I]=e?e(t,I):I,o[I]=g(t,I),I++;return{values:o,keys:i}}render(A,t,g){return this.dt(A,t,g).values}update(A,[t,g,e]){var i;const o=X(A),{values:I,keys:a}=this.dt(t,g,e);if(!Array.isArray(o))return this.ut=a,I;const s=null!==(i=this.ut)&&void 0!==i?i:this.ut=[],B=[];let n,C,Q=0,r=o.length-1,E=0,c=I.length-1;for(;Q<=r&&E<=c;)if(null===o[Q])Q++;else if(null===o[r])r--;else if(s[Q]===a[E])B[E]=V(o[Q],I[E]),Q++,E++;else if(s[r]===a[c])B[c]=V(o[r],I[c]),r--,c--;else if(s[Q]===a[c])B[c]=V(o[Q],I[c]),Z(A,B[c+1],o[Q]),Q++,c--;else if(s[r]===a[E])B[E]=V(o[r],I[E]),Z(A,o[Q],o[r]),r--,E++;else if(void 0===n&&(n=lA(a,E,c),C=lA(s,Q,r)),n.has(s[Q]))if(n.has(s[r])){const t=C.get(a[E]),g=void 0!==t?o[t]:null;if(null===g){const t=Z(A,o[Q]);V(t,I[E]),B[E]=t}else B[E]=V(g,I[E]),Z(A,o[Q],g),o[t]=null;E++}else $(o[r]),r--;else $(o[Q]),Q++;for(;E<=c;){const t=Z(A,B[c+1]);V(t,I[E]),B[E++]=t}for(;Q<=r;){const A=o[Q++];null!==A&&$(A)}return this.ut=a,O(A,B),D}});
37
+ /**
38
+ * @license
39
+ * Copyright 2017 Google LLC
40
+ * SPDX-License-Identifier: BSD-3-Clause
41
+ */
42
+ /**
43
+ * @license
44
+ * Copyright 2017 Google LLC
45
+ * SPDX-License-Identifier: BSD-3-Clause
46
+ */
47
+ class dA extends K{constructor(A){if(super(A),this.it=m,A.type!==H.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(A){if(A===m||null==A)return this.ft=void 0,this.it=A;if(A===D)return A;if("string"!=typeof A)throw Error(this.constructor.directiveName+"() called with a non-string value");if(A===this.it)return this.ft;this.it=A;const t=[A];return t.raw=t,this.ft={_$litType$:this.constructor.resultType,strings:t,values:[]}}}dA.directiveName="unsafeHTML",dA.resultType=1;const uA=q(dA),wA=A=>!(A=>null===A||"object"!=typeof A&&"function"!=typeof A)(A)&&"function"==typeof A.then;
48
+ /**
49
+ * @license
50
+ * Copyright 2017 Google LLC
51
+ * SPDX-License-Identifier: BSD-3-Clause
52
+ */class DA extends IA{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CG=new aA(this),this._$CK=new sA}render(...A){var t;return null!==(t=A.find((A=>!wA(A))))&&void 0!==t?t:D}update(A,t){const g=this._$Cyt;let e=g.length;this._$Cyt=t;const i=this._$CG,o=this._$CK;this.isConnected||this.disconnected();for(let A=0;A<t.length&&!(A>this._$Cwt);A++){const I=t[A];if(!wA(I))return this._$Cwt=A,I;A<e&&I===g[A]||(this._$Cwt=1073741823,e=0,Promise.resolve(I).then((async A=>{for(;o.get();)await o.get();const t=i.deref();if(void 0!==t){const g=t._$Cyt.indexOf(I);g>-1&&g<t._$Cwt&&(t._$Cwt=g,t.setValue(A))}})))}return D}disconnected(){this._$CG.disconnect(),this._$CK.pause()}reconnected(){this._$CG.reconnect(this),this._$CK.resume()}}const mA=q(DA),yA=q(class extends K{constructor(A){if(super(A),A.type!==H.PROPERTY&&A.type!==H.ATTRIBUTE&&A.type!==H.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!T(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[t]){if(t===D||t===m)return t;const g=A.element,e=A.name;if(A.type===H.PROPERTY){if(t===g[e])return D}else if(A.type===H.BOOLEAN_ATTRIBUTE){if(!!t===g.hasAttribute(e))return D}else if(A.type===H.ATTRIBUTE&&g.getAttribute(e)===t+"")return D;return O(A),t}}),fA=q(class extends K{constructor(A){var t;if(super(A),A.type!==H.ATTRIBUTE||"style"!==A.name||(null===(t=A.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(A){return Object.keys(A).reduce(((t,g)=>{const e=A[g];return null==e?t:t+`${g=g.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${e};`}),"")}update(A,[t]){const{style:g}=A.element;if(void 0===this.ct){this.ct=new Set;for(const A in t)this.ct.add(A);return this.render(t)}this.ct.forEach((A=>{null==t[A]&&(this.ct.delete(A),A.includes("-")?g.removeProperty(A):g[A]="")}));for(const A in t){const e=t[A];null!=e&&(this.ct.add(A),A.includes("-")?g.setProperty(A,e):g[A]=e)}return D}}),pA=q(class extends K{constructor(A){var t;if(super(A),A.type!==H.ATTRIBUTE||"class"!==A.name||(null===(t=A.strings)||void 0===t?void 0:t.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(A){return" "+Object.keys(A).filter((t=>A[t])).join(" ")+" "}update(A,[t]){var g,e;if(void 0===this.et){this.et=new Set,void 0!==A.strings&&(this.st=new Set(A.strings.join(" ").split(/\s/).filter((A=>""!==A))));for(const A in t)t[A]&&!(null===(g=this.st)||void 0===g?void 0:g.has(A))&&this.et.add(A);return this.render(t)}const i=A.element.classList;this.et.forEach((A=>{A in t||(i.remove(A),this.et.delete(A))}));for(const A in t){const g=!!t[A];g===this.et.has(A)||(null===(e=this.st)||void 0===e?void 0:e.has(A))||(g?(i.add(A),this.et.add(A)):(i.remove(A),this.et.delete(A)))}return D}});
53
+ /**
54
+ * @license
55
+ * Copyright 2020 Google LLC
56
+ * SPDX-License-Identifier: BSD-3-Clause
57
+ */
58
+ /**
59
+ * @license
60
+ * Copyright 2021 Google LLC
61
+ * SPDX-License-Identifier: BSD-3-Clause
62
+ */
63
+ function kA(A,t,g){return A?t():null==g?void 0:g()}
64
+ /**
65
+ * @license
66
+ * Copyright 2021 Google LLC
67
+ * SPDX-License-Identifier: BSD-3-Clause
68
+ */const GA=(A,t,g)=>{for(const g of t)if(g[0]===A)return(0,g[1])();return null==g?void 0:g()};
69
+ /**
70
+ * @license
71
+ * Copyright 2021 Google LLC
72
+ * SPDX-License-Identifier: BSD-3-Clause
73
+ */function*MA(A,t){if(void 0!==A){let g=0;for(const e of A)yield t(e,g++)}}
74
+ /**
75
+ * @license
76
+ * Copyright 2021 Google LLC
77
+ * SPDX-License-Identifier: BSD-3-Clause
78
+ */function*NA(A,t){const g="function"==typeof t;if(void 0!==A){let e=-1;for(const i of A)e>-1&&(yield g?t(e):t),e++,yield i}}
79
+ /**
80
+ * @license
81
+ * Copyright 2021 Google LLC
82
+ * SPDX-License-Identifier: BSD-3-Clause
83
+ */function*bA(A,t,g=1){const e=void 0===t?0:A;null!=t||(t=A);for(let A=e;g>0?A<t:t<A;A+=g)yield A}
84
+ /**
85
+ * @license
86
+ * Copyright 2020 Google LLC
87
+ * SPDX-License-Identifier: BSD-3-Clause
88
+ */const RA=q(class extends K{constructor(A){if(super(A),A.type!==H.CHILD)throw Error("templateContent can only be used in child bindings")}render(A){return this.vt===A?D:(this.vt=A,document.importNode(A.content,!0))}});
89
+ /**
90
+ * @license
91
+ * Copyright 2017 Google LLC
92
+ * SPDX-License-Identifier: BSD-3-Clause
93
+ */class FA extends dA{}FA.directiveName="unsafeSVG",FA.resultType=2;const SA=q(FA);
94
+ /**
95
+ * @license
96
+ * Copyright 2020 Google LLC
97
+ * SPDX-License-Identifier: BSD-3-Clause
98
+ */class vA{}const YA=new WeakMap,LA=q(class extends IA{render(A){return m}update(A,[t]){var g;const e=t!==this.U;return e&&void 0!==this.U&&this.ot(void 0),(e||this.rt!==this.lt)&&(this.U=t,this.ht=null===(g=A.options)||void 0===g?void 0:g.host,this.ot(this.lt=A.element)),m}ot(A){var t;if("function"==typeof this.U){const g=null!==(t=this.ht)&&void 0!==t?t:globalThis;let e=YA.get(g);void 0===e&&(e=new WeakMap,YA.set(g,e)),void 0!==e.get(this.U)&&this.U.call(this.ht,void 0),e.set(this.U,A),void 0!==A&&this.U.call(this.ht,A)}else this.U.value=A}get rt(){var A,t,g;return"function"==typeof this.U?null===(t=YA.get(null!==(A=this.ht)&&void 0!==A?A:globalThis))||void 0===t?void 0:t.get(this.U):null===(g=this.U)||void 0===g?void 0:g.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),UA=new WeakMap;class JA extends K{update(A,t){return t[0].execute(A),D}render(A){return A.toString()}}class xA{constructor(A,t={schedule:!1}){this.schedule=!1,this.style=A,this._directive=q(JA),this.execute=this.execute.bind(this),this.schedule=t.schedule}directive(){return this._directive(this)}setStyle(A){for(const A in this.style)delete this.style[A];for(const t in A)this.style[t]=A[t]}toString(){return Object.keys(this.style).reduce(((A,t)=>{const g=this.style[t];return null==g?A:A+`${t=t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${g};`}),"")}_getInternalStyle(){return this.element?UA.get(this.element):null}updateStyle(A,t,g){const e=g.previousStyle;for(const A of t)A&&!this.style[A]&&(g.toRemove.includes(A)||g.toRemove.push(A));for(const A in e)A&&A in this.style&&!this.style[A]&&t.includes(A)&&(g.toRemove.includes(A)||g.toRemove.push(A));for(const A in this.style){if(!A)continue;if(!(A in this.style))continue;const i=this.style[A];if(!i)continue;const o=e[A];void 0!==o&&o===i&&t.includes(A)||g.toUpdate.push(A)}if(g.toRemove.length||g.toUpdate.length){for(const t of g.toRemove)A.removeProperty(t),A[t]&&delete A[t],g.elementStyles=g.elementStyles.filter((A=>A!==t));for(const t of g.toUpdate){const e=this.style[t];e&&(t.includes("-")?A.setProperty(t,e):A[t]=e,g.elementStyles.includes(t)||g.elementStyles.push(t))}g.previousStyle=Object.assign({},this.style)}}execute(A){const t=A.element;let g;this.element=t,UA.has(t)?g=UA.get(t):(g={toUpdate:[],toRemove:[],previousStyle:{},elementStyles:[],styleTaken:!1},UA.set(t,g)),g.toRemove.length=0,g.toUpdate.length=0;const e=t.style;let i;if(g.styleTaken)i=g.elementStyles;else{g.elementStyles=i=[];for(let A=g.length;A--;)i.push(e[A]);g.styleTaken=!0}this.schedule?requestAnimationFrame((()=>{this.updateStyle(e,i,g)})):this.updateStyle(e,i,g),UA.set(t,g)}}const HA=new WeakMap;const qA=q(class extends K{render(A){return m}update(A,t){if("boolean"!=typeof t[0])throw new Error("[vido] Detach directive argument should be a boolean.");let g=t[0];const e=A.element;if(g)HA.has(A)||HA.set(A,{element:e,nextSibling:e.nextSibling,previousSibling:e.previousSibling,parent:e.parentNode}),e.remove();else{const t=HA.get(A);t&&(t.nextSibling&&t.nextSibling.parentNode?t.nextSibling.parentNode.insertBefore(t.element,t.nextSibling):t.previousSibling&&t.previousSibling.parentNode?t.previousSibling.parentNode.appendChild(t.element):t.parent&&t.parent.appendChild(t.element),HA.delete(A))}return this.render(g)}});class KA{constructor(){this.isAction=!0}}KA.prototype.isAction=!0;const zA={element:document.createTextNode(""),axis:"xy",threshold:10,onDown(){},onMove(){},onUp(){},onWheel(){}},WA="undefined"!=typeof PointerEvent;let TA=0;class jA extends KA{constructor(A,t){super(),this.moving="",this.initialX=0,this.initialY=0,this.lastY=0,this.lastX=0,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onWheel=this.onWheel.bind(this),this.element=A,this.id=++TA,this.options=Object.assign(Object.assign({},zA),t.pointerOptions),WA?(A.addEventListener("pointerdown",this.onPointerDown),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp)):(A.addEventListener("touchstart",this.onPointerDown),document.addEventListener("touchmove",this.onPointerMove,{passive:!1}),document.addEventListener("touchend",this.onPointerUp),document.addEventListener("touchcancel",this.onPointerUp),A.addEventListener("mousedown",this.onPointerDown),document.addEventListener("mousemove",this.onPointerMove,{passive:!1}),document.addEventListener("mouseup",this.onPointerUp))}normalizeMouseWheelEvent(A){let t=A.deltaX||0,g=A.deltaY||0,e=A.deltaZ||0;const i=A.deltaMode,o=parseInt(getComputedStyle(A.target).getPropertyValue("line-height"));let I=1;switch(i){case 1:I=o;break;case 2:I=window.height}return t*=I,g*=I,e*=I,{x:t,y:g,z:e,event:A}}onWheel(A){const t=this.normalizeMouseWheelEvent(A);this.options.onWheel(t)}normalizePointerEvent(A){let t={x:0,y:0,pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0,event:A};switch(A.type){case"wheel":const g=this.normalizeMouseWheelEvent(A);t.x=g.x,t.y=g.y,t.pageX=t.x,t.pageY=t.y,t.screenX=t.x,t.screenY=t.y,t.clientX=t.x,t.clientY=t.y;break;case"touchstart":case"touchmove":case"touchend":case"touchcancel":t.x=A.changedTouches[0].screenX,t.y=A.changedTouches[0].screenY,t.pageX=A.changedTouches[0].pageX,t.pageY=A.changedTouches[0].pageY,t.screenX=A.changedTouches[0].screenX,t.screenY=A.changedTouches[0].screenY,t.clientX=A.changedTouches[0].clientX,t.clientY=A.changedTouches[0].clientY;break;default:t.x=A.x,t.y=A.y,t.pageX=A.pageX,t.pageY=A.pageY,t.screenX=A.screenX,t.screenY=A.screenY,t.clientX=A.clientX,t.clientY=A.clientY}return t}onPointerDown(A){if("mousedown"===A.type&&0!==A.button)return;this.moving="xy";const t=this.normalizePointerEvent(A);this.lastX=t.x,this.lastY=t.y,this.initialX=t.x,this.initialY=t.y,this.options.onDown(t)}handleX(A){let t=A.x-this.lastX;return this.lastY=A.y,this.lastX=A.x,t}handleY(A){let t=A.y-this.lastY;return this.lastY=A.y,this.lastX=A.x,t}onPointerMove(A){if(""===this.moving||"mousemove"===A.type&&0!==A.button)return;const t=this.normalizePointerEvent(A);if("x|y"===this.options.axis){let g=0,e=0;("x"===this.moving||"xy"===this.moving&&Math.abs(t.x-this.initialX)>this.options.threshold)&&(this.moving="x",g=this.handleX(t)),("y"===this.moving||"xy"===this.moving&&Math.abs(t.y-this.initialY)>this.options.threshold)&&(this.moving="y",e=this.handleY(t)),this.options.onMove({movementX:g,movementY:e,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}else if("xy"===this.options.axis){let g=0,e=0;Math.abs(t.x-this.initialX)>this.options.threshold&&(g=this.handleX(t)),Math.abs(t.y-this.initialY)>this.options.threshold&&(e=this.handleY(t)),this.options.onMove({movementX:g,movementY:e,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}else if("x"===this.options.axis)("x"===this.moving||"xy"===this.moving&&Math.abs(t.x-this.initialX)>this.options.threshold)&&(this.moving="x",this.options.onMove({movementX:this.handleX(t),movementY:0,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A}));else if("y"===this.options.axis){let g=0;("y"===this.moving||"xy"===this.moving&&Math.abs(t.y-this.initialY)>this.options.threshold)&&(this.moving="y",g=this.handleY(t)),this.options.onMove({movementX:0,movementY:g,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A})}}onPointerUp(A){this.moving="";const t=this.normalizePointerEvent(A);this.options.onUp({movementX:0,movementY:0,x:t.x,y:t.y,initialX:this.initialX,initialY:this.initialY,lastX:this.lastX,lastY:this.lastY,event:A}),this.lastY=0,this.lastX=0}destroy(A){WA?(A.removeEventListener("pointerdown",this.onPointerDown),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp)):(A.removeEventListener("mousedown",this.onPointerDown),document.removeEventListener("mousemove",this.onPointerMove),document.removeEventListener("mouseup",this.onPointerUp),A.removeEventListener("touchstart",this.onPointerDown),document.removeEventListener("touchmove",this.onPointerMove),document.removeEventListener("touchend",this.onPointerUp),document.removeEventListener("touchcancel",this.onPointerUp))}}function ZA(A){let t=0;return function(g){t||(t=requestAnimationFrame((function(){t=0,A.apply(void 0,[g])})))}}function VA(A){return null==A||"string"==typeof A||"number"==typeof A||"boolean"==typeof A||"bigint"==typeof A||"symbol"==typeof A}function PA(A){return!VA(A)&&(A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A)}function OA(A){return!VA(A)&&(Array.isArray(A)||PA(A))}function XA(A,...t){const g=t.shift();if(PA(g)){PA(A)||(A=Object.create(null));for(const t in g){const e=g[t];OA(e)?A[t]=XA(A[t],e):A[t]=e}}else if(Array.isArray(g)){const t=g.length;Array.isArray(A)?A.length=t:A=new Array(t);let e=0;for(;e<t;e++){const t=g[e];OA(t)?A[e]=XA(A[e],t):A[e]=t}void 0!==g.raw&&(A.raw=g.raw.slice())}else A=g;return t.length?XA(A,...t):A}function $A(A){if(void 0!==A.actions){const t=A.actions.map((A=>{const t=Object.assign({},A),g=Object.assign({},t.props);return delete g.state,delete g.api,delete t.element,t.props=g,t}));A.actions=t}return XA({},A)}var _A={mergeDeep:XA,clone:$A,schedule:ZA};class At{constructor(A,t){this.slotInstances={},this.destroyed=!1,this.vido=A,this.props=t,this.destroy=this.destroy.bind(this),this.change=this.change.bind(this),this.html=this.html.bind(this),this.getInstances=this.getInstances.bind(this),this.setComponents=this.setComponents.bind(this),this.vido.onDestroy((()=>{this.destroy()}))}setComponents(A){if(A&&!this.destroyed){for(const t in A){const g=A[t];void 0===this.slotInstances[t]&&(this.slotInstances[t]=[]);for(const A of this.slotInstances[t])A.destroy();this.slotInstances[t].length=0;for(const A of g)this.slotInstances[t].push(this.vido.createComponent(A,this.props))}this.vido.update()}}destroy(){if(!this.destroyed){for(const A in this.slotInstances){for(const t of this.slotInstances[A])t.destroy();this.slotInstances[A].length=0}this.destroyed=!0}}change(A,t=void 0){if(!this.destroyed)for(const g in this.slotInstances){const e=this.slotInstances[g];for(const g of e)g.change(A,t)}}getInstances(A){return this.destroyed?[]:void 0===A?this.slotInstances:this.slotInstances[A]}html(A,t){if(this.destroyed)return;if(!this.slotInstances[A]||0===this.slotInstances[A].length)return t;let g=t;for(const t of this.slotInstances[A])g=t.html(g);return g}getProps(){return this.props}isDestroyed(){return this.destroyed}}class tt extends K{update(A,t){if("function"!=typeof t[0])throw new Error("[vido] GetElementDirective argument should be a function.");(0,t[0])(A.element)}render(){return m}}function gt(A,t){let g=0;const e=new Map;let i,o,I=new Map,a=0;const s=[],B=Promise.resolve(),n={},C=function(A){return class extends K{update(t,g){const e=t.element,i=g[0],o=g[1],I=g[2];for(const t of o)if(void 0!==t){let g;if(A.has(i))for(const o of A.get(i))if(o.componentAction.create===t&&o.element===e){g=o;break}if(g)g.props=I;else{void 0!==e.vido&&delete e.vido;const g={instance:i,componentAction:{create:t,update(){},destroy(){}},element:e,props:I};let o=[];A.has(i)&&(o=A.get(i)),o.push(g),A.set(i,o)}}}render(A,t,g){return m}}}(I);class Q{constructor(A){this.instance=A}create(A,t){const g=q(C);return()=>g(this.instance,A,t)}}const r=function(A,t,g){return class{constructor(A,t,g={}){this.destroyed=!1,this.instance=A,this.name=t.name,this.vidoInstance=t,this.props=g,this.destroy=this.destroy.bind(this),this.update=this.update.bind(this),this.change=this.change.bind(this),this.html=this.html.bind(this)}destroy(){this.destroyed||(this.vidoInstance.debug&&(console.groupCollapsed(`destroying component ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.vidoInstance.destroyComponent(this.instance,this.vidoInstance),this.destroyed=!0)}update(e=void 0){return this.vidoInstance.debug&&(console.groupCollapsed(`updating component ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.vidoInstance.updateTemplate(e)}change(e,i={}){this.vidoInstance.debug&&(console.groupCollapsed(`changing component ${this.instance}`),console.log(g({props:this.props,newProps:e,components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd());const o=A.get(this.instance);o&&o.change(e,i)}html(t={}){const g=A.get(this.instance);if(g&&!g.destroyed)return g.update(t,this.vidoInstance)}_getComponents(){return A}_getActions(){return t}}}(e,I,$A),E=function(A,t,g){return class{constructor(A,t,g){this.destroyed=!1,this.instance=A,this.vidoInstance=t,this.renderFunction=g,this.destroy=this.destroy.bind(this),this.update=this.update.bind(this),this.change=this.change.bind(this)}destroy(){if(!this.destroyed){this.vidoInstance.debug&&(console.groupCollapsed(`component destroy method fired ${this.instance}`),console.log(g({props:this.vidoInstance.props,components:A.keys(),destroyable:this.vidoInstance.destroyable,actionsByInstance:t})),console.trace(),console.groupEnd()),this.content&&"function"==typeof this.content.destroy&&this.content.destroy();for(const A of this.vidoInstance.destroyable)A();this.vidoInstance.onChangeFunctions.length=0,this.vidoInstance.destroyable.length=0,this.vidoInstance.destroyed=!0,this.destroyed=!0,this.vidoInstance.update()}}update(e={}){return this.vidoInstance.debug&&(console.groupCollapsed(`component update method fired ${this.instance}`),console.log(g({components:A.keys(),actionsByInstance:t})),console.trace(),console.groupEnd()),this.renderFunction(e)}change(e,i={leave:!1}){const o=e;this.vidoInstance.debug&&(console.groupCollapsed(`component change method fired ${this.instance}`),console.log(g({props:o,components:A.keys(),onChangeFunctions:this.vidoInstance.onChangeFunctions,changedProps:e,actionsByInstance:t})),console.trace(),console.groupEnd());for(const A of this.vidoInstance.onChangeFunctions)A(e,i)}}}(e,I,$A);class c{constructor(g="",i=""){this.instance="",this.name="",this.destroyable=[],this.destroyed=!1,this.onChangeFunctions=[],this.debug=!1,this.state=A,this.api=t,this.lastProps={},this.html=u,this.svg=w,this.lithtml=x,this.directive=q,this.asyncAppend=CA,this.asyncReplace=nA,this.cache=QA,this.classMap=pA,this.styleMap=fA,this.StyleMap=xA,this.guard=EA,this.live=yA,this.ifDefined=cA,this.repeat=hA,this.unsafeHTML=uA,this.until=mA,this.when=kA,this.choose=GA,this.map=MA,this.join=NA,this.range=bA,this.templateContent=RA,this.unsafeSVG=SA,this.ref=LA,this.schedule=ZA,this.getElement=q(tt),this.actionsByInstance=()=>{},this.detach=qA,this.PointerAction=jA,this.Action=KA,this.Slots=At,this._components=e,this._actions=I,this.instance=g,this.reuseComponents=this.reuseComponents.bind(this),this.onDestroy=this.onDestroy.bind(this),this.onChange=this.onChange.bind(this),this.update=this.update.bind(this),this.destroyComponent=this.destroyComponent.bind(this);for(const A in n)this[A]=n[A].bind(this);this.name=i,this.Actions=new Q(g)}static addMethod(A,t){n[A]=t}onDestroy(A){this.destroyable.push(A)}onChange(A){this.onChangeFunctions.push(A)}update(A){return this.updateTemplate(A)}reuseComponents(A,t,g,e,i=!0,o=!1){const I=[],a=A.length,s=t.length;let B=!1;!i||void 0!==t&&0!==t.length||(B=!0);let n=0;if(a<s){let i=s-a;for(;i;){const o=t[s-i],a=this.createComponent(e,g(o));A.push(a),I.push(a),i--}}else if(a>s){let t=a-s;if(i)B=!0,n=a-t;else{for(;t;){const g=a-t;I.push(A[g]),A[g].destroy(),t--}A.length=s}}let C=0;o&&console.log("modified components",I),o&&console.log("current components",A),o&&console.log("data array",t);for(const e of A){const A=t[C];o&&console.log(`reuse components data at '${C}'`,A),e&&!I.includes(e)&&(o&&console.log("getProps fn result",g(A)),e.change(g(A),{leave:B&&C>=n})),C++}}createComponent(A,t={}){const i=A.name+":"+g++;let o;o=new c(i,A.name);const a=new r(i,o,t),s=new E(i,o,A(o,t));return e.set(i,s),e.get(i).change(t),o.debug&&(console.groupCollapsed(`component created ${i}`),console.log($A({props:t,components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd()),a}destroyComponent(A,t){if(t.debug&&(console.groupCollapsed(`destroying component ${A}...`),console.log($A({components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd()),I.has(A))for(const t of I.get(A))"function"==typeof t.componentAction.destroy&&t.componentAction.destroy(t.element,t.props);I.delete(A);const g=e.get(A);g?(g.destroy(),e.delete(A),t.debug&&(console.groupCollapsed(`component destroyed ${A}`),console.log($A({components:e.keys(),actionsByInstance:I})),console.trace(),console.groupEnd())):console.warn(`No component to destroy! [${A}]`)}executeActions(){for(const A of I.values()){for(const t of A)if(void 0===t.element.vido){const A=e.get(t.instance);t.isActive=function(){return A&&!1===A.destroyed};const g=t.componentAction,i=g.create;if(void 0!==i){let A;A=i.prototype&&(i.prototype.isAction||i.prototype.update||i.prototype.destroy)||i.isAction?new i(t.element,t.props):i(t.element,t.props),void 0!==A&&("function"==typeof A?g.destroy=A:("function"==typeof A.update&&(g.update=A.update.bind(A)),"function"==typeof A.destroy&&(g.destroy=A.destroy.bind(A))))}}else t.element.vido=t.props,"function"==typeof t.componentAction.update&&t.isActive()&&t.componentAction.update(t.element,t.props);for(const t of A)t.element.vido=t.props}}updateTemplate(A=void 0){return A&&s.push(A),new Promise((A=>{const t=++a,g=this;B.then((function(){if(t===a){a=0,g.render();for(const A of s)A();s.length=0,A(null)}}))}))}createApp(A){o=A.element;const t=this.createComponent(A.component,A.props);return i=t.instance,this.render(),t}render(){const A=e.get(i);A?(f(A.update(),o),this.executeActions()):o&&o.remove()}}return new c}gt.lithtml=x,gt.Action=KA,gt.Directive=K,gt.StyleMap=xA,gt.PointerAction=jA,gt.Slots=At,gt.directives={schedule:ZA,detach:qA,styleMap:fA,classMap:pA,asyncAppend:CA,asyncReplace:nA,cache:QA,guard:EA,live:yA,ifDefined:cA,repeat:hA,unsafeHTML:uA,until:mA,when:kA,choose:GA,map:MA,join:NA,range:bA,templateContent:RA,unsafeSVG:SA,ref:LA};const et=x;var it=Object.freeze({__proto__:null,Action:KA,AsyncReplaceDirective:BA,Directive:K,PartType:H,PointerAction:jA,Slots:At,StyleMap:xA,UnsafeHTMLDirective:dA,UntilDirective:DA,_$LH:U,asyncAppend:CA,asyncReplace:nA,cache:QA,choose:GA,classMap:pA,createRef:()=>new vA,default:gt,detach:qA,directive:q,guard:EA,helpers:_A,html:u,ifDefined:cA,join:NA,lit:et,lithtml:x,map:MA,noChange:D,nothing:m,range:bA,ref:LA,render:f,repeat:hA,schedule:ZA,styleMap:fA,svg:w,templateContent:RA,unsafeHTML:uA,unsafeSVG:SA,until:mA,when:kA}),ot=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self,{exports:{}});!function(A){A.exports=function(){var A=1e3,t=6e4,g=36e5,e="millisecond",i="second",o="minute",I="hour",a="day",s="week",B="month",n="quarter",C="year",Q="date",r="Invalid Date",E=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,c=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var t=["th","st","nd","rd"],g=A%100;return"["+A+(t[(g-20)%10]||t[g]||t[0])+"]"}},h=function(A,t,g){var e=String(A);return!e||e.length>=t?A:""+Array(t+1-e.length).join(g)+A},d={s:h,z:function(A){var t=-A.utcOffset(),g=Math.abs(t),e=Math.floor(g/60),i=g%60;return(t<=0?"+":"-")+h(e,2,"0")+":"+h(i,2,"0")},m:function A(t,g){if(t.date()<g.date())return-A(g,t);var e=12*(g.year()-t.year())+(g.month()-t.month()),i=t.clone().add(e,B),o=g-i<0,I=t.clone().add(e+(o?-1:1),B);return+(-(e+(g-i)/(o?i-I:I-i))||0)},a:function(A){return A<0?Math.ceil(A)||0:Math.floor(A)},p:function(A){return{M:B,y:C,w:s,d:a,D:Q,h:I,m:o,s:i,ms:e,Q:n}[A]||String(A||"").toLowerCase().replace(/s$/,"")},u:function(A){return void 0===A}},u="en",w={};w[u]=l;var D="$isDayjsObject",m=function(A){return A instanceof k||!(!A||!A[D])},y=function A(t,g,e){var i;if(!t)return u;if("string"==typeof t){var o=t.toLowerCase();w[o]&&(i=o),g&&(w[o]=g,i=o);var I=t.split("-");if(!i&&I.length>1)return A(I[0])}else{var a=t.name;w[a]=t,i=a}return!e&&i&&(u=i),i||!e&&u},f=function(A,t){if(m(A))return A.clone();var g="object"==typeof t?t:{};return g.date=A,g.args=arguments,new k(g)},p=d;p.l=y,p.i=m,p.w=function(A,t){return f(A,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var k=function(){function l(A){this.$L=y(A.locale,null,!0),this.parse(A),this.$x=this.$x||A.x||{},this[D]=!0}var h=l.prototype;return h.parse=function(A){this.$d=function(A){var t=A.date,g=A.utc;if(null===t)return new Date(NaN);if(p.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var e=t.match(E);if(e){var i=e[2]-1||0,o=(e[7]||"0").substring(0,3);return g?new Date(Date.UTC(e[1],i,e[3]||1,e[4]||0,e[5]||0,e[6]||0,o)):new Date(e[1],i,e[3]||1,e[4]||0,e[5]||0,e[6]||0,o)}}return new Date(t)}(A),this.init()},h.init=function(){var A=this.$d;this.$y=A.getFullYear(),this.$M=A.getMonth(),this.$D=A.getDate(),this.$W=A.getDay(),this.$H=A.getHours(),this.$m=A.getMinutes(),this.$s=A.getSeconds(),this.$ms=A.getMilliseconds()},h.$utils=function(){return p},h.isValid=function(){return!(this.$d.toString()===r)},h.isSame=function(A,t){var g=f(A);return this.startOf(t)<=g&&g<=this.endOf(t)},h.isAfter=function(A,t){return f(A)<this.startOf(t)},h.isBefore=function(A,t){return this.endOf(t)<f(A)},h.$g=function(A,t,g){return p.u(A)?this[t]:this.set(g,A)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(A,t){var g=this,e=!!p.u(t)||t,n=p.p(A),r=function(A,t){var i=p.w(g.$u?Date.UTC(g.$y,t,A):new Date(g.$y,t,A),g);return e?i:i.endOf(a)},E=function(A,t){return p.w(g.toDate()[A].apply(g.toDate("s"),(e?[0,0,0,0]:[23,59,59,999]).slice(t)),g)},c=this.$W,l=this.$M,h=this.$D,d="set"+(this.$u?"UTC":"");switch(n){case C:return e?r(1,0):r(31,11);case B:return e?r(1,l):r(0,l+1);case s:var u=this.$locale().weekStart||0,w=(c<u?c+7:c)-u;return r(e?h-w:h+(6-w),l);case a:case Q:return E(d+"Hours",0);case I:return E(d+"Minutes",1);case o:return E(d+"Seconds",2);case i:return E(d+"Milliseconds",3);default:return this.clone()}},h.endOf=function(A){return this.startOf(A,!1)},h.$set=function(A,t){var g,s=p.p(A),n="set"+(this.$u?"UTC":""),r=(g={},g[a]=n+"Date",g[Q]=n+"Date",g[B]=n+"Month",g[C]=n+"FullYear",g[I]=n+"Hours",g[o]=n+"Minutes",g[i]=n+"Seconds",g[e]=n+"Milliseconds",g)[s],E=s===a?this.$D+(t-this.$W):t;if(s===B||s===C){var c=this.clone().set(Q,1);c.$d[r](E),c.init(),this.$d=c.set(Q,Math.min(this.$D,c.daysInMonth())).$d}else r&&this.$d[r](E);return this.init(),this},h.set=function(A,t){return this.clone().$set(A,t)},h.get=function(A){return this[p.p(A)]()},h.add=function(e,n){var Q,r=this;e=Number(e);var E=p.p(n),c=function(A){var t=f(r);return p.w(t.date(t.date()+Math.round(A*e)),r)};if(E===B)return this.set(B,this.$M+e);if(E===C)return this.set(C,this.$y+e);if(E===a)return c(1);if(E===s)return c(7);var l=(Q={},Q[o]=t,Q[I]=g,Q[i]=A,Q)[E]||1,h=this.$d.getTime()+e*l;return p.w(h,this)},h.subtract=function(A,t){return this.add(-1*A,t)},h.format=function(A){var t=this,g=this.$locale();if(!this.isValid())return g.invalidDate||r;var e=A||"YYYY-MM-DDTHH:mm:ssZ",i=p.z(this),o=this.$H,I=this.$m,a=this.$M,s=g.weekdays,B=g.months,n=g.meridiem,C=function(A,g,i,o){return A&&(A[g]||A(t,e))||i[g].slice(0,o)},Q=function(A){return p.s(o%12||12,A,"0")},E=n||function(A,t,g){var e=A<12?"AM":"PM";return g?e.toLowerCase():e};return e.replace(c,(function(A,e){return e||function(A){switch(A){case"YY":return String(t.$y).slice(-2);case"YYYY":return p.s(t.$y,4,"0");case"M":return a+1;case"MM":return p.s(a+1,2,"0");case"MMM":return C(g.monthsShort,a,B,3);case"MMMM":return C(B,a);case"D":return t.$D;case"DD":return p.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return C(g.weekdaysMin,t.$W,s,2);case"ddd":return C(g.weekdaysShort,t.$W,s,3);case"dddd":return s[t.$W];case"H":return String(o);case"HH":return p.s(o,2,"0");case"h":return Q(1);case"hh":return Q(2);case"a":return E(o,I,!0);case"A":return E(o,I,!1);case"m":return String(I);case"mm":return p.s(I,2,"0");case"s":return String(t.$s);case"ss":return p.s(t.$s,2,"0");case"SSS":return p.s(t.$ms,3,"0");case"Z":return i}return null}(A)||i.replace(":","")}))},h.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},h.diff=function(e,Q,r){var E,c=this,l=p.p(Q),h=f(e),d=(h.utcOffset()-this.utcOffset())*t,u=this-h,w=function(){return p.m(c,h)};switch(l){case C:E=w()/12;break;case B:E=w();break;case n:E=w()/3;break;case s:E=(u-d)/6048e5;break;case a:E=(u-d)/864e5;break;case I:E=u/g;break;case o:E=u/t;break;case i:E=u/A;break;default:E=u}return r?E:p.a(E)},h.daysInMonth=function(){return this.endOf(B).$D},h.$locale=function(){return w[this.$L]},h.locale=function(A,t){if(!A)return this.$L;var g=this.clone(),e=y(A,t,!0);return e&&(g.$L=e),g},h.clone=function(){return p.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},l}(),G=k.prototype;return f.prototype=G,[["$ms",e],["$s",i],["$m",o],["$H",I],["$W",a],["$M",B],["$y",C],["$D",Q]].forEach((function(A){G[A[1]]=function(t){return this.$g(t,A[0],A[1])}})),f.extend=function(A,t){return A.$i||(A(t,k,f),A.$i=!0),f},f.locale=y,f.isDayjs=m,f.unix=function(A){return f(1e3*A)},f.en=w[u],f.Ls=w,f.p={},f}()}(ot);var It=ot.exports,at={exports:{}};!function(A){A.exports=function(){var A="minute",t=/[+-]\d\d(?::?\d\d)?/g,g=/([+-]|\d\d)/g;return function(e,i,o){var I=i.prototype;o.utc=function(A){return new i({date:A,utc:!0,args:arguments})},I.utc=function(t){var g=o(this.toDate(),{locale:this.$L,utc:!0});return t?g.add(this.utcOffset(),A):g},I.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var a=I.parse;I.parse=function(A){A.utc&&(this.$u=!0),this.$utils().u(A.$offset)||(this.$offset=A.$offset),a.call(this,A)};var s=I.init;I.init=function(){if(this.$u){var A=this.$d;this.$y=A.getUTCFullYear(),this.$M=A.getUTCMonth(),this.$D=A.getUTCDate(),this.$W=A.getUTCDay(),this.$H=A.getUTCHours(),this.$m=A.getUTCMinutes(),this.$s=A.getUTCSeconds(),this.$ms=A.getUTCMilliseconds()}else s.call(this)};var B=I.utcOffset;I.utcOffset=function(e,i){var o=this.$utils().u;if(o(e))return this.$u?0:o(this.$offset)?B.call(this):this.$offset;if("string"==typeof e&&(e=function(A){void 0===A&&(A="");var e=A.match(t);if(!e)return null;var i=(""+e[0]).match(g)||["-",0,0],o=i[0],I=60*+i[1]+ +i[2];return 0===I?0:"+"===o?I:-I}(e),null===e))return this;var I=Math.abs(e)<=16?60*e:e,a=this;if(i)return a.$offset=I,a.$u=0===e,a;if(0!==e){var s=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(I+s,A)).$offset=I,a.$x.$localOffset=s}else a=this.utc();return a};var n=I.format;I.format=function(A){var t=A||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return n.call(this,t)},I.valueOf=function(){var A=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*A},I.isUTC=function(){return!!this.$u},I.toISOString=function(){return this.toDate().toISOString()},I.toString=function(){return this.toDate().toUTCString()};var C=I.toDate;I.toDate=function(A){return"s"===A&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():C.call(this)};var Q=I.diff;I.diff=function(A,t,g){if(A&&this.$u===A.$u)return Q.call(this,A,t,g);var e=this.local(),i=o(A).local();return Q.call(e,i,t,g)}}}()}(at);var st=at.exports,Bt={exports:{}};!function(A){A.exports=function(){var A,t,g=1e3,e=6e4,i=36e5,o=864e5,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,a=31536e6,s=2628e6,B=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,n={years:a,months:s,days:o,hours:i,minutes:e,seconds:g,milliseconds:1,weeks:6048e5},C=function(A){return A instanceof d},Q=function(A,t,g){return new d(A,g,t.$l)},r=function(A){return t.p(A)+"s"},E=function(A){return A<0},c=function(A){return E(A)?Math.ceil(A):Math.floor(A)},l=function(A){return Math.abs(A)},h=function(A,t){return A?E(A)?{negative:!0,format:""+l(A)+t}:{negative:!1,format:""+A+t}:{negative:!1,format:""}},d=function(){function E(A,t,g){var e=this;if(this.$d={},this.$l=g,void 0===A&&(this.$ms=0,this.parseFromMilliseconds()),t)return Q(A*n[r(t)],this);if("number"==typeof A)return this.$ms=A,this.parseFromMilliseconds(),this;if("object"==typeof A)return Object.keys(A).forEach((function(t){e.$d[r(t)]=A[t]})),this.calMilliseconds(),this;if("string"==typeof A){var i=A.match(B);if(i){var o=i.slice(2).map((function(A){return null!=A?Number(A):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var l=E.prototype;return l.calMilliseconds=function(){var A=this;this.$ms=Object.keys(this.$d).reduce((function(t,g){return t+(A.$d[g]||0)*n[g]}),0)},l.parseFromMilliseconds=function(){var A=this.$ms;this.$d.years=c(A/a),A%=a,this.$d.months=c(A/s),A%=s,this.$d.days=c(A/o),A%=o,this.$d.hours=c(A/i),A%=i,this.$d.minutes=c(A/e),A%=e,this.$d.seconds=c(A/g),A%=g,this.$d.milliseconds=A},l.toISOString=function(){var A=h(this.$d.years,"Y"),t=h(this.$d.months,"M"),g=+this.$d.days||0;this.$d.weeks&&(g+=7*this.$d.weeks);var e=h(g,"D"),i=h(this.$d.hours,"H"),o=h(this.$d.minutes,"M"),I=this.$d.seconds||0;this.$d.milliseconds&&(I+=this.$d.milliseconds/1e3,I=Math.round(1e3*I)/1e3);var a=h(I,"S"),s=A.negative||t.negative||e.negative||i.negative||o.negative||a.negative,B=i.format||o.format||a.format?"T":"",n=(s?"-":"")+"P"+A.format+t.format+e.format+B+i.format+o.format+a.format;return"P"===n||"-P"===n?"P0D":n},l.toJSON=function(){return this.toISOString()},l.format=function(A){var g=A||"YYYY-MM-DDTHH:mm:ss",e={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return g.replace(I,(function(A,t){return t||String(e[A])}))},l.as=function(A){return this.$ms/n[r(A)]},l.get=function(A){var t=this.$ms,g=r(A);return"milliseconds"===g?t%=1e3:t="weeks"===g?c(t/n[g]):this.$d[g],t||0},l.add=function(A,t,g){var e;return e=t?A*n[r(t)]:C(A)?A.$ms:Q(A,this).$ms,Q(this.$ms+e*(g?-1:1),this)},l.subtract=function(A,t){return this.add(A,t,!0)},l.locale=function(A){var t=this.clone();return t.$l=A,t},l.clone=function(){return Q(this.$ms,this)},l.humanize=function(t){return A().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},l.valueOf=function(){return this.asMilliseconds()},l.milliseconds=function(){return this.get("milliseconds")},l.asMilliseconds=function(){return this.as("milliseconds")},l.seconds=function(){return this.get("seconds")},l.asSeconds=function(){return this.as("seconds")},l.minutes=function(){return this.get("minutes")},l.asMinutes=function(){return this.as("minutes")},l.hours=function(){return this.get("hours")},l.asHours=function(){return this.as("hours")},l.days=function(){return this.get("days")},l.asDays=function(){return this.as("days")},l.weeks=function(){return this.get("weeks")},l.asWeeks=function(){return this.as("weeks")},l.months=function(){return this.get("months")},l.asMonths=function(){return this.as("months")},l.years=function(){return this.get("years")},l.asYears=function(){return this.as("years")},E}(),u=function(A,t,g){return A.add(t.years()*g,"y").add(t.months()*g,"M").add(t.days()*g,"d").add(t.hours()*g,"h").add(t.minutes()*g,"m").add(t.seconds()*g,"s").add(t.milliseconds()*g,"ms")};return function(g,e,i){A=i,t=i().$utils(),i.duration=function(A,t){var g=i.locale();return Q(A,{$l:g},t)},i.isDuration=C;var o=e.prototype.add,I=e.prototype.subtract;e.prototype.add=function(A,t){return C(A)?u(this,A,1):o.bind(this)(A,t)},e.prototype.subtract=function(A,t){return C(A)?u(this,A,-1):I.bind(this)(A,t)}}}()}(Bt);var nt=Bt.exports;
99
+ /**
100
+ * Gantt-Schedule-Timeline-Calendar Time api
101
+ *
102
+ * @copyright NEURONET - Rafal Pospiech
103
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
104
+ * @module gantt-schedule-timeline-calendar
105
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
106
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
107
+ * @version 3.37.5
108
+ * @released 2024-07-19
109
+ * @license SEE LICENSE IN LICENSE FILE
110
+ */class Ct{constructor(A,t){this.utcMode=!1,this.unsubs=[],this.currentDateLastCheck=0,this.state=A,this.api=t,this.dayjs=It,this.dayjs.extend(st),this.dayjs.extend(nt),this.unsubs.push(A.subscribe("config.utcMode",(A=>{this.utcMode=A}))),this.unsubs.push(A.subscribe("config.locale",(A=>{if(!A.name)throw new Error("Locale must have a name property.");this.locale=A,this.dayjs.locale(this.locale,null,!0)})))}destroy(){for(const A of this.unsubs)A()}date(A=void 0){return this.utcMode?It.utc(A).locale(this.locale.name):A?It(A).locale(this.locale.name):It().locale(this.locale.name)}recalculateTime(){this.api.main.recalculateTimes([{name:"all"}])}recalculateFromTo(A,t=!1){const g=A.period;if((A=Object.assign({},A)).from=+A.from,A.to=+A.to,A.fromDate=this.date(A.from).startOf(g),A.from=A.fromDate.valueOf(),A.toDate=this.date(A.to).endOf(g),A.to=A.toDate.valueOf(),!A.autoExpandTimeFromItems||A.calculatedZoomMode)return A;let e=Number.MAX_SAFE_INTEGER,i=0;const o=this.state.get("config.chart.items");if(Object.keys(o).length>0&&(0===A.from||0===A.to||t)){for(const A in o){const t=o[A];t.time.start<e&&t.time.start&&(e=t.time.start),t.time.end>i&&(i=t.time.end)}e<A.from&&(A.fromDate=this.date(e).startOf(g),A.from=A.fromDate.valueOf()),i>A.to&&(A.toDate=this.date(i).endOf(g),A.to=A.toDate.valueOf())}return A}getCenter(A){return A.leftGlobal+Math.round((A.rightGlobal-A.leftGlobal)/2)}isInCurrentView(A,t=this.state.get("$data.chart.time")){const g=A.valueOf();return!(g<t.leftGlobal||g>t.rightGlobal)}recalculateDatesWidths(A,t=this.state.get("$data.chart.time")){if(!t.timePerPixel)throw new Error("[gantt-schedule-timeline-calendar] No timePerPixel");for(const g of A){if(!g.leftGlobal||!g.rightGlobal)throw new Error("[gantt-schedule-timeline-calendar] No date leftGlobal or rightGlobal.");g.width=(g.rightGlobal+1-g.leftGlobal)/t.timePerPixel}return A}recalculateDatesPositions(A,t=this.state.get("$data.chart.time"),g=!0,e=!1){let i=0;if(g)for(const g of A){if(g.leftGlobal>=t.leftGlobal)break;if(isNaN(g.width))throw new Error("[gantt-schedule-timeline-calendar] NaN date width.");i-=g.width}for(let g of A){if(e&&(g=this.api.mergeDeep({},g)),g.leftPx=i,g.rightPx=i+g.width,isNaN(g.leftPx)||isNaN(g.rightPx))throw new Error("[gantt-schedule-timeline-calendar] Date leftPx or rightPx is a NaN.");g.currentView&&(g.currentView.leftPx=g.leftPx-t.leftPx,g.currentView.rightPx=g.rightPx-t.leftPx,g.currentView.width=g.currentView.rightPx-g.currentView.leftPx),i+=g.width}return A}setDatesCacheLevel(A,t,g=this.state.get("$data.chart.time")){if(!t.length)return;g.datesCache||(g.datesCache={timePerPixel:0,levels:[]}),g.datesCache.timePerPixel=g.timePerPixel,g.datesCache.levels[A]||(g.datesCache.levels[A]={leftTime:0,rightTime:0,dates:[]});const e=g.datesCache.levels[A];e.leftTime=t[0].leftGlobal,e.rightTime=t[t.length-1].rightGlobal,e.dates=[...t]}addDatesToCacheLevel(A,t,g=this.state.get("$data.chart.time")){if(!t.length)return;if(!g.datesCache)return;if(g.datesCache.timePerPixel!==g.timePerPixel)return t;const e=t[0],i=t[t.length-1],o=g.datesCache.levels[A];if(!o)return t;if(o.leftTime<=e.leftGlobal&&o.rightTime>=i.rightGlobal)return o.dates;if(o.dates.length>=1e6)throw new Error("[gantt-schedule-timeline-calendar] To many dates.");const I=[];if(e.leftGlobal<o.leftTime){for(const A of t){if(!(A.leftGlobal<o.leftTime))break;I.push(A)}o.leftTime=I[0].leftGlobal}for(const A of o.dates)I.push(A);if(i.rightGlobal>o.rightTime){for(const A of t)A.rightGlobal>o.rightTime&&I.push(A);o.rightTime=I[I.length-1].rightGlobal}return o.dates=I,o.dates}isLevelDateInCache(A,t,g=this.state.get("$data.chart.time")){if(!g.datesCache)return!1;if(g.datesCache.timePerPixel!==g.timePerPixel)return!1;const e=g.datesCache.levels[A];return!(!e||!e.dates.length)&&(t>=e.leftTime&&t<=e.rightTime)}getLevelDatesFromCache(A,t,g,e=this.state.get("$data.chart.time")){if(e.datesCache.timePerPixel!==e.timePerPixel)return[];const i=e.datesCache.levels[A];if(!i)return[];if(!(t>=i.leftTime&&g<=i.rightTime))return[];let o=0,I=0,a=!1;const s=i.dates.length;for(;I<s;I++){const A=i.dates[I];if(A.rightGlobal>=t&&(a=!0),A.rightGlobal>=g)break;a||o++}return{[Symbol.iterator](){let A=o;return{next:()=>A<=I?{value:i.dates[A++],done:!1}:(A=o,{done:!0})}},length:I-o+1}}getLevelDateFromCache(A,t,g=this.state.get("$data.chart.time")){if(!this.isLevelDateInCache(A,t,g))return null;for(const e of g.datesCache.levels[A].dates)if(e.rightGlobal>=t)return e;return null}getAllLevelDatesFromCache(A,t=this.state.get("$data.chart.time")){return t.datesCache.levels[A].dates}findOrCreateMainDateAtTime(A,t=this.state.get("$data.chart.time")){if(this.isLevelDateInCache(t.level,A,t))return this.getLevelDateFromCache(t.level,A,t);let g=[];t.datesCache.levels[t.level]&&(g=t.datesCache.levels[t.level].dates),g=this.addMissingDates(g,this.date(A),t);for(const t of g)if(t.rightGlobal>=A)return t;return null}addMissingDates(A,t,g=this.state.get("$data.chart.time"),e=!0){if(!A.length)return[];const i=A[0],o=A[A.length-1];if(!(t.valueOf()<i.leftGlobal||t.valueOf()>o.rightGlobal))return A;if(this.isLevelDateInCache(g.level,t.valueOf(),g))return this.getAllLevelDatesFromCache(g.level,g);const I=A.length;let a=A;if(e){a=new Array(I);for(let t=0;t<I;t++)a[t]=this.api.mergeDeep({},A[t])}const s=this.state.get(`config.chart.calendarLevels.${g.level}`),B=this.getCurrentFormatForLevel(s,g);let n=1;if("number"==typeof B.periodIncrement&&(n=B.periodIncrement),t.valueOf()<i.leftGlobal){if("function"==typeof B.periodIncrement)return A;const o=i.leftGlobalDate.subtract(1,"ms");let I=i.leftGlobalDate.subtract(n,g.period).startOf(g.period);for(;t.valueOf()<I.valueOf();)I=I.subtract(n,g.period).startOf(g.period);let s=[];do{s=this.generatePeriodDates({leftDate:I,rightDate:o,period:g.period,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,time:g}),I=I.subtract(1,g.period)}while(!s.length||s[0].leftGlobal>t.valueOf());return s=s.filter((A=>!a.find((t=>t.leftGlobal===A.leftGlobal)))),A=[...s,...a],A=this.recalculateDatesWidths(A,g),A=this.recalculateDatesPositions(A,g,!0,e),this.addDatesToCacheLevel(g.level,A,g)}if(t.valueOf()>o.rightGlobal){let i=o.rightGlobalDate.add(n,g.period).endOf(g.period);for(;t.valueOf()>i.valueOf();)i=i.add(n,g.period).endOf(g.period);let I=this.generatePeriodDates({leftDate:o.rightGlobalDate.add(1,"ms"),rightDate:i,period:g.period,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,time:g});return I=I.filter((A=>!a.find((t=>t.leftGlobal===A.leftGlobal)))),A=[...a,...I],A=this.recalculateDatesWidths(A,g),A=this.recalculateDatesPositions(A,g,!0,e),this.addDatesToCacheLevel(g.level,A,g)}return a}getGlobalOffsetPxFromDates(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0){const i=A.valueOf();if(!g.allDates||0===g.allDates.length)return-100;if(void 0===e&&(e=g.allDates[g.level]),t&&(e=this.addMissingDates(e,A,g)),!e||0===e.length)return-1;let o;for(let A=0,t=e.length;A<t;A++){const t=e[A];if(i<=t.rightGlobal+1){o=t;break}}return o?i<o.leftGlobal?o.leftPx:o.rightPx-(o.rightGlobal-i)/g.timePerPixel:i<=g.leftGlobal?0:i>=g.rightGlobal?g.totalViewDurationPx+(i-g.rightGlobal+1)/g.timePerPixel:-1}getViewOffsetPxFromDates(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0,i=!0){e||(e=g.allDates[g.level]),i&&(e=this.addMissingDates(e,A,g));const o=this.getDatesDiffPx(g.leftGlobalDate,A,g,!0,e);return t?this.limitOffsetPxToView(o):o}limitOffsetPxToView(A,t=this.state.get("$data.chart.time")){if(A<0)return 0;if(!t.levels.length)return t.width;const g=t.levels[t.level];if(!g.length)return t.width;const e=g[g.length-1];return A>e.currentView.rightPx?e.currentView.rightPx:A}findDateAtViewOffsetPx(A,t){return t.find((t=>t.currentView.rightPx>=A))}findDateIndex(A,t){let g=0;for(const e of t){if(e.rightGlobal>=A)return g;g++}return-1}findDateAtTime(A,t=void 0){if(!t){const A=this.state.get("$data.chart.time");t=A.allDates[A.level]}return t.find((t=>t.rightGlobal>=A))}getMainDateFromRelativePosition(A,t){const g=A.leftPx+t,e=this.state.get("$data.chart.time"),i=e.allDates[e.level];for(const A of i)if(A.rightPx>g)return A}getTimeFromOffsetPx(A,t=!0,g=this.state.get("$data.chart.time"),e=void 0){let i=A;t&&(i+=g.leftPx),e||(e=g.allDates[g.level]);const o=this.state.get(`config.chart.calendarLevels.${g.level}`),I=this.getCurrentFormatForLevel(o,g);let a=1;if("number"==typeof I.periodIncrement&&(a=I.periodIncrement),i<0){if("function"==typeof I.periodIncrement)return g.from;let A,t=g.fromDate.subtract(a,g.period).startOf(g.period),e=0;for(let o=0;o<1e3;o++){const o=this.generatePeriodDates({leftDate:t,rightDate:t.add(a,g.period).subtract(1,"ms"),period:g.period,time:g,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(o.length&&(A=o[0],e-=A.width,e<=i))return A.leftGlobal+(i-e)*g.timePerPixel;t=t.subtract(a,g.period).startOf(g.period)}}else if(i>g.totalViewDurationPx){let A,t=g.toDate.add(1,g.period).startOf(g.period),e=g.totalViewDurationPx;for(let o=0;o<1e3;o++){const o=this.generatePeriodDates({leftDate:t,rightDate:t.add(a,g.period).subtract(1,"ms"),period:g.period,time:g,level:this.state.get(`config.chart.calendarLevels.${g.level}`),levelIndex:g.level,callOnDate:!0,callOnLevelDates:!0,expandIfMissing:!1});if(o.length&&(A=o[0],e+=A.width,e>i))return A.rightGlobal+1-(e-i)*g.timePerPixel;t=t.add(a,g.period).startOf(g.period)}}for(let A=0,t=e.length;A<t;A++){const t=e[A];if(t.rightPx>i){const A=(t.rightPx-i)*g.timePerPixel;return t.rightGlobal+1-A}}const s=e[e.length-1];return s.rightGlobal+1-(s.rightPx-i)*g.timePerPixel}getCurrentFormatForLevel(A,t){return A.find((A=>+t.zoom<=+A.zoomTo))}alignLevelToMain(A,t,g=this.state.get("$data.chart.time")){if(A===g.level)return t;if(!this.state.get("config.chart.time.alignLevelsToMain"))return t;const e=g.allDates[g.level];if(!e||!e.length)return t;if(!t||!t.length)return t;const i=t.length;for(let A=0;A<i;A++){const i=t[A];let o,I=!1,a=0;for(const A of e){if(A.rightGlobal>=i.leftGlobal){if(!I)if(A.leftGlobal>=i.leftGlobal)i.leftGlobal=A.leftGlobal,i.leftGlobalDate=this.date(i.leftGlobal),i.leftPx=A.leftPx;else{const t=(A.rightGlobal-i.leftGlobal)/g.timePerPixel;a=-(A.width-t)}I=!0}if(A.leftGlobal>i.rightGlobal)break;I&&(a+=A.width,o=A)}if(o)if(o.rightGlobal<=i.rightGlobal)i.rightGlobal=o.rightGlobal,i.rightGlobalDate=this.date(i.rightGlobal),i.width=a,i.rightPx=i.leftPx+i.width;else{const A=(o.rightGlobal-i.rightGlobal)/g.timePerPixel;i.width=a-A,i.rightPx=i.leftPx+i.width}}return t}stopCheckingCurrentDates(){this.checkCurrentDateTimeoutId&&clearTimeout(this.checkCurrentDateTimeoutId)}checkCurrentDates(A=!1,t=this.state.get("$data.chart.time")){const g=this.date().valueOf(),e=t.checkCurrentDateInterval;if(this.stopCheckingCurrentDates(),A&&(this.checkCurrentDateTimeoutId=setTimeout((()=>{this.checkCurrentDates(A,t)}),e)),g-this.currentDateLastCheck<e)return;const i=t.allDates;let o=!1;for(const A of i){const t=A.length;for(let e=0;e<t;e++){const i=A[e],I=i.current;i.current=!1,i.previous=!1,i.next=!1,i.leftGlobal<=g&&i.rightGlobal>=g&&(!0!==I&&(o=!0),i.current=!0,e>0&&(A[e-1].previous=!0),e+1<t&&(A[e+1].next=!0))}}this.currentDateLastCheck=g,o&&this.state.update("$data.chart.time.levels",(A=>A),{data:"current-time"}),this.api.render()}getDSTDiffForLevel(A,t,g,e=this.state.get("$data.chart.time")){const i=this.api.time.getLevelDatesFromCache(A,t,g,e);let o=0;for(const A of i)A.DST.diffMs&&t<=A.DST.afterTime&&g>A.DST.afterTime&&(o+=A.DST.diffMs);return o}setDatesDST(A){for(const t of A){const A=t.rightGlobal-t.leftGlobal,g=t.rightGlobalDate.utc(!0).valueOf()-t.leftGlobalDate.utc(!0).valueOf();if(A!==g){t.DST={diffMs:A-g,afterTime:0,afterDate:null};for(let A=0;A<9216;A++)if(t.leftGlobalDate.add(A,"hour").hour()!==t.leftGlobalDate.utc(!0).add(A,"hour").hour()){t.DST.afterDate=t.leftGlobalDate.add(A,"hour").subtract(1,"ms"),t.DST.afterTime=t.DST.afterDate.valueOf();break}}}return A}_generatePeriodDates(A){const t=[];A=Object.assign({},A);const{datesCount:g,rightDate:e,period:i,level:o,levelIndex:I,time:a,originalLeftDate:s,format:B}=A;let n=A.leftDate;const C=this.date().valueOf();for(let A=0;A<g;A++){let A=B.periodIncrement||1;"function"==typeof A&&(A=A({currentDates:t,date:n,leftDate:s,rightDate:e,period:i,level:o,levelIndex:I,time:a,vido:this.api.vido,api:this.api}));const g=n.add(A-1,i).endOf(i),Q=n.valueOf()<=C&&g.valueOf()>=C,r={id:`gstcid-${n.valueOf()}`,leftGlobal:n.valueOf(),leftGlobalDate:n,rightGlobalDate:g,rightGlobal:g.valueOf(),width:0,leftPx:0,rightPx:0,period:i,formatted:null,current:Q,previous:!1,next:!1,periodIncrementedBy:A,DST:{diffMs:0,afterTime:0,afterDate:null}};Q&&t.length&&(t[t.length-1].previous=!0),t.length&&t[t.length-1].current&&(r.next=!0);const E=r.rightGlobal+1-r.leftGlobal;r.width=E/a.timePerPixel,t.push(r),n=n.add(A||1,i)}return this.setDatesDST(t)}generatePeriodDates({leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,callOnDate:I,callOnLevelDates:a,expandIfMissing:s=!0}){if(!o.timePerPixel)return[];const B=this.getCurrentFormatForLevel(e,o);A=A.startOf(g),t=t.endOf(g);const n=Math.ceil(t.diff(A,g,!0)),C=A.clone();let Q=this._generatePeriodDates({datesCount:n,leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,originalLeftDate:C,format:B});if(I){const A=[];for(let t=0;t<Q.length;t++){let g=Q[t];if(g){for(let A=0,t=o.onDate.length;A<t;A++)g=o.onDate[A]({date:g,format:B,time:o,level:e,levelIndex:i});g&&A.push(g)}}Q=A}if(a)for(let A=0,t=o.onLevelDates.length;A<t;A++)Q=o.onLevelDates[A]({dates:Q,format:B,time:o,level:e,levelIndex:i});if((!Q.length||Q[Q.length-1].rightGlobal<t.valueOf())&&s){let s=this._generatePeriodDates({datesCount:n+100,leftDate:A,rightDate:t,period:g,level:e,levelIndex:i,time:o,originalLeftDate:C,format:B});if(I){const A=[];for(let t=0;t<s.length;t++){let g=s[t];if(g){for(let A=0,t=o.onDate.length;A<t;A++)g=o.onDate[A]({date:g,format:B,time:o,level:e,levelIndex:i});g&&A.push(g)}}s=A}if(a)for(let A=0,t=o.onLevelDates.length;A<t;A++)s=o.onLevelDates[A]({dates:s,format:B,time:o,level:e,levelIndex:i});const Q=[];for(const A of s)if(Q.push(A),A.rightGlobal>=t.valueOf())return Q}this.addDatesToCacheLevel(i,Q,o);const r=[];for(const A of Q)if(r.push(A),A.rightGlobal>=t.valueOf())return r;return r}getDatesDiffPx(A,t,g,e=!0,i=void 0){if(A.valueOf()===t.valueOf())return 0;let o,I,a=0,s=!1;if(t.valueOf()<A.valueOf()){const g=A;A=t,t=g,s=!0}if(void 0===i){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return 0;i=g.allDates[g.level]}if(0===i.length)return 0;if(this.isLevelDateInCache(g.level,A.valueOf(),g)?i=this.getAllLevelDatesFromCache(g.level,g):A.valueOf()<i[0].leftGlobal&&(i=this.addMissingDates(i,A,g)),this.isLevelDateInCache(g.level,t.valueOf(),g))i=this.getAllLevelDatesFromCache(g.level,g);else{const A=i[i.length-1].rightGlobalDate.clone();t.valueOf()>A.valueOf()&&(i=this.addMissingDates(i,t,g))}this.addDatesToCacheLevel(g.level,i,g);let B=!1,n=0;for(const g of i)if(g.rightGlobal+1>=A.valueOf()&&!B&&(B=!0,I=g),B&&(a+=g.width),g.rightGlobal+1>=t.valueOf()){o=g,n=g.width;break}if(e){let e=A.valueOf()-I.leftGlobal;A.valueOf()<I.leftGlobal&&(e=0);let i=o.rightGlobal+1-t.valueOf();o.leftGlobal>t.valueOf()&&(i=o.rightGlobal+1-o.leftGlobal);const B=(i+e)/g.timePerPixel;return s?-(a-B):a-B}return a-=n,s?-a:a}getDatesDiffMs(A,t,g,e=!0,i=void 0){if(A.valueOf()===t.valueOf())return 0;let o,I,a=0,s=!1;if(t.valueOf()<A.valueOf()){const g=A;A=t,t=g,s=!0}if(void 0===i){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return 0;i=g.allDates[g.level]}if(0===i.length)return 0;if(this.isLevelDateInCache(g.level,A.valueOf(),g)?i=this.getAllLevelDatesFromCache(g.level,g):A.valueOf()<i[0].leftGlobal&&(i=this.addMissingDates(i,A,g)),this.isLevelDateInCache(g.level,t.valueOf(),g))i=this.getAllLevelDatesFromCache(g.level,g);else{const A=i[i.length-1].rightGlobalDate.clone();t.valueOf()>A.valueOf()&&(i=this.addMissingDates(i,t,g))}this.addDatesToCacheLevel(g.level,i,g);let B=!1,n=0;for(const g of i)if(g.rightGlobal+1>=A.valueOf()&&!B&&(B=!0,I=g),B&&(a+=g.rightGlobal+1-g.leftGlobal),g.rightGlobal+1>=t.valueOf()){o=g,n=g.rightGlobal+1-g.leftGlobal;break}if(e){let g=A.valueOf()-I.leftGlobal;A.valueOf()<I.leftGlobal&&(g=0);let e=o.rightGlobal+1-t.valueOf();o.leftGlobal>t.valueOf()&&(e=o.rightGlobal+1-o.leftGlobal);const i=e+g;return s?-(a-i):a-i}return a-=n,s?-a:a}addTimeFromDates(A,t,g=this.state.get("$data.chart.time")){if(!g.allDates||!g.allDates.length||!g.allDates[g.level])return A+t;if(!t)return A;let e=this.getAllLevelDatesFromCache(g.level,g);const i=this.date(A);e=this.addMissingDates(e,i,g,!0);let o=this.findDateIndex(A,e),I=A-e[o].leftGlobal;I<0&&(I=0);let a=0;if(t>0){for(;a<t;){const A=e[o];if(a+=A.rightGlobal+1-A.leftGlobal,I&&(a-=I,I=0),a>=t)break;o++,e[o]||(e=this.addMissingDates(e,A.leftGlobalDate.add(1,g.period),g,!0))}return e[o].rightGlobal+1-(a-t)}for(;a>t;){let A=e[o];if(a-=I,I&&(I=0),a<=t)break;if(o--,o<0&&(e=this.addMissingDates(e,A.leftGlobalDate.subtract(1,g.period),g,!0),o=0),A=e[o],a-=A.rightGlobal+1-A.leftGlobal,a<=t)break}return e[o].leftGlobal+(-a+t)}getLeftViewDate(A=this.state.get("$data.chart.time")){if(!A.levels||!A.levels.length)return null;const t=A.levels[A.level];return t.length?t[0]:null}getRightViewDate(A=this.state.get("$data.chart.time")){if(!A.levels||!A.levels.length||!A.levels[A.level])return null;const t=A.levels[A.level];return t.length?t[t.length-1]:null}getLowerPeriod(A){switch(A){case"year":return"month";case"month":case"week":return"day";case"day":return"hour";case"hour":return"minute";case"minute":return"second";case"second":return"millisecond";default:return A}}getHigherPeriod(A){switch(A){case"month":return"year";case"week":case"day":return"month";case"hour":return"day";case"minute":return"hour";case"second":return"minute";case"millisecond":return"second";default:return A}}}
111
+ /**
112
+ * Gantt-Schedule-Timeline-Calendar IDApi
113
+ *
114
+ * @copyright NEURONET - Rafal Pospiech
115
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
116
+ * @module gantt-schedule-timeline-calendar
117
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
118
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
119
+ * @version 3.37.5
120
+ * @released 2024-07-19
121
+ * @license SEE LICENSE IN LICENSE FILE
122
+ */var Qt=new class{constructor(){this.GSTCID=this.GSTCID.bind(this),this.isGSTCID=this.isGSTCID.bind(this),this.sourceID=this.sourceID.bind(this)}GSTCID(A){return this.isGSTCID(A)?A:`gstcid-${A}`}isGSTCID(A){return String(A).startsWith("gstcid-")}sourceID(A){return this.isGSTCID(A)?A.substring(7):A}};
123
+ /**
124
+ * Gantt-Schedule-Timeline-Calendar Slots
125
+ *
126
+ * @copyright NEURONET - Rafal Pospiech
127
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
128
+ * @module gantt-schedule-timeline-calendar
129
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
130
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
131
+ * @version 3.37.5
132
+ * @released 2024-07-19
133
+ * @license SEE LICENSE IN LICENSE FILE
134
+ */class rt extends At{constructor(A,t,g){super(t,g),this.subs=[],this.name=A,this.subs.push(t.state.subscribe(`config.slots.${A}`,this.setComponents,{queue:!0}))}destroy(){this.subs.forEach((A=>A())),super.destroy()}getName(){return this.name}}function Et(A,t,g){return new rt(A,t,g)}
135
+ /**
136
+ * Gantt-Schedule-Timeline-Calendar helpers
137
+ *
138
+ * @copyright NEURONET - Rafal Pospiech
139
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
140
+ * @module gantt-schedule-timeline-calendar
141
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
142
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
143
+ * @version 3.37.5
144
+ * @released 2024-07-19
145
+ * @license SEE LICENSE IN LICENSE FILE
146
+ */const ct="gstc";function lt(A,t=""){let g=`${ct}__${A}`;return A===ct&&(g=ct),t?`${g} ${g}--${t.replace(":","-")}`:g}function ht(A,t){let g=`${ct}__${A}`;return A===ct&&(g=ct),`${g}--${t}`}
147
+ /**
148
+ * Api functions
149
+ *
150
+ * @copyright NEURONET - Rafal Pospiech
151
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
152
+ * @module gantt-schedule-timeline-calendar
153
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
154
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
155
+ * @version 3.37.5
156
+ * @released 2024-07-19
157
+ * @license SEE LICENSE IN LICENSE FILE
158
+ */let dt=0;const ut=new Map;function wt(A){return ut.get(A.apiId)}class Dt{constructor(A){this.apiId=0,this.name=ct,this.debug=!1,this.plugins={},this.iconsCache={},this.unsubscribes=[],this.mutedMethods=new Set,this.mergeDeep=null,this.generateSlots=Et,this.getClass=lt,this.getId=ht,this.GSTCID=Qt.GSTCID,this.isGSTCID=Qt.isGSTCID,this.sourceID=Qt.sourceID,this.allActions=[],this.keysToKeep=["id","parents","children","allChildren","parentId"],this.apiId=++dt,ut.set(this.apiId,{rowsDataWithParentsExpanded:[],rowsIdsWithParentsExpanded:[],rowsWithParentsExpanded:[],rowsWithParentsExpandedAsMap:new Map,rowsPositionsMap:{id:"",dataIndex:0,keys:[]},allRowsIds:[],allRowsAsArray:[],rowsWithParentsExpandedDataIndexMap:new Map,itemsAsArray:[],itemsDataAsArray:[]}),this.state=A,this.time=new Ct(this.state,this),this.unsubscribes.push(this.state.subscribe("config.debug",(A=>this.debug=A))),this.debug&&(window.state=A)}render(){return this.vido.update()}getListenerPosition(A){for(const t of this.state.getListeners().values())for(const g of t.listeners)if(g[1].fn===A)return g[0]}setVido(A){this.vido=A}clone(A){return this.mergeDeep({},A)}setMergeDeep(A){this.mergeDeep=A}log(...A){this.debug&&console.log.call(console,...A)}getInitializedPlugins(){return this.state.get("$data.initializedPlugins")}pluginInitialized(A){this.getInitializedPlugins().add(A)}pluginDestroyed(A){this.getInitializedPlugins().delete(A)}clearPluginsPositions(){this.getInitializedPlugins().clear()}isPluginInitialized(A){return this.getInitializedPlugins().has(A)}getPluginPosition(A){return[...this.getInitializedPlugins()].indexOf(A)}getPluginsPositions(){const A={};let t=0;for(const g of this.getInitializedPlugins())A[g]=t++;return A}isPluginInitializedBefore(A,t){return this.getPluginPosition(A)<this.getPluginPosition(t)}getActions(A){this.allActions.includes(A)||this.allActions.push(A);let t=this.state.get("config.actions."+A);return void 0===t&&(t=[]),t.slice()}isItemInViewport(A,t=void 0,g=void 0){if(!t||!g){const A=this.state.get("config.chart.time");t=A.leftGlobal,g=A.rightGlobal}return A.time.start<=g&&A.time.end>=t}getChildrenLinkedItemsIds(A,t,g=[]){const e=t[A];if(e.linkedWith&&e.linkedWith.length){g.includes(A)||g.push(A);for(const A of e.linkedWith){if(g.includes(A))continue;g.push(A);const e=t[A];e.linkedWith&&e.linkedWith.length&&this.getChildrenLinkedItemsIds(A,t,g)}}return g}collectAllLinkedItems(A,t){const g=Object.keys(A),e=Object.keys(t),i=g.filter((A=>!e.includes(A)));if(i.length)throw new Error(`Items with id [${i.join(", ")}] does not exists in "$data.chart.items". TIP: For performance reasons, state is mutable, so try not to modify items from the "state.get" method before you copy them (with "gstc.api.clone(items)" for example).`);for(const g in A){const e=A[g];t[e.id].linkedWith=e.linkedWith||[]}const o=new Map;for(const A in t){if(o.has(A))continue;const g=this.getChildrenLinkedItemsIds(A,t);t[A].linkedWith.splice(t[A].linkedWith.length,0,...g);const e=Array.from(new Set(t[A].linkedWith));t[A].linkedWith=e.filter((t=>t!==A)),o.set(A,!0);for(const A of e)t[A].linkedWith=e.filter((t=>t!==A)),o.set(A,!0)}}getChildrenDependantItemsIds(A,t,g=[]){if(A.dependant&&A.dependant.length)for(const e of A.dependant){if(g.includes(e))continue;g.push(e);const i=t[e];if(!i)throw new Error(`Dependant item not found [id:'${e}'] found in item [id:'${A.id}']`);i.dependant&&i.dependant.length&&this.getChildrenDependantItemsIds(i,t,g)}return g}calculateItemVerticalPosition(A,t=null,g=null,e=null){if(e||(e=this.getItem(A)),t||(t=this.getItemData(A)),g||(g=this.getRowData(e.rowId)),e.gap&&t||(this.prepareItem(e),t=this.getItemData(A)),!g)return t.position;const i=g.position.top+e.gap.top,o=t.position.rowTop+e.gap.top,I=this.getRowViewTop(g.id);let a=I+t.position.actualRowTop;return I===1/0?a=1/0:-1===I&&(a=-1),t.position.top=i,t.position.actualRowTop=o,t.position.viewTop=a,t.position}setItemDataOutOfView(A,t=this.state.get("$data.chart.time")){A.outOfView||(A.outOfView={left:!1,right:!1,whole:!1});const g=A.time.startDate.valueOf(),e=A.time.endDate.valueOf();return A.outOfView.left=g<t.leftGlobal||g>=t.rightGlobal,A.outOfView.right=e>t.rightGlobal||e<=t.leftGlobal,A.outOfView.whole=e<=t.leftGlobal||g>=t.rightGlobal,A}calculateItemHorizontalPosition(A,t=null,g=null,e=this.state.get("$data.chart.time"),i=null){if(i||(i=this.getItem(A)),t||(t=this.getItemData(A)),g||(g=this.getRowData(i.rowId)),!g)return t.position;if(this.state.get("$data.chart.allItemsOnTheLeftOrRight"))return;const o=t.time.startDate.valueOf()===i.time.start?t.time.startDate:this.time.date(i.time.start),I=t.time.endDate.valueOf()===i.time.end?t.time.endDate:this.time.date(i.time.end),a=this.time.getViewOffsetPxFromDates(o,!1,e),s=this.time.getViewOffsetPxFromDates(I.add(1,"ms"),!1,e);t.position.left=a,t.position.actualLeft=this.time.limitOffsetPxToView(a,e),t.position.right=s,t.position.actualRight=this.time.limitOffsetPxToView(s,e),t.width=s-a;let B=this.time.getViewOffsetPxFromDates(I,!1,e);B===s&&(B-=1/e.timePerPixel),t.timeWidth=B-a,t.actualWidth=t.position.actualRight-t.position.actualLeft;const n=this.state.get("config.chart.item.minWidth");return"number"==typeof n&&t.actualWidth<n&&(t.actualWidth=n),this.setItemDataOutOfView(t,e),t.position}calculateItemPosition(A,t=null,g=null,e=this.state.get("$data.chart.time"),i=null){return t||(t=this.state.get(`$data.chart.items.${A}`)),i||(i=this.state.get(`config.chart.items.${A}`)),g||(g=this.state.get(`$data.list.rows.${i.rowId}`)),this.calculateItemHorizontalPosition(A,t,g,e,i),this.calculateItemVerticalPosition(A,t,g,i),t.position}getItemPosition(A,t=null,g=null,e=this.state.get("$data.chart.time"),i=null){return i||(i=this.getItem(A)),t||(t=this.getItemData(A)),0===t.position.left&&0===t.position.right&&this.calculateItemPosition(A,t,g,e,i),t.position}getRow(A){return this.state.get(`config.list.rows.${A}`)}getRows(A){if(!A.length)return[];const t=this.getAllRows(),g=[];for(const e of A)t[e]&&g.push(t[e]);return g}getAllRows(){return this.state.get("config.list.rows")}getVisibleRowsId(){return this.state.get("$data.list.visibleRows")}getRowsData(){return this.state.get("$data.list.rows")}setRowsData(A){this.state.update("$data.list.rows",A)}getRowData(A){return this.state.get(`$data.list.rows.${A}`)}setRowData(A,t){this.state.update(`$data.list.rows.${A}`,t)}getItem(A){return this.state.get(`config.chart.items.${A}`)}getItems(A=[]){const t=[],g=this.getAllItems();for(const e of A)g[e]&&t.push(g[e]);return t}getAllItemsAsArray(){return wt(this).itemsAsArray}getAllItemsDataAsArray(){return wt(this).itemsDataAsArray}getAllItems(){return this.state.get("config.chart.items")}getItemData(A){return this.state.get(`$data.chart.items.${A}`)}getItemsData(){return this.state.get("$data.chart.items")}setItemData(A,t){this.state.update(`$data.chart.items.${A}`,(A=>{for(const g in t)A[g]=t[g];return A}))}setItemsData(A){this.state.update("$data.chart.items",A)}prepareDependantItems(A,t){return this.getChildrenDependantItemsIds(A,t).filter((t=>t!==A.id))}prepareItem(A,t=this.state.get("config.chart.item.height"),g=this.getItemsData(),e=this.getAllItems(),i=this.getAllRows()){let o=A.id;if(o=String(o),A.id=o,g[A.id]||(g[A.id]={id:A.id,actualHeight:0,outerHeight:0,time:null,position:{left:0,actualLeft:0,right:0,actualRight:0,rowTop:A.rowTop||0,actualRowTop:A.actualRowTop||0,top:0,viewTop:0},outOfView:{left:!1,right:!1,whole:!1},width:-1,actualWidth:-1,timeWidth:-1,detached:!1,linkedWith:[],dependant:this.getChildrenDependantItemsIds(A,e)}),A.time||console.error("There is something wrong with this item.",A),"number"!=typeof A.time.start||"number"!=typeof A.time.end)throw new Error('[gantt-schedule-timeline-calendar] Item "time.start" and "time.end" values should be a number (unix epoch milliseconds).');const I=A.rowId;if("string"!=typeof I)throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should be a string.');if(!I.startsWith("gstcid-"))throw new Error('[gantt-schedule-timeline-calendar] Item "rowId" should start with "gstcid-".');if(!i[I])throw new Error(`[gantt-schedule-timeline-calendar] Row for item "${A.id}" does not exists ("${I}"). TIP: Try updating the rows first to make sure the rows for the items exist.`);A.time.start=+A.time.start,A.time.end=+A.time.end,A.id=String(A.id);const a=this.state.get("config.chart.item");"number"!=typeof A.height&&(A.height=t),g[A.id].time={startDate:this.time.date(A.time.start),endDate:this.time.date(A.time.end)},g[A.id].actualHeight=A.height,void 0===A.overlap&&(A.overlap=a.overlap),"number"!=typeof A.top&&(A.top=0),A.gap||(A.gap={}),"number"!=typeof A.gap.top&&(A.gap.top=a.gap.top),"number"!=typeof A.gap.bottom&&(A.gap.bottom=a.gap.bottom),"number"!=typeof A.minWidth&&(A.minWidth=a.minWidth),g[A.id].outerHeight=g[A.id].actualHeight+A.gap.top+A.gap.bottom,g[A.id].position.actualRowTop=g[A.id].position.rowTop+A.gap.top}prepareItems(A){const t=this.state.get("config.chart.item.height"),g=this.getItemsData(),e=wt(this);e.itemsAsArray.length=0,e.itemsDataAsArray.length=0;for(const i in A){const o=A[i];this.prepareItem(o,t,g,A),e.itemsAsArray.push(A[i]),e.itemsDataAsArray.push(g[i])}return this.collectAllLinkedItems(A,g),A}sortRowsByChildren(A,t={},g=this.state.get("config.list.rows"),e=this.state.get("$data.list.rows")){for(const i of A){const A=g[i],o=e[i],I=A.parentId&&t[A.parentId]||!A.parentId;!t[i]&&I&&(t[i]=A),o.children.length&&this.sortRowsByChildren(o.children,t,g,e)}return t}getSortableValue(A,t){return"string"==typeof A?t[A]:"function"==typeof A?A({row:t,vido:this.vido}):""}sortRowsByColumn(A,t=!0){const g=this.state.get("config.list.sort.compare");let e=this.getAllRows();const i=wt(this);if(0===i.allRowsIds.length)return e;const o=i.allRowsAsArray;g?o.sort(g(A)):o.sort(((g,e)=>{const i=this.getSortableValue(A.sortable,g),o=this.getSortableValue(A.sortable,e);return"number"==typeof i?t?i-o:o-i:"string"==typeof i?t?i.localeCompare(o):o.localeCompare(i):void 0}));const I=o.map((A=>A.id)),a=this.getRowsData();for(const A of I){const t=a[A];t.children&&t.children.length&&t.children.sort(((A,t)=>I.indexOf(A)-I.indexOf(t)))}e=this.sortRowsByChildren(I),this.state.update("config.list.rows",e,{data:"sortRowsByColumn"});const s=this.getScrollTop();return this.state.get("config.scroll.vertical.byPixels")?this.setScrollTop(s.absolutePosPx):this.setScrollTop(s.dataIndex,s.preciseOffset),e}fillEmptyRowValues(A){const t=this.state.get("config.list.row.height"),g=this.getRowsData();let e=0;for(let i in A){const o=A[i];let I=g[i];if(i=String(i),o.id=i,"string"!=typeof i)throw new Error('[gantt-schedule-timeline-calendar] Row "id" must be a string.');if(!i.startsWith("gstcid-"))throw new Error(`[gantt-schedule-timeline-calendar] Row "id" should start with "gstcid-" (your row id: "${i}").`);if(i.startsWith("gstcid-gstcid-"))throw new Error(`[gantt-schedule-timeline-calendar] Your row "id" is wrapped more than once. It should look like this "gstcid-something" and it looks like this: "${i}".`);g[i]||(I={id:o.id,parentId:o.parentId,parents:[],children:[],allChildren:[],position:{top:0,bottom:0},items:[],itemsOrder:[],actualHeight:0,outerHeight:0,parentsExpanded:!0,inView:!0}),"number"!=typeof o.height&&(o.height=t),I.actualHeight=o.height,"boolean"!=typeof o.expanded&&(o.expanded=!1),I.position.top=e,"object"!=typeof o.gap&&(o.gap={}),"number"!=typeof o.gap.top&&(o.gap.top=0),"number"!=typeof o.gap.bottom&&(o.gap.bottom=0),void 0===o.visible&&(o.visible=!0),I.outerHeight=I.actualHeight+o.gap.top+o.gap.bottom,g[i]=I,e+=I.outerHeight}return A}itemsOnTheSameLevel(A,t){const g=this.getItemData(A.id),e=this.getItemData(t.id),i=g.position.rowTop+g.outerHeight,o=e.position.rowTop+e.outerHeight;return e.position.rowTop<=g.position.rowTop&&o>g.position.rowTop||(e.position.rowTop>=g.position.rowTop&&e.position.rowTop<i||e.position.rowTop>=g.position.rowTop&&o<i)}itemsTimeOverlaps(A,t){return t.time.start>=A.time.start&&t.time.start<=A.time.end||(t.time.end>=A.time.start&&t.time.end<=A.time.end||(t.time.start>=A.time.start&&t.time.end<=A.time.end||t.time.start<=A.time.start&&t.time.end>=A.time.end))}itemOverlapsWithOthers(A,t){for(let g=0,e=t.length;g<e;g++){const e=t[g],i=e.time.start&&A.time.start&&e.time.end&&A.time.end;if(A.id!==e.id&&this.itemsOnTheSameLevel(A,e)&&this.itemsTimeOverlaps(A,e)&&i)return e}return null}fixOverlappedItems(A){if(this.isMutedMethod("fixOverlapped"))return;if(0===A.length)return;const t=this.getItemsData();for(const g of A){if(g.overlap)continue;const A=t[g.id];A&&(A.position.rowTop=g.top)}for(let g=0;g<A.length;g++){const e=A[g];if(e.overlap)continue;const i=t[e.id];if(!i)continue;i.position.actualRowTop=i.position.rowTop+e.gap.top;let o=this.itemOverlapsWithOthers(e,A);if(o)for(;o=this.itemOverlapsWithOthers(e,A);){const t=this.getItemData(o.id),I=A.findIndex((A=>A.id===o.id));I<g?(i.position.rowTop+=t.outerHeight,i.position.actualRowTop=i.position.rowTop+e.gap.top):(t.position.rowTop+=i.outerHeight,t.position.actualRowTop=t.position.rowTop+o.gap.top)}}}makeChildren(A,t={parents:[]}){if("object"!=typeof A)return[];A.children||(A.children=[]),A.allChildren||(A.allChildren=[]),A.parents||(A.parents=[...t.parents]),A.parentId&&"undefined"!==A.parentId&&A.parents.push(A.parentId);for(const t in A)if("id"!==t&&"parentId"!==t&&"children"!==t&&"allChildren"!==t&&"parents"!==t){"undefined"!==t&&(A.children.push(t),A.allChildren.push(t));const g=A[t];if("object"!=typeof g)continue;const e=this.makeChildren(g,A);A.allChildren.splice(A.allChildren.length,0,...e)}return A.allChildren}clearNested(A){for(const t in A)"object"!=typeof A[t]||Array.isArray(A[t])||this.clearNested(A[t]),this.keysToKeep.includes(t)||delete A[t],"parentId"===t&&"undefined"===A[t]&&(A[t]=void 0);return A}fastTree(A,t=null){var g,e;if(!t){t={undefined:{},id:"undefined"};for(const e in A){const i=A[e];t[i.id]||(t[i.id]={parentId:null!==(g=i.parentId)&&void 0!==g?g:"undefined",id:i.id})}}for(const A in t){const g=t[A];t[null!==(e=g.parentId)&&void 0!==e?e:"undefined"][g.id]=g}this.makeChildren(t[void 0]),delete t[void 0],delete t.id,delete t.parents,delete t.children,delete t.allChildren;for(const A in t)t[A]=this.clearNested(t[A]);return t}updateItemRowMapForItem(A,t,g=this.state.get("$data.itemRowMap"),e=this.state.get("$data.list.rows")){if(!e[t])return;e[t].items||(e[t].items=[]);const i=g[A];i&&e[i]&&(e[i].items=e[i].items.filter((t=>t!==A)).sort(((A,t)=>this.getItem(A).time.start-this.getItem(t).time.start))),g[A]=t,e[t].items.includes(A)||e[t].items.push(A)}sortRowItemsInAddOrder(A,t){t.itemsOrder=t.items.slice(),t.itemsOrder.sort(((t,g)=>A.indexOf(t)-A.indexOf(g)))}sortRowItemsByTime(A){A.items=A.items.sort(((A,t)=>this.getItem(A).time.start-this.getItem(t).time.start))}makeTreeMap(A,t,g=!1){let e=this.state.get("$data.treeMap");if(!g||!e){e=this.fastTree(A);for(const t in A){const g=A[t],i=e[t];for(const A in i)g[A]=i[A]}}const i=this.state.get("$data.reloading")?{}:this.state.get("$data.itemRowMap");for(const A in t){const g=t[A];this.updateItemRowMapForItem(A,g.rowId,i)}const o=Object.keys(this.state.get("config.chart.items"));for(const t in A){const g=A[t];this.sortRowItemsByTime(g),this.sortRowItemsInAddOrder(o,g)}return this.state.update("$data.itemRowMap",i),g||this.state.update("$data.treeMap",e),A}_updateRowsWithParentsExpandedCache(A){const t=wt(this);t.rowsIdsWithParentsExpanded.length=0,t.rowsIdsWithParentsExpanded.splice(0,0,...A),t.rowsWithParentsExpanded.length=0,t.rowsDataWithParentsExpanded.length=0,t.rowsWithParentsExpandedDataIndexMap.clear();const g=this.state.get("config.list.rows"),e=this.state.get("$data.list.rows");t.rowsWithParentsExpandedAsMap.clear();let i=0;for(const A of t.rowsIdsWithParentsExpanded){const o=g[A];o&&(t.rowsWithParentsExpanded.push(o),t.rowsWithParentsExpandedAsMap.set(A,o),t.rowsDataWithParentsExpanded.push(e[A]),t.rowsWithParentsExpandedDataIndexMap.set(A,i),i++)}}generateRowsWithParentsExpanded(A){const t=[],g=this.getRowsData();A:for(const e in A){if(!g[e]||!g[e].parents)return[];if(this.isRowVisible(e)){for(const t of g[e].parents){const g=A[t];if(!g||!g.expanded)continue A}t.push(e)}}return this._updateRowsWithParentsExpandedCache(t),t}getRowInfoFromTop(A){const t=this.state.get("config.list.rows"),g=this.state.get("$data.list.rows"),e=this.getRowPositionMapNode(A);return{dataIndex:e.dataIndex,row:t[e.id],rowData:g[e.id]}}getRowViewTop(A,t=this.state.get("$data.list.rows"),g=this.state.get("$data.scroll.vertical")){return t[A].position.top-g.absolutePosPx-g.preciseOffset}parentsExpanded(A){return wt(this).rowsWithParentsExpandedAsMap.has(A)}setAllRowsIdsCache(A){const t=wt(this);t.allRowsIds=A;const g=this.state.get("config.list.rows");t.allRowsAsArray.length=0;for(const e of A)t.allRowsAsArray.push(g[e])}recalculateRowHeight(A,t){if(!t||!A||!A.gap)return 0;let g=0;const e=this.getItemsData();if(!e)return 0;if(!1===A.visible)return t.actualHeight=0,t.outerHeight=0,0;const i=this.getItems(t.itemsOrder);this.fixOverlappedItems(i);for(const A of i){const t=e[A.id];g=Math.max(g,t.position.rowTop+t.outerHeight)}return g<A.height&&(g=A.height),t.actualHeight=g,t.outerHeight=t.actualHeight+A.gap.top+A.gap.bottom,t.outerHeight}calculateVisibleRowsHeights(){if(this.isMutedMethod("calculateVisibleRowsHeights"))return;const A=this.state.get("$data.list.visibleRows");let t=0;const g=this.getAllRows(),e=this.getRowsData();for(const i of A)t+=this.recalculateRowHeight(g[i],e[i]);this.state.update("$data.list.visibleRowsHeight",t)}getRealChartHeight(A=!0){const t=this.state.get("$data.scroll.vertical.preciseOffset")||0,g=A?this.state.get("config.innerHeight"):this.state.get("$data.chart.dimensions.heightWithoutScrollBar"),e=this.state.get("config.additionalSpace");return g-e.top-e.bottom+-1*t}getLastRowId(A=wt(this).rowsIdsWithParentsExpanded,t=this.state.get("$data.scroll.vertical")){return A[this.getLastRowIndex(A,t)]}getLastRowIndex(A=wt(this).rowsIdsWithParentsExpanded,t=this.state.get("$data.scroll.vertical")){return A.length-t.lastPageCount}generateRowsPositionsMap(A,t=0,g={id:"",dataIndex:0,keys:[]}){if(0===A.length)return g;if(1===A.length)return g[A[0].position.top]={id:A[0].id,dataIndex:t,keys:[]},g.keys=[A[0].position.top],g;const e=Math.floor(A.length/2),i=t,o=t+e,I=A.slice(1,e),a=A.slice(e+1);g.keys.push(A[0].position.top),g.keys.push(A[e].position.top);const s=g[A[0].position.top]={id:A[0].id,dataIndex:i,keys:[]},B=g[A[e].position.top]={id:A[e].id,dataIndex:o,keys:[]};return this.generateRowsPositionsMap(I,i+1,s),this.generateRowsPositionsMap(a,o+1,B),g}getRowPositionMapNode(A,t=wt(this).rowsPositionsMap){return A>=t.keys[1]?this.getRowPositionMapNode(A,t[t.keys[1]]):A>=t.keys[0]?this.getRowPositionMapNode(A,t[t.keys[0]]):t}measureRows(){if(this.isMutedMethod("measureRows"))return;const A=this.state.get("$data.scroll.vertical"),t=this.state.get("config.list.rows"),g=this.getRealChartHeight(),e=this.getRowsData(),i=wt(this);if(void 0===A.dataIndex)return[];const o=this.state.get("$data.list.rowsIds");let I=0;if(A.data&&(I=i.rowsWithParentsExpandedDataIndexMap.get(A.data.id),-1===I)){const t=this.getLastRowId(i.rowsIdsWithParentsExpanded,A);I=i.rowsWithParentsExpandedDataIndexMap.get(t)}let a=0,s=0,B=0;for(let n=o.length;B<n;B++){const n=o[B],C=i.rowsWithParentsExpandedAsMap.has(n),Q=this.getRowViewTop(n,e,A),r=B>=I&&Q<=g,E=e[n];if(!E)return[];this.recalculateRowHeight(t[n],E),E.inView=r,E.parentsExpanded=C,E.position.top=a,s=a+E.outerHeight,E.position.bottom=s,C&&(a+=E.outerHeight)}return i.rowsPositionsMap=this.generateRowsPositionsMap(i.rowsDataWithParentsExpanded),this.state.update("$data.list.rows",e),this.state.update("$data.list.rowsHeight",s),this.state.update("$data.scroll.vertical.absoluteSize",s),s}isRowVisible(A,t=this.getAllRows(),g=this.getRowsData()){if(!t[A])return!1;if(!1===t[A].visible)return!1;if(!g[A])return!1;const e=g[A].parents;for(const A of e)if(!t[A]||!1===t[A].visible)return!1;return!0}getVisibleRows(){const A=this.state.get("$data.scroll.vertical"),t=wt(this),g=t.rowsIdsWithParentsExpanded,e=this.getRowsData();if(!A.data)return[];const i=this.getRealChartHeight();if(!i)return[];let o=t.rowsWithParentsExpandedDataIndexMap.get(A.data.id);-1!==o&&void 0!==o||(o=A.dataIndex>t.rowsDataWithParentsExpanded.length-1?g.length-A.lastPageCount:A.dataIndex);const I=[];let a,s;for(let t=o,B=g.length;t<B;t++){const o=g[t];if(e[o]&&(s=e[o],a=this.getRowViewTop(o,e,A),a>=0&&a<=i?(I.push(o),s.parentsExpanded=!0):s.parentsExpanded=!1,a>i))break}return I}normalizeMouseWheelEvent(A){let t=A.deltaX||0,g=A.deltaY||0,e=A.deltaZ||0;const i=A.deltaMode,o=this.state.get("config.list.rowHeight");let I=1;switch(i){case 1:o&&(I=o);break;case 2:I=window.height}return t*=I,g*=I,e*=I,{x:t,y:g,z:e,event:A}}resetHorizontalScroll(A=this.state.get("$data.scroll.horizontal")){A.data=null,A.dataId="",A.dataIndex=0,A.handlePosPx=0,A.absolutePosPx=0,A.preciseOffset=0;const t=this.state.get("$data.chart.time");if(!t.allDates||!t.allDates.length)return;const g=t.allDates[t.level];if(!g||!g.length)return;const e=g[0];return A.data=Object.assign({},e),A.dataId=e.id,A}resetVerticalScroll(A=this.state.get("$data.scroll.vertical")){return A.data=null,A.dataId="",A.dataIndex=0,A.handlePosPx=0,A.absolutePosPx=0,A.preciseOffset=0,A.data=null,A.dataId=null,A}limitHorizontalScrollToView(A=this.state.get("$data.chart.time")){const t=this.state.get("$data.scroll.horizontal");if(!A.allDates||!A.allDates.length)return;const g=A.allDates[A.level].length-t.lastPageCount;t.dataIndex>g&&this.setScrollLeft(g,0,A)}calculateHorizontalScrollPosPxFromDates(A,t=0,g=this.state.get("$data.scroll.horizontal"),e=this.state.get("$data.chart.time")){if(e.calculatedZoomMode)return 0;if(void 0===A&&(A=0),!e.allDates||!e.allDates.length)return;const i=e.allDates[e.level];if(!i||!i.length)return;let o,I=0,a=0;if("number"==typeof A||""===A){""===A&&(A=0),a=A,o=i[a],o||(a=0,o=i[a]);const t=e.allDates[e.level].length-g.lastPageCount;a>t&&t>=0&&(a=t,o=i[a])}else if("string"==typeof A)for(let t=0;t<i.length;t++){const g=i[t];if(g.id===A){o=g,a=t;break}}if(!o&&g.data)for(let A=0;A<i.length;A++){const t=i[A];if(t.leftGlobal>=g.data.leftGlobal){o=t,a=A;break}}if(o||(a>0?(a=i.length-1,o=i[a]):(o=i[0],a=0)),a>i.length-g.lastPageCount&&(a=i.length-g.lastPageCount,o=i[a]),g.data=Object.assign({},o),I=o.leftPx-t,g.dataIndex=a,g.dataId=o.id,I){const A=I/g.absoluteSizeWithoutLastPage*g.maxHandlePosPx;g.handlePosPx=Math.max(A,0)}else g.handlePosPx=0;return g.handlePosPx>g.maxHandlePosPx&&(g.handlePosPx=Math.max(g.maxHandlePosPx,0)),g.preciseOffset=t,g.maxHandlePosPx>0?g.percent=g.handlePosPx/g.maxHandlePosPx*100:g.percent=0,g.absolutePosPx=Math.max(I,0),g}setScrollLeftByPixels(A){const t=this.state.get("$data.chart.time"),g=t.allDates[t.level];return g&&g.length?(A<0&&(A=0),this.state.update("$data.scroll.horizontal",(e=>{A>e.absoluteSizeWithoutLastPage&&(A=e.absoluteSizeWithoutLastPage);let i=0;const o=Math.round(A);let I;for(I of g){if(Math.round(I.rightPx)>o)break;i++}return e.dataIndex=i,e.dataId=I.id,e.preciseOffset=I.leftPx-A,this.calculateHorizontalScrollSizeAndPosFromDates(t.totalViewDurationPx,t,e,!1),A=e.absolutePosPx,e}),{data:"set-scroll-left"}),A):0}setScrollLeft(A,t=0,g=this.state.get("$data.chart.time")){if(g.calculatedZoomMode)return 0;if(this.state.get("config.scroll.horizontal.byPixels")){if("number"!=typeof A)throw new Error("When 'config.scroll.horizontal.byPixels' is true, 'dataIndexOrDateId' must be a number.");return A<0&&(A=0),this.setScrollLeftByPixels(A)}let e=0;const i=g.allDates[g.level];return i&&i.length?(this.state.update("$data.scroll.horizontal",(o=>{let I,a;if("number"==typeof A||""===A)I=A,a=i[I];else if("string"==typeof A)for(let t=0;t<i.length;t++)if(i[t].id===A){a=i[t],I=t;break}return a||(I>0?(I=i.length-1,a=i[I]):(I=0,a=i[0])),o.dataIndex=I,o.dataId=a.id,o.preciseOffset=t,this.calculateHorizontalScrollSizeAndPosFromDates(g.totalViewDurationPx,g,o,!1),e=o.absolutePosPx,o}),{data:"set-scroll-left"}),e):0}scrollToTime(A,t=!0){const g=this.state.get("$data.chart.time");if(g.calculatedZoomMode)return 0;if(!g.allDates)return 0;const e=this.time.findDateAtTime(A,g.allDates[g.level]);if(!e)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${A} -> ${this.time.date(A).format("YYYY-MM-DD HH:mm:ss")}).`),0;let i,o=0,I=0;if(t){const t=this.getChartWidth(!0)/2;I=(A-e.leftGlobal)/g.timePerPixel,e.rightPx<t&&(I=0);const a=-(t-I);if(i=this.time.getMainDateFromRelativePosition(e,a),!i)return console.warn(`[gstc.api.scrollToTime] Time out of bounds (${A} -> ${this.time.date(A).format("YYYY-MM-DD HH:mm:ss")}).`),0;o=g.allDates[g.level].indexOf(i)}else o=g.allDates[g.level].indexOf(e),I=(A-e.leftGlobal)/g.timePerPixel,i=e;if(-1===o)return 0;return this.state.get("config.scroll.horizontal").byPixels?this.setScrollLeft(i.leftPx+(t?i.width/2:0)):this.setScrollLeft(o,-I)}getScrollLeft(){return this.state.get("$data.scroll.horizontal")}getScrollSize(A){const t=this.state.get("$data.scroll.vertical.visible")?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width"),g=this.state.get("$data.scroll.horizontal.visible")?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),e=this.state.get("config.additionalSpace");return"horizontal"===A?t:g-e.top-e.bottom}getLastPageDatesWidth(A,t){let g=0,e=0;if(0===t.length)return{lastPageSize:g,lastPageCount:e};const i=this.state.get("config.scroll.horizontal"),o=i.byPixels||i.precise;for(let i=t.length-1;i>=0;i--){const o=t[i];if(g+=o.width,g>=A){g-=o.width;break}e++}return 0===g&&(g=A),o&&(g=A),{lastPageSize:g,lastPageCount:e}}calculateInitialChartWidth(A=!1){const t=this.state.get("config.initialWidth"),g=this.state.get("config.list.columns.data");let e=0;for(const A in g){e+=g[A].width}let i=t-e;return A&&(i-=this.state.get("config.scroll.horizontal.width")||0),i}getChartWidth(A=!1){let t=A?this.state.get("$data.chart.dimensions.widthWithoutScrollBar"):this.state.get("$data.chart.dimensions.width");return t||(t=this.calculateInitialChartWidth(A)),t}isHorizontalScrollVisible(A){const t=this.state.get("$data.scroll.horizontal");if(null!==t.data)return t.visible;const g=this.state.get("config.scroll.horizontal"),e=this.state.get("$data.chart.time"),i=e.totalViewDurationPx,o=this.getChartWidth(A),I=e.allDates[e.level];if(!I||!I.length)return!1;const{lastPageSize:a,lastPageCount:s}=this.getLastPageDatesWidth(o,I),B=this.getScrollSize("horizontal");let n=a/i*B;n<g.minInnerSize&&(n=g.minInnerSize);return!(s===I.length||B===n)}calculateHorizontalScrollSizeAndPosFromDates(A,t=this.state.get("$data.chart.time"),g=this.state.get("$data.scroll.horizontal"),e=!0){if(!t.allDates.length)return;const i=t.allDates[t.level],o=this.state.get("$data.scroll.vertical.visible"),I=this.getChartWidth(o),a=A,{lastPageSize:s,lastPageCount:B}=this.getLastPageDatesWidth(I,i),n=a-s,C=this.state.get("config.scroll.horizontal"),Q=this.getScrollSize("horizontal");let r=s/a*Q;r<C.minInnerSize&&(r=C.minInnerSize);const E=g.visible,c=!(B===i.length||Q===r),l=Math.max(Q?Q-r:0,0);return g.absoluteSize=a,g.absoluteSizeWithoutLastPage=Math.max(n,0),g.innerHandleSize=r,g.maxHandlePosPx=l,g.scrollSize=c?Q:0,g.lastPageCount=B,g.lastPageSize=s,g.visible=c,this.calculateHorizontalScrollPosPxFromDates(g.dataId,g.preciseOffset,g,t),e&&this.state.update("$data.scroll.horizontal",g),E!==c&&this.calculateVerticalScrollSize(),g}getLastPageRowsHeight(A,t){let g=0,e=0;const i=this.state.get("config.additionalSpace"),o=A-i.top-i.bottom;if(0===t.length)return{lastPageSize:g,lastPageCount:e};const I=this.getRowsData();for(let A=t.length-1;A>=0;A--){const i=I[t[A]];if(g+=i.outerHeight,g>=o){g-=i.outerHeight;break}e++}0===g&&(g=A);const a=this.state.get("config.scroll.vertical");return(a.byPixels||a.precise)&&(g=A),{lastPageSize:g,lastPageCount:e}}calculateVerticalScrollSize(){const A=this.state.get("$data.list.rowsWithParentsExpanded"),t=this.state.get("$data.list.rowsHeight"),g=this.isHorizontalScrollVisible(!0)?this.state.get("$data.chart.dimensions.heightWithoutScrollBar"):this.state.get("$data.chart.dimensions.innerHeight"),{lastPageSize:e,lastPageCount:i}=this.getLastPageRowsHeight(g,A),o=this.state.get("config.scroll.vertical"),I=g;let a=e/t*I;a<o.minInnerSize&&(a=o.minInnerSize);const s=!(i===A.length||I===a),B=I-a;this.state.update("$data.scroll.vertical",(g=>{if(g.absoluteSize=t,g.absoluteSizeWithoutLastPage=t-e,g.innerHandleSize=a,g.maxHandlePosPx=B,g.scrollSize=s?I:0,g.lastPageCount=i,g.lastPageSize=e,g.handlePosPx>B&&(g.handlePosPx=B),g.dataIndex>A.length-i){const t=this.getAllRows(),e=this.getRowsData();g.dataIndex=A.length-i;const o=A[g.dataIndex];t&&o?(g.data=t[o],g.dataId=g.data.id,g.absolutePosPx=e[o].position.top):(g.dataIndex=0,g.dataId="",g.data=null,g.handlePosPx=0,g.absolutePosPx=0),g.preciseOffset=0}else{const t=this.getRowsData(),e=A[g.dataIndex];t[e]&&(g.data=t[e],g.dataId=e,g.absolutePosPx=g.data.position.top-g.preciseOffset)}return g.visible=s,g}))}setScrollTopByPixels(A){const t=wt(this),g=this.state.get("$data.scroll.vertical.absoluteSizeWithoutLastPage");A>g&&(A=g);let{dataIndex:e,row:i,rowData:o}=this.getRowInfoFromTop(A);if(!o)return;const I=o.position.top-A;return this.state.update("$data.scroll.vertical",(g=>{const a=t.rowsWithParentsExpanded.length-g.lastPageCount;if(e>a){if(e=a,i=t.rowsWithParentsExpanded[e],!i&&(e=0,i=t.rowsWithParentsExpanded[e],!i))return A=0,this.resetVerticalScroll(g);o=this.getRowData(i.id)}return g.data=t.rowsWithParentsExpanded[e],g.dataId=g.data.id,g.preciseOffset=I,g.handlePosPx=A?Math.round(A/g.absoluteSizeWithoutLastPage*g.maxHandlePosPx):0,g.handlePosPx>g.maxHandlePosPx&&(g.handlePosPx=g.maxHandlePosPx),g.percent=g.handlePosPx/g.maxHandlePosPx*100,g.dataIndex=e,g.absolutePosPx=A,g}),{data:"set-scroll-top"}),A}setScrollTop(A=0,t=0){if(this.state.get("config.scroll.vertical.byPixels")){if("number"!=typeof A)throw new Error("When 'config.scroll.vertical.byPixels' is true, 'dataIndexOrRowId' must be a number.");return A<0&&(A=0),this.setScrollTopByPixels(A)}const g=wt(this),e=g.rowsIdsWithParentsExpanded;let i,o,I=0;if("string"==typeof A){const t=A;if(i=this.getRow(t),o=this.getRowData(i.id),this.parentsExpanded(t))I=e.indexOf(t);else for(const A of o.parents)this.parentsExpanded(A)&&(I=e.indexOf(A));if(!i)throw new Error(`Row with id: '${t}' not found. Maybe use GSTC.api.GSTCID(id) or check if row exists.`)}else{if("number"!=typeof A)throw new Error("[gstc.api.setScrollTop] Wrong dataIndex value. Must be `string` (for `rowId`) or `number` (for array index) only.");if(I=A,g.rowsWithParentsExpanded[I]||0===I||(I=0),!g.rowsWithParentsExpanded[I])return;i=g.rowsWithParentsExpanded[I],o=this.getRowData(i.id)}let a=0;return this.state.update("$data.scroll.vertical",(A=>{const e=g.rowsWithParentsExpanded.length-A.lastPageCount;if(I>e){if(I=e,i=g.rowsWithParentsExpanded[I],!i&&(I=0,i=g.rowsWithParentsExpanded[I],!i))return a=0,this.resetVerticalScroll(A);o=this.getRowData(i.id)}return a=o.position.top-t,A.data=g.rowsWithParentsExpanded[I],A.dataId=A.data.id,A.preciseOffset=t,A.handlePosPx=a?Math.round(a/A.absoluteSizeWithoutLastPage*A.maxHandlePosPx):0,A.handlePosPx>A.maxHandlePosPx&&(A.handlePosPx=A.maxHandlePosPx),A.percent=A.handlePosPx/A.maxHandlePosPx*100,A.dataIndex=I,A.absolutePosPx=a,A}),{data:"set-scroll-top"}),a}getScrollTop(){return this.state.get("$data.scroll.vertical")}getCurrentCalendarLevels(){return this.state.get("$data.chart.time.levels")}getGridCells(A=void 0){const t=this.state.get("$data.chart.grid.cells");if(!t)return[];if(void 0!==A){const g=A.length,e=new Array(g);for(let i=0;i<g;i++)e[i]=t[A[i]];return e}return Object.values(t)}getAllGridCells(){return this.state.get("$data.chart.grid.cells")}getGridRows(A=void 0){const t=this.state.get("$data.chart.grid.rows");return void 0!==A?t?Object.values(t).filter((t=>A.includes(t.row.id))):[]:t?Object.values(t):[]}getAllGridRows(){return this.state.get("$data.chart.grid.rows")}getGridCell(A){return this.state.get(`$data.chart.grid.cells.${A}`)}getGridRow(A){return this.state.get(`$data.chart.grid.rows.${A}`)}muteMethod(A){this.mutedMethods.add(A)}unmuteMethod(A){this.mutedMethods.delete(A)}isMutedMethod(A){return this.mutedMethods.has(A)}getSVGIconSrc(A){return"string"==typeof this.iconsCache[A]||(this.iconsCache[A]="data:image/svg+xml;base64,"+btoa(A)),this.iconsCache[A]}destroy(){for(const A of this.unsubscribes)A();this.unsubscribes=[],this.debug&&delete window.state}}function mt(A,t,g,e){return new(g||(g=Promise))((function(i,o){function I(A){try{s(e.next(A))}catch(A){o(A)}}function a(A){try{s(e.throw(A))}catch(A){o(A)}}function s(A){var t;A.done?i(A.value):(t=A.value,t instanceof g?t:new g((function(A){A(t)}))).then(I,a)}s((e=e.apply(A,t||[])).next())}))}
159
+ /**
160
+ * ScrollBar component
161
+ *
162
+ * @copyright NEURONET - Rafal Pospiech
163
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
164
+ * @module gantt-schedule-timeline-calendar
165
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
166
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
167
+ * @version 3.37.5
168
+ * @released 2024-07-19
169
+ * @license SEE LICENSE IN LICENSE FILE
170
+ */
171
+ function yt(A,t){const{onDestroy:g,state:e,cache:i,api:o,html:I,StyleMap:a,Actions:s,update:B}=A,n="scroll-bar";let C,Q,r="",E="";g(e.subscribe("config.classNames",(()=>{C=o.getClass(n),Q=o.getClass(n+"-inner")})));const c="horizontal"===t.type?"height":"width",l="height"===c?"width":"height",h="horizontal"===t.type?"left":"top",d=new a({}),u=new a({}),w={maxPosPx:0,innerHandleSize:0,scrollSize:0,dataId:""};g(e.subscribeAll("horizontal"===t.type?[`config.scroll.${t.type}`,`$data.scroll.${t.type}`]:[`config.scroll.${t.type}`,`$data.scroll.${t.type}`,"$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsWithParentsExpanded","$data.list.rowsHeight","config.additionalSpace"],(function(A,g){const i=e.get(`config.scroll.${t.type}`),I=e.get(`$data.scroll.${t.type}`),a=o.getScrollSize(t.type),s=I.innerHandleSize,n=I.maxHandlePosPx,C=I.dataId,Q=e.get("config.additionalSpace"),r=e.get("$data.chart.time");if(!r.allDates||!r.allDates.length||!r.allDates[r.level])return;if(I.visible?d.style.display="flex":d.style.display="none",d.style[c]=i.width+"px",d.style[l]=a+"px","vertical"===t.type&&(d.style.top=e.get("config.headerHeight")+Q.top+"px"),!I.lastPageSize||!I.absoluteSize||!a)return;u.style[c]="100%",u.style[l]=s+"px";!("set-scroll-top"===g.options.data||"set-scroll-left"===g.options.data)&&function(A,t,g,e){const i=w.maxPosPx!==A||w.innerHandleSize!==t||w.scrollSize!==g||w.dataId!==e;return i&&(w.maxPosPx=A,w.innerHandleSize=t,w.scrollSize=g,w.dataId=e),i}(n,s,a,C)&&("horizontal"===t.type?i.byPixels?o.setScrollLeft(I.absolutePosPx):o.setScrollLeft(I.dataIndex,I.preciseOffset):i.byPixels?o.setScrollTop(I.absolutePosPx):o.setScrollTop(I.dataIndex,I.preciseOffset)),B()}),{group:!0,bulkValue:!1}));const D=o.getActions(n);D.push(class extends KA{constructor(A){super();const g=`$data.elements.scroll-bar--${t.type}`;e.get(g)||e.update(g,A,{only:null})}update(){}destroy(){}});const m={api:o,state:e,props:t,componentName:n},y=s.create(D,m),f=[class extends KA{constructor(A){super(),this.moving=!1,this.initialPointerPos=0,this.initialHandlePos=0,this.currentPos=0,this.currentPointerPos=0,this.lastDataIndex=0,this.lastOffset=0,this.dataIndex=0,this.previousRowId="",e.update(`$data.elements.scroll-bar-inner--${t.type}`,A,{only:null}),this.bodyClassName=e.get("config.scroll.bodyClassName"),this.pointerDown=this.pointerDown.bind(this),this.pointerUp=this.pointerUp.bind(this);const g=this.pointerMove.bind(this);this.pointerMove=g,this.unsubscribe=e.subscribe(`$data.scroll.${t.type}`,this.dataChanged.bind(this)),this.destroy=this.destroy.bind(this),A.addEventListener("pointerdown",this.pointerDown),document.addEventListener("pointermove",this.pointerMove),document.addEventListener("pointerup",this.pointerUp)}destroy(A){this.unsubscribe(),A.removeEventListener("pointerdown",this.pointerDown),document.removeEventListener("pointermove",this.pointerMove),document.removeEventListener("pointerup",this.pointerUp)}dataChanged(){const A=e.get(`$data.scroll.${t.type}`),g=e.get("$data.chart.time");if(!g.allDates.length)return;const i=g.allDates[g.level],o=A.dataIndex;if(this.lastDataIndex=o,"horizontal"===t.type&&i&&i.length)this.currentPos=A.handlePosPx,u.style[h]=this.currentPos+"px",B();else if("vertical"===t.type){if(!e.get("$data.list.rowsWithParentsExpanded").length)return;this.currentPos=A.handlePosPx,u.style[h]=this.currentPos+"px",B()}}limitPosition(A){return Math.max(Math.min(A,e.get(`$data.scroll.${t.type}.maxHandlePosPx`)),0)}pointerDown(A){A.stopPropagation(),A.preventDefault(),o.muteMethod("calculateRowsHeight"),document.body.classList.add(this.bodyClassName),requestAnimationFrame((()=>{this.moving=!0,this.initialPointerPos="horizontal"===t.type?A.screenX:A.screenY,this.initialHandlePos=e.get(`$data.scroll.${t.type}.handlePosPx`),E=" "+o.getClass(n)+"-inner--active",r=" "+o.getClass(n)+"--active",B()}))}pointerUp(A){this.moving&&(o.unmuteMethod("calculateRowsHeight"),A.preventDefault(),A.stopPropagation(),document.body.classList.remove(this.bodyClassName)),this.moving=!1,E="",r="",B()}pointerMoveRead(A){this.currentPointerPos="horizontal"===t.type?A.screenX:A.screenY}pointerMoveWrite(){const A=e.get(`config.scroll.${t.type}`),g=e.get(`$data.scroll.${t.type}`),i=this.currentPointerPos-this.initialPointerPos;this.currentPos=this.limitPosition(this.initialHandlePos+i);const I=e.get("$data.chart.time");if(!I.allDates.length)return;const a=I.allDates[I.level],s=this.currentPos/g.maxHandlePosPx*g.absoluteSizeWithoutLastPage,B=Math.round(s);if("horizontal"===t.type){let t,g=0,e=0,i=0;for(let A=a.length;g<A&&(t=a[g],i=Math.round(t.rightPx),!(i>B));g++);A.precise&&i!==B&&(e=t.leftPx-s),g||(g=0),t||(t=a[0]),this.dataIndex=g,this.lastDate=a[g],A.byPixels?o.setScrollLeft(s):o.setScrollLeft(t.id,e),this.lastDataIndex=g,this.lastOffset=e}else{const{dataIndex:t,row:g,rowData:e}=o.getRowInfoFromTop(s);let i=0;A.precise&&e.position.top!==s&&(i=e.position.top-s),this.dataIndex=t,this.previousRowId=g.id,A.byPixels?o.setScrollTop(s):o.setScrollTop(t,i),this.lastDataIndex=t,this.lastOffset=i}}pointerMove(A){this.moving&&(A.stopPropagation(),A.preventDefault(),requestAnimationFrame((()=>{this.pointerMoveRead(A)})),requestAnimationFrame((()=>{this.pointerMoveWrite()})))}}],p=s.create(f,m),k=o.generateSlots(n,A,t);function G({classNameOuter:A,classNameOuterActive:t,classNameInner:g,classNameInnerActive:e,styleMapInner:i,styleMapOuter:o,innerActions:I,outerActions:a,slots:s,cache:B,html:n,vido:C,props:Q}){return B(!Q||!Q.type?null:s.html("outer",n`
172
+ <div
173
+ data-actions=${a()}
174
+ class=${A+" "+A+"--"+Q.type+t}
175
+ style=${o.directive()}
176
+ >
177
+ ${s.html("inner",n`
178
+ <div
179
+ data-actions=${I()}
180
+ class=${g+" "+g+"--"+Q.type+e}
181
+ style=${i.directive()}
182
+ >
183
+ ${s.html("content")}
184
+ </div>
185
+ `)}
186
+ </div>
187
+ `))}let M=G;return g(e.subscribe(`config.templates.${n}`,(A=>{M=null!=A?A:G,B()}))),()=>M({innerActions:p,outerActions:y,classNameOuter:C,classNameOuterActive:r,classNameInner:Q,classNameInnerActive:E,cache:i,styleMapInner:u,styleMapOuter:d,slots:k,html:I,vido:A,props:t})}
188
+ /**
189
+ * List component
190
+ *
191
+ * @copyright NEURONET - Rafal Pospiech
192
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
193
+ * @module gantt-schedule-timeline-calendar
194
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
195
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
196
+ * @version 3.37.5
197
+ * @released 2024-07-19
198
+ * @license SEE LICENSE IN LICENSE FILE
199
+ */function ft(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,update:I,reuseComponents:a,html:s,StyleMap:B,cache:n}=A,C="list",Q=g.getActions(C);let r,E;const c=Object.assign(Object.assign({},t),{list:r,percent:E,api:g,state:e,componentName:C});let l;const h=e.subscribe("config.components.ListColumn",(A=>l=A));!function(){const A=e.get("config.list.expander.icons"),t={};for(const e in A){const i=A[e];t[e]=g.getSVGIconSrc(i)}e.update("$data.list.expander.icons",t)}(),function(){const A={open:"",close:""},t=e.get("config.list.toggle.icons");for(const e in t){const i=t[e];A[e]=g.getSVGIconSrc(i)}e.update("$data.list.toggle.icons",A)}();const d=g.getClass(C),u=g.generateSlots(C,A,t);i(e.subscribe("config.list",(function(){r=e.get("config.list"),E=r.columns.percent,c.list=r,c.percent=E,I()})));const w=[];i(e.subscribe("config.list.columns.data",(function(A){const t=Object.values(A).filter((A=>!A.hidden)).sort(((A,t)=>"number"==typeof A.position&&"number"==typeof t.position?A.position-t.position:0));a(w,t,(A=>({column:A})),l,!0),I()})));const D=new B({height:"","--expander-padding-width":"","--expander-size":""});let m;function y(A){m||(m=A.offsetWidth,0===E&&(m=0),e.update("$data.list.width",m))}i(e.subscribeAll(["$data.height","config.list.expander"],(()=>{const A=e.get("config.list.expander");D.style.height=e.get("$data.height")+"px",D.style["--expander-padding-width"]=A.padding+"px",D.style["--expander-size"]=A.size+"px",I()}),{group:!0})),i((()=>{w.forEach((A=>A.destroy())),h()}));Q.push(class{constructor(A,t){t.state.update("$data.elements.list",A),y(A)}update(A){return y(A)}});const f=o.create(Q,c);function p({className:A,styleMap:t,list:g,listColumns:e,actions:i,slots:o,html:I,cache:a,vido:s,props:B}){return o.html("outer",a(g.columns.percent>0?I`
200
+ <div class=${A} data-actions=${i()} style=${t.directive()}>
201
+ ${o.html("content",e.map((A=>A.html())))}
202
+ </div>
203
+ `:""))}let k=p;return i(e.subscribe(`config.templates.${C}`,(A=>{k=null!=A?A:p,I()}))),()=>k({list:r,className:d,actions:f,styleMap:D,listColumns:w,slots:u,cache:n,html:s,vido:A,props:t})}
204
+ /**
205
+ * ListColumn component
206
+ *
207
+ * @copyright NEURONET - Rafal Pospiech
208
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
209
+ * @module gantt-schedule-timeline-calendar
210
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
211
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
212
+ * @version 3.37.5
213
+ * @released 2024-07-19
214
+ * @license SEE LICENSE IN LICENSE FILE
215
+ */"function"==typeof SuppressedError&&SuppressedError;class pt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.list-columns");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.list-columns",e,{only:null})}destroy(A,t){t.state.update("$data.elements.list-columns",(t=>t.filter((t=>t!==A))),{only:null})}}function kt(A,t){const{api:g,state:e,onDestroy:i,onChange:o,cache:I,Actions:a,update:s,createComponent:B,reuseComponents:n,html:C,StyleMap:Q}=A,r=[];let E,c;r.push(e.subscribe("config.components.ListColumnRow",(A=>E=A))),r.push(e.subscribe("config.components.ListColumnHeader",(A=>c=A)));const l=Object.assign(Object.assign({},t),{api:g,state:e,componentName:"list-column"}),h={column:t.column,state:e,api:g,componentName:"list-column-headers"},d={api:g,state:e,componentName:"list-column-rows"},u="list-column",w=u+"-rows",D=u+"-rows-offset",m=g.getActions(u),y=g.getActions(w),f=g.getClass(u,t.column.id),p=g.getClass(D,t.column.id),k=g.getClass(w,t.column.id);let G,M=g.getId(u,t&&t.column?t.column.id:"");const N=new Q({width:"","--width":""}),b=new Q({height:""}),R=new Q({"margin-top":"0px"});let F=e.get("config.additionalSpace");const S=g.generateSlots(u,A,t);let v;function Y(){if(!t||!t.column)return;const A=e.get("config.list");if(!A.columns.data[t.column.id])return;G=A.columns.data[t.column.id].width*A.columns.percent*.01,v=G;const i=Math.round(g.getRealChartHeight());N.style.width=v+"px",N.style["--width"]=v+"px",R.style.height=i+"px",b.style.top=e.get("config.headerHeight")+F.top+"px"}i(e.subscribeAll(["config.list.columns.percent","config.list.columns.resizer.width","$data.chart.dimensions.width","$data.chart.dimensions.heightWithoutScrollBar","$data.list.width","$data.list.visibleRowsHeight","config.additionalSpace.top"],Y,{group:!0}));const L=B(c,t);i(L.destroy);const U=[],J={};function x(){var A;if(!t||!t.column)return;e.mute(x);const i=e.get("$data.list.visibleRows")||[],o=g.getRows(i),I=g.getRowsData();for(const g of o){const e=J[g.id]=null!==(A=J[g.id])&&void 0!==A?A:{};e.column=t.column,e.row=g,e.rowData=I[g.id],e.width=v}for(const A in J)i.includes(A)||delete J[A];n(U,o,(A=>A&&J[A.id]),E,!0),S.change(t),e.unmute(x)}o((A=>{if((t=A)&&t.column&&t.column.id){M=g.getId(u,t&&t.column?t.column.id:"");for(const A in t)l[A]=t[A];Y(),L.change(t),x()}})),i(e.subscribeAll(["$data.list.visibleRows","$data.list.visibleRowsHeight","$data.list.rows","config.list.rows","config.chart.items.*.height","config.chart.items.*.rowId","config.chart.items.*.time"],x,{group:!0,bulkValue:!1})),i(e.subscribe("$data.scroll.vertical.preciseOffset",(A=>{R.style.transform=`translateY(${Math.round(A)||0}px)`,s()}))),i(e.subscribe("config.additionalSpace",(A=>{F=A}))),i((()=>{U.forEach((A=>A.destroy())),r.forEach((A=>A()))})),m.push(pt);const H=a.create(m,h),q=a.create(y,d);function K({className:A,classNameOffset:t,classNameContainer:g,containerStyleMap:e,offsetStyleMap:i,widthStyleMap:o,visibleRows:I,rowActions:a,elId:s,headerActions:B,ListColumnHeader:n,html:C,cache:Q,vido:r,props:E}){return Q(E&&E.column?S.html("outer",C`
216
+ <div
217
+ class=${A}
218
+ data-gstcid=${E.column.id}
219
+ data-actions=${B()}
220
+ style=${o.directive()}
221
+ >
222
+ ${S.html("inner",C` ${n.html()}${S.html("container-outer",C`
223
+ <div
224
+ class=${g}
225
+ data-gstcid=${E.column.id}
226
+ data-actions=${a()}
227
+ style=${e.directive()}
228
+ >
229
+ ${S.html("container-inner",C`
230
+ <div class=${t} data-gstcid=${E.column.id} style=${i.directive()}>
231
+ ${S.html("content",I.map((A=>A.html())))}
232
+ </div>
233
+ `)}
234
+ </div>
235
+ `)} `)}
236
+ </div>
237
+ `):null)}let z=K;return i(e.subscribe(`config.templates.${u}`,(A=>{z=null!=A?A:K,s()}))),()=>z({classNameOffset:p,offsetStyleMap:R,visibleRows:U,classNameContainer:k,containerStyleMap:b,rowActions:q,className:f,elId:M,headerActions:H,widthStyleMap:N,ListColumnHeader:L,html:C,cache:I,vido:A,props:t})}
238
+ /**
239
+ * ListColumnHeader component
240
+ *
241
+ * @copyright NEURONET - Rafal Pospiech
242
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
243
+ * @module gantt-schedule-timeline-calendar
244
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
245
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
246
+ * @version 3.37.5
247
+ * @released 2024-07-19
248
+ * @license SEE LICENSE IN LICENSE FILE
249
+ */function Gt(A,t){const{api:g,state:e,onDestroy:i,cache:o,onChange:I,Actions:a,update:s,createComponent:B,html:n,StyleMap:C}=A,Q="list-column-header",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q}),E=g.getActions(Q),c=[];let l;c.push(e.subscribe("config.components.ListColumnHeaderResizer",(A=>l=A)));const h=B(l,t);let d;c.push(e.subscribe("config.components.ListColumnRowExpander",(A=>d=A)));const u=B(d,t);i((()=>{h.destroy(),u.destroy(),c.forEach((A=>A()))}));const w=g.generateSlots(Q,A,t),D=g.getClass(Q),m=g.getClass(Q+"-content");let y=g.getId(Q,t.column.id);I((A=>{t=A;for(const A in t)r[A]=t[A];y=g.getId(Q,t.column.id),h.change(t),u.change(t),w.change(A)}));const f=new C({height:"","--height":"","--paddings-count":""});i(e.subscribe("config.headerHeight",(()=>{const A=e.get("config");f.style.height=A.headerHeight+"px",f.style["--height"]=A.headerHeight+"px",f.style["--paddings-count"]="1",s()})));const p=a.create(E,r);function k({className:A,contentClass:t,styleMap:g,elId:e,cache:i,ListColumnRowExpander:o,ListColumnHeaderResizer:I,actions:a,slots:s,html:B,vido:n,props:C}){return i(!C||!C.column?null:s.html("outer",B`
250
+ <div
251
+ class=${A}
252
+ data-gstcid=${C.column.id}
253
+ style=${g.directive()}
254
+ data-actions=${a()}
255
+ >
256
+ ${s.html("content",C.column.expander?B`
257
+ <div class=${t}>
258
+ ${o.html(C.column)}${I.html(C.column)}
259
+ </div>
260
+ `:B` <div class=${t}>${I.html(C.column)}</div> `)}
261
+ </div>
262
+ `))}let G=k;return i(e.subscribe(`config.templates.${Q}`,(A=>{G=null!=A?A:k,s()}))),()=>G({className:D,contentClass:m,cache:o,styleMap:f,elId:y,ListColumnRowExpander:u,ListColumnHeaderResizer:h,actions:p,slots:w,html:n,vido:A,props:t})}
263
+ /**
264
+ * ListColumnHeaderResizer component
265
+ *
266
+ * @copyright NEURONET - Rafal Pospiech
267
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
268
+ * @module gantt-schedule-timeline-calendar
269
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
270
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
271
+ * @version 3.37.5
272
+ * @released 2024-07-19
273
+ * @license SEE LICENSE IN LICENSE FILE
274
+ */function Mt(A,t){const{api:g,state:e,onDestroy:i,cache:o,update:I,html:a,Actions:s,onChange:B,PointerAction:n,StyleMap:C,unsafeHTML:Q}=A,r="list-column-header-resizer",E=g.getActions(r),c=g.getActions(r+"-dots"),l={up:"",down:""};let h,d,u,w;i(e.subscribe("config.list.sort.icons",(A=>{l.up=g.getSVGIconSrc(A.up),l.down=g.getSVGIconSrc(A.down)}))),h=g.getClass(r),d=g.getClass(r+"-container"),u=g.getClass(r+"-dots"),w=g.getClass(r+"-dots-dot");const D=g.getClass(r+"-sort-icon");let m;const y=new C({});let f=!1;const p=g.generateSlots(r,A,t);let k=!0,G=0;const M={componentName:r,column:t.column,api:g,state:e,pointerOptions:{axis:"x",onMove:function({movementX:A,event:g}){if(!k)return;A&&(g.preventDefault(),g.stopPropagation());let i=e.get("config.list.columns.minWidth");"number"==typeof t.column.minWidth&&(i=t.column.minWidth),G+=A,G<i&&(G=i),f&&e.update(`config.list.columns.data.${t.column.id}.width`,G)}}};function N(){if(!t||!t.column||!t.column.id)return;M.column=t.column,h=g.getClass(r,t.column.id),d=g.getClass(r+"-container",t.column.id),u=g.getClass(r+"-dots",t.column.id),w=g.getClass(r+"-dots-dot",t.column.id),k=!("resizer"in t.column)||t.column.resizer;const A=e.get("config.list");m=G=t.column.width*A.columns.percent*.01,y.style["--width"]=A.columns.resizer.width+"px",f=A.columns.resizer.inRealTime,e.update("$data.list.width",m),p.change(t),I()}B((A=>{t=A,N()})),i(e.subscribeAll(["config.list.columns.percent","config.list.columns.resizer.width","config.list.columns.resizer.inRealTime"],N,{group:!0}));let b=[1,2,3,4,5,6,7,8];i(e.subscribe("config.list.columns.resizer.dots",(A=>{b=[];for(let t=0;t<A;t++)b.push(t);I()})));let R=!0;function F(){t.column.sortable&&(R=!R,e.update("config.list.sort",(A=>(A.activeColumnId=t.column.id,A.asc=R,A))))}let S=!1;i(e.subscribe("config.list.sort",(A=>{if(A.activeColumnId===t.column.id)return R=A.asc,void(S=!0);S=!1}))),c.push(n);const v=s.create(E,M),Y=s.create(c,M);function L({className:A,containerClass:t,iconClass:g,dotsClass:e,dotClass:i,dotsStyleMap:o,dots:I,onLabelClick:a,dotsActions:s,resizer:B,icons:n,sortActive:C,cache:Q,asc:r,actions:E,slots:c,html:l,unsafeHTML:h,vido:d,props:u}){const w=!u||!u.column;function D(){return u.column.sortable&&C?r?l` <img src="${n.down}" class=${g} /> `:l` <img src="${n.up}" class=${g} /> `:null}function m(){return w?null:"function"==typeof u.column.header.content?u.column.header.content({column:u.column,vido:d}):u.column.header.content}return Q(w?null:c.html("outer",l`
275
+ <div class=${A} data-gstcid=${u.column.id} data-actions=${E()}>
276
+ ${c.html("container-outer",B?w?null:l`
277
+ <div class=${t} @click=${a}>
278
+ ${c.html("content",u.column.header.html?h(u.column.header.html):m())}
279
+ ${D()}
280
+ </div>
281
+ <div class=${e} style=${o.directive()} data-actions=${s()}>
282
+ ${I.map((()=>l` <div class=${i} /> `))}
283
+ </div>
284
+ `:w?null:l`
285
+ <div class=${t} @click=${a}>
286
+ ${c.html("content",u.column.header.html?h(u.column.header.html):m())}
287
+ ${D()}
288
+ </div>
289
+ `)}
290
+ </div>
291
+ `))}let U=L;return i(e.subscribe(`config.templates.${r}`,(A=>{U=null!=A?A:L,I()}))),()=>U({className:h,containerClass:d,onLabelClick:F,iconClass:D,cache:o,dotsClass:u,dotsStyleMap:y,dotsActions:Y,dots:b,dotClass:w,resizer:k,icons:l,sortActive:S,asc:R,actions:v,slots:p,html:a,unsafeHTML:Q,vido:A,props:t})}
292
+ /**
293
+ * ListColumnRow component
294
+ *
295
+ * @copyright NEURONET - Rafal Pospiech
296
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
297
+ * @module gantt-schedule-timeline-calendar
298
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
299
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
300
+ * @version 3.37.5
301
+ * @released 2024-07-19
302
+ * @license SEE LICENSE IN LICENSE FILE
303
+ */class Nt{constructor(A,t){let g=t.state.get("$data.elements.list-column-rows"),e=!1;void 0===g&&(e=!0,g=[]),g.includes(A)||(g.push(A),e=!0),e&&t.state.update("$data.elements.list-column-rows",g,{only:null})}destroy(A,t){t.state.update("$data.elements.list-column-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function bt(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,createComponent:B,onChange:n,StyleMap:C,unsafeHTML:Q}=A,r="list-column-row",E=Object.assign(Object.assign({},t),{api:g,state:e,componentName:r});let c,l=!1;i(e.subscribe("config.components.ListColumnRowExpander",(A=>c=A)));const h=new C(t.column.expander?{height:"",top:"","--height":"","--expander-padding-width":"","--expander-size":""}:{height:"",top:"","--height":""}),d=B(c,{row:t.row}),u=g.getClass(r),w=g.getClass(r+"-content");let D=g.getClass(r);const m=g.generateSlots(r,A,t);let y;n((function(i,o){var I;if(o.leave||!i||void 0===i.row||void 0===i.column)return l=!0,m.change(i,o),void a();l=!1,t=i;for(const A in t)E[A]=t[A];if(!t.column||!t.row||!t.rowData)return l=!0,m.change(i,o),void a();if(void 0===t.column||void 0===t.row)return;y=t.column.isHTML?void 0===t.row?null:"function"==typeof t.column.data?Q(t.column.data({row:t.row,vido:A})):"function"==typeof t.row[t.column.data]?Q(t.row[t.column.data]({row:t.row,vido:A})):"string"==typeof t.row[t.column.data]?Q(t.row[t.column.data]):null:void 0===t.row?null:"function"==typeof t.column.data?t.column.data({row:t.row,vido:A}):"function"==typeof t.row[t.column.data]?t.row[t.column.data]({row:t.row,vido:A}):t.row[t.column.data];const s=e.get("config.list.expander");for(const A in h.style)delete h.style[A];h.style.height=t.rowData.outerHeight+"px",h.style["--height"]=t.rowData.outerHeight+"px",t.column.expander&&(h.style["--expander-padding-width"]=s.padding*(t.rowData.parents.length+1)+"px");const B=e.get("config.list.rows");for(const A of t.rowData.parents){const t=B[A];if("object"==typeof t.style&&"Object"===t.style.constructor.name&&"object"==typeof t.style.children){const A=t.style.children;for(const t in A)h.style[t]=A[t]}}if(null===(I=null==t?void 0:t.row)||void 0===I?void 0:I.style)for(const A in t.row.style)h.style[A]=t.row.style[A];if(t.row.classNames){if(Array.isArray(t.row.classNames)&&t.row.classNames.length)D=g.getClass(r)+" "+t.row.classNames.join(" ");else if("function"==typeof t.row.classNames){const e=t.row.classNames({row:t.row,vido:A});Array.isArray(e)&&e.length&&(D=g.getClass(r)+" "+e.join(" "))}}else D=u;d&&d.change(t),m.change(t,o),a()})),i((()=>{d&&d.destroy()}));const f=g.getActions(r);f.includes(Nt)||f.push(Nt);const p=I.create(f,E);function k({classNameCurrent:A,classNameContent:t,styleMap:g,cache:e,shouldDetach:i,content:o,ListColumnRowExpander:I,slots:a,actions:s,html:B,vido:n,props:C}){return e(i||!C||!C.column||!C.row?null:a.html("outer",B`
304
+ <div
305
+ class=${A}
306
+ data-gstcid=${C.row.id}
307
+ style=${g.directive()}
308
+ data-actions=${s()}
309
+ >
310
+ ${a.html("inner",B`
311
+ ${C.column.expander?I.html():null}
312
+ <div class=${t}>${a.html("content",o)}</div>
313
+ `)}
314
+ </div>
315
+ `))}let G=k;return i(e.subscribe(`config.templates.${r}`,(A=>{G=null!=A?A:k,a()}))),()=>G({classNameCurrent:D,cache:o,shouldDetach:l,styleMap:h,ListColumnRowExpander:d,classNameContent:w,slots:m,actions:p,content:y,html:s,vido:A,props:t})}
316
+ /**
317
+ * ListColumnRowExpander component
318
+ *
319
+ * @copyright NEURONET - Rafal Pospiech
320
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
321
+ * @module gantt-schedule-timeline-calendar
322
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
323
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
324
+ * @version 3.37.5
325
+ * @released 2024-07-19
326
+ * @license SEE LICENSE IN LICENSE FILE
327
+ */function Rt(A,t){const{api:g,state:e,onDestroy:i,Actions:o,html:I,cache:a,createComponent:s,onChange:B,update:n}=A,C="list-column-row-expander",Q=g.getActions(C),r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:C}),E=g.getClass(C);let c;const l=e.subscribe("config.components.ListColumnRowExpanderToggle",(A=>c=A)),h=s(c,t);i((()=>{h.destroy(),l()}));const d=g.generateSlots(C,A,t);t.row&&B((function(A){if((t=A)&&t.row&&t.rowData){for(const A in t)r[A]=t[A];h.change(t),d.change(A),n()}}));const u=o.create(Q,r);function w({className:A,ListColumnRowExpanderToggle:t,slots:g,actions:e,html:i,cache:o,vido:I,props:a}){return o(!a?null:g.html("outer",i`
328
+ <div class=${A} data-gstcid=${a.row?a.row.id:""} data-action=${e()}>
329
+ ${g.html("content",t.html())}
330
+ </div>
331
+ `))}let D=w;return i(e.subscribe(`config.templates.${C}`,(A=>{D=null!=A?A:w,n()}))),()=>D({className:E,ListColumnRowExpanderToggle:h,slots:d,actions:u,html:I,cache:a,vido:A,props:t})}
332
+ /**
333
+ * ListColumnRowExpanderToggle component
334
+ *
335
+ * @copyright NEURONET - Rafal Pospiech
336
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
337
+ * @module gantt-schedule-timeline-calendar
338
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
339
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
340
+ * @version 3.37.5
341
+ * @released 2024-07-19
342
+ * @license SEE LICENSE IN LICENSE FILE
343
+ */function Ft(A,t){const{api:g,state:e,cache:i,onDestroy:o,Actions:I,update:a,html:s,onChange:B}=A,n="list-column-row-expander-toggle",C=Object.assign(Object.assign({},t),{api:g,state:e,componentName:n}),Q=g.getActions(n),r=g.getClass(n),E=g.getClass(n+"-child"),c=g.getClass(n+"-open"),l=g.getClass(n+"-closed");let h,d,u,w=!1;o(e.subscribe("$data.list.expander.icons",(A=>{A&&(h=A.child,d=A.open,u=A.closed),a()})));const D=g.generateSlots(n,A,t);t.row?(B((function(A){if(t&&t.row){t=A;for(const A in t)C[A]=t[A];w=t.row.expanded,D.change(A),a()}})),o((function(){}))):o(e.subscribe("config.list.rows.*.expanded",(function(A){for(const t of A)if(t.value){w=!0;break}a()}),{bulk:!0}));const m=I.create(Q,C);function y(){w=!w,t.row?e.update(`config.list.rows.${t.row.id}.expanded`,w,{data:{name:"expanded",rowId:t.row.id,expanded:w}}):e.update("config.list.rows",(A=>{for(const t in A)A[t].expanded=w;return A}),{only:["*.expanded"],data:{name:"expanded"}})}function f({className:A,classNameChild:t,classNameOpen:g,classNameClosed:e,expanded:i,iconChild:o,iconOpen:I,iconClosed:a,toggle:s,cache:B,slots:n,actions:C,html:Q,vido:r,props:E}){return B(!E?null:n.html("outer",Q`
344
+ <div
345
+ class=${A}
346
+ data-gstcid=${E.row?E.row.id:""}
347
+ data-action=${C()}
348
+ @click=${s}
349
+ >
350
+ ${n.html("content",(()=>{var A,s;return o?0===(null===(s=null===(A=E.rowData)||void 0===A?void 0:A.children)||void 0===s?void 0:s.length)?Q` <img width="16" height="16" class=${t} src=${o} /> `:i?Q` <img width="16" height="16" class=${g} src=${I} /> `:Q` <img width="16" height="16" class=${e} src=${a} /> `:""})())}
351
+ </div>
352
+ `))}let p=f;return o(e.subscribe(`config.templates.${n}`,(A=>{p=null!=A?A:f,a()}))),()=>p({className:r,classNameChild:E,iconChild:h,expanded:w,cache:i,classNameOpen:c,classNameClosed:l,iconOpen:d,iconClosed:u,toggle:y,slots:D,actions:m,html:s,vido:A,props:t})}
353
+ /**
354
+ * ListToggle component
355
+ *
356
+ * @copyright NEURONET - Rafal Pospiech
357
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
358
+ * @module gantt-schedule-timeline-calendar
359
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
360
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
361
+ * @version 3.37.5
362
+ * @released 2024-07-19
363
+ * @license SEE LICENSE IN LICENSE FILE
364
+ */function St(A,t={}){const{html:g,onDestroy:e,api:i,state:o,update:I,StyleMap:a,Actions:s,onChange:B}=A,n="list-toggle",C=i.getClass(n),Q=Object.assign(Object.assign({},t),{api:i,state:o,componentName:n});let r={open:"",close:""};e(o.subscribe("$data.list.toggle.icons",(A=>{A&&(r=A,I())})));const E=new a({top:"0px"});e(o.subscribe("$data.scroll.vertical.preciseOffset",(A=>{E.style.top=(-1*Math.round(A)||0)+"px"})));let c=!0;e(o.subscribe("config.list.columns.percent",(A=>c=0!==A)));let l=!1;function h(){l=!0}function d(){l&&(l=!1,o.update("config.list.columns.percent",(A=>0===A?100:0)))}B((A=>{t=A;for(const g in A)Q[g]=t[g]}));const u=i.getActions(n),w=s.create(u,Q),D=i.generateSlots(n,A,t);function m({className:A,styleMap:t,pointerDown:g,pointerUp:e,open:i,toggleIconsSrc:o,actions:I,slots:a,html:s,vido:B,props:n}){return a.html("outer",s`
365
+ <div
366
+ class=${A}
367
+ style=${t.directive()}
368
+ @pointerdown=${g}
369
+ @pointerup=${e}
370
+ actions=${I()}
371
+ >
372
+ ${a.html("content",s` <img src=${i?o.close:o.open} /> `)}
373
+ </div>
374
+ `)}let y=m;return e(o.subscribe(`config.templates.${n}`,(A=>{y=null!=A?A:m,I()}))),()=>y({className:C,styleMap:E,pointerDown:h,pointerUp:d,open:c,toggleIconsSrc:r,actions:w,slots:D,html:g,vido:A,props:t})}
375
+ /**
376
+ * Chart component
377
+ *
378
+ * @copyright NEURONET - Rafal Pospiech
379
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
380
+ * @module gantt-schedule-timeline-calendar
381
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
382
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
383
+ * @version 3.37.5
384
+ * @released 2024-07-19
385
+ * @license SEE LICENSE IN LICENSE FILE
386
+ */function vt(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,html:I,createComponent:a,update:s}=A,B="chart",n=[];let C,Q,r;n.push(e.subscribe("config.components.ChartCalendar",(A=>C=A))),n.push(e.subscribe("config.components.ChartTimeline",(A=>Q=A))),n.push(e.subscribe("config.components.ScrollBar",(A=>r=A)));const E=a(C);i(E.destroy);const c=a(Q);i(c.destroy);const l=a(r,{type:"horizontal"});i(l.destroy);const h=a(r,{type:"vertical"});i(h.destroy),i((()=>{n.forEach((A=>A()))}));const d=g.getClass(B),u=g.getActions(B);let w=!1;i(e.subscribe("config.chart.time.calculatedZoomMode",(A=>{w=A,s()})));const D={handleEvent:function(A){A.type},passive:!1,capture:!1};let m,y=0;u.push((function(A){m||(m=new ResizeObserver((()=>{const t=A.offsetWidth,g=A.offsetHeight,i=t-e.get("config.scroll.horizontal.width"),o=e.get("config.headerHeight");y!==t&&(y=t,e.update("$data.chart.dimensions",(A=>(A.width=t,A.widthWithoutScrollBar=i,A.height=g,A.innerHeight=g-o,A))))})),m.observe(A),e.update("$data.elements.chart",A))})),i((()=>{m.disconnect()}));const f={api:g,state:e,componentName:B},p=o.create(u,f),k=g.generateSlots(B,A,t);function G({className:A,onWheel:t,ChartCalendar:g,ChartTimeline:e,ScrollBarVertical:i,calculatedZoomMode:o,ScrollBarHorizontal:I,actions:a,slots:s,html:B,vido:n,props:C}){return s.html("outer",B`
387
+ <div class=${A} data-actions=${a()} @wheel=${t}>
388
+ ${s.html("content",B`
389
+ ${g.html()}${e.html()}${i.html()}
390
+ ${o?null:I.html()}
391
+ `)}
392
+ </div>
393
+ `)}let M=G;return i(e.subscribe(`config.templates.${B}`,(A=>{M=null!=A?A:G,s()}))),()=>M({className:d,onWheel:D,ChartCalendar:E,ChartTimeline:c,ScrollBarVertical:h,calculatedZoomMode:w,ScrollBarHorizontal:l,actions:p,slots:k,html:I,vido:A,props:t})}
394
+ /**
395
+ * ChartCalendar component
396
+ *
397
+ * @copyright NEURONET - Rafal Pospiech
398
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
399
+ * @module gantt-schedule-timeline-calendar
400
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
401
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
402
+ * @version 3.37.5
403
+ * @released 2024-07-19
404
+ * @license SEE LICENSE IN LICENSE FILE
405
+ */function Yt(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,reuseComponents:a,html:s,StyleMap:B}=A,n="chart-calendar",C=g.getActions(n),Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:n}),r=e.get("config.components.ChartCalendarDate"),E=g.getClass(n);let c;const l=new B({height:"","--headerHeight":"","margin-left":""});i(e.subscribe("config.headerHeight",(A=>{c=A,l.style.height=c+"px",l.style["--calendar-height"]=c+"px",I()})));let h=[],d=0;i(e.subscribe("$data.chart.time.levels",((A,t)=>{const i=e.get("$data.chart.time.levels");let o=0;if(i.length!==d){d=i.length,h.forEach((A=>A.forEach((A=>A.destroy())))),h=[];for(let A=0;A<d;A++)h.push([])}for(const A of i){if(!A.length)continue;let t="YYYY-MM-DD HH";switch(A[0].period){case"day":t="YYYY-MM-DD";break;case"week":t="YYYY-MM-ww";break;case"month":t="YYYY-MM";break;case"year":t="YYYY"}const e=g.time.date().format(t);a(h[o],A,(A=>A&&{level:o,date:A,currentDate:e,currentDateFormat:t}),r,!0),o++}I()}))),i((()=>{h.forEach((A=>A.forEach((A=>A.destroy()))))})),C.push((A=>{e.update("$data.elements.chart-calendar",A)}));const u=o.create(C,Q),w=g.generateSlots(n,A,t);function D({className:A,styleMap:t,components:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
406
+ <div class=${A} data-actions=${e()} style=${t.directive()}>
407
+ ${i.html("inner",g.length?g.map(((t,g)=>t&&t.length?o`
408
+ <div class=${A+"-dates "+A+`-dates--level-${g}`}>
409
+ ${i.html("content",t.map((A=>A.html())))}
410
+ </div>
411
+ `:null)):null)}
412
+ </div>
413
+ `)}let m=D;return i(e.subscribe(`config.templates.${n}`,(A=>{m=null!=A?A:D,I()}))),()=>m({className:E,styleMap:l,components:h,actions:u,slots:w,html:s,vido:A,props:t})}
414
+ /**
415
+ * ChartCalendarDate component
416
+ *
417
+ * @copyright NEURONET - Rafal Pospiech
418
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
419
+ * @module gantt-schedule-timeline-calendar
420
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
421
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
422
+ * @version 3.37.5
423
+ * @released 2024-07-19
424
+ * @license SEE LICENSE IN LICENSE FILE
425
+ */class Lt extends KA{constructor(A,t){super(),t.state.update("$data.elements.chart-calendar-dates",(t=>(void 0===t&&(t=[]),t.includes(A)||t.push(A),t)))}}function Ut(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,onChange:a,html:s,StyleMap:B,cache:n}=A,C="chart-calendar-date",Q=g.getActions(C),r=g.getClass(C);let E,c="",l="";i(e.subscribe("config.chart.time",(A=>E=A)));const h=new B({width:"0px"},{schedule:!1});let d="";function u(){if(!t||!t.date)return;const A=e.get(`config.chart.calendarLevels.${t.level}`);h.style.width=t.date.currentView.width+"px",h.style.left=t.date.currentView.leftPx+"px";const g=A.find((A=>+E.zoom<=+A.zoomTo));c=t.date.current?" gstc-current":t.date.next?" gstc-next":t.date.previous?" gstc-previous":"",l=r+"-content "+r+`-content--${t.date.period}`+c,g.classNames&&Array.isArray(g.classNames)?(l+=" "+g.classNames.join(" "),d=" "+g.classNames.join(" ")):d="",I()}let w=!1;const D=g.generateSlots(C,A,t);let m,y,f;const p={date:t.date,period:t.period,api:g,state:e,componentName:C};a(((A,g)=>{if(g.leave)return w=!0,D.change(A,g),I();w=!1,y=t.level===E.level,f=y?r+"--main-date ":r+"--non-main-date ",t=A,p.date=t.date,p.period=t.period,m&&m(),m=e.subscribeAll(["$data.chart.time","config.chart.calendarLevels"],u,{bulk:!0}),D.change(A,g)})),i((()=>{m()})),Q.includes(Lt)||Q.push(Lt);const k=o.create(Q,p);function G({className:A,mainClass:t,additionalClass:g,formatClassName:e,finalClassName:i,styleMap:o,cache:I,shouldDetach:a,actions:s,slots:B,html:n,vido:C,props:Q}){return I(a||!Q||!Q.date?null:B.html("outer",n`
426
+ <div
427
+ class=${A+" "+A+`--${Q.date.period} `+t+A+`--level-${Q.level}`+g+e}
428
+ data-gstcid=${Q.date.id}
429
+ style=${o.directive()}
430
+ data-actions=${s()}
431
+ >
432
+ ${B.html("content",n`<div class=${i.trim()}>${Q.date.formatted}</div>`)}
433
+ </div>
434
+ `))}let M=G;return i(e.subscribe(`config.templates.${C}`,(A=>{M=null!=A?A:G,I()}))),()=>M({className:r,mainClass:f,additionalClass:c,formatClassName:d,styleMap:h,finalClassName:l,cache:n,shouldDetach:w,actions:k,slots:D,html:s,vido:A,props:t})}
435
+ /**
436
+ * ChartTimeline component
437
+ *
438
+ * @copyright NEURONET - Rafal Pospiech
439
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
440
+ * @module gantt-schedule-timeline-calendar
441
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
442
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
443
+ * @version 3.37.5
444
+ * @released 2024-07-19
445
+ * @license SEE LICENSE IN LICENSE FILE
446
+ */function Jt(A,t){const{api:g,state:e,onDestroy:i,Action:o,Actions:I,update:a,html:s,createComponent:B,StyleMap:n}=A,C="chart-timeline",Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:C});let r,E,c;i(e.subscribe("config.components.ChartTimelineGrid",(A=>{r&&r.destroy(),r=B(A)}))),i((()=>{r&&r.destroy()})),i(e.subscribe("config.components.ChartTimelineItems",(A=>{E&&E.destroy(),E=B(A)}))),i((()=>{E&&E.destroy()})),i(e.subscribe("config.components.ListToggle",(A=>{c&&c.destroy(),c=B(A)}))),i((()=>{c&&c.destroy()}));const l=g.generateSlots(C,A,t),h=g.getClass(C),d=g.getClass(C+"-inner");let u;i(e.subscribe("config.list.toggle.display",(A=>u=A)));const w=new n({}),D=new n({});let m,y;i(e.subscribe("config.additionalSpace",(A=>{m=A,a()}))),i(e.subscribe("config.headerHeight",(A=>{y=A,a()}))),i(e.subscribeAll(["$data.chart.dimensions.heightWithoutScrollBar","$data.scroll.vertical.offset","$data.chart.dimensions.width","$data.list.visibleRowsHeight","$data.chart.time.dates.day","config.headerHeight","config.additionalSpace"],(function(){const A=e.get("$data.chart.dimensions.width"),t=Math.round(g.getRealChartHeight(!0));w.style.height=e.get("config.innerHeight")+"px",w.style["--height"]=w.style.height,w.style.top=m.top+y+"px",A?(w.style.width=A+"px",w.style["--width"]=A+"px"):(w.style.width="0px",w.style["--width"]="0px"),D.style.height=t+"px",D.style.width=A?A+"px":"0px";const i=e.get("$data.scroll.vertical.preciseOffset")||0;D.style.transform=`translateY(${Math.round(i)}px)`,a()}),{group:!0,bulkValue:!1}));let f=[];i(e.subscribe("config.actions.chart-timeline",(A=>{f=A}))),f.push(class extends o{constructor(A){super();e.get("$data.elements.chart-timeline")!==A&&e.update("$data.elements.chart-timeline",A)}});const p=I.create(f,Q);function k({className:A,classNameInner:t,styleMap:g,innerStyleMap:e,Grid:i,Items:o,showToggle:I,ListToggle:a,actions:s,slots:B,html:n,vido:C,props:Q}){return B.html("outer",n`
447
+ <div class=${A} style=${g.directive()} data-actions=${s()}>
448
+ ${B.html("inner",n`
449
+ <div class=${t} style=${e.directive()}>
450
+ ${B.html("content",n` ${i.html()}${o.html()}${I?a.html():""} `)}
451
+ </div>
452
+ `)}
453
+ </div>
454
+ `)}let G=k;return i(e.subscribe(`config.templates.${C}`,(A=>{G=null!=A?A:k,a()}))),()=>G({className:h,styleMap:w,classNameInner:d,Grid:r,innerStyleMap:D,Items:E,showToggle:u,ListToggle:c,actions:p,slots:l,html:s,vido:A,props:t})}
455
+ /**
456
+ * ChartTimelineGrid component
457
+ *
458
+ * @copyright NEURONET - Rafal Pospiech
459
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
460
+ * @module gantt-schedule-timeline-calendar
461
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
462
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
463
+ * @version 3.37.5
464
+ * @released 2024-07-19
465
+ * @license SEE LICENSE IN LICENSE FILE
466
+ */class xt{constructor(A,t){t.state.get("$data.elements.chart-timeline-grid")!==A&&t.state.update("$data.elements.chart-timeline-grid",A,{only:null})}destroy(A,t){t.state.update("$data.elements",(A=>(delete A["chart-timeline-grid"],A)),{only:null})}}function Ht(A,t){const{api:g,state:e,onDestroy:i,Actions:o,update:I,html:a,reuseComponents:s,StyleMap:B}=A,n="chart-timeline-grid",C=g.getActions(n),Q={api:g,state:e,componentName:n},r=e.get("config.components.ChartTimelineGridRow"),E=g.getClass(n);let c;i(e.subscribe("config.chart.grid.cell.onCreate",(A=>c=A)));const l=[],h={},d=new Map,u=new B({});function w(A){let t=A.month()+1;t<10&&(t="0"+t);let g=A.date();g<10&&(g="0"+g);let e=A.hour();e<10&&(e="0"+e);let i=A.minute();i<10&&(i="0"+i);let o=A.second();return o<10&&(o="0"+o),`${A.year()}-${t}-${g}T${e}-${i}-${o}`}i(e.subscribeAll(["$data.scroll.vertical.preciseOffset","$data.chart.dimensions.width","$data.chart.dimensions.heightWithoutScrollBar"],(function(){const A=e.get("$data.chart.dimensions.width"),t=g.getRealChartHeight();u.style.height=Math.round(t)+"px",u.style.width=A+"px"}),{group:!0}));let D="",m=0,y=0,f="",p=0,k="",G=0,M=0;function N(){const A=g.getGridRows();s(l,A||[],(A=>A),r,!0),I()}i(e.subscribeAll(["$data.list.rowsHeight","$data.list.visibleRows","$data.list.visibleRowsHeight","$data.chart.time.levels","$data.scroll","config.list.rows;","config.list.rows.*;"],(function(t,i){const o=e.get("$data.chart.time"),I=e.get(`$data.chart.time.levels.${o.level}`),a=o.levels[o.level];if(!a||!a.length)return;const s=o.levels[o.level].map((A=>A.currentView.width)).join(",");if(!I||0===I.length)return void e.update("$data.chart.grid",{rows:{},cells:{}});const B=g.getRowsData(),n=e.get("$data.list.visibleRows"),C=n.map((A=>B[A].outerHeight)).join("|"),Q=n.join("|"),r=e.get("$data.scroll");if(Q===D&&m===o.leftGlobal&&y===o.rightGlobal&&C===f&&p===I.length&&k===s&&r.horizontal.handlePosPx===G&&r.vertical.handlePosPx===M)return"$data.chart.time.levels"===i.path.listener?N():void 0;G=r.horizontal.handlePosPx,M=r.vertical.handlePosPx,m=o.leftGlobal,y=o.rightGlobal,k=s,f=C;let E=0;if(Q!==D)for(const A in h)delete h[A];else if(p!==I.length)for(const A in h)h[A].cells.length=0;p=I.length;const l=g.getAllRows(),u=e.get("$data.chart.grid.cells");for(const A in u)delete u[A];for(const t of n){const g=l[t],e=B[t];if(!g||!e)continue;let i,o;Q!==D?i=[]:(i=h[t].cells,i.length=0);for(const t of I){let o;d.has(t.leftGlobal)?o=d.get(t.leftGlobal):(o=w(t.leftGlobalDate),d.set(t.leftGlobal,o));const I=g.id+"-"+o;let a;if(u[I])a=u[I],a.id=I,a.time=t,a.row=g,a.rowData=e,a.top=E,a.vido=A,a.content=null;else{const i=Object.create(null);i.id=I,i.time=t,i.row=g,i.rowData=e,i.top=E,i.vido=A,i.content=null,a=i}for(const A of c)a.content=A(a);u[a.id]=a,i.push(a.id)}h[t]?(o=h[t],o.row=g,o.rowData=e,o.cells=i,o.top=E):o={row:g,rowData:e,cells:i,top:E},h[t]=o,E+=e.outerHeight}D=Q,e.update("$data.chart.grid",{rows:h,cells:u})}),{group:!0,bulkValue:!1})),i(e.subscribe("$data.chart.grid",N,{group:!0})),i((()=>{l.forEach((A=>A.destroy()))})),C.push(xt);const b=o.create(C,Q),R=g.generateSlots(n,A,t);function F({className:A,styleMap:t,rowsComponents:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
467
+ <div class=${A} data-actions=${e()} style=${t.directive()}>
468
+ ${i.html("content",g.map((A=>A.html())))}
469
+ </div>
470
+ `)}let S=F;return i(e.subscribe(`config.templates.${n}`,(A=>{S=null!=A?A:F,I()}))),()=>S({className:E,styleMap:u,rowsComponents:l,actions:b,slots:R,html:a,vido:A,props:t})}
471
+ /**
472
+ * ChartTimelineGridRow component
473
+ *
474
+ * @copyright NEURONET - Rafal Pospiech
475
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
476
+ * @module gantt-schedule-timeline-calendar
477
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
478
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
479
+ * @version 3.37.5
480
+ * @released 2024-07-19
481
+ * @license SEE LICENSE IN LICENSE FILE
482
+ */class qt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-grid-rows");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-grid-rows",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-grid-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function Kt(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,reuseComponents:B,onChange:n,StyleMap:C}=A,Q="chart-timeline-grid-row",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q});let E;i(e.subscribe("config.components.ChartTimelineGridRowCell",(A=>E=A)));const c=g.getActions(Q),l=g.getClass(Q),h=new C({height:t.row.height+"px"});let d=!1;const u=g.generateSlots(Q,A,t),w=[];n((function(A,e){if(!A||e.leave||void 0===A.row)return d=!0,B(w,[],(A=>A),E,!0),u.change(A,e),void a();d=!1,t=A;const i=g.getGridCells(t.cells);if(B(w,i,(A=>A),E,!0),h.setStyle({}),h.style.height=t.rowData.outerHeight+"px",t.row.style)for(const A in t.row.style)h.style[A]=t.row.style[A];for(const A in t)r[A]=t[A];u.change(A,e)})),i((function(){w.forEach((A=>A.destroy()))})),-1===c.indexOf(qt)&&c.push(qt);const D=I.create(c,r);function m({className:A,styleMap:t,rowsCellsComponents:g,cache:e,shouldDetach:i,actions:o,slots:I,html:a,vido:s,props:B}){return e(i||!B||!B.row?null:I.html("outer",a`
483
+ <div
484
+ class=${A}
485
+ data-gstcid=${B.row.id}
486
+ data-actions=${o()}
487
+ style=${t.directive()}
488
+ >
489
+ ${I.html("content",g.map((A=>A.html())))}
490
+ </div>
491
+ `))}let y=m;return i(e.subscribe(`config.templates.${Q}`,(A=>{y=null!=A?A:m,a()}))),()=>y({className:l,styleMap:h,rowsCellsComponents:w,cache:o,shouldDetach:d,actions:D,slots:u,html:s,vido:A,props:t})}
492
+ /**
493
+ * ChartTimelineGridRowCell component
494
+ *
495
+ * @copyright NEURONET - Rafal Pospiech
496
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
497
+ * @module gantt-schedule-timeline-calendar
498
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
499
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
500
+ * @version 3.37.5
501
+ * @released 2024-07-19
502
+ * @license SEE LICENSE IN LICENSE FILE
503
+ */class zt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-grid-row-cells");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-grid-row-cells",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-grid-row-cells",(t=>t.filter((t=>t!==A))),{only:[""]})}}function Wt(A,t){const{api:g,state:e,cache:i,Actions:o,html:I,onChange:a,onDestroy:s,StyleMap:B,update:n}=A,C="chart-timeline-grid-row-cell",Q=Object.assign(Object.assign({},t),{api:g,state:e,componentName:C});let r=!1;const E=g.getActions(C),c=g.generateSlots(C,A,t);let l;function h(A){l=g.getClass(C),A&&A.time&&A.time.current&&(l+=" current")}h(t);const d=new B({width:"",height:""});a((function(A,g){var e,i;if(!A||g.leave||void 0===A.row)return r=!0,c.change(A,g),void n();r=!1,t=A;for(const A in t)Q[A]=t[A];if(h(t),d.setStyle({}),t&&t.row){if(d.style.width=((null===(i=null===(e=null==t?void 0:t.time)||void 0===e?void 0:e.currentView)||void 0===i?void 0:i.width)||0)+"px",t.row.style)for(const A in t.row.style)d.style[A]=t.row.style[A];c.change(t,g),n()}})),E.push(zt);const u=o.create(E,Q);function w({className:A,styleMap:t,cache:g,shouldDetach:e,actions:i,slots:o,html:I,vido:a,props:s}){var B;return g(e||!s||!s.id?null:o.html("outer",I`
504
+ <div class=${A} data-gstcid=${s.id} data-actions=${i()} style=${t.directive()}>
505
+ ${o.html("content",null!==(B=s&&s.content)&&void 0!==B?B:null)}
506
+ </div>
507
+ `))}let D=w;return s(e.subscribe(`config.templates.${C}`,(A=>{D=null!=A?A:w,n()}))),()=>D({className:l,styleMap:d,cache:i,shouldDetach:r,actions:u,slots:c,html:I,vido:A,props:t})}
508
+ /**
509
+ * ChartTimelineItems component
510
+ *
511
+ * @copyright NEURONET - Rafal Pospiech
512
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
513
+ * @module gantt-schedule-timeline-calendar
514
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
515
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
516
+ * @version 3.37.5
517
+ * @released 2024-07-19
518
+ * @license SEE LICENSE IN LICENSE FILE
519
+ */function Tt(A,t={}){const{api:g,state:e,onDestroy:i,Actions:o,update:I,html:a,reuseComponents:s,StyleMap:B}=A,n="chart-timeline-items";let C,Q;i(e.subscribe(`config.actions.${n}`,(A=>C=A))),i(e.subscribe("config.components.ChartTimelineItemsRow",(A=>Q=A)));const r=g.getClass(n),E=new B({});let c;i(e.subscribeAll(["$data.chart.dimensions.heightWithoutScrollBar","$data.chart.dimensions.width","$data.scroll.vertical.preciseOffset"],(function(){const A=e.get("$data.chart.dimensions.width"),t=g.getRealChartHeight();E.style.width=A+"px",E.style.height=t+"px"}),{group:!0})),i(e.subscribe("config.debug",(A=>c=A)));const l=[],h={};i(e.subscribeAll(["$data.list.visibleRows","config.list.rows","config.components.ChartTimelineItemsRow","config.chart.items","$data.chart.items"],(function A(){e.mute(A),c&&console.log("[items.ts] Updating item & rows components.");const t=e.get("$data.list.visibleRows")||[],i=g.getRows(t),o=g.getRowsData();for(const A of i)h[A.id]||(h[A.id]={}),h[A.id].row=A,h[A.id].rowData=o[A.id];for(const A in h)t.includes(A)||delete h[A];s(l,i,(A=>A?h[A.id]:null),Q,!0),I(),e.unmute(A)}),{group:!0,bulkValue:!1})),i((()=>{l.forEach((A=>A.destroy()))}));const d={api:g,state:e,componentName:n},u=o.create(C,d),w=g.generateSlots(n,A,t);function D({className:A,styleMap:t,rowsComponents:g,actions:e,slots:i,html:o,vido:I,props:a}){return i.html("outer",o`
520
+ <div class=${A} style=${t.directive()} data-actions=${e()}>
521
+ ${i.html("content",g.map((A=>A.html())))}
522
+ </div>
523
+ `)}let m=D;return i(e.subscribe(`config.templates.${n}`,(A=>{m=null!=A?A:D,I()}))),()=>m({className:r,styleMap:E,rowsComponents:l,actions:u,slots:w,html:a,vido:A,props:t})}
524
+ /**
525
+ * ChartTimelineItemsRow component
526
+ *
527
+ * @copyright NEURONET - Rafal Pospiech
528
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
529
+ * @module gantt-schedule-timeline-calendar
530
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
531
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
532
+ * @version 3.37.5
533
+ * @released 2024-07-19
534
+ * @license SEE LICENSE IN LICENSE FILE
535
+ */class jt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-items-rows");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-items-rows",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-items-rows",(t=>t.filter((t=>t!==A))),{only:null})}}function Zt(A,t){const{api:g,state:e,onDestroy:i,cache:o,Actions:I,update:a,html:s,onChange:B,reuseComponents:n,StyleMap:C}=A,Q="chart-timeline-items-row",r=Object.assign(Object.assign({},t),{api:g,state:e,componentName:Q});let E;i(e.subscribe("config.components.ChartTimelineItemsRowItem",(A=>E=A)));let c="";const l=[],h=new C({width:"",height:""});let d=!1;function u(A=t.rowData,g=null){const i=e.get("$data.chart");d=!1,h.style.width=i.dimensions.width+"px",t?(h.style.height=A.outerHeight+"px",h.style["--row-height"]=A.outerHeight+"px",a()):d=!0}function w(A,t){if(!A||!t)return d=!0,n(l,[],(()=>null),E,!0),a();const e=t.items;if(void 0===e)return d=!0,n(l,[],(()=>null),E,!0),u(),a();const i=g.getItems(e);i.sort(((A,t)=>A.time.start-t.time.start)),n(l,i,(t=>({row:A,item:t,itemData:t?g.getItemData(t.id):null})),E,!0),u(),a()}const D=g.getClass(Q),m=g.generateSlots(Q,A,t);B((function(g,e){if(e.leave||!g||void 0===g.row)return d=!0,n(l,[],(()=>null),E,!0),m.change(g,e),a();t=g;for(const A in t)r[A]=t[A];if(t.row.classNames){if(Array.isArray(t.row.classNames)&&t.row.classNames.length)c=D+" "+t.row.classNames.join(" ");else if("function"==typeof t.row.classNames){const g=t.row.classNames({row:t.row,vido:A});Array.isArray(g)&&g.length&&(c=D+" "+g.join(" "))}}else c=D;w(t.row,t.rowData),m.change(g,e),a()})),i(e.subscribe("$data.chart.dimensions.width",(()=>w(t.row,t.rowData)))),i((()=>{l.forEach((A=>A.destroy()))}));const y=g.getActions(Q);y.push(jt);const f=I.create(y,r);function p({classNameCurrent:A,styleMap:t,shouldDetach:g,itemComponents:e,actions:i,slots:o,cache:I,html:a,vido:s,props:B}){return I(g||!B||!B.row?null:o.html("outer",a`
536
+ <div
537
+ class=${A}
538
+ data-gstcid=${B.row.id}
539
+ data-actions=${i()}
540
+ style=${t.directive()}
541
+ >
542
+ ${o.html("content",e.map((A=>A.html())))}
543
+ </div>
544
+ `))}let k=p;return i(e.subscribe(`config.templates.${Q}`,(A=>{k=null!=A?A:p,a()}))),()=>k({cache:o,shouldDetach:d,classNameCurrent:c,styleMap:h,itemComponents:l,actions:f,slots:m,html:s,vido:A,props:t})}
545
+ /**
546
+ * ChartTimelineItemsRowItem component
547
+ *
548
+ * @copyright NEURONET - Rafal Pospiech
549
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
550
+ * @module gantt-schedule-timeline-calendar
551
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
552
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
553
+ * @version 3.37.5
554
+ * @released 2024-07-19
555
+ * @license SEE LICENSE IN LICENSE FILE
556
+ */class Vt{constructor(A,t){let g=!1,e=t.state.get("$data.elements.chart-timeline-items-row-items");void 0===e&&(e=[],g=!0),e.includes(A)||(e.push(A),g=!0),g&&t.state.update("$data.elements.chart-timeline-items-row-items",e,{only:null})}destroy(A,t){t.state.update("$data.elements.chart-timeline-items-row-items",(t=>t.filter((t=>t!==A))),{only:null})}}function Pt(A,t){const{api:g,state:e,cache:i,onDestroy:o,Actions:I,update:a,html:s,onChange:B,unsafeHTML:n,StyleMap:C}=A;let Q,r,E=0,c=0;o(e.subscribe("config.chart.spacing",(A=>{"number"==typeof A?(c=A,E=0):("number"==typeof A.left&&(E=A.left),"number"==typeof A.right&&(c=A.right)),a()})));const l="chart-timeline-items-row-item";let h=0,d=0,u=!1,w="";const D=new C({width:"",height:"",left:"",top:""}),m=new C({}),y=new C({}),f={item:t.item,itemData:t.itemData,row:t.row,left:h,width:d,api:g,state:e,componentName:l},p=g.getClass(l),k=g.getClass(l+"-label"),G=g.generateSlots(l,A,t);let M,N=!1;function b(){var i;const o=e.get("$data.chart.time");if(G.change(t,{leave:!1}),u||0===o.levels.length||!o.levels[o.level]||0===o.levels[o.level].length)return N=!0,a();if(!t.item||!t.itemData)return N=!0,a();if(!e.get("$data.chart.visibleItems").includes(t.item.id))return N=!0,a();const I=t.itemData;if(h=I.position.actualLeft+E,d=I.actualWidth-c-E,t.item.time.end<o.leftGlobal||t.item.time.start>o.rightGlobal||d<=0)return N=!0,I.detached=N,a();if(w=p,t.item.time.start<o.leftGlobal?(m.style.display="flex",w+=" "+g.getClass(l+"--left-cut")):m.style.display="none",t.item.time.end>o.rightGlobal?(y.style.display="flex",w+=" "+g.getClass(l+"--right-cut")):y.style.display="none",t.item.classNames)if(Array.isArray(t.item.classNames)&&t.item.classNames.length)w+=" "+t.item.classNames.join(" ");else if("function"==typeof t.item.classNames){const g=t.item.classNames({item:t.item,vido:A});Array.isArray(g)&&(w+=" "+g.join(" "))}const s=D.style.width,B=D.style.left,n=D.style.top,C=D.style.height;D.setStyle({});const Q=g.isItemInViewport(t.item,o.leftGlobal,o.rightGlobal);if(N=!Q,I.detached=N,Q?(D.style.width=d+"px",D.style.left=h+"px",D.style.top=I.position.actualRowTop+"px",D.style.height=I.actualHeight+"px"):(D.style.width=s,D.style.left=B,D.style.top=n,D.style.height=C),null===(i=null==t?void 0:t.item)||void 0===i?void 0:i.style)for(const A in t.item.style)D.style[A]=t.item.style[A];f.left=h,f.width=d,a()}o(e.subscribe("config.chart.item.cutIcons",(A=>{M={left:g.getSVGIconSrc(A.left),right:g.getSVGIconSrc(A.right)}})));const R=g.getClass(`${l}-cut`)+" "+g.getClass(`${l}--left-cut-icon`),F=g.getClass(`${l}-cut-image`),S=()=>s`
557
+ <div class=${R} style=${m.directive()}>
558
+ <img src="${M.left}" width="18" height="18" class=${F} />
559
+ </div>
560
+ `,v=g.getClass(`${l}-cut`)+" "+g.getClass(`${l}--right-cut-icon`),Y=g.getClass(`${l}-cut-image`),L=()=>s`
561
+ <div class=${v} style=${y.directive()}>
562
+ <img src="${M.right}" width="18" height="18" class=${Y} />
563
+ </div>
564
+ `;B((function(A,g){if(g.leave||void 0===A.row||void 0===A.item)return u=!0,N=!0,G.change(A,g),a();N=!1,u=!1,(t=A).item.id===Q&&t.row.id===r||(Q=t.item.id,r=t.row.id),f.item=t.item,f.itemData=t.itemData,f.row=t.row,b(),G.change(A,g),a()}));const U=g.getActions(l);o(e.subscribeAll(["$data.chart.time","$data.chart.visibleItems"],b)),U.push(Vt);const J=I.create(U,f);function x(){return t.item?t.item.isHTML?t.item&&t.item.label?"function"==typeof t.item.label?n(t.item.label({item:t.item,vido:A})):"string"==typeof t.item.label?n(t.item.label):null:null:t.item&&t.item.label?"function"==typeof t.item.label?t.item.label({item:t.item,vido:A}):t.item.label:null:null}function H({className:A,labelClassName:t,styleMap:g,cache:e,shouldDetach:i,cutterLeft:o,cutterRight:I,getContent:a,actions:s,slots:B,html:n,vido:C,props:Q}){return e(i||!Q||!Q.item?null:B.html("outer",n`
565
+ <div
566
+ class=${A}
567
+ data-gstcid=${Q.item.id}
568
+ data-actions=${s()}
569
+ style=${g.directive()}
570
+ >
571
+ ${B.html("inner",n`
572
+ ${o()}
573
+ <div class=${t}>${B.html("content",a())}</div>
574
+ ${I()}
575
+ `)}
576
+ </div>
577
+ `))}let q=H;return o(e.subscribe(`config.templates.${l}`,(A=>{q=null!=A?A:H,a()}))),()=>q({className:w,labelClassName:k,cache:i,shouldDetach:N,styleMap:D,cutterLeft:S,cutterRight:L,getContent:x,actions:J,slots:G,html:s,vido:A,props:t})}
578
+ /**
579
+ * Gantt-Schedule-Timeline-Calendar default configuration
580
+ *
581
+ * @copyright NEURONET - Rafal Pospiech
582
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
583
+ * @module gantt-schedule-timeline-calendar
584
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
585
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
586
+ * @version 3.37.5
587
+ * @released 2024-07-19
588
+ * @license SEE LICENSE IN LICENSE FILE
589
+ */const Ot=["main","scroll-bar","list","list-column","list-column-header","list-column-header-resizer","list-column-row","list-column-row-expander","list-column-row-expander-toggle","list-toggle","chart","chart-calendar","chart-calendar-date","chart-timeline","chart-timeline-grid","chart-timeline-grid-row","chart-timeline-grid-row-cell","chart-timeline-items","chart-timeline-items-row","chart-timeline-items-row-item"];function Xt(){const A={};return Ot.forEach((t=>A[t]=[])),A}function $t(){const A={};return Ot.forEach((t=>A[t]=null)),A}function _t(){const A={};return Ot.forEach((t=>{A[t]={outer:[],inner:[],"container-outer":[],"container-inner":[],content:[]}})),A}function Ag(){const A=[{zoomTo:17,period:"day",periodIncrement:1,classNames:["gstc-date-medium gstc-date-left"],format:({timeStart:A})=>A.format("DD MMMM YYYY (dddd)")},{zoomTo:23,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMMM YYYY")},{zoomTo:24,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMMM 'YY")},{zoomTo:25,period:"month",periodIncrement:1,format:({timeStart:A})=>A.format("MMM YYYY")},{zoomTo:27,period:"year",periodIncrement:1,format:({timeStart:A})=>A.format("YYYY")},{zoomTo:100,period:"year",periodIncrement:1,format:()=>null}],t=[{zoomTo:9,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:11,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:5,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:12,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:15,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:13,period:"minute",classNames:["gstc-date-medium"],main:!0,periodIncrement:30,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:16,period:"hour",classNames:["gstc-date-medium"],main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH:mm")},{zoomTo:17,period:"hour",main:!0,periodIncrement:1,format:({timeStart:A})=>A.format("HH")},{zoomTo:19,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A,className:t,vido:g})=>g.html`<span class="${t}-content gstc-date-bold">${A.format("DD")}</span> <span class="${t}-content gstc-date-thin">${A.format("dddd")}</span>`},{zoomTo:20,period:"day",main:!0,periodIncrement:1,format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("DD")}</div><div class="${g}-content gstc-date-small">${A.format("dddd")}</div>`},{zoomTo:21,period:"day",main:!0,periodIncrement:1,format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("DD")}</div><div class="${g}-content gstc-date-small">${A.format("ddd")}</div>`},{zoomTo:22,period:"day",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,className:t,vido:g})=>g.html`<div class="${t}-content gstc-date-top">${A.format("DD")}</div><div class="${t}-content gstc-date-extra-small">${A.format("ddd")}</div>`},{zoomTo:23,period:"week",main:!0,periodIncrement:1,format:({timeStart:A,timeEnd:t,className:g,vido:e})=>e.html`<div class="${g}-content gstc-date-top">${A.format("DD")} - ${t.format("DD")}</div><div class="${g}-content gstc-date-small gstc-date-thin">${A.format("ddd")} - ${t.format("dd")}</div>`},{zoomTo:25,period:"week",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,timeEnd:t,className:g,vido:e})=>e.html`<div class="${g}-content gstc-date-top gstc-date-small gstc-date-normal">${A.format("DD")}</div><div class="gstc-dash gstc-date-small">-</div><div class="${g}-content gstc-date-small gstc-date-normal">${t.format("DD")}</div>`},{zoomTo:26,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-month-level-1"],format:({timeStart:A,vido:t,className:g})=>t.html`<div class="${g}-content gstc-date-top">${A.format("MMM")}</div><div class="${g}-content gstc-date-small gstc-date-bottom">${A.format("MM")}</div>`},{zoomTo:27,period:"month",main:!0,periodIncrement:1,classNames:["gstc-date-vertical"],format:({timeStart:A,className:t,vido:g})=>g.html`<div class="${t}-content gstc-date-top">${A.format("MM")}</div><div class="${t}-content gstc-date-extra-small">${A.format("MMM")}</div>`},{zoomTo:28,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-big"],format:({timeStart:A})=>A.format("YYYY")},{zoomTo:29,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A})=>A.format("YYYY")},{zoomTo:30,period:"year",main:!0,periodIncrement:1,classNames:["gstc-date-medium"],format:({timeStart:A})=>A.format("YY")},{zoomTo:100,period:"year",main:!0,periodIncrement:1,format:()=>null}];return{licenseKey:"",debug:!1,plugins:[],plugin:{},innerHeight:428,initialWidth:1024,additionalSpace:{top:0,bottom:0},headerHeight:72,autoInnerHeight:!1,components:{ScrollBar:yt,List:ft,ListColumn:kt,ListColumnHeader:Gt,ListColumnHeaderResizer:Mt,ListColumnRow:bt,ListColumnRowExpander:Rt,ListColumnRowExpanderToggle:Ft,ListToggle:St,Chart:vt,ChartCalendar:Yt,ChartCalendarDate:Ut,ChartTimeline:Jt,ChartTimelineGrid:Ht,ChartTimelineGridRow:Kt,ChartTimelineGridRowCell:Wt,ChartTimelineItems:Tt,ChartTimelineItemsRow:Zt,ChartTimelineItemsRowItem:Pt},slots:_t(),list:{rows:{},row:{height:40,gap:{top:0,bottom:0}},columns:{percent:100,resizer:{width:10,inRealTime:!0,dots:6},minWidth:50,data:{}},expander:{padding:18,size:20,icon:{width:16,height:16},icons:{child:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><ellipse ry="4" rx="4" id="svg_1" cy="12" cx="12" fill="#000000B0"/></svg>',open:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>',closed:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/><path fill="none" d="M0 0h24v24H0V0z"/></svg>'}},toggle:{display:!0,icons:{open:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path stroke="null" d="m16.406954,16.012672l4.00393,-4.012673l-4.00393,-4.012673l1.232651,-1.232651l5.245324,5.245324l-5.245324,5.245324l-1.232651,-1.232651z"/><path stroke="null" d="m-0.343497,12.97734zm1.620144,0l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,3.909362l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,-9.773404l0,1.95468l11.341011,0l0,-1.95468l-11.341011,0z"/></svg>',close:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path transform="rotate(-180 4.392796516418457,12) " stroke="null" d="m1.153809,16.012672l4.00393,-4.012673l-4.00393,-4.012673l1.232651,-1.232651l5.245324,5.245324l-5.245324,5.245324l-1.232651,-1.232651z"/><path stroke="null" d="m9.773297,12.97734zm1.620144,0l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,3.909362l11.341011,0l0,-1.954681l-11.341011,0l0,1.954681zm0,-9.773404l0,1.95468l11.341011,0l0,-1.95468l-11.341011,0z"/></svg>'}},sort:{compare:null,asc:!0,activeColumnId:null,icons:{up:'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg>',down:'<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>'}}},scroll:{bodyClassName:"gstc-scrolling",horizontal:{width:20,minInnerSize:40,multiplier:1,precise:!0,byPixels:!0},vertical:{width:20,minInnerSize:40,multiplier:1,precise:!0,byPixels:!0}},chart:{time:{period:"day",from:0,to:0,zoom:20,leftGlobal:0,centerGlobal:0,rightGlobal:0,calculatedZoomMode:!1,onLevelDates:[],onCurrentViewLevelDates:[],onDate:[],allDates:[],autoExpandTimeFromItems:!1,alignLevelsToMain:!0,timePerPixel:0,checkCurrentDateInterval:3e5,datesCache:{timePerPixel:0,levels:[]}},calendarLevels:[A,t],grid:{cell:{onCreate:[]}},item:{gap:{top:4,bottom:4},rowTop:0,height:32,minWidth:10,overlap:!1,cutIcons:{left:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M20 9v6h-8v4.84L4.16 12L12 4.16V9h8z" fill="#ffffff"/><rect x="0" y="0" width="24" height="24" fill="rgba(0, 0, 0, 0)" /></svg>',right:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="1em" height="1em" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M4 15V9h8V4.16L19.84 12L12 19.84V15H4z" fill="#ffffff"/><rect x="0" y="0" width="24" height="24" fill="rgba(0, 0, 0, 0)" /></svg>'}},items:{},spacing:4},actions:Xt(),templates:$t(),locale:{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekStart:0,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},ordinal:A=>{const t=["th","st","nd","rd"],g=A%100;return`[${A}${t[(g-20)%10]||t[g]||t[0]}]`}},utcMode:!1,merge:(A,t)=>_A.mergeDeep({},A,t),useLast:!0,Promise:Promise,mute:[],version:"3.37.5"}}
590
+ /*! *****************************************************************************
591
+ Copyright (c) Microsoft Corporation.
592
+
593
+ Permission to use, copy, modify, and/or distribute this software for any
594
+ purpose with or without fee is hereby granted.
595
+
596
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
597
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
598
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
599
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
600
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
601
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
602
+ PERFORMANCE OF THIS SOFTWARE.
603
+ ***************************************************************************** */function tg(A,t,g,e){return new(g||(g=Promise))((function(i,o){function I(A){try{s(e.next(A))}catch(A){o(A)}}function a(A){try{s(e.throw(A))}catch(A){o(A)}}function s(A){var t;A.done?i(A.value):(t=A.value,t instanceof g?t:new g((function(A){A(t)}))).then(I,a)}s((e=e.apply(A,t||[])).next())}))}const gg=[];class eg{constructor(A,t,g,e=void 0){this.obj=A,this.delimiter=t,this.wildcard=g,this.is_match=e}shortMatch(A,t){if(A===t)return!0;if(A===this.wildcard)return!0;if(this.is_match)return this.is_match(A,t);const g=A.indexOf(this.wildcard);if(g>-1){const e=A.substr(g+1);if(0===g||t.substring(0,g)===A.substring(0,g)){const A=e.length;return!(A>0)||t.substr(-A)===e}}return!1}match(A,t){return this.is_match?this.is_match(A,t):A===t||A===this.wildcard||t===this.wildcard||this.shortMatch(A,t)||function(A,t,g="*"){if(A===g)return!0;gg.length=0;let e=0,i=0,o=0,I=0;for(let t=0,i=A.length;t<i;t+=1){const i=A[t];i===g&&(e+=1,t>I&&gg.push(A.substring(I,t)),gg.push(i),I=t+1)}if(I<A.length&&gg.push(A.substring(I)),e?(i=A.length-e,o=1/0):o=i=A.length,0===gg.length)return A===t;const a=t.length;if(a<i||a>o)return!1;let s=gg.length-1,B=t.length-1,n=!1;for(;;){const A=gg[s];if(s-=1,A===g)n=!0;else{const g=B+1-A.length,e=t.lastIndexOf(A,g);if(-1===e||e>g)return!1;if(n)B=e-1,n=!1;else{if(e!==g)return!1;B-=A.length}}if(0>s)break}return!0}(A,t,this.wildcard)}handleArray(A,t,g,e,i={}){let o=A.indexOf(this.delimiter,g),I=!1;-1===o&&(I=!0,o=A.length);const a=A.substring(g,o);let s=0;for(const g of t){const t=s.toString(),B=""===e?t:e+this.delimiter+s;(a===this.wildcard||a===t||this.shortMatch(a,t))&&(I?i[B]=g:this.goFurther(A,g,o+1,B,i)),s++}return i}handleObject(A,t,g,e,i={}){let o=A.indexOf(this.delimiter,g),I=!1;-1===o&&(I=!0,o=A.length);const a=A.substring(g,o);for(let g in t){g=g.toString();const s=""===e?g:e+this.delimiter+g;(a===this.wildcard||a===g||this.shortMatch(a,g))&&(I?i[s]=t[g]:this.goFurther(A,t[g],o+1,s,i))}return i}goFurther(A,t,g,e,i={}){return Array.isArray(t)?this.handleArray(A,t,g,e,i):this.handleObject(A,t,g,e,i)}get(A){return this.goFurther(A,this.obj,0,"")}}class ig{static get(A,t,g=!1){if(!t)return;let e=t;for(const t of A)if(t in e)e=e[t];else{if(!g)return;e[t]=Object.create({}),e=e[t]}return e}static set(A,t,g){if(!g)return;if(0===A.length){for(const A in g)delete g[A];for(const A in t)g[A]=t[A];return}const e=A.slice(),i=e.pop(),o=ig.get(e,g,!0);return"object"==typeof o&&(o[i]=t),t}}let og,Ig=0,ag=null;function sg(){return null!==ag&&ag.buffer===og.memory.buffer||(ag=new Uint8Array(og.memory.buffer)),ag}let Bg=new TextEncoder("utf-8");const ng="function"==typeof Bg.encodeInto?function(A,t){return Bg.encodeInto(A,t)}:function(A,t){const g=Bg.encode(A);return t.set(g),{read:A.length,written:g.length}};function Cg(A,t,g){if(void 0===g){const g=Bg.encode(A),e=t(g.length);return sg().subarray(e,e+g.length).set(g),Ig=g.length,e}let e=A.length,i=t(e);const o=sg();let I=0;for(;I<e;I++){const t=A.charCodeAt(I);if(t>127)break;o[i+I]=t}if(I!==e){0!==I&&(A=A.slice(I)),i=g(i,e,e=I+3*A.length);const t=sg().subarray(i+I,i+e);I+=ng(A,t).written}return Ig=I,i}function Qg(A,t){var g=Cg(A,og.__wbindgen_malloc,og.__wbindgen_realloc),e=Ig,i=Cg(t,og.__wbindgen_malloc,og.__wbindgen_realloc),o=Ig;return 0!==og.is_match(g,e,i,o)}async function rg(A){("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:t,module:g}=await async function(A,t){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,t)}catch(t){if("application/wasm"==A.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,t)}{const g=await WebAssembly.instantiate(A,t);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await A,{});return og=t.exports,rg.__wbindgen_wasm_module=g,og}const Eg={only:[],source:"",debug:!1,data:void 0,queue:!1,force:!1};function cg(A,t){console.debug(A,t)}function lg(A){return A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A}class hg{constructor(A={},t={}){this.jobsRunning=0,this.updateQueue=[],this.subscribeQueue=[],this.listenersIgnoreCache=new WeakMap,this.is_match=null,this.destroyed=!1,this.queueRuns=0,this.groupId=0,this.namedGroups=[],this.numberGroups=[],this.traceId=0,this.traceMap=new Map,this.tracing=[],this.savedTrace=[],this.collection=null,this.collections=0,this.cache=new Map,this.splitCache=new Map,this.indices=new Map,this.indicesCount=new Map,this.lastExecs=new WeakMap,this.listeners=new Map,this.waitingListeners=new Map,this.options=Object.assign(Object.assign({},{delimiter:".",debug:!1,extraDebug:!1,useMute:!0,notRecursive:";",param:":",wildcard:"*",experimentalMatch:!1,queue:!1,defaultBulkValue:!0,useCache:!1,useSplitCache:!1,useIndicesCache:!1,maxSimultaneousJobs:1e3,maxQueueRuns:1e3,log:cg,Promise:Promise}),t),this.data=A,this.id=0,this.options.useCache?(this.pathGet=this.cacheGet,this.pathSet=this.cacheSet):(this.pathGet=ig.get,this.pathSet=ig.set),t.Promise?this.resolved=t.Promise.resolve():this.resolved=Promise.resolve(),this.muted=new Set,this.mutedListeners=new Set,this.scan=new eg(this.data,this.options.delimiter,this.options.wildcard),this.destroyed=!1}getDefaultListenerOptions(){return{bulk:!1,bulkValue:this.options.defaultBulkValue,debug:!1,source:"",data:void 0,queue:!1,group:!1}}cacheGet(A,t=this.data,g=!1){const e=A.join(this.options.delimiter),i=this.cache.get(e);if(i){const A=i.deref();if(A)return A}const o=ig.get(A,t,g);return(lg(o)||Array.isArray(o))&&this.cache.set(e,new WeakRef(o)),o}cacheSet(A,t,g=this.data){const e=A.join(this.options.delimiter);return lg(t)||Array.isArray(t)?this.cache.set(e,new WeakRef(t)):this.cache.delete(e),ig.set(A,t,g)}silentSet(A,t){return this.pathSet(this.split(A),t,this.data)}loadWasmMatcher(A){return tg(this,void 0,void 0,(function*(){yield rg(A),this.is_match=Qg,this.scan=new eg(this.data,this.options.delimiter,this.options.wildcard,this.is_match)}))}same(A,t){return(["number","string","undefined","boolean"].includes(typeof A)||null===A)&&t===A}getListeners(){return this.listeners}destroy(){this.destroyed=!0,this.data=void 0,this.listeners=new Map,this.waitingListeners=new Map,this.updateQueue=[],this.jobsRunning=0}match(A,t,g=!0){return this.is_match?this.is_match(A,t):A===t||(A===this.options.wildcard||t===this.options.wildcard||!(!g&&this.getIndicesCount(this.options.delimiter,A)<this.getIndicesCount(this.options.delimiter,t))&&this.scan.match(A,t))}getIndicesOf(A,t){if(this.options.useIndicesCache&&this.indices.has(t))return this.indices.get(t);const g=A.length;if(0==g)return[];let e,i=0,o=[];for(;(e=t.indexOf(A,i))>-1;)o.push(e),i=e+g;return this.options.useIndicesCache&&this.indices.set(t,o),o}getIndicesCount(A,t){if(this.options.useIndicesCache&&this.indicesCount.has(t))return this.indicesCount.get(t);const g=A.length;if(0==g)return 0;let e,i=0,o=0;for(;(e=t.indexOf(A,i))>-1;)o++,i=e+g;return this.options.useIndicesCache&&this.indicesCount.set(t,o),o}cutPath(A,t){if(""===t)return"";if((A=this.cleanNotRecursivePath(A))===(t=this.cleanNotRecursivePath(t)))return A;const g=this.getIndicesCount(this.options.delimiter,t),e=this.getIndicesOf(this.options.delimiter,A);return A.substring(0,e[g])}trimPath(A){return(A=this.cleanNotRecursivePath(A)).charAt(0)===this.options.delimiter?A.substr(1):A}split(A){if(""===A)return[];if(!this.options.useSplitCache)return A.split(this.options.delimiter);const t=this.splitCache.get(A);if(t)return t.slice();const g=A.split(this.options.delimiter);return this.splitCache.set(A,g.slice()),g}isWildcard(A){return A.includes(this.options.wildcard)||this.hasParams(A)}isNotRecursive(A){return A.endsWith(this.options.notRecursive)}cleanNotRecursivePath(A){return this.isNotRecursive(A)?A.substring(0,A.length-1):A}hasParams(A){return A.includes(this.options.param)}getParamsInfo(A){let t={replaced:"",original:A,params:{}},g=0,e=[];for(const i of this.split(A)){t.params[g]={original:i,replaced:"",name:""};const A=new RegExp(`\\${this.options.param}([^\\${this.options.delimiter}\\${this.options.param}]+)`,"g");let o=A.exec(i);o?(t.params[g].name=o[1],A.lastIndex=0,t.params[g].replaced=i.replace(A,this.options.wildcard),e.push(t.params[g].replaced),g++):(delete t.params[g],e.push(i),g++)}return t.replaced=e.join(this.options.delimiter),t}getParams(A,t){if(!A)return;const g=this.split(t),e={};for(const t in A.params){e[A.params[t].name]=g[t]}return e}waitForAll(A,t){const g={};for(let t of A)g[t]={dirty:!1},this.hasParams(t)&&(g[t].paramsInfo=this.getParamsInfo(t)),g[t].isWildcard=this.isWildcard(t),g[t].isRecursive=!this.isNotRecursive(t);return this.waitingListeners.set(A,{fn:t,paths:g}),t(g),function(){this.waitingListeners.delete(A)}}executeWaitingListeners(A){if(!this.destroyed)for(const t of this.waitingListeners.values()){const{fn:g,paths:e}=t;let i=0,o=0;for(let t in e){const g=e[t];let I=!1;g.isRecursive&&(A=this.cutPath(A,t)),g.isWildcard&&this.match(t,A)&&(I=!0),A===t&&(I=!0),I&&(g.dirty=!0),g.dirty&&i++,o++}i===o&&g(e)}}subscribeAll(A,t,g=this.getDefaultListenerOptions()){if(this.destroyed)return()=>{};let e=[],i=0,o=null;"boolean"==typeof g.group&&g.group?(this.groupId++,o=this.groupId,g.bulk=!0):"string"==typeof g.group&&(g.bulk=!0,o=g.group);for(const I of A)e.push(this.subscribe(I,t,g,{all:A,index:i,groupId:o})),i++;return function(){for(const A of e)A()}}getCleanListenersCollection(A={}){return Object.assign({listeners:new Map,isRecursive:!1,isWildcard:!1,hasParams:!1,match:void 0,paramsInfo:void 0,path:void 0,originalPath:void 0,count:0},A)}getCleanListener(A,t=this.getDefaultListenerOptions()){return{fn:A,options:Object.assign(Object.assign({},this.getDefaultListenerOptions()),t),groupId:null}}getListenerCollectionMatch(A,t,g){A=this.cleanNotRecursivePath(A);const e=this;return function(i,o=!1){let I=A;return t?i=e.cutPath(i,A):I=e.cutPath(e.cleanNotRecursivePath(A),i),o&&console.log("[getListenerCollectionMatch]",{listenerPath:A,scopedListenerPath:I,path:i,isRecursive:t,isWildcard:g}),!(!g||!e.match(I,i,t))||I===i}}getListenersCollection(A,t){if(this.listeners.has(A)){let g=this.listeners.get(A);return g.listeners.set(++this.id,t),t.id=this.id,g}const g=this.hasParams(A);let e;g&&(e=this.getParamsInfo(A));let i={isRecursive:!this.isNotRecursive(A),isWildcard:this.isWildcard(A),hasParams:g,paramsInfo:e,originalPath:A,path:g?e.replaced:A};i.isRecursive||(i.path=this.cleanNotRecursivePath(i.path));let o=this.getCleanListenersCollection(Object.assign(Object.assign({},i),{match:this.getListenerCollectionMatch(i.path,i.isRecursive,i.isWildcard)}));return this.id++,o.listeners.set(this.id,t),t.id=this.id,this.listeners.set(i.originalPath,o),o}subscribe(A,t,g=this.getDefaultListenerOptions(),e={all:[A],index:0,groupId:null}){if(this.destroyed)return()=>{};this.jobsRunning++;const i="subscribe";let o=this.getCleanListener(t,g);g.group&&(g.bulk=!0,"string"==typeof g.group?o.groupId=g.group:e.groupId&&(o.groupId=e.groupId)),this.listenersIgnoreCache.set(o,{truthy:[],falsy:[]});const I=this.getListenersCollection(A,o);g.debug&&console.log("[subscribe]",{listenerPath:A,options:g}),I.count++;let a=!0;if(o.groupId&&("string"==typeof o.groupId?this.namedGroups.includes(o.groupId)?a=!1:this.namedGroups.push(o.groupId):"number"==typeof o.groupId&&(this.numberGroups.includes(o.groupId)?a=!1:this.numberGroups.push(o.groupId))),a){const e=this.cleanNotRecursivePath(I.path),a=this.split(e);if(I.isWildcard){const a=this.scan.get(e);if(g.bulk){const e=[];for(const A in a)this.isMuted(A)||e.push({path:A,params:this.getParams(I.paramsInfo,A),value:a[A]});this.isMuted(t)||t(e,{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:void 0},options:g,params:void 0})}else for(const e in a)this.isMuted(e)||this.isMuted(t)||t(a[e],{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:this.cleanNotRecursivePath(e)},params:this.getParams(I.paramsInfo,e),options:g})}else this.isMuted(e)||this.isMuted(t)||t(this.pathGet(a,this.data),{type:i,listener:o,listenersCollection:I,path:{listener:A,update:void 0,resolved:this.cleanNotRecursivePath(A)},params:this.getParams(I.paramsInfo,e),options:g})}return this.debugSubscribe(o,I,A),this.jobsRunning--,this.unsubscribe(A,this.id)}unsubscribe(A,t){const g=this.listeners,e=g.get(A);return function(){e.listeners.delete(t),e.count--,0===e.count&&g.delete(A)}}runQueuedListeners(){if(!this.destroyed&&0!==this.subscribeQueue.length)if(0===this.jobsRunning){this.queueRuns=0;const A=[...this.subscribeQueue];for(let t=0,g=A.length;t<g;t++)A[t]();this.subscribeQueue.length=0}else{if(this.queueRuns++,this.queueRuns>=this.options.maxQueueRuns)throw this.queueRuns=0,new Error("Maximal number of queue runs exhausted.");Promise.resolve().then((()=>this.runQueuedListeners())).catch((A=>{throw A}))}}getQueueNotifyListeners(A,t=[]){for(const g in A){if(this.isMuted(g))continue;let{single:e,bulk:i}=A[g];for(const A of e){let g=!1,e=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(e=A.listener.id+":"+A.eventInfo.path.listener);for(const A of t)if(e===A.resolvedIdPath){g=!0;break}if(g)continue;const i=this.debugTime(A);if(!this.isMuted(A.listener.fn))if(A.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>{A.listener.fn(A.value?A.value():void 0,A.eventInfo)}));else{let g=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(g=A.listener.id+":"+A.eventInfo.path.listener),t.push({id:A.listener.id,resolvedPath:A.eventInfo.path.resolved,resolvedIdPath:g,originalFn:A.listener.fn,fn:()=>{A.listener.fn(A.value?A.value():void 0,A.eventInfo)},options:A.listener.options,groupId:A.listener.groupId})}this.debugListener(i,A)}for(const A of i){let g=!1;for(const e of t)if(e.id===A.listener.id){g=!0;break}if(g)continue;const e=this.debugTime(A),i=[];for(const t of A.value)i.push(Object.assign(Object.assign({},t),{value:t.value?t.value():void 0}));if(!this.isMuted(A.listener.fn))if(A.listener.options.queue&&this.jobsRunning)this.subscribeQueue.push((()=>!this.jobsRunning&&(A.listener.fn(i,A.eventInfo),!0)));else{let g=A.listener.id+":"+A.eventInfo.path.resolved;A.eventInfo.path.resolved||(g=A.listener.id+":"+A.eventInfo.path.listener),t.push({id:A.listener.id,resolvedPath:A.eventInfo.path.resolved,resolvedIdPath:g,originalFn:A.listener.fn,fn:()=>{A.listener.fn(i,A.eventInfo)},options:A.listener.options,groupId:A.listener.groupId})}this.debugListener(e,A)}}return Promise.resolve().then((()=>this.runQueuedListeners())),t}shouldIgnore(A,t){if(!A.options.ignore)return!1;for(const g of A.options.ignore){if(t.startsWith(g))return!0;if(this.is_match&&this.is_match(g,t))return!0;{const A=this.cutPath(t,g);if(this.match(g,A))return!0}}return!1}getSubscribedListeners(A,t,g,e="update",i=null){g=Object.assign(Object.assign({},Eg),g);const o={};for(let[I,a]of this.listeners)if(a.match(A)){o[I]={single:[],bulk:[],bulkData:[]};const s=a.paramsInfo?this.getParams(a.paramsInfo,A):void 0,B=this.cutPath(A,I),n=a.isRecursive||a.isWildcard?()=>this.get(B):()=>t,C=[{value:n,path:A,params:s}];for(const t of a.listeners.values())this.shouldIgnore(t,A)?t.options.debug&&console.log("[getSubscribedListeners] Listener was not fired because it was ignored.",{listener:t,listenersCollection:a}):t.options.bulk?o[I].bulk.push({listener:t,listenersCollection:a,eventInfo:{type:e,listener:t,path:{listener:I,update:i||A,resolved:void 0},params:s,options:g},value:C}):o[I].single.push({listener:t,listenersCollection:a,eventInfo:{type:e,listener:t,path:{listener:I,update:i||A,resolved:this.cleanNotRecursivePath(A)},params:s,options:g},value:n})}else if(this.options.extraDebug){let t=!1;for(const g of a.listeners.values())g.options.debug&&(t=!0,console.log("[getSubscribedListeners] Listener was not fired because there was no match.",{listener:g,listenersCollection:a,updatePath:A}));t&&a.match(A,!0)}return o}notifySubscribedListeners(A,t,g,e="update",i=null){return this.getQueueNotifyListeners(this.getSubscribedListeners(A,t,g,e,i))}useBulkValue(A){for(const[t,g]of A.listeners){if(g.options.bulk&&g.options.bulkValue)return!0;if(!g.options.bulk)return!0}return!1}getNestedListeners(A,t,g,e="update",i=null){const o={},I={};for(let[a,s]of this.listeners){if(!s.isRecursive)continue;const B=this.cutPath(a,A);if(this.match(B,A)){o[a]={single:[],bulk:[]};const n=this.trimPath(a.substr(B.length)),C=this.useBulkValue(s);let Q;C&&(Q=I[n]?I[n]:new eg(t,this.options.delimiter,this.options.wildcard).get(n),I[n]=Q);const r=s.paramsInfo?this.getParams(s.paramsInfo,A):void 0,E=[],c={};for(const[t,I]of s.listeners)if(C)for(const B in Q){const n=()=>Q[B],C=[A,B].join(this.options.delimiter),l={type:e,listener:I,listenersCollection:s,path:{listener:a,update:i||A,resolved:this.cleanNotRecursivePath(C)},params:r,options:g};this.shouldIgnore(I,A)||(I.options.bulk?(E.push({value:n,path:C,params:r}),c[t]=I):o[a].single.push({listener:I,listenersCollection:s,eventInfo:l,value:n}))}else{const B={type:e,listener:I,listenersCollection:s,path:{listener:a,update:i||A,resolved:void 0},params:r,options:g};if(this.shouldIgnore(I,A))continue;I.options.bulk?(E.push({value:void 0,path:void 0,params:r}),c[t]=I):o[a].single.push({listener:I,listenersCollection:s,eventInfo:B,value:void 0})}for(const t in c){const i=c[t],I={type:e,listener:i,listenersCollection:s,path:{listener:a,update:A,resolved:void 0},options:g,params:r};o[a].bulk.push({listener:i,listenersCollection:s,eventInfo:I,value:E})}}else if(this.options.extraDebug)for(const t of s.listeners.values())t.options.debug&&console.log("[getNestedListeners] Listener was not fired because there was no match.",{listener:t,listenersCollection:s,currentCutPath:B,updatePath:A})}return o}notifyNestedListeners(A,t,g,e="update",i,o=null){return this.getQueueNotifyListeners(this.getNestedListeners(A,t,g,e,o),i)}getNotifyOnlyListeners(A,t,g,e="update",i=null){const o={};if("object"!=typeof g.only||!Array.isArray(g.only)||void 0===g.only[0]||!this.canBeNested(t))return o;for(const I of g.only){const a=new eg(t,this.options.delimiter,this.options.wildcard).get(I);o[I]={bulk:[],single:[]};for(const t in a){const s=A+this.options.delimiter+t;for(const[B,n]of this.listeners){const C=n.paramsInfo?this.getParams(n.paramsInfo,s):void 0;if(this.match(B,s)){const Q=()=>a[t],r=[{value:Q,path:s,params:C}];for(const t of n.listeners.values()){const a={type:e,listener:t,listenersCollection:n,path:{listener:B,update:i||A,resolved:this.cleanNotRecursivePath(s)},params:C,options:g};this.shouldIgnore(t,A)||(t.options.bulk?o[I].bulk.some((A=>A.listener===t))||o[I].bulk.push({listener:t,listenersCollection:n,eventInfo:a,value:r}):o[I].single.push({listener:t,listenersCollection:n,eventInfo:a,value:Q}))}}}}}return o}runQueue(A){const t=[];for(const g of A)g.options.group?t.includes(g.groupId)||(g.fn(),t.push(g.groupId)):g.fn()}sortAndRunQueue(A,t){A.sort((function(A,t){return A.id-t.id})),this.options.debug&&console.log(`[deep-state-observer] queue for ${t}`,A),this.runQueue(A)}notifyOnly(A,t,g,e="update",i=""){const o=this.getQueueNotifyListeners(this.getNotifyOnlyListeners(A,t,g,e,i));this.sortAndRunQueue(o,A)}canBeNested(A){return"object"==typeof A&&null!==A}getUpdateValues(A,t){let g=t;return"function"==typeof t&&(g=t(A)),{newValue:g,oldValue:A}}wildcardNotify(A,t){let g=[];for(const t of A)this.getQueueNotifyListeners(t,g);for(const A of t)this.executeWaitingListeners(A);return this.jobsRunning--,g}wildcardUpdate(A,t,g=Eg,e=!1){++this.jobsRunning,g=Object.assign(Object.assign({},Eg),g);const i=this.scan.get(A),o={};for(const A in i){const e=this.split(A),{oldValue:I,newValue:a}=this.getUpdateValues(i[A],t);this.same(a,I)&&!g.force||(this.pathSet(e,a,this.data),o[A]=a)}const I=[],a=[];for(const t in o){const e=o[t];g.only.length?I.push(this.getNotifyOnlyListeners(t,e,g,"update",A)):(I.push(this.getSubscribedListeners(t,e,g,"update",A)),this.canBeNested(e)&&I.push(this.getNestedListeners(t,e,g,"update",A))),g.debug&&this.options.log("Wildcard update",{path:t,newValue:e}),a.push(t)}if(e){const t=this;return function(){const g=t.wildcardNotify(I,a);t.sortAndRunQueue(g,A)}}const s=this.wildcardNotify(I,a);this.sortAndRunQueue(s,A)}runUpdateQueue(){if(!this.destroyed)for(;this.updateQueue.length&&this.updateQueue.length<this.options.maxSimultaneousJobs;){const A=this.updateQueue.shift();A.options.queue=!1,this.update(A.updatePath,A.fnOrValue,A.options,A.multi)}}updateNotify(A,t,g){const e=this.notifySubscribedListeners(A,t,g);this.canBeNested(t)&&this.notifyNestedListeners(A,t,g,"update",e),this.sortAndRunQueue(e,A),this.executeWaitingListeners(A)}updateNotifyAll(A){let t=[];for(const g of A){const A=g.newValue;if(this.tracing.length){const t=this.tracing[this.tracing.length-1],e=this.traceMap.get(t);e.changed.push({traceId:t,updatePath:g.updatePath,fnOrValue:A,options:g.options}),this.traceMap.set(t,e)}t=t.concat(this.notifySubscribedListeners(g.updatePath,A,g.options)),this.canBeNested(g.newValue)&&this.notifyNestedListeners(g.updatePath,A,g.options,"update",t)}this.runQueue(t)}updateNotifyOnly(A,t,g){this.notifyOnly(A,t,g),this.executeWaitingListeners(A)}update(A,t,g=Object.assign({},Eg),e=!1){if(this.destroyed)return;if(this.collection)return this.collection.update(A,t,g);if(this.tracing.length){const e=this.tracing[this.tracing.length-1],i=this.traceMap.get(e);i.changed.push({traceId:e,updatePath:A,fnOrValue:t,options:g}),this.traceMap.set(e,i)}const i=this.jobsRunning;if((this.options.queue||g.queue)&&i){if(i>this.options.maxSimultaneousJobs)throw new Error("Maximal simultaneous jobs limit reached.");this.updateQueue.push({updatePath:A,fnOrValue:t,options:g,multi:e});const o=Promise.resolve().then((()=>{this.runUpdateQueue()}));return e?function(){return o}:o}if(this.isWildcard(A))return this.wildcardUpdate(A,t,g,e);++this.jobsRunning;const o=this.split(A),I=this.pathGet(o,this.data);let{oldValue:a,newValue:s}=this.getUpdateValues(I,t);if(g.debug&&this.options.log(`Updating ${A} ${g.source?`from ${g.source}`:""}`,{oldValue:a,newValue:s}),this.same(s,a)&&!g.force)return--this.jobsRunning,e?function(){return s}:s;if(this.pathSet(o,s,this.data),null===(g=Object.assign(Object.assign({},Eg),g)).only)return--this.jobsRunning,e?function(){}:s;if(g.only.length){if(--this.jobsRunning,e){const t=this;return function(){return t.updateNotifyOnly(A,s,g)}}return this.updateNotifyOnly(A,s,g),s}if(e){--this.jobsRunning;const t=this;return function(){return t.updateNotify(A,s,g)}}return this.updateNotify(A,s,g),--this.jobsRunning,s}multi(A=!1){if(this.destroyed)return{update(){return this},done(){},getStack:()=>[]};if(this.collection)return this.collection;const t=this,g=[],e=[];return{update(i,o,I=Eg){if(A){const A=t.split(i);let e=o;const a=t.pathGet(A,t.data);"function"==typeof e&&(e=e(a)),t.pathSet(A,e,t.data),g.push({updatePath:i,newValue:e,options:I})}else e.push(t.update(i,o,I,!0));return this},done(){if(0===t.collections){if(A)t.updateNotifyAll(g);else for(const A of e)A();g.length=0}},getStack:()=>g}}collect(){return this.collections++,this.collection||(this.collection=this.multi(!0)),this.collection}executeCollected(){if(this.collections--,0===this.collections&&this.collection){const A=this.collection;this.collection=null,A.done()}}getCollectedCount(){return this.collections}getCollectedStack(){return this.collection?this.collection.getStack():[]}get(A=void 0){if(!this.destroyed)return void 0===A||""===A?this.data:this.isWildcard(A)?this.scan.get(A):this.pathGet(this.split(A),this.data)}last(A){let t=this.lastExecs.get(A);t||(t={calls:0},this.lastExecs.set(A,t));const g=++t.calls;this.resolved.then((()=>{g===t.calls&&(this.lastExecs.set(A,{calls:0}),A())}))}isMuted(A){if(!this.options.useMute)return!1;if("function"==typeof A)return this.isMutedListener(A);for(const t of this.muted){const g=!this.isNotRecursive(t),e=this.trimPath(t);if(this.match(A,e))return!0;if(this.match(e,A))return!0;if(g){const g=this.cutPath(e,A);if(this.match(g,t))return!0;if(this.match(t,g))return!0}}return!1}isMutedListener(A){return this.mutedListeners.has(A)}mute(A){if("function"==typeof A)return this.mutedListeners.add(A);this.muted.add(A)}unmute(A){if("function"==typeof A)return this.mutedListeners.delete(A);this.muted.delete(A)}debugSubscribe(A,t,g){A.options.debug&&this.options.log("listener subscribed",{listenerPath:g,listener:A,listenersCollection:t})}debugListener(A,t){(t.eventInfo.options.debug||t.listener.options.debug)&&this.options.log("Listener fired",{time:Date.now()-A,info:t})}debugTime(A){return A.listener.options.debug||A.eventInfo.options.debug?Date.now():0}startTrace(A,t=null){this.traceId++;const g=this.traceId+":"+A;return this.traceMap.set(g,{id:g,sort:this.traceId,stack:this.tracing.map((A=>A)),additionalData:t,changed:[]}),this.tracing.push(g),g}stopTrace(A){const t=this.traceMap.get(A);return this.tracing.pop(),this.traceMap.delete(A),t}saveTrace(A){const t=this.traceMap.get(A);return this.tracing.pop(),this.traceMap.delete(A),this.savedTrace.push(t),t}getSavedTraces(){const A=this.savedTrace.map((A=>A));return A.sort(((A,t)=>A.sort-t.sort)),this.savedTrace=[],A}}const dg=_A.mergeDeep;function ug(A){const t=Ag();let g=function(A,t){return _A.mergeDeep(A,t)};"function"==typeof A.merge&&(g=A.merge);const e=function(A,t,g){const e=g({},t.actions),i=g({},A.actions||{});let o=[...Object.keys(e),...Object.keys(i)];o=o.filter((A=>o.includes(A)));const I={};for(const A of o)I[A]=[],void 0!==e[A]&&Array.isArray(e[A])&&(I[A]=[...e[A]]),void 0!==i[A]&&Array.isArray(i[A])&&(I[A]=[...I[A],...i[A]]);return delete A.actions,delete t.actions,I}(A,t,g),i={config:g(t,A)};return i.config.actions=e,i}It.extend(st),It.extend(nt);const wg=!0;const Dg=Ag().locale,mg={name:"gstc",GSTCID:Qt.GSTCID,isGSTCID:Qt.isGSTCID,sourceID:Qt.sourceID,fromArray(A){const t=this.GSTCID,g={};for(const e of A)e.id=t(e.id),"rowId"in e&&(e.rowId=t(e.rowId)),"parentId"in e&&(e.parentId=t(e.parentId)),"dependant"in e&&(e.dependant=e.dependant.map((A=>t(A)))),"linkedWith"in e&&(e.linkedWith=e.linkedWith.map((A=>t(A)))),g[e.id]=e;return g},stateFromConfig:function(A){return this.state=new hg(ug(A),{delimiter:".",useMute:wg,maxSimultaneousJobs:1e3,Promise:A.Promise,debug:!!A.debug,useCache:!1,useSplitCache:!0,useIndicesCache:!1,defaultBulkValue:!1})},wasmStateFromConfig:function(A,t="./wildcard_matcher_bg.wasm"){return mt(this,void 0,void 0,(function*(){return this.state=new hg(ug(A),{delimiter:".",useMute:wg,maxSimultaneousJobs:1e3}),yield this.state.loadWasmMatcher(t),this.state}))},merge:dg,mergeDeep:dg,clone:function(A){return dg({},A)},lithtml:x,html:x,vido:it,date:(A,t=!1,g=dg({},Dg))=>(It.locale(g,null,!0),t?A?It.utc(A).locale(g.name):It.utc().locale(g.name):A?It(A).locale(g.name):It().locale(g.name)),setPeriod(A){return this.state.update("config.chart.time.period",A),this.state.get("config.chart.time.zoom")},dayjs:It};
604
+ /**
605
+ * Main api
606
+ *
607
+ * @copyright NEURONET - Rafal Pospiech
608
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
609
+ * @module gantt-schedule-timeline-calendar
610
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
611
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
612
+ * @version 3.37.5
613
+ * @released 2024-07-19
614
+ * @license SEE LICENSE IN LICENSE FILE
615
+ */
616
+ function yg(A,t){const{api:g,onDestroy:e,state:i,update:o,StyleMap:I}=A,a=g.name,s=new Map;let B;e(i.subscribe("config.debug",(A=>B=A)));let n=!1;function C(A,t){"fullReload"!==t.options.data&&c.fullReload(t)}function Q(A,t){var g;["config","config.chart.items"].includes(t.path.update)||"config.list.rows"===t.path.update&&"expanded"!==(null===(g=t.options.data)||void 0===g?void 0:g.name)||(["config.list.rows.*.parentId"].includes(t.path.listener)?function(A,t){"subscribe"!==t.type&&"sortRowsByColumn"!==t.options.data&&"fullReload"!==t.options.data&&c.partialReload(!0,t)}(0,t):function(A,t){"subscribe"!==t.type&&"fullReload"!==t.options.data&&c.partialReload(!1,t)}(0,t))}function r(A=null,t){t&&"subscribe"===t.type||t&&t.options.data&&"update-visible-items"===t.options.data||c.minimalReload(t)}function E(){s.forEach((A=>A())),s.clear(),B&&console.log("Plugins destroyed.")}var c={className:lt(a),styleMap:new I({}),initializePlugins(){e(i.subscribe("config.plugins",(t=>{if(void 0!==t&&Array.isArray(t)){s.forEach(((A,g)=>{t.includes(g)||(A(),s.delete(g))}));for(const g of t){if(s.has(g))continue;let t=g(A);"function"!=typeof t&&Object.prototype.hasOwnProperty.call(t,"destroy")?t=t.destroy.bind(t):"function"!=typeof t&&(t=()=>{}),s.set(g,t)}}B&&console.log("Plugins initialized.")}))),e(E)},heightChange(){if(g.isMutedMethod("heightChange"))return;const A=i.get("config"),t=i.get("config.scroll.horizontal.width"),e=A.innerHeight-t;i.multi(!0).update("$data.chart.dimensions.heightWithoutScrollBar",e).update("$data.chart.dimensions.innerHeight",A.innerHeight).update("$data.chart.dimensions.height",A.innerHeight+A.headerHeight).update("$data.height",A.innerHeight+A.headerHeight).done(),c.styleMap.style["--height"]=e+"px",c.styleMap.style.height=A.innerHeight+A.headerHeight+"px",g.calculateVerticalScrollSize(),o()},resizerActiveChange(A){n=A,c.className=lt(g.name),n&&(c.className+=` ${g.name}__list-column-header-resizer--active`),o()},generateTreeFromVisibleRows(){if(g.isMutedMethod("generateTreeFromVisibleRows"))return;const A=g.getVisibleRowsId(),t=g.getAllRows(),e=g.getRowsData(),I={},a=i.get("config.chart.items"),s={};for(const g of A){t[g];const A=e[g];I[g]=A;for(const t of A.items)s[t]=a[t]}g.makeTreeMap(I,s,!0),o()},generateTree(A=!0){let t=i.get("$data.list.rowsIds");if(!t)return;t=t.slice();const e=i.get("config.list.rows");if(!A)return c.generateTreeFromVisibleRows();g.fillEmptyRowValues(e);let o=g.getAllRows();const I=g.getRowsData(),a=i.get("config.chart.items");g.makeTreeMap(I,a),o=g.sortRowsByChildren(Object.values(o).map((A=>A.id)));i.get("config").list.rows=o,g.prepareItems(a);const s=Object.keys(o);i.update("$data.list.rowsIds",s),g.setAllRowsIdsCache(s)},prepareExpanded(){if(g.isMutedMethod("prepareExpanded"))return;const A=g.getAllRows();if(!A)return;const t=g.generateRowsWithParentsExpanded(A);i.update("$data.list.rowsWithParentsExpanded",t)},generateVisibleRowsAndItems(){if(g.isMutedMethod("generateVisibleRowsAndItems"))return;const A=g.getVisibleRows(),t=i.get("$data.list.visibleRows")||[];let e=!0;A.length!==t.length?e=!0:A.length&&(e=A.join("|")!==t.join("|"));let I=i.multi(!0);e&&(I=I.update("$data.list.visibleRows",A));const a=[],s=g.getRowsData();for(const t of A){const A=s[t];for(const t of A.items)a.push(t)}const B=i.get("$data.chart.visibleItems")||[];a.join("|")!==B.join("|")&&(I=I.update("$data.chart.visibleItems",a)),I.done(),o()},updateItemsVerticalPositions(){const A=g.getAllItems(),t=g.getItemsData(),e=g.getRowsData(),i=g.getVisibleRows(),o=[];for(const A of i){const t=e[A];if(t)for(const A of t.items)o.includes(A)||o.push(A)}for(const i of o){const o=A[i];o&&g.calculateItemVerticalPosition(i,t[i],e[o.rowId])}},getMutedListeners(){const A=[];return i.isMutedListener(C)&&A.push(C),i.isMutedListener(Q)&&A.push(Q),i.isMutedListener(r)&&A.push(r),A},triggerLoadedEvent(){Promise.resolve().then((()=>{const A=i.get("$data.elements.main");if(!A)return;const t=A.parentNode;if(!t)return;const g=new Event("gstc-loaded");A.dispatchEvent(g),t.dispatchEvent(g)}))},getLastPageDatesWidth(A,t){if(0===t.length)return 0;let g=0,e=0;if(t.length){if(Math.ceil(t[t.length-1].rightPx)>A)for(let i=t.length-1;i>=0;i--){const o=t[i];if(g+=o.width,g>=A){g-=o.width;break}e++}}return i.update("$data.scroll.horizontal",(A=>(A.lastPageSize=g,A.lastPageCount=e,A))),g},formatDate(t,g,e){const i=lt("chart-calendar-date");return t.format({timeStart:g.leftGlobalDate.locale(e),timeEnd:g.rightGlobalDate.locale(e),vido:A,className:i,props:{date:g}})},generatePeriodDates(A,t,e,o){const I=A.period,a=t.fromDate,s=t.toDate,B=i.get("config.locale.name");let n=g.time.generatePeriodDates({leftDate:a,rightDate:s,level:e,levelIndex:o,period:I,time:t,callOnDate:!1,callOnLevelDates:!0});n=g.time.recalculateDatesWidths(n,t),o!==t.level&&(n=g.time.alignLevelToMain(o,n,t)),n=g.time.recalculateDatesPositions(n,t,!1,!1);for(const t of n)t.formatted=c.formatDate(A,t,B);return n},limitGlobal:A=>(A.leftGlobal<A.from&&(A.leftGlobal=A.from,A.leftGlobalDate=g.time.date(A.leftGlobal),A.leftGlobal=A.leftGlobalDate.valueOf()),A.rightGlobal>A.to&&(A.rightGlobal=A.to,A.rightGlobalDate=g.time.date(A.rightGlobal),A.rightGlobal=A.rightGlobalDate.valueOf()),A),setCenter(A){let t=Math.floor(A.rightGlobalDate.diff(A.leftGlobalDate,"millisecond",!0)/2);const e=g.time.getRightViewDate(A);e&&(e.width!==e.currentView.width&&(t-=(e.width-e.currentView.width)*A.timePerPixel),A.centerGlobalDate=A.leftGlobalDate.add(t,"millisecond"),A.centerGlobal=A.centerGlobalDate.valueOf())},guessPeriod(A,t){if(!A.zoom)return A;for(const g of t){const t=g.find((t=>+A.zoom<=+t.zoomTo));t&&t.main&&(A.period=t.period)}return A},getFormatAndLevelIndexForZoom(A,t=i.get("config.chart.calendarLevels")){let g=0,e=0;for(const i of t){for(const t of i)if(t.main&&A<=t.zoomTo)return e=g,{levelIndex:e,format:t};g++}if(!e)throw new Error(`There is no main date format for zoom ${A}.`)},generateAllDates(A,t){if(!A.zoom)return[];A.allDates=new Array(t.length),g.time.stopCheckingCurrentDates();const{format:e,levelIndex:i}=c.getFormatAndLevelIndexForZoom(A.zoom,t);A.level=i,A.allDates[A.level]=c.generatePeriodDates(e,A,t[i],A.level);let o=0;for(const e of t){const t=e.find((t=>+A.zoom<=+t.zoomTo));o!==A.level&&(A.allDates[o]=c.generatePeriodDates(t,A,e,o)),g.time.setDatesCacheLevel(o,A.allDates[o],A),o++}return g.time.checkCurrentDates(!0,A),A.allDates},getPeriodDatesAndCalculateViewOffsetFromAllDates(A,t){if(!A.length)return[];const e=A.filter((A=>A.leftGlobal<t.rightGlobal&&A.rightGlobal>=t.rightGlobal||A.leftGlobal<=t.leftGlobal&&A.rightGlobal>t.leftGlobal||A.leftGlobal>=t.leftGlobal&&A.rightGlobal<=t.rightGlobal));if(!e.length)return[];let i=0;t.leftGlobal>e[0].leftGlobal&&(i=g.time.getDatesDiffPx(t.leftGlobalDate,e[0].leftGlobalDate,t,!0));let o=i;const I=e.length-1;return e.map(((A,e)=>{if(A.currentView={leftPx:o,rightPx:o+A.width,width:A.width+i,leftGlobalDate:g.time.date(A.leftGlobal-i*t.timePerPixel),rightGlobalDate:g.time.date(A.rightGlobal),durationMs:0},A.currentView.durationMs=A.currentView.rightGlobalDate.valueOf()-A.currentView.leftGlobalDate.valueOf(),i=0,o+=A.width,e===I&&A.rightGlobal>t.rightGlobal){let e=0;A.currentView.leftPx<0&&(e=A.currentView.leftPx,A.currentView.leftPx=0),A.currentView.width=(t.rightGlobal+1-A.leftGlobal)/t.timePerPixel+e,A.currentView.rightPx=A.currentView.leftPx+A.currentView.width,A.currentView.rightGlobalDate=g.time.date(A.leftGlobal+A.currentView.width*t.timePerPixel)}return A}))},updateLevels(A,t){A.levels=[],A.currentZoomLevelFormatting=[];let g=0;for(const e of t){const t=e.find((t=>+A.zoom<=+t.zoomTo));if(A.currentZoomLevelFormatting[g]=t,t.main&&(A.format=t,A.level=g),t){let i=c.getPeriodDatesAndCalculateViewOffsetFromAllDates(A.allDates[g],A);A.onCurrentViewLevelDates.forEach((o=>{i=o({dates:i,format:t,time:A,level:e,levelIndex:g})})),A.levels.push(i)}g++}},updateLocale(){const A=i.get("$data.chart.time"),t=i.get("config.locale.name");let g=0;for(const e of A.allDates){const i=A.currentZoomLevelFormatting[g];for(const A of e)A.formatted=c.formatDate(i,A,t);g++}g=0;for(const e of A.levels){const i=A.currentZoomLevelFormatting[g];for(const A of e)A.formatted=c.formatDate(i,A,t);g++}o()},calculateTotalViewDurationFromDates(A){let t=0,g=0;for(const e of A.allDates[A.level])t+=e.width,g+=e.rightGlobal+1-e.leftGlobal;A.totalViewDurationPx=t,A.totalViewDurationMs=g},calculateRightGlobal(A,t,e,o,I){const a=i.get("$data.chart.time"),s=A.endOf(a.period).valueOf(),B=g.time.findDateAtTime(s,e);if(!B)return A.valueOf();let n=e.indexOf(B),C=B.leftGlobal,Q=0;for(let A=e.length;n<A;n++){const A=e[n];if(C=A.rightGlobal,Q+=A.width,Q+o>=t)break}return C+I},allItemsOnTheLeftOrRight(A=g.getAllItems(),t=i.get("$data.chart.time")){let e=!0,o=!0;for(const g in A){const i=A[g];i.time.end<t.leftGlobal||(e=!1),i.time.start>t.rightGlobal||(o=!1)}return i.update("$data.chart.allItemsOnTheLeftOrRight",e||o),e||o},updateVisibleItems(A=i.get("$data.chart.time"),t=i.multi(!0)){const e=i.get("$data.chart.visibleItems"),o=g.getItems(e);if(!o)return t;const I=g.getAllRows(),a=g.getRowsData(),s=g.getItemsData();if(!I)return t;if(!A.levels||!A.levels[A.level])return t;let B=!1;const n=i.get("$data.chart.allItemsOnTheLeftOrRight");for(const e of o){if(!e)return t;const i=I[e.rowId],o=a[e.rowId];if(!i||!o)continue;const C=g.mergeDeep({},s[e.id]),Q=C.position;let r;r=n?Q:g.calculateItemPosition(e.id,s[e.id],o,A,e);for(const A in Q)if(r[A]!==Q[A]){B=!0;break}if(!B)for(const A in C)if(s[e.id][A]!==C[A]){B=!0;break}}return B&&(t=t.update("$data.chart.items",(A=>A),{data:"update-visible-items"})),t},calculateLeftAndRightGlobalNormally(A,t){const e=A.allDates[A.level],i=t.preciseOffset*A.timePerPixel;let o=e[t.dataIndex];if(!o&&e.length)o=e[e.length-1];else if(!e.length)return;A.leftGlobal=o.leftGlobal-i,A.leftGlobalDate=g.time.date(A.leftGlobal);let I=t.preciseOffset;const a=g.getChartWidth(!1);let s;for(let g=t.dataIndex;g<e.length;g++){const t=e[g];if(I+=t.width,I>=a){const g=(I-a)*A.timePerPixel;s=t.rightGlobal-g;break}}if(!s){s=e[e.length-1].rightGlobal}A.rightGlobal=s,A.rightGlobalDate=g.time.date(A.rightGlobal)},calculateLeftAndRightGlobalFromCenter(A,t,e){const i=g.getChartWidth(!1),o=A.allDates[A.level];if(o.length||(A.leftGlobal=A.from,A.leftGlobalDate=g.time.date(A.leftGlobal),A.rightGlobal=null,A.rightGlobalDate=null),0===e.handlePosPx){A.leftGlobal=A.fromDate.valueOf(),A.leftGlobalDate=g.time.date(A.leftGlobal),A.rightGlobal=g.time.getTimeFromOffsetPx(i,!1,A),A.rightGlobalDate=g.time.date(A.rightGlobal);const t=o[0];return e.dataId=t.id,e.dataIndex=0,e.preciseOffset=0,A}if(e.handlePosPx===e.maxHandlePosPx){A.rightGlobal=A.toDate.valueOf(),A.rightGlobalDate=g.time.date(A.rightGlobal);let t=o[o.length-1];let I=0,a=o.length-1;for(;a>=0;a--){const A=o[a];if(I+=A.width,I>=i){t=A;break}}const s=(I-i)/A.timePerPixel;A.leftGlobal=t.leftGlobal+s,A.leftGlobalDate=g.time.date(A.leftGlobal);const B=o[o.length-1];return e.dataId=B.id,e.dataIndex=o.length-1,e.preciseOffset=0,A}const I=Math.round(i/2);let a=0;for(const t of o){if(t.rightGlobal>A.centerGlobal)break;a++}if(a>=o.length||A.centerGlobal<o[0].leftGlobal||A.centerGlobal>o[o.length-1].rightGlobal)return c.calculateLeftAndRightGlobalNormally(A,e);const s=t.centerGlobal-o[a].leftGlobal;let B,n=-Math.round(s/A.timePerPixel),C=0;for(let A=a;A>=0;A--){const t=o[A];if(n+=t.width,n>=I){B=t,C=A;break}}B||(B=o[0],n=I);const Q=n-I,r=Math.round(Q*A.timePerPixel);A.leftGlobal=B.leftGlobal+r,A.leftGlobalDate=g.time.date(A.leftGlobal);let E,l=-Q;const h=o.length;for(let A=0;A<h;A++){const t=o[A];if(l+=t.width,l>=i){E=t;break}}E||(E=o[o.length-1],l=i);const d=l-i,u=Math.round(d*A.timePerPixel);return A.rightGlobal=E.rightGlobal-u,A.rightGlobalDate=g.time.date(A.rightGlobal),e.dataId=B.id,e.dataIndex=C,e.preciseOffset=-Q,A},updateFromToBasedOnDates(A){const t=A.allDates[A.level];t.length&&(A.from=t[0].leftGlobal,A.fromDate=g.time.date(A.from),A.to=t[t.length-1].rightGlobal,A.toDate=g.time.date(A.to))},recalculateTimes(A){if(g.isMutedMethod("recalculateTimes"))return;const e=i.get("config.chart.time"),I=t({},e),a=i.get("$data.chart.time");I.allDates=a.allDates||new Array(I.levels.length),I.datesCache=a.datesCache||{timePerPixel:0,levels:[]};const s=i.get("config.chart.items");if(!(I.from&&I.to||Object.keys(s).length))return;if("number"!=typeof I.from&&void 0!==I.from||"number"!=typeof I.to&&void 0!==I.to)throw new Error("[gantt-schedule-timeline-calendar] 'config.chart.time.from' and 'config.chart.time.to' must be a number (unix epoch milliseconds).");if(!I.from){let A=1/0;for(const t in s){const g=s[t];A>g.time.start&&(A=g.time.start)}I.from=A}if(!I.to){let A=0;for(const t in s){const g=s[t];A<g.time.end&&(A=g.time.end)}I.to=A}I.fromDate||(I.fromDate=g.time.date(I.from)),I.toDate||(I.toDate=g.time.date(I.to));const B=i.get("$data.scroll.vertical.visible"),n=g.getChartWidth(B),C=i.get("config.chart.calendarLevels"),Q=i.get("$data.scroll.horizontal");I.calculatedZoomMode||g.time.recalculateFromTo(I),I.leftGlobal||(I.leftGlobal=I.from);const r=A.filter((A=>"items-out-of-view"===A.name));let E=1/0,l=0;if(r.length)for(const A of r)E>A.from&&(E=A.from),l<A.to&&(l=A.to);let h=!1;if((A.find((A=>"reload"===A.name))||A.find((A=>"all"===A.name))||A.find((A=>"from"===A.name))||A.find((A=>"to"===A.name))||A.find((A=>"zoom"===A.name))||A.find((A=>"calculated-zoom-mode"===A.name))||A.find((A=>"align-levels"===A.name))||A.find((A=>"auto-expand-time"===A.name))||A.find((A=>"locale"===A.name)))&&(h=!0),I.calculatedZoomMode&&n){I.totalViewDurationMs=g.time.date(I.to).add(1,I.period).startOf(I.period).diff(I.from,"millisecond"),I.timePerPixel=I.totalViewDurationMs/n,I.totalViewDurationPx=I.totalViewDurationMs/I.timePerPixel,I.zoom=Math.log(I.timePerPixel)/Math.log(2),g.resetHorizontalScroll(),h&&c.generateAllDates(I,C),c.calculateTotalViewDurationFromDates(I),I.timePerPixel=I.totalViewDurationMs/n,I.zoom=Math.log(I.timePerPixel)/Math.log(2);for(let A=0;A<I.allDates.length;A++)g.time.recalculateDatesWidths(I.allDates[A],I),g.time.recalculateDatesPositions(I.allDates[A],I),g.time.setDatesCacheLevel(A,I.allDates[A],I);c.calculateTotalViewDurationFromDates(I),I.leftGlobal=I.from,I.leftGlobalDate=g.time.date(I.leftGlobal),I.rightGlobal=I.to,I.rightGlobalDate=g.time.date(I.rightGlobal)}else{I.timePerPixel=Math.pow(2,I.zoom),r.length&&I.autoExpandTimeFromItems&&(I.from=E,I.to=l),I.fromDate=g.time.date(I.from).startOf(I.period),I.from=I.fromDate.valueOf(),I.toDate=g.time.date(I.to).endOf(I.period),I.to=I.toDate.valueOf(),h&&c.generateAllDates(I,C),r.length&&I.autoExpandTimeFromItems||c.updateFromToBasedOnDates(I),c.calculateTotalViewDurationFromDates(I);const t=i.get("$data.chart.time");A.find((A=>"zoom"===A.name))&&!A.find((A=>"all"===A.name))&&t.centerGlobalDate?(c.calculateLeftAndRightGlobalFromCenter(I,t,Q),g.calculateHorizontalScrollSizeAndPosFromDates(I.totalViewDurationPx,I,Q,!1)):(g.calculateHorizontalScrollSizeAndPosFromDates(I.totalViewDurationPx,I,Q,!1),c.calculateLeftAndRightGlobalNormally(I,Q))}c.updateLevels(I,C),c.limitGlobal(I),I.leftPx=0,I.rightPx=n,I.width=n;const d=I.levels[I.level];if(d&&d.length){const A=d[d.length-1];I.leftPx=d[0].leftPx-Q.preciseOffset,I.rightPx=A.rightPx,I.width=I.rightPx}c.setCenter(I);let u=i.multi(!0);u=u.update("config.chart.time",(A=>((A=Object.assign({},A)).zoom=I.zoom,A.level=I.level,A.period=I.format.period,A.leftGlobal=I.leftGlobal,A.leftGlobalDate=I.leftGlobalDate.clone(),A.centerGlobal=I.centerGlobal,A.rightGlobal=I.rightGlobal,A.rightGlobalDate=I.rightGlobalDate.clone(),A.from=I.from,A.to=I.to,A.autoExpandTimeFromItems=I.autoExpandTimeFromItems,A.timePerPixel=I.timePerPixel,A))),c.allItemsOnTheLeftOrRight(g.getAllItems(),I),u=u.update("$data.chart.time",I),u=c.updateVisibleItems(I,u),u=u.update("$data.chart.time.recalculateTimesLastReason",A);const w=A.find((A=>"set-scroll-left"===A.name));u=u.update("$data.scroll.horizontal",Q,{data:w?"set-scroll-left":void 0}),u.done(),o();const D=A.find((A=>"chart-width"===A.name));D&&0===D.oldValue&&0!==D.newValue&&setTimeout(c.triggerLoadedEvent,0)},minimalReload(A){if(g.isMutedMethod("minimalReload"))return;g.muteMethod("minimalReload");const t=c.getMutedListeners();i.mute(C),i.mute(Q),i.mute(r),i.collect(),g.calculateVisibleRowsHeights(),c.generateVisibleRowsAndItems(),c.updateVisibleItems().done(),i.executeCollected(),t.includes(C)||i.unmute(C),t.includes(Q)||i.unmute(Q),t.includes(r)||i.unmute(r),g.unmuteMethod("minimalReload"),o()},partialReload(A=!0,t){if(g.isMutedMethod("partialReload"))return;g.muteMethod("partialReload");const e=c.getMutedListeners();if(i.mute(C),i.mute(Q),i.mute(r),A){const A=i.get("$data");A.list.rows={},A.chart.items={}}i.collect(),c.generateTree(A),c.prepareExpanded(),g.measureRows(),g.calculateVerticalScrollSize(),c.minimalReload(t),i.executeCollected(),e.includes(C)||i.unmute(C),e.includes(Q)||i.unmute(Q),e.includes(r)||i.unmute(r),g.unmuteMethod("partialReload"),o()},fullReload(A){if(g.isMutedMethod("fullReload"))return;i.update("$data.reloading",!0),g.muteMethod("fullReload");const t=c.getMutedListeners();i.mute(C),i.mute(Q),i.mute(r),i.collect(),c.partialReload(!0,A),c.recalculateTimes([{name:"reload"}]),i.executeCollected(),t.includes(C)||i.unmute(C),t.includes(Q)||i.unmute(Q),t.includes(r)||i.unmute(r),g.unmuteMethod("fullReload"),i.update("$data.reloading",!1),o()}};e(i.subscribeAll(["config.innerHeight","config.headerHeight","config.scroll.vertical.width"],c.heightChange,{group:!0,bulkValue:!1})),e(i.subscribe("$data.list.columns.resizer.active",c.resizerActiveChange)),e(i.subscribeAll(["config;","config.chart.items;","config.list.rows;","config.list.rows.*;","config.chart.items.*;"],C,{group:!0,bulkValue:!1})),e(i.subscribeAll(["config.list.rows.*.parentId","config.chart.items.*.rowId","config.list.rows.*.expanded"],Q,{group:!0,bulkValue:!1})),e(i.subscribeAll(["config.chart.items.*.time","config.chart.items.*.height","config.chart.items.*.top","$data.chart.dimensions.heightWithoutScrollBar","$data.list.rowsHeight","config.chart.item"],r,{group:!0,bulkValue:!1})),e(i.subscribeAll(["$data.scroll.vertical.dataIndex","$data.scroll.vertical.preciseOffset"],(function(){i.collect(),c.generateVisibleRowsAndItems(),g.calculateVisibleRowsHeights(),c.updateItemsVerticalPositions(),c.updateVisibleItems().done(),i.executeCollected()}),{group:!0,bulkValue:!1})),e(i.subscribe("config.list.sort",(A=>{const t=i.get(`config.list.columns.data.${A.activeColumnId}`);t&&g.sortRowsByColumn(t,A.asc)}))),e(i.subscribeAll(["config.chart.items.*.time","config.chart.items.*;","config.chart.items.*.rowId"],(function(A,t){t.options.data&&"updateVisibleItems"===t.options.data||c.updateVisibleItems().done()}),{group:!0,bulkValue:!1}));let l=i.get("config.locale.weekStart");e(i.subscribe("config.locale",((A,t)=>{"subscribe"!==t.type&&(A.weekStart===l?c.updateLocale():(l=A.weekStart,c.recalculateTimes([{name:"locale"}])))})));const h={utcMode:!1,initialized:!1,zoom:0,period:"",scrollAbsolutePosPx:0,scrollTime:0,chartWidth:0,from:0,to:0,dataFrom:0,dataTo:0,calculatedZoomMode:!1,alignLevels:!0,autoExpandTime:!0};return e(i.subscribeAll(["config.utcMode","config.chart.time","$data.chart.time","config.chart.calendarLevels","$data.scroll.horizontal","$data.chart.dimensions.width","config.chart.items.*.time"],((A,t)=>{const g=function(A){const t=i.get("config.utcMode"),g=i.get("config.chart.time"),e=i.get("$data.chart.time"),o=i.get("$data.scroll.horizontal"),I=i.get("$data.chart.dimensions.width"),a=i.get("config.chart.time.calculatedZoomMode"),s=Object.assign({},h);h.utcMode=t,h.zoom=g.zoom,h.period=g.period,h.from=g.from,h.to=g.to,h.dataFrom=e.from,h.dataTo=e.to,h.scrollAbsolutePosPx=o.absolutePosPx,o.data&&(h.scrollTime=o.data.leftGlobal),h.chartWidth=I,h.calculatedZoomMode=a,h.alignLevels=g.alignLevelsToMain,h.autoExpandTime=g.autoExpandTimeFromItems;const B=[];return h.initialized||(h.initialized=!0,B.push({name:"all"})),t!==s.utcMode&&B.push({name:"utc-mode",oldValue:s.utcMode,newValue:t}),a!==s.calculatedZoomMode&&B.push({name:"calculated-zoom-mode",oldValue:s.calculatedZoomMode,newValue:a}),g.zoom!==s.zoom&&B.push({name:"zoom",oldValue:s.zoom,newValue:g.zoom}),g.period!==s.period&&B.push({name:"period",oldValue:s.period,newValue:g.period}),g.from!==s.from&&B.push({name:"from",oldValue:s.from,newValue:g.from}),g.to!==s.to&&B.push({name:"to",oldValue:s.to,newValue:g.to}),e.from!==s.dataFrom&&B.push({name:"from",oldValue:s.dataFrom,newValue:e.from}),e.to!==s.dataTo&&B.push({name:"to",oldValue:s.dataTo,newValue:e.to}),"set-scroll-left"===A.options.data&&B.push({name:"set-scroll-left"}),o.absolutePosPx!==s.scrollAbsolutePosPx&&B.push({name:"scroll-pos",oldValue:s.scrollAbsolutePosPx,newValue:o.absolutePosPx}),h.scrollTime!==s.scrollTime&&B.push({name:"scroll-time",oldValue:s.scrollTime,newValue:h.scrollTime}),I!==s.chartWidth&&B.push({name:"chart-width",oldValue:s.chartWidth,newValue:I}),h.alignLevels!==s.alignLevels&&B.push({name:"align-levels",oldValue:s.alignLevels,newValue:h.alignLevels}),h.autoExpandTime!==s.autoExpandTime&&B.push({name:"auto-expand-time",oldValue:s.autoExpandTime,newValue:h.autoExpandTime}),B}(t);g.length&&c.recalculateTimes(g)}),{group:!0,bulkValue:!1})),e(i.subscribe("config.chart.items.:itemId.time",(A=>{c.allItemsOnTheLeftOrRight();const t=i.get("$data.chart.time"),e=g.getAllItems();let o=1/0,I=0;for(const g of A){const A=e[g.params.itemId];if(!A)return;if(A.time.start<t.from||A.time.end>t.to){let g=t.from,e=t.to;return A.time.start<t.from&&(g=A.time.start),A.time.end>t.to&&(e=A.time.end),c.recalculateTimes([{name:"items-out-of-view",from:g,to:e}])}A.time.start<o&&(o=A.time.start),A.time.end>I&&(I=A.time.end)}if(0===t.leftGlobal&&0===t.rightGlobal)return c.recalculateTimes([{name:"items",from:o,to:I}])}),{bulk:!0,bulkValue:!1})),e(i.subscribe("config.chart.time.checkCurrentDateInterval",(A=>{i.get("$data.chart.time").checkCurrentDateInterval!==A&&(i.update("$data.chart.time.checkCurrentDateInterval",A),g.time.stopCheckingCurrentDates(),g.time.checkCurrentDates(!0))}))),A.api.main=c,c}var fg={exports:{}},pg={exports:{}};!function(A){var t;A.exports=(t=t||function(A,t){var g=Object.create||function(){function A(){}return function(t){var g;return A.prototype=t,g=new A,A.prototype=null,g}}(),e={},i=e.lib={},o=i.Base={extend:function(A){var t=g(this);return A&&t.mixIn(A),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var t in A)A.hasOwnProperty(t)&&(this[t]=A[t]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}},I=i.WordArray=o.extend({init:function(A,g){A=this.words=A||[],this.sigBytes=g!=t?g:4*A.length},toString:function(A){return(A||s).stringify(this)},concat:function(A){var t=this.words,g=A.words,e=this.sigBytes,i=A.sigBytes;if(this.clamp(),e%4)for(var o=0;o<i;o++){var I=g[o>>>2]>>>24-o%4*8&255;t[e+o>>>2]|=I<<24-(e+o)%4*8}else for(o=0;o<i;o+=4)t[e+o>>>2]=g[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,g=this.sigBytes;t[g>>>2]&=4294967295<<32-g%4*8,t.length=A.ceil(g/4)},clone:function(){var A=o.clone.call(this);return A.words=this.words.slice(0),A},random:function(t){for(var g,e=[],i=function(t){var g=987654321,e=4294967295;return function(){var i=((g=36969*(65535&g)+(g>>16)&e)<<16)+(t=18e3*(65535&t)+(t>>16)&e)&e;return i/=4294967296,(i+=.5)*(A.random()>.5?1:-1)}},o=0;o<t;o+=4){var a=i(4294967296*(g||A.random()));g=987654071*a(),e.push(4294967296*a()|0)}return new I.init(e,t)}}),a=e.enc={},s=a.Hex={stringify:function(A){for(var t=A.words,g=A.sigBytes,e=[],i=0;i<g;i++){var o=t[i>>>2]>>>24-i%4*8&255;e.push((o>>>4).toString(16)),e.push((15&o).toString(16))}return e.join("")},parse:function(A){for(var t=A.length,g=[],e=0;e<t;e+=2)g[e>>>3]|=parseInt(A.substr(e,2),16)<<24-e%8*4;return new I.init(g,t/2)}},B=a.Latin1={stringify:function(A){for(var t=A.words,g=A.sigBytes,e=[],i=0;i<g;i++){var o=t[i>>>2]>>>24-i%4*8&255;e.push(String.fromCharCode(o))}return e.join("")},parse:function(A){for(var t=A.length,g=[],e=0;e<t;e++)g[e>>>2]|=(255&A.charCodeAt(e))<<24-e%4*8;return new I.init(g,t)}},n=a.Utf8={stringify:function(A){try{return decodeURIComponent(escape(B.stringify(A)))}catch(A){throw new Error("Malformed UTF-8 data")}},parse:function(A){return B.parse(unescape(encodeURIComponent(A)))}},C=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new I.init,this._nDataBytes=0},_append:function(A){"string"==typeof A&&(A=n.parse(A)),this._data.concat(A),this._nDataBytes+=A.sigBytes},_process:function(t){var g=this._data,e=g.words,i=g.sigBytes,o=this.blockSize,a=i/(4*o),s=(a=t?A.ceil(a):A.max((0|a)-this._minBufferSize,0))*o,B=A.min(4*s,i);if(s){for(var n=0;n<s;n+=o)this._doProcessBlock(e,n);var C=e.splice(0,s);g.sigBytes-=B}return new I.init(C,B)},clone:function(){var A=o.clone.call(this);return A._data=this._data.clone(),A},_minBufferSize:0});i.Hasher=C.extend({cfg:o.extend(),init:function(A){this.cfg=this.cfg.extend(A),this.reset()},reset:function(){C.reset.call(this),this._doReset()},update:function(A){return this._append(A),this._process(),this},finalize:function(A){return A&&this._append(A),this._doFinalize()},blockSize:16,_createHelper:function(A){return function(t,g){return new A.init(g).finalize(t)}},_createHmacHelper:function(A){return function(t,g){return new Q.HMAC.init(A,g).finalize(t)}}});var Q=e.algo={};return e}(Math),t)}(pg);var kg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,function(){var A=t,g=A.lib,e=g.WordArray,i=g.Hasher,o=A.algo,I=[],a=o.SHA1=i.extend({_doReset:function(){this._hash=new e.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(A,t){for(var g=this._hash.words,e=g[0],i=g[1],o=g[2],a=g[3],s=g[4],B=0;B<80;B++){if(B<16)I[B]=0|A[t+B];else{var n=I[B-3]^I[B-8]^I[B-14]^I[B-16];I[B]=n<<1|n>>>31}var C=(e<<5|e>>>27)+s+I[B];C+=B<20?1518500249+(i&o|~i&a):B<40?1859775393+(i^o^a):B<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=e,e=C}g[0]=g[0]+e|0,g[1]=g[1]+i|0,g[2]=g[2]+o|0,g[3]=g[3]+a|0,g[4]=g[4]+s|0},_doFinalize:function(){var A=this._data,t=A.words,g=8*this._nDataBytes,e=8*A.sigBytes;return t[e>>>5]|=128<<24-e%32,t[14+(e+64>>>9<<4)]=Math.floor(g/4294967296),t[15+(e+64>>>9<<4)]=g,A.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var A=i.clone.call(this);return A._hash=this._hash.clone(),A}});A.SHA1=i._createHelper(a),A.HmacSHA1=i._createHmacHelper(a)}(),t.SHA1)}(kg);var Gg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,void function(){var A=t,g=A.lib.Base,e=A.enc.Utf8;A.algo.HMAC=g.extend({init:function(A,t){A=this._hasher=new A.init,"string"==typeof t&&(t=e.parse(t));var g=A.blockSize,i=4*g;t.sigBytes>i&&(t=A.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),I=this._iKey=t.clone(),a=o.words,s=I.words,B=0;B<g;B++)a[B]^=1549556828,s[B]^=909522486;o.sigBytes=I.sigBytes=i,this.reset()},reset:function(){var A=this._hasher;A.reset(),A.update(this._iKey)},update:function(A){return this._hasher.update(A),this},finalize:function(A){var t=this._hasher,g=t.finalize(A);return t.reset(),t.finalize(this._oKey.clone().concat(g))}})}())}(Gg),function(A){var t;A.exports=(t=pg.exports,function(){var A=t,g=A.lib,e=g.Base,i=g.WordArray,o=A.algo,I=o.SHA1,a=o.HMAC,s=o.PBKDF2=e.extend({cfg:e.extend({keySize:4,hasher:I,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,t){for(var g=this.cfg,e=a.create(g.hasher,A),o=i.create(),I=i.create([1]),s=o.words,B=I.words,n=g.keySize,C=g.iterations;s.length<n;){var Q=e.update(t).finalize(I);e.reset();for(var r=Q.words,E=r.length,c=Q,l=1;l<C;l++){c=e.finalize(c),e.reset();for(var h=c.words,d=0;d<E;d++)r[d]^=h[d]}o.concat(Q),B[0]++}return o.sigBytes=4*n,o}});A.PBKDF2=function(A,t,g){return s.create(g).compute(A,t)}}(),t.PBKDF2)}(fg);var Mg=fg.exports,Ng={exports:{}},bg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,function(){var A=t,g=A.lib.WordArray;function e(A,t,e){for(var i=[],o=0,I=0;I<t;I++)if(I%4){var a=e[A.charCodeAt(I-1)]<<I%4*2,s=e[A.charCodeAt(I)]>>>6-I%4*2;i[o>>>2]|=(a|s)<<24-o%4*8,o++}return g.create(i,o)}A.enc.Base64={stringify:function(A){var t=A.words,g=A.sigBytes,e=this._map;A.clamp();for(var i=[],o=0;o<g;o+=3)for(var I=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<g;a++)i.push(e.charAt(I>>>6*(3-a)&63));var s=e.charAt(64);if(s)for(;i.length%4;)i.push(s);return i.join("")},parse:function(A){var t=A.length,g=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<g.length;o++)i[g.charCodeAt(o)]=o}var I=g.charAt(64);if(I){var a=A.indexOf(I);-1!==a&&(t=a)}return e(A,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),t.enc.Base64)}(bg);var Rg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,function(A){var g=t,e=g.lib,i=e.WordArray,o=e.Hasher,I=g.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*A.abs(A.sin(t+1))|0}();var s=I.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,t){for(var g=0;g<16;g++){var e=t+g,i=A[e];A[e]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,I=A[t+0],s=A[t+1],r=A[t+2],E=A[t+3],c=A[t+4],l=A[t+5],h=A[t+6],d=A[t+7],u=A[t+8],w=A[t+9],D=A[t+10],m=A[t+11],y=A[t+12],f=A[t+13],p=A[t+14],k=A[t+15],G=o[0],M=o[1],N=o[2],b=o[3];G=B(G,M,N,b,I,7,a[0]),b=B(b,G,M,N,s,12,a[1]),N=B(N,b,G,M,r,17,a[2]),M=B(M,N,b,G,E,22,a[3]),G=B(G,M,N,b,c,7,a[4]),b=B(b,G,M,N,l,12,a[5]),N=B(N,b,G,M,h,17,a[6]),M=B(M,N,b,G,d,22,a[7]),G=B(G,M,N,b,u,7,a[8]),b=B(b,G,M,N,w,12,a[9]),N=B(N,b,G,M,D,17,a[10]),M=B(M,N,b,G,m,22,a[11]),G=B(G,M,N,b,y,7,a[12]),b=B(b,G,M,N,f,12,a[13]),N=B(N,b,G,M,p,17,a[14]),G=n(G,M=B(M,N,b,G,k,22,a[15]),N,b,s,5,a[16]),b=n(b,G,M,N,h,9,a[17]),N=n(N,b,G,M,m,14,a[18]),M=n(M,N,b,G,I,20,a[19]),G=n(G,M,N,b,l,5,a[20]),b=n(b,G,M,N,D,9,a[21]),N=n(N,b,G,M,k,14,a[22]),M=n(M,N,b,G,c,20,a[23]),G=n(G,M,N,b,w,5,a[24]),b=n(b,G,M,N,p,9,a[25]),N=n(N,b,G,M,E,14,a[26]),M=n(M,N,b,G,u,20,a[27]),G=n(G,M,N,b,f,5,a[28]),b=n(b,G,M,N,r,9,a[29]),N=n(N,b,G,M,d,14,a[30]),G=C(G,M=n(M,N,b,G,y,20,a[31]),N,b,l,4,a[32]),b=C(b,G,M,N,u,11,a[33]),N=C(N,b,G,M,m,16,a[34]),M=C(M,N,b,G,p,23,a[35]),G=C(G,M,N,b,s,4,a[36]),b=C(b,G,M,N,c,11,a[37]),N=C(N,b,G,M,d,16,a[38]),M=C(M,N,b,G,D,23,a[39]),G=C(G,M,N,b,f,4,a[40]),b=C(b,G,M,N,I,11,a[41]),N=C(N,b,G,M,E,16,a[42]),M=C(M,N,b,G,h,23,a[43]),G=C(G,M,N,b,w,4,a[44]),b=C(b,G,M,N,y,11,a[45]),N=C(N,b,G,M,k,16,a[46]),G=Q(G,M=C(M,N,b,G,r,23,a[47]),N,b,I,6,a[48]),b=Q(b,G,M,N,d,10,a[49]),N=Q(N,b,G,M,p,15,a[50]),M=Q(M,N,b,G,l,21,a[51]),G=Q(G,M,N,b,y,6,a[52]),b=Q(b,G,M,N,E,10,a[53]),N=Q(N,b,G,M,D,15,a[54]),M=Q(M,N,b,G,s,21,a[55]),G=Q(G,M,N,b,u,6,a[56]),b=Q(b,G,M,N,k,10,a[57]),N=Q(N,b,G,M,h,15,a[58]),M=Q(M,N,b,G,f,21,a[59]),G=Q(G,M,N,b,c,6,a[60]),b=Q(b,G,M,N,m,10,a[61]),N=Q(N,b,G,M,r,15,a[62]),M=Q(M,N,b,G,w,21,a[63]),o[0]=o[0]+G|0,o[1]=o[1]+M|0,o[2]=o[2]+N|0,o[3]=o[3]+b|0},_doFinalize:function(){var t=this._data,g=t.words,e=8*this._nDataBytes,i=8*t.sigBytes;g[i>>>5]|=128<<24-i%32;var o=A.floor(e/4294967296),I=e;g[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),g[14+(i+64>>>9<<4)]=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),t.sigBytes=4*(g.length+1),this._process();for(var a=this._hash,s=a.words,B=0;B<4;B++){var n=s[B];s[B]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}return a},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});function B(A,t,g,e,i,o,I){var a=A+(t&g|~t&e)+i+I;return(a<<o|a>>>32-o)+t}function n(A,t,g,e,i,o,I){var a=A+(t&e|g&~e)+i+I;return(a<<o|a>>>32-o)+t}function C(A,t,g,e,i,o,I){var a=A+(t^g^e)+i+I;return(a<<o|a>>>32-o)+t}function Q(A,t,g,e,i,o,I){var a=A+(g^(t|~e))+i+I;return(a<<o|a>>>32-o)+t}g.MD5=o._createHelper(s),g.HmacMD5=o._createHmacHelper(s)}(Math),t.MD5)}(Rg);var Fg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,function(){var A=t,g=A.lib,e=g.Base,i=g.WordArray,o=A.algo,I=o.MD5,a=o.EvpKDF=e.extend({cfg:e.extend({keySize:4,hasher:I,iterations:1}),init:function(A){this.cfg=this.cfg.extend(A)},compute:function(A,t){for(var g=this.cfg,e=g.hasher.create(),o=i.create(),I=o.words,a=g.keySize,s=g.iterations;I.length<a;){B&&e.update(B);var B=e.update(A).finalize(t);e.reset();for(var n=1;n<s;n++)B=e.finalize(B),e.reset();o.concat(B)}return o.sigBytes=4*a,o}});A.EvpKDF=function(A,t,g){return a.create(g).compute(A,t)}}(),t.EvpKDF)}(Fg);var Sg={exports:{}};!function(A){var t;A.exports=void((t=pg.exports).lib.Cipher||function(A){var g=t,e=g.lib,i=e.Base,o=e.WordArray,I=e.BufferedBlockAlgorithm,a=g.enc;a.Utf8;var s=a.Base64,B=g.algo.EvpKDF,n=e.Cipher=I.extend({cfg:i.extend(),createEncryptor:function(A,t){return this.create(this._ENC_XFORM_MODE,A,t)},createDecryptor:function(A,t){return this.create(this._DEC_XFORM_MODE,A,t)},init:function(A,t,g){this.cfg=this.cfg.extend(g),this._xformMode=A,this._key=t,this.reset()},reset:function(){I.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){return A&&this._append(A),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function A(A){return"string"==typeof A?u:h}return function(t){return{encrypt:function(g,e,i){return A(e).encrypt(t,g,e,i)},decrypt:function(g,e,i){return A(e).decrypt(t,g,e,i)}}}}()});e.StreamCipher=n.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var C=g.mode={},Q=e.BlockCipherMode=i.extend({createEncryptor:function(A,t){return this.Encryptor.create(A,t)},createDecryptor:function(A,t){return this.Decryptor.create(A,t)},init:function(A,t){this._cipher=A,this._iv=t}}),r=C.CBC=function(){var t=Q.extend();function g(t,g,e){var i=this._iv;if(i){var o=i;this._iv=A}else o=this._prevBlock;for(var I=0;I<e;I++)t[g+I]^=o[I]}return t.Encryptor=t.extend({processBlock:function(A,t){var e=this._cipher,i=e.blockSize;g.call(this,A,t,i),e.encryptBlock(A,t),this._prevBlock=A.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(A,t){var e=this._cipher,i=e.blockSize,o=A.slice(t,t+i);e.decryptBlock(A,t),g.call(this,A,t,i),this._prevBlock=o}}),t}(),E=(g.pad={}).Pkcs7={pad:function(A,t){for(var g=4*t,e=g-A.sigBytes%g,i=e<<24|e<<16|e<<8|e,I=[],a=0;a<e;a+=4)I.push(i);var s=o.create(I,e);A.concat(s)},unpad:function(A){var t=255&A.words[A.sigBytes-1>>>2];A.sigBytes-=t}};e.BlockCipher=n.extend({cfg:n.cfg.extend({mode:r,padding:E}),reset:function(){n.reset.call(this);var A=this.cfg,t=A.iv,g=A.mode;if(this._xformMode==this._ENC_XFORM_MODE)var e=g.createEncryptor;else e=g.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==e?this._mode.init(this,t&&t.words):(this._mode=e.call(g,this,t&&t.words),this._mode.__creator=e)},_doProcessBlock:function(A,t){this._mode.processBlock(A,t)},_doFinalize:function(){var A=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){A.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),A.unpad(t);return t},blockSize:4});var c=e.CipherParams=i.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),l=(g.format={}).OpenSSL={stringify:function(A){var t=A.ciphertext,g=A.salt;if(g)var e=o.create([1398893684,1701076831]).concat(g).concat(t);else e=t;return e.toString(s)},parse:function(A){var t=s.parse(A),g=t.words;if(1398893684==g[0]&&1701076831==g[1]){var e=o.create(g.slice(2,4));g.splice(0,4),t.sigBytes-=16}return c.create({ciphertext:t,salt:e})}},h=e.SerializableCipher=i.extend({cfg:i.extend({format:l}),encrypt:function(A,t,g,e){e=this.cfg.extend(e);var i=A.createEncryptor(g,e),o=i.finalize(t),I=i.cfg;return c.create({ciphertext:o,key:g,iv:I.iv,algorithm:A,mode:I.mode,padding:I.padding,blockSize:A.blockSize,formatter:e.format})},decrypt:function(A,t,g,e){return e=this.cfg.extend(e),t=this._parse(t,e.format),A.createDecryptor(g,e).finalize(t.ciphertext)},_parse:function(A,t){return"string"==typeof A?t.parse(A,this):A}}),d=(g.kdf={}).OpenSSL={execute:function(A,t,g,e){e||(e=o.random(8));var i=B.create({keySize:t+g}).compute(A,e),I=o.create(i.words.slice(t),4*g);return i.sigBytes=4*t,c.create({key:i,iv:I,salt:e})}},u=e.PasswordBasedCipher=h.extend({cfg:h.cfg.extend({kdf:d}),encrypt:function(A,t,g,e){var i=(e=this.cfg.extend(e)).kdf.execute(g,A.keySize,A.ivSize);e.iv=i.iv;var o=h.encrypt.call(this,A,t,i.key,e);return o.mixIn(i),o},decrypt:function(A,t,g,e){e=this.cfg.extend(e),t=this._parse(t,e.format);var i=e.kdf.execute(g,A.keySize,A.ivSize,t.salt);return e.iv=i.iv,h.decrypt.call(this,A,t,i.key,e)}})}())}(Sg),function(A){var t;A.exports=(t=pg.exports,function(){var A=t,g=A.lib.BlockCipher,e=A.algo,i=[],o=[],I=[],a=[],s=[],B=[],n=[],C=[],Q=[],r=[];!function(){for(var A=[],t=0;t<256;t++)A[t]=t<128?t<<1:t<<1^283;var g=0,e=0;for(t=0;t<256;t++){var E=e^e<<1^e<<2^e<<3^e<<4;E=E>>>8^255&E^99,i[g]=E,o[E]=g;var c=A[g],l=A[c],h=A[l],d=257*A[E]^16843008*E;I[g]=d<<24|d>>>8,a[g]=d<<16|d>>>16,s[g]=d<<8|d>>>24,B[g]=d,d=16843009*h^65537*l^257*c^16843008*g,n[E]=d<<24|d>>>8,C[E]=d<<16|d>>>16,Q[E]=d<<8|d>>>24,r[E]=d,g?(g=c^A[A[A[h^c]]],e^=A[A[e]]):g=e=1}}();var E=[0,1,2,4,8,16,32,64,128,27,54],c=e.AES=g.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var A=this._keyPriorReset=this._key,t=A.words,g=A.sigBytes/4,e=4*((this._nRounds=g+6)+1),o=this._keySchedule=[],I=0;I<e;I++)if(I<g)o[I]=t[I];else{var a=o[I-1];I%g?g>6&&I%g==4&&(a=i[a>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[255&a]):(a=i[(a=a<<8|a>>>24)>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[255&a],a^=E[I/g|0]<<24),o[I]=o[I-g]^a}for(var s=this._invKeySchedule=[],B=0;B<e;B++)I=e-B,a=B%4?o[I]:o[I-4],s[B]=B<4||I<=4?a:n[i[a>>>24]]^C[i[a>>>16&255]]^Q[i[a>>>8&255]]^r[i[255&a]]}},encryptBlock:function(A,t){this._doCryptBlock(A,t,this._keySchedule,I,a,s,B,i)},decryptBlock:function(A,t){var g=A[t+1];A[t+1]=A[t+3],A[t+3]=g,this._doCryptBlock(A,t,this._invKeySchedule,n,C,Q,r,o),g=A[t+1],A[t+1]=A[t+3],A[t+3]=g},_doCryptBlock:function(A,t,g,e,i,o,I,a){for(var s=this._nRounds,B=A[t]^g[0],n=A[t+1]^g[1],C=A[t+2]^g[2],Q=A[t+3]^g[3],r=4,E=1;E<s;E++){var c=e[B>>>24]^i[n>>>16&255]^o[C>>>8&255]^I[255&Q]^g[r++],l=e[n>>>24]^i[C>>>16&255]^o[Q>>>8&255]^I[255&B]^g[r++],h=e[C>>>24]^i[Q>>>16&255]^o[B>>>8&255]^I[255&n]^g[r++],d=e[Q>>>24]^i[B>>>16&255]^o[n>>>8&255]^I[255&C]^g[r++];B=c,n=l,C=h,Q=d}c=(a[B>>>24]<<24|a[n>>>16&255]<<16|a[C>>>8&255]<<8|a[255&Q])^g[r++],l=(a[n>>>24]<<24|a[C>>>16&255]<<16|a[Q>>>8&255]<<8|a[255&B])^g[r++],h=(a[C>>>24]<<24|a[Q>>>16&255]<<16|a[B>>>8&255]<<8|a[255&n])^g[r++],d=(a[Q>>>24]<<24|a[B>>>16&255]<<16|a[n>>>8&255]<<8|a[255&C])^g[r++],A[t]=c,A[t+1]=l,A[t+2]=h,A[t+3]=d},keySize:8});A.AES=g._createHelper(c)}(),t.AES)}(Ng);var vg=Ng.exports,Yg={exports:{}};!function(A){var t;A.exports=(t=pg.exports,function(A){var g=t,e=g.lib,i=e.WordArray,o=e.Hasher,I=g.algo,a=[],s=[];!function(){function t(t){for(var g=A.sqrt(t),e=2;e<=g;e++)if(!(t%e))return!1;return!0}function g(A){return 4294967296*(A-(0|A))|0}for(var e=2,i=0;i<64;)t(e)&&(i<8&&(a[i]=g(A.pow(e,.5))),s[i]=g(A.pow(e,1/3)),i++),e++}();var B=[],n=I.SHA256=o.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(A,t){for(var g=this._hash.words,e=g[0],i=g[1],o=g[2],I=g[3],a=g[4],n=g[5],C=g[6],Q=g[7],r=0;r<64;r++){if(r<16)B[r]=0|A[t+r];else{var E=B[r-15],c=(E<<25|E>>>7)^(E<<14|E>>>18)^E>>>3,l=B[r-2],h=(l<<15|l>>>17)^(l<<13|l>>>19)^l>>>10;B[r]=c+B[r-7]+h+B[r-16]}var d=e&i^e&o^i&o,u=(e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22),w=Q+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&n^~a&C)+s[r]+B[r];Q=C,C=n,n=a,a=I+w|0,I=o,o=i,i=e,e=w+(u+d)|0}g[0]=g[0]+e|0,g[1]=g[1]+i|0,g[2]=g[2]+o|0,g[3]=g[3]+I|0,g[4]=g[4]+a|0,g[5]=g[5]+n|0,g[6]=g[6]+C|0,g[7]=g[7]+Q|0},_doFinalize:function(){var t=this._data,g=t.words,e=8*this._nDataBytes,i=8*t.sigBytes;return g[i>>>5]|=128<<24-i%32,g[14+(i+64>>>9<<4)]=A.floor(e/4294967296),g[15+(i+64>>>9<<4)]=e,t.sigBytes=4*g.length,this._process(),this._hash},clone:function(){var A=o.clone.call(this);return A._hash=this._hash.clone(),A}});g.SHA256=o._createHelper(n),g.HmacSHA256=o._createHmacHelper(n)}(Math),t.SHA256)}(Yg);var Lg=Yg.exports,Ug={exports:{}};!function(A){A.exports=pg.exports.enc.Utf8}(Ug);var Jg=Ug.exports;const xg=(A,t)=>{const g=A.slice(),e=[];let i=t;for(;0!==g.length;){const A=g.pop(),t=A.toLowerCase();if(i.children.has("*")){if(i.children.has("!"+t))break;i=i.children.get("*")}else{if(!1===i.children.has(t))break;i=i.children.get(t)}e.unshift(A)}return e},Hg="[a-fA-F\\d:]",qg=A=>A&&A.includeBoundaries?`(?:(?<=\\s|^)(?=${Hg})|(?<=${Hg})(?=\\s|$))`:"",Kg="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",zg="[a-fA-F\\d]{1,4}",Wg=`\n(?:\n(?:${zg}:){7}(?:${zg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${zg}:){6}(?:${Kg}|:${zg}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${zg}:){5}(?::${Kg}|(?::${zg}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${zg}:){4}(?:(?::${zg}){0,1}:${Kg}|(?::${zg}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${zg}:){3}(?:(?::${zg}){0,2}:${Kg}|(?::${zg}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${zg}:){2}(?:(?::${zg}){0,3}:${Kg}|(?::${zg}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${zg}:){1}(?:(?::${zg}){0,4}:${Kg}|(?::${zg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${zg}){0,5}:${Kg}|(?::${zg}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Tg=new RegExp(`(?:^${Kg}$)|(?:^${Wg}$)`),jg=new RegExp(`^${Kg}$`),Zg=new RegExp(`^${Wg}$`),Vg=A=>A&&A.exact?Tg:new RegExp(`(?:${qg(A)}${Kg}${qg(A)})|(?:${qg(A)}${Wg}${qg(A)})`,"g");Vg.v4=A=>A&&A.exact?jg:new RegExp(`${qg(A)}${Kg}${qg(A)}`,"g"),Vg.v6=A=>A&&A.exact?Zg:new RegExp(`${qg(A)}${Wg}${qg(A)}`,"g");const Pg=Vg,Og=A=>Pg({exact:!0}).test(A);Og.v4=A=>Pg.v4({exact:!0}).test(A),Og.v6=A=>Pg.v6({exact:!0}).test(A),Og.version=A=>Og(A)?Og.v4(A)?4:6:void 0;var Xg=Og;var $g,_g;!function(A){A.NoHostname="NO_HOSTNAME",A.DomainMaxLength="DOMAIN_MAX_LENGTH",A.LabelMinLength="LABEL_MIN_LENGTH",A.LabelMaxLength="LABEL_MAX_LENGTH",A.LabelInvalidCharacter="LABEL_INVALID_CHARACTER"}($g||($g={})),function(A){A.ValidIp="VALID_IP",A.ValidDomain="VALID_DOMAIN",A.Error="ERROR"}(_g||(_g={}));const Ae=A=>({type:$g.NoHostname,message:`The given input ${String(A)} does not look like a hostname.`,column:1}),te=A=>{const t=A.length;return{type:$g.DomainMaxLength,message:`Domain "${A}" is too long. Domain is ${t} octets long but should not be longer than 253.`,column:t}},ge=(A,t)=>{const g=A.length;return{type:$g.LabelMinLength,message:`Label "${A}" is too short. Label is ${g} octets long but should be at least 1.`,column:t}},ee=(A,t)=>{const g=A.length;return{type:$g.LabelMaxLength,message:`Label "${A}" is too long. Label is ${g} octets long but should not be longer than 63.`,column:t}},ie=(A,t,g)=>({type:$g.LabelInvalidCharacter,message:`Label "${A}" contains invalid character "${t}" at column ${g}.`,column:g}),oe=Symbol("ROOT"),Ie=Symbol("CHILD"),ae=A=>{const t={type:oe,children:new Map};let g="",e=t,i=t;const o=()=>{i=((A,t)=>{let g=A.children.get(t);return void 0===g&&(g={type:Ie,label:t,children:new Map,parent:A},A.children.set(t,g)),g})(e,g),g=""};for(let I=0;I<A.length;I++){const a=A.charAt(I);switch(a){case",":o();continue;case">":o(),e=i;continue;case"|":o(),e=t;continue;case"<":if(e.type===oe)throw new Error(`Error in serialized trie at position ${I}: Cannot go up, current parent node is already root`);o(),e=e.parent;continue}g+=a}return""!==g&&o(),t},se=["localhost","local","example","invalid","test"];var Be;!function(A){A.Invalid="INVALID",A.Ip="IP",A.Reserved="RESERVED",A.NotListed="NOT_LISTED",A.Listed="LISTED"}(Be||(Be={}));const ne=(A,t)=>t>=0&&t<A.length?A[t]:void 0,Ce=(A,t)=>({subDomains:A.slice(0,Math.max(0,t)),domain:ne(A,t),topLevelDomains:A.slice(t+1)});let Qe,re;const Ee=A=>{const t=(A=>{if("string"!=typeof A)return{type:_g.Error,errors:[Ae(A)]};const t=A.trim(),g=t.replace(/^\[|]$/g,""),e=Xg.version(g);if(void 0!==e)return{type:_g.ValidIp,ip:g,ipVersion:e};if(t.length>253)return{type:_g.Error,errors:[te(t)]};const i=t.split(".");""===i[i.length-1]&&i.pop();const o=[];let I=1;for(const A of i){const t=/[^\d\-a-z]/iu.exec(A);t?o.push(ie(A,t[0],t.index+1)):A.length<1?o.push(ge(A,I)):A.length>63&&o.push(ee(A,I)),I+=A.length+1}return o.length>0?{type:_g.Error,errors:o}:{type:_g.ValidDomain,domain:t,labels:i}})(A);if(t.type===_g.Error)return{type:Be.Invalid,hostname:A,errors:t.errors};if(t.type===_g.ValidIp)return{type:Be.Ip,hostname:t.ip,ipVersion:t.ipVersion};const{labels:g,domain:e}=t;if(""===A||se.includes(g[g.length-1]))return{type:Be.Reserved,hostname:e,labels:g};Qe=null!=Qe?Qe:ae("ac>com,edu,gov,net,mil,org<ad>nom<ae>co,net,org,sch,ac,gov,mil<aero>accident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,works<af>gov,com,org,net,edu<ag>com,org,net,co,nom<ai>off,com,net,org<al>com,edu,gov,mil,net,org<am>co,com,commune,net,org<ao>ed,gv,og,co,pb,it<aq,ar>com,edu,gob,gov,int,mil,musica,net,org,tur<arpa>e164,in-addr,ip6,iris,uri,urn<as>gov<asia,at>ac>sth<co,gv,or<au>com,net,org,edu>act,catholic,nsw>schools<nt,qld,sa,tas,vic,wa<gov>qld,sa,tas,vic,wa<asn,id,info,conf,oz,act,nsw,nt,qld,sa,tas,vic,wa<aw>com<ax,az>com,net,int,gov,org,edu,info,pp,mil,name,pro,biz<ba>com,edu,gov,mil,net,org<bb>biz,co,com,edu,gov,info,net,org,store,tv<bd>*<be>ac<bf>gov<bg>a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9<bh>com,edu,net,org,gov<bi>co,com,edu,or,org<biz,bj>asso,barreau,gouv<bm>com,edu,gov,net,org<bn>com,edu,gov,net,org<bo>com,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki<br>9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<gru,imb,ind,inf,jab,jampa,jdf,joinville,jor,jus,leg,lel,log,londrina,macapa,maceio,manaus,maringa,mat,med,mil,morena,mp,mus,natal,net,niteroi,nom>*<not,ntr,odo,ong,org,osasco,palmas,poa,ppg,pro,psc,psi,pvh,qsl,radio,rec,recife,rep,ribeirao,rio,riobranco,riopreto,salvador,sampa,santamaria,santoandre,saobernardo,saogonca,seg,sjc,slg,slz,sorocaba,srv,taxi,tc,tec,teo,the,tmp,trd,tur,tv,udi,vet,vix,vlog,wiki,zlg<bs>com,net,org,edu,gov<bt>com,edu,gov,net,org<bv,bw>co,org<by>gov,mil,com,of<bz>com,net,org,edu,gov<ca>ab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gc<cat,cc,cd>gov<cf,cg,ch,ci>org,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv<ck>*,!www<cl>co,gob,gov,mil<cm>co,com,gov,net<cn>ac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,tw<co>arts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,web<com,coop,cr>ac,co,ed,fi,go,or,sa<cu>com,edu,org,net,gov,inf<cv,cw>com,edu,net,org<cx>gov<cy>ac,biz,com,ekloges,gov,ltd,name,net,org,parliament,press,pro,tm<cz,de,dj,dk,dm>com,net,org,edu,gov<do>art,com,edu,gob,gov,mil,net,org,sld,web<dz>art,asso,com,edu,gov,org,net,pol,soc,tm<ec>com,info,net,fin,k12,med,pro,org,edu,gov,gob,mil<edu,ee>edu,gov,riik,lib,med,com,pri,aip,org,fie<eg>com,edu,eun,gov,mil,name,net,org,sci<er>*<es>com,nom,org,gob,edu<et>com,gov,org,edu,biz,name,info,net<eu,fi>aland<fj>ac,biz,com,gov,info,mil,name,net,org,pro<fk>*<fm>com,edu,net,org<fo,fr>asso,com,gouv,nom,prd,tm,aeroport,avocat,avoues,cci,chambagri,chirurgiens-dentistes,experts-comptables,geometre-expert,greta,huissier-justice,medecin,notaires,pharmacien,port,veterinaire<ga,gb,gd>edu,gov<ge>com,edu,gov,org,mil,net,pvt<gf,gg>co,net,org<gh>com,edu,gov,org,mil<gi>com,ltd,gov,mod,edu,org<gl>co,com,edu,net,org<gm,gn>ac,com,edu,gov,org,net<gov,gp>com,net,mobi,edu,org,asso<gq,gr>com,edu,net,org,gov<gs,gt>com,edu,gob,ind,mil,net,org<gu>com,edu,gov,guam,info,net,org,web<gw,gy>co,com,edu,gov,net,org<hk>com,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4a<hm,hn>com,edu,org,net,mil,gob<hr>iz,from,name,com<ht>com,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,perso<hu>co,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,video<id>ac,biz,co,desa,go,mil,my,net,or,ponpes,sch,web<ie>gov<il>ac,co,gov,idf,k12,muni,net,org<im>ac,co>ltd,plc<com,net,org,tt,tv<in>co,firm,net,org,gen,ind,nic,ac,edu,res,gov,mil<info,int>eu<io>com<iq>gov,edu,mil,com,org,net<ir>ac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4fra<is>net,com,edu,gov,org,int<it>gov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vv<je>co,net,org<jm>*<jo>com,org,net,edu,sch,gov,mil,name<jobs,jp>ac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomi<akita>akita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjo<aomori>aomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsuruta<chiba>abiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaido<ehime>ainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahama<fukui>echizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasa<fukuoka>ashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashi<fukushima>aizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawa<gifu>anpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoro<gunma>annaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshioka<hiroshima>asaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takehara<hokkaido>abashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichi<hyogo>aioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawa<ibaraki>ami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yuki<ishikawa>anamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajima<iwate>fudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamada<kagawa>ayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsuji<kagoshima>akune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusui<kanagawa>aikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushi<kochi>aki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuhara<kumamoto>amakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiro<kyoto>ayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawata<mie>asahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichi<miyagi>furukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zao<miyazaki>aya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsuno<nagano>achi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuoka<nagasaki>chijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzen<nara>ando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshino<niigata>aga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawa<oita>beppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufu<okayama>akaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakage<okinawa>aguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamami<osaka>abeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yao<saga>ariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogari<saitama>arakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimi<shiga>aisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasu<shimane>akagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsuka<shizuoka>arai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshida<tochigi>ashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaita<tokushima>aizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajiki<tokyo>adachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshima<tottori>chizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonago<toyama>asahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamada<wakayama>arida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yura<yamagata>asahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuza<yamaguchi>abu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuu<yamanashi>chuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi<xn--4pvxs,xn--vgu402c,xn--c3s14m,xn--f6qx53a,xn--8pvr4u,xn--uist22h,xn--djrs72d6uy,xn--mkru45i,xn--0trq7p7nn,xn--8ltr62k,xn--2m4a15e,xn--efvn9s,xn--32vp30h,xn--4it797k,xn--1lqs71d,xn--5rtp49c,xn--5js045d,xn--ehqz56n,xn--1lqs03n,xn--qqqt11m,xn--kbrq7o,xn--pssu33l,xn--ntsq17g,xn--uisz3g,xn--6btw5a,xn--1ctwo,xn--6orx2r,xn--rht61e,xn--rht27z,xn--djty4k,xn--nit225k,xn--rht3d,xn--klty5x,xn--kltx9a,xn--kltp7d,xn--uuwu58a,xn--zbx025d,xn--ntso0iqx3a,xn--elqq16h,xn--4it168d,xn--klt787d,xn--rny31h,xn--7t0a264c,xn--5rtq34k,xn--k7yn95e,xn--tor131o,xn--d5qv7z876c,kawasaki>*,!city<kitakyushu>*,!city<kobe>*,!city<nagoya>*,!city<sapporo>*,!city<sendai>*,!city<yokohama>*,!city<<ke>ac,co,go,info,me,mobi,ne,or,sc<kg>org,net,com,edu,gov,mil<kh>*<ki>edu,biz,net,org,gov,info,com<km>org,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouv<kn>net,org,edu,gov<kp>com,edu,gov,org,rep,tra<kr>ac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsan<kw>com,edu,emb,gov,ind,net,org<ky>edu,gov,com,org,net<kz>org,edu,net,gov,mil,com<la>int,net,info,edu,gov,per,com,org<lb>com,edu,gov,net,org<lc>com,net,co,org,edu,gov<li,lk>gov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,ac<lr>com,edu,gov,org,net<ls>ac,biz,co,edu,gov,info,net,org,sc<lt>gov<lu,lv>com,edu,gov,org,mil,id,net,asn,conf<ly>com,net,gov,plc,edu,sch,med,org,id<ma>co,net,gov,org,ac,press<mc>tm,asso<md,me>co,net,org,edu,ac,gov,its,priv<mg>org,nom,gov,prd,tm,edu,mil,com,co<mh,mil,mk>com,org,net,edu,gov,inf,name<ml>com,edu,gouv,gov,net,org,presse<mm>*<mn>gov,edu,org<mo>com,net,org,edu,gov<mobi,mp,mq,mr>gov<ms>com,edu,gov,net,org<mt>com,edu,net,org<mu>com,net,org,gov,ac,co,or<museum>academy,agriculture,air,airguard,alabama,alaska,amber,ambulance,american,americana,americanantiques,americanart,amsterdam,and,annefrank,anthro,anthropology,antiques,aquarium,arboretum,archaeological,archaeology,architecture,art,artanddesign,artcenter,artdeco,arteducation,artgallery,arts,artsandcrafts,asmatart,assassination,assisi,association,astronomy,atlanta,austin,australia,automotive,aviation,axis,badajoz,baghdad,bahn,bale,baltimore,barcelona,baseball,basel,baths,bauern,beauxarts,beeldengeluid,bellevue,bergbau,berkeley,berlin,bern,bible,bilbao,bill,birdart,birthplace,bonn,boston,botanical,botanicalgarden,botanicgarden,botany,brandywinevalley,brasil,bristol,british,britishcolumbia,broadcast,brunel,brussel,brussels,bruxelles,building,burghof,bus,bushey,cadaques,california,cambridge,can,canada,capebreton,carrier,cartoonart,casadelamoneda,castle,castres,celtic,center,chattanooga,cheltenham,chesapeakebay,chicago,children,childrens,childrensgarden,chiropractic,chocolate,christiansburg,cincinnati,cinema,circus,civilisation,civilization,civilwar,clinton,clock,coal,coastaldefence,cody,coldwar,collection,colonialwilliamsburg,coloradoplateau,columbia,columbus,communication,communications,community,computer,computerhistory,xn--comunicaes-v6a2o,contemporary,contemporaryart,convent,copenhagen,corporation,xn--correios-e-telecomunicaes-ghc29a,corvette,costume,countryestate,county,crafts,cranbrook,creation,cultural,culturalcenter,culture,cyber,cymru,dali,dallas,database,ddr,decorativearts,delaware,delmenhorst,denmark,depot,design,detroit,dinosaur,discovery,dolls,donostia,durham,eastafrica,eastcoast,education,educational,egyptian,eisenbahn,elburg,elvendrell,embroidery,encyclopedic,england,entomology,environment,environmentalconservation,epilepsy,essex,estate,ethnology,exeter,exhibition,family,farm,farmequipment,farmers,farmstead,field,figueres,filatelia,film,fineart,finearts,finland,flanders,florida,force,fortmissoula,fortworth,foundation,francaise,frankfurt,franziskaner,freemasonry,freiburg,fribourg,frog,fundacio,furniture,gallery,garden,gateway,geelvinck,gemological,geology,georgia,giessen,glas,glass,gorge,grandrapids,graz,guernsey,halloffame,hamburg,handson,harvestcelebration,hawaii,health,heimatunduhren,hellas,helsinki,hembygdsforbund,heritage,histoire,historical,historicalsociety,historichouses,historisch,historisches,history,historyofscience,horology,house,humanities,illustration,imageandsound,indian,indiana,indianapolis,indianmarket,intelligence,interactive,iraq,iron,isleofman,jamison,jefferson,jerusalem,jewelry,jewish,jewishart,jfk,journalism,judaica,judygarland,juedisches,juif,karate,karikatur,kids,koebenhavn,koeln,kunst,kunstsammlung,kunstunddesign,labor,labour,lajolla,lancashire,landes,lans,xn--lns-qla,larsson,lewismiller,lincoln,linz,living,livinghistory,localhistory,london,losangeles,louvre,loyalist,lucerne,luxembourg,luzern,mad,madrid,mallorca,manchester,mansion,mansions,manx,marburg,maritime,maritimo,maryland,marylhurst,media,medical,medizinhistorisches,meeres,memorial,mesaverde,michigan,midatlantic,military,mill,miners,mining,minnesota,missile,missoula,modern,moma,money,monmouth,monticello,montreal,moscow,motorcycle,muenchen,muenster,mulhouse,muncie,museet,museumcenter,museumvereniging,music,national,nationalfirearms,nationalheritage,nativeamerican,naturalhistory,naturalhistorymuseum,naturalsciences,nature,naturhistorisches,natuurwetenschappen,naumburg,naval,nebraska,neues,newhampshire,newjersey,newmexico,newport,newspaper,newyork,niepce,norfolk,north,nrw,nyc,nyny,oceanographic,oceanographique,omaha,online,ontario,openair,oregon,oregontrail,otago,oxford,pacific,paderborn,palace,paleo,palmsprings,panama,paris,pasadena,pharmacy,philadelphia,philadelphiaarea,philately,phoenix,photography,pilots,pittsburgh,planetarium,plantation,plants,plaza,portal,portland,portlligat,posts-and-telecommunications,preservation,presidio,press,project,public,pubol,quebec,railroad,railway,research,resistance,riodejaneiro,rochester,rockart,roma,russia,saintlouis,salem,salvadordali,salzburg,sandiego,sanfrancisco,santabarbara,santacruz,santafe,saskatchewan,satx,savannahga,schlesisches,schoenbrunn,schokoladen,school,schweiz,science,scienceandhistory,scienceandindustry,sciencecenter,sciencecenters,science-fiction,sciencehistory,sciences,sciencesnaturelles,scotland,seaport,settlement,settlers,shell,sherbrooke,sibenik,silk,ski,skole,society,sologne,soundandvision,southcarolina,southwest,space,spy,square,stadt,stalbans,starnberg,state,stateofdelaware,station,steam,steiermark,stjohn,stockholm,stpetersburg,stuttgart,suisse,surgeonshall,surrey,svizzera,sweden,sydney,tank,tcm,technology,telekommunikation,television,texas,textile,theater,time,timekeeping,topology,torino,touch,town,transport,tree,trolley,trust,trustee,uhren,ulm,undersea,university,usa,usantiques,usarts,uscountryestate,usculture,usdecorativearts,usgarden,ushistory,ushuaia,uslivinghistory,utah,uvic,valley,vantaa,versailles,viking,village,virginia,virtual,virtuel,vlaanderen,volkenkunde,wales,wallonie,war,washingtondc,watchandclock,watch-and-clock,western,westfalen,whaling,wildlife,williamsburg,windmill,workshop,york,yorkshire,yosemite,youth,zoological,zoology,xn--9dbhblg6di,xn--h1aegh<mv>aero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,pro<mw>ac,biz,co,com,coop,edu,gov,int,museum,net,org<mx>com,org,gob,edu,net<my>biz,com,edu,gov,mil,name,net,org<mz>ac,adv,co,edu,gov,mil,net,org<na>info,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,org<name,nc>asso,nom<ne,net,nf>com,net,per,rec,web,arts,firm,info,other,store<ng>com,edu,gov,i,mil,mobi,name,net,org,sch<ni>ac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,web<nl,no>fhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gs<ah>gs<bu>gs<fm>gs<hl>gs<hm>gs<jan-mayen>gs<mr>gs<nl>gs<nt>gs<of>gs<ol>gs<oslo>gs<rl>gs<sf>gs<st>gs<svalbard>gs<tm>gs<tr>gs<va>gs<vf>gs<akrehamn,xn--krehamn-dxa,algard,xn--lgrd-poac,arna,brumunddal,bryne,bronnoysund,xn--brnnysund-m8ac,drobak,xn--drbak-wua,egersund,fetsund,floro,xn--flor-jra,fredrikstad,hokksund,honefoss,xn--hnefoss-q1a,jessheim,jorpeland,xn--jrpeland-54a,kirkenes,kopervik,krokstadelva,langevag,xn--langevg-jxa,leirvik,mjondalen,xn--mjndalen-64a,mo-i-rana,mosjoen,xn--mosjen-eya,nesoddtangen,orkanger,osoyro,xn--osyro-wua,raholt,xn--rholt-mra,sandnessjoen,xn--sandnessjen-ogb,skedsmokorset,slattum,spjelkavik,stathelle,stavern,stjordalshalsen,xn--stjrdalshalsen-sqb,tananger,tranby,vossevangen,afjord,xn--fjord-lra,agdenes,al,xn--l-1fa,alesund,xn--lesund-hua,alstahaug,alta,xn--lt-liac,alaheadju,xn--laheadju-7ya,alvdal,amli,xn--mli-tla,amot,xn--mot-tla,andebu,andoy,xn--andy-ira,andasuolo,ardal,xn--rdal-poa,aremark,arendal,xn--s-1fa,aseral,xn--seral-lra,asker,askim,askvoll,askoy,xn--asky-ira,asnes,xn--snes-poa,audnedaln,aukra,aure,aurland,aurskog-holand,xn--aurskog-hland-jnb,austevoll,austrheim,averoy,xn--avery-yua,balestrand,ballangen,balat,xn--blt-elab,balsfjord,bahccavuotna,xn--bhccavuotna-k7a,bamble,bardu,beardu,beiarn,bajddar,xn--bjddar-pta,baidar,xn--bidr-5nac,berg,bergen,berlevag,xn--berlevg-jxa,bearalvahki,xn--bearalvhki-y4a,bindal,birkenes,bjarkoy,xn--bjarky-fya,bjerkreim,bjugn,bodo,xn--bod-2na,badaddja,xn--bdddj-mrabd,budejju,bokn,bremanger,bronnoy,xn--brnny-wuac,bygland,bykle,barum,xn--brum-voa,telemark>bo,xn--b-5ga<nordland>bo,xn--b-5ga,heroy,xn--hery-ira<bievat,xn--bievt-0qa,bomlo,xn--bmlo-gra,batsfjord,xn--btsfjord-9za,bahcavuotna,xn--bhcavuotna-s4a,dovre,drammen,drangedal,dyroy,xn--dyry-ira,donna,xn--dnna-gra,eid,eidfjord,eidsberg,eidskog,eidsvoll,eigersund,elverum,enebakk,engerdal,etne,etnedal,evenes,evenassi,xn--eveni-0qa01ga,evje-og-hornnes,farsund,fauske,fuossko,fuoisku,fedje,fet,finnoy,xn--finny-yua,fitjar,fjaler,fjell,flakstad,flatanger,flekkefjord,flesberg,flora,fla,xn--fl-zia,folldal,forsand,fosnes,frei,frogn,froland,frosta,frana,xn--frna-woa,froya,xn--frya-hra,fusa,fyresdal,forde,xn--frde-gra,gamvik,gangaviika,xn--ggaviika-8ya47h,gaular,gausdal,gildeskal,xn--gildeskl-g0a,giske,gjemnes,gjerdrum,gjerstad,gjesdal,gjovik,xn--gjvik-wua,gloppen,gol,gran,grane,granvin,gratangen,grimstad,grong,kraanghke,xn--kranghke-b0a,grue,gulen,hadsel,halden,halsa,hamar,hamaroy,habmer,xn--hbmer-xqa,hapmir,xn--hpmir-xqa,hammerfest,hammarfeasta,xn--hmmrfeasta-s4ac,haram,hareid,harstad,hasvik,aknoluokta,xn--koluokta-7ya57h,hattfjelldal,aarborte,haugesund,hemne,hemnes,hemsedal,more-og-romsdal>heroy,sande<xn--mre-og-romsdal-qqb>xn--hery-ira,sande<hitra,hjartdal,hjelmeland,hobol,xn--hobl-ira,hof,hol,hole,holmestrand,holtalen,xn--holtlen-hxa,hornindal,horten,hurdal,hurum,hvaler,hyllestad,hagebostad,xn--hgebostad-g3a,hoyanger,xn--hyanger-q1a,hoylandet,xn--hylandet-54a,ha,xn--h-2fa,ibestad,inderoy,xn--indery-fya,iveland,jevnaker,jondal,jolster,xn--jlster-bya,karasjok,karasjohka,xn--krjohka-hwab49j,karlsoy,galsa,xn--gls-elac,karmoy,xn--karmy-yua,kautokeino,guovdageaidnu,klepp,klabu,xn--klbu-woa,kongsberg,kongsvinger,kragero,xn--krager-gya,kristiansand,kristiansund,krodsherad,xn--krdsherad-m8a,kvalsund,rahkkeravju,xn--rhkkervju-01af,kvam,kvinesdal,kvinnherad,kviteseid,kvitsoy,xn--kvitsy-fya,kvafjord,xn--kvfjord-nxa,giehtavuoatna,kvanangen,xn--kvnangen-k0a,navuotna,xn--nvuotna-hwa,kafjord,xn--kfjord-iua,gaivuotna,xn--givuotna-8ya,larvik,lavangen,lavagis,loabat,xn--loabt-0qa,lebesby,davvesiida,leikanger,leirfjord,leka,leksvik,lenvik,leangaviika,xn--leagaviika-52b,lesja,levanger,lier,lierne,lillehammer,lillesand,lindesnes,lindas,xn--linds-pra,lom,loppa,lahppi,xn--lhppi-xqa,lund,lunner,luroy,xn--lury-ira,luster,lyngdal,lyngen,ivgu,lardal,lerdal,xn--lrdal-sra,lodingen,xn--ldingen-q1a,lorenskog,xn--lrenskog-54a,loten,xn--lten-gra,malvik,masoy,xn--msy-ula0h,muosat,xn--muost-0qa,mandal,marker,marnardal,masfjorden,meland,meldal,melhus,meloy,xn--mely-ira,meraker,xn--merker-kua,moareke,xn--moreke-jua,midsund,midtre-gauldal,modalen,modum,molde,moskenes,moss,mosvik,malselv,xn--mlselv-iua,malatvuopmi,xn--mlatvuopmi-s4a,namdalseid,aejrie,namsos,namsskogan,naamesjevuemie,xn--nmesjevuemie-tcba,laakesvuemie,nannestad,narvik,narviika,naustdal,nedre-eiker,akershus>nes<buskerud>nes<nesna,nesodden,nesseby,unjarga,xn--unjrga-rta,nesset,nissedal,nittedal,nord-aurdal,nord-fron,nord-odal,norddal,nordkapp,davvenjarga,xn--davvenjrga-y4a,nordre-land,nordreisa,raisa,xn--risa-5na,nore-og-uvdal,notodden,naroy,xn--nry-yla5g,notteroy,xn--nttery-byae,odda,oksnes,xn--ksnes-uua,oppdal,oppegard,xn--oppegrd-ixa,orkdal,orland,xn--rland-uua,orskog,xn--rskog-uua,orsta,xn--rsta-fra,hedmark>os,valer,xn--vler-qoa<hordaland>os<osen,osteroy,xn--ostery-fya,ostre-toten,xn--stre-toten-zcb,overhalla,ovre-eiker,xn--vre-eiker-k8a,oyer,xn--yer-zna,oygarden,xn--ygarden-p1a,oystre-slidre,xn--ystre-slidre-ujb,porsanger,porsangu,xn--porsgu-sta26f,porsgrunn,radoy,xn--rady-ira,rakkestad,rana,ruovat,randaberg,rauma,rendalen,rennebu,rennesoy,xn--rennesy-v1a,rindal,ringebu,ringerike,ringsaker,rissa,risor,xn--risr-ira,roan,rollag,rygge,ralingen,xn--rlingen-mxa,rodoy,xn--rdy-0nab,romskog,xn--rmskog-bya,roros,xn--rros-gra,rost,xn--rst-0na,royken,xn--ryken-vua,royrvik,xn--ryrvik-bya,rade,xn--rde-ula,salangen,siellak,saltdal,salat,xn--slt-elab,xn--slat-5na,samnanger,vestfold>sande<sandefjord,sandnes,sandoy,xn--sandy-yua,sarpsborg,sauda,sauherad,sel,selbu,selje,seljord,sigdal,siljan,sirdal,skaun,skedsmo,ski,skien,skiptvet,skjervoy,xn--skjervy-v1a,skierva,xn--skierv-uta,skjak,xn--skjk-soa,skodje,skanland,xn--sknland-fxa,skanit,xn--sknit-yqa,smola,xn--smla-hra,snillfjord,snasa,xn--snsa-roa,snoasa,snaase,xn--snase-nra,sogndal,sokndal,sola,solund,songdalen,sortland,spydeberg,stange,stavanger,steigen,steinkjer,stjordal,xn--stjrdal-s1a,stokke,stor-elvdal,stord,stordal,storfjord,omasvuotna,strand,stranda,stryn,sula,suldal,sund,sunndal,surnadal,sveio,svelvik,sykkylven,sogne,xn--sgne-gra,somna,xn--smna-gra,sondre-land,xn--sndre-land-0cb,sor-aurdal,xn--sr-aurdal-l8a,sor-fron,xn--sr-fron-q1a,sor-odal,xn--sr-odal-q1a,sor-varanger,xn--sr-varanger-ggb,matta-varjjat,xn--mtta-vrjjat-k7af,sorfold,xn--srfold-bya,sorreisa,xn--srreisa-q1a,sorum,xn--srum-gra,tana,deatnu,time,tingvoll,tinn,tjeldsund,dielddanuorri,tjome,xn--tjme-hra,tokke,tolga,torsken,tranoy,xn--trany-yua,tromso,xn--troms-zua,tromsa,romsa,trondheim,troandin,trysil,trana,xn--trna-woa,trogstad,xn--trgstad-r1a,tvedestrand,tydal,tynset,tysfjord,divtasvuodna,divttasvuotna,tysnes,tysvar,xn--tysvr-vra,tonsberg,xn--tnsberg-q1a,ullensaker,ullensvang,ulvik,utsira,vadso,xn--vads-jra,cahcesuolo,xn--hcesuolo-7ya35b,vaksdal,valle,vang,vanylven,vardo,xn--vard-jra,varggat,xn--vrggt-xqad,vefsn,vaapste,vega,vegarshei,xn--vegrshei-c0a,vennesla,verdal,verran,vestby,vestnes,vestre-slidre,vestre-toten,vestvagoy,xn--vestvgy-ixa6o,vevelstad,vik,vikna,vindafjord,volda,voss,varoy,xn--vry-yla5g,vagan,xn--vgan-qoa,voagat,vagsoy,xn--vgsy-qoa0j,vaga,xn--vg-yiab,ostfold>valer<xn--stfold-9xa>xn--vler-qoa<<np>*<nr>biz,info,gov,edu,org,net,com<nu,nz>ac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,school<om>co,com,edu,gov,med,museum,net,org,pro<onion,org,pa>ac,gob,com,org,sld,edu,net,ing,abo,med,nom<pe>edu,gob,nom,mil,org,com,net<pf>com,org,edu<pg>*<ph>com,net,org,gov,edu,ngo,mil,i<pk>com,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,info<pl>com,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,ic,is,us,kmpsp,kppsp,kwpsp,psp,wskr,kwp,mw,ug,um,umig,ugim,upow,uw,starostwo,pa,po,psse,pup,rzgw,sa,so,sr,wsa,sko,uzs,wiih,winb,pinb,wios,witd,wzmiuw,piw,wiw,griw,wif,oum,sdn,zp,uppo,mup,wuoz,konsulat,oirm<augustow,babia-gora,bedzin,beskidy,bialowieza,bialystok,bielawa,bieszczady,boleslawiec,bydgoszcz,bytom,cieszyn,czeladz,czest,dlugoleka,elblag,elk,glogow,gniezno,gorlice,grajewo,ilawa,jaworzno,jelenia-gora,jgora,kalisz,kazimierz-dolny,karpacz,kartuzy,kaszuby,katowice,kepno,ketrzyn,klodzko,kobierzyce,kolobrzeg,konin,konskowola,kutno,lapy,lebork,legnica,lezajsk,limanowa,lomza,lowicz,lubin,lukow,malbork,malopolska,mazowsze,mazury,mielec,mielno,mragowo,naklo,nowaruda,nysa,olawa,olecko,olkusz,olsztyn,opoczno,opole,ostroda,ostroleka,ostrowiec,ostrowwlkp,pila,pisz,podhale,podlasie,polkowice,pomorze,pomorskie,prochowice,pruszkow,przeworsk,pulawy,radom,rawa-maz,rybnik,rzeszow,sanok,sejny,slask,slupsk,sosnowiec,stalowa-wola,skoczow,starachowice,stargard,suwalki,swidnica,swiebodzin,swinoujscie,szczecin,szczytno,tarnobrzeg,tgory,turek,tychy,ustka,walbrzych,warmia,warszawa,waw,wegrow,wielun,wlocl,wloclawek,wodzislaw,wolomin,wroclaw,zachpomor,zagan,zarow,zgora,zgorzelec<pm,pn>gov,co,org,edu,net<post,pr>com,net,org,gov,edu,isla,pro,biz,info,name,est,prof,ac<pro>aaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,recht<ps>edu,gov,sec,plo,com,org,net<pt>net,gov,org,edu,int,publ,com,nome<pw>co,ne,or,ed,go,belau<py>com,coop,edu,gov,mil,net,org<qa>com,edu,gov,mil,name,net,org,sch<re>asso,com,nom<ro>arts,com,firm,info,nom,nt,org,rec,store,tm,www<rs>ac,co,edu,gov,in,org<ru,rw>ac,co,coop,gov,mil,net,org<sa>com,net,org,gov,med,pub,edu,sch<sb>com,edu,gov,net,org<sc>com,gov,net,org,edu<sd>com,net,org,edu,med,tv,gov,info<se>a,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,z<sg>com,net,org,gov,edu,per<sh>com,net,gov,org,mil<si,sj,sk,sl>com,net,edu,gov,org<sm,sn>art,com,edu,gouv,org,perso,univ<so>com,edu,gov,me,net,org<sr,ss>biz,com,edu,gov,me,net,org,sch<st>co,com,consulado,edu,embaixada,mil,net,org,principe,saotome,store<su,sv>com,edu,gob,org,red<sx>gov<sy>edu,gov,net,mil,com,org<sz>co,ac,org<tc,td,tel,tf,tg,th>ac,co,go,in,mi,net,or<tj>ac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,web<tk,tl>gov<tm>com,co,org,net,nom,gov,mil,edu<tn>com,ens,fin,gov,ind,intl,nat,net,org,info,perso,tourism,edunet,rnrt,rns,rnu,mincom,agrinet,defense,turen<to>com,gov,net,org,edu,mil<tr>av,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<<tt>co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,edu<tv,tw>edu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28b<tz>ac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tv<ua>com,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,krym,ks,kv,kyiv,lg,lt,lugansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,vinnica,vinnytsia,vn,volyn,yalta,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,zt<ug>co,or,ac,sc,go,ne,com,org<uk>ac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<<us>dni,fed,isa,kids,nsn,ak>k12,cc,lib<al>k12,cc,lib<ar>k12,cc,lib<as>k12,cc,lib<az>k12,cc,lib<ca>k12,cc,lib<co>k12,cc,lib<ct>k12,cc,lib<dc>k12,cc,lib<de>k12,cc<fl>k12,cc,lib<ga>k12,cc,lib<gu>k12,cc,lib<hi>cc,lib<ia>k12,cc,lib<id>k12,cc,lib<il>k12,cc,lib<in>k12,cc,lib<ks>k12,cc,lib<ky>k12,cc,lib<la>k12,cc,lib<ma>k12>pvt,chtr,paroch<cc,lib<md>k12,cc,lib<me>k12,cc,lib<mi>k12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenaw<mn>k12,cc,lib<mo>k12,cc,lib<ms>k12,cc,lib<mt>k12,cc,lib<nc>k12,cc,lib<nd>cc,lib<ne>k12,cc,lib<nh>k12,cc,lib<nj>k12,cc,lib<nm>k12,cc,lib<nv>k12,cc,lib<ny>k12,cc,lib<oh>k12,cc,lib<ok>k12,cc,lib<or>k12,cc,lib<pa>k12,cc,lib<pr>k12,cc,lib<ri>cc,lib<sc>k12,cc,lib<sd>cc,lib<tn>k12,cc,lib<tx>k12,cc,lib<ut>k12,cc,lib<vi>k12,cc,lib<vt>k12,cc,lib<va>k12,cc,lib<wa>k12,cc,lib<wi>k12,cc,lib<wv>cc<wy>k12,cc,lib<<uy>com,edu,gub,mil,net,org<uz>co,com,net,org<va,vc>com,net,org,gov,mil,edu<ve>arts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,web<vg,vi>co,com,k12,net,org<vn>com,net,org,edu,gov,int,ac,biz,info,name,pro,health<vu>com,edu,net,org<wf,ws>com,net,org,gov,edu<yt,xn--mgbaam7a8h,xn--y9a3aq,xn--54b7fta0cc,xn--90ae,xn--mgbcpq6gpa1a,xn--90ais,xn--fiqs8s,xn--fiqz9s,xn--lgbbat1ad8j,xn--wgbh1c,xn--e1a4c,xn--qxa6a,xn--mgbah1a3hjkrd,xn--node,xn--qxam,xn--j6w193g>xn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atv<xn--2scrj9c,xn--3hcrj9c,xn--45br5cyl,xn--h2breg3eve,xn--h2brj9c8c,xn--mgbgu82a,xn--rvc1e0am3e,xn--h2brj9c,xn--mgbbh1a,xn--mgbbh1a71e,xn--fpcrj9c3d,xn--gecrj9c,xn--s9brj9c,xn--45brj9c,xn--xkc2dl3a5ee0h,xn--mgba3a4f16a,xn--mgba3a4fra,xn--mgbtx2b,xn--mgbayh7gpa,xn--3e0b707e,xn--80ao21a,xn--q7ce6a,xn--fzc2c9e2c,xn--xkc2al3hye2a,xn--mgbc0a9azcg,xn--d1alf,xn--l1acc,xn--mix891f,xn--mix082f,xn--mgbx4cd0ab,xn--mgb9awbf,xn--mgbai9azgqp6j,xn--mgbai9a5eva00b,xn--ygbi2ammx,xn--90a3ac>xn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80au<xn--p1ai,xn--wgbl6a,xn--mgberp4a5d4ar,xn--mgberp4a5d4a87g,xn--mgbqly7c0a67fbc,xn--mgbqly7cvafr,xn--mgbpl2fh,xn--yfro4i67o,xn--clchc0ea0b2g2a9gcd,xn--ogbpf8fl,xn--mgbtf8fl,xn--o3cw4h>xn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8l<xn--pgbs0dh,xn--kpry57d,xn--kprw13d,xn--nnx388a,xn--j1amh,xn--mgb2ddes,xxx,ye>com,edu,gov,net,mil,org<za>ac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,web<zm>ac,biz,co,com,edu,gov,info,mil,net,org,sch<zw>ac,co,gov,mil,org<aaa,aarp,abarth,abb,abbott,abbvie,abc,able,abogado,abudhabi,academy,accenture,accountant,accountants,aco,actor,adac,ads,adult,aeg,aetna,afamilycompany,afl,africa,agakhan,agency,aig,airbus,airforce,airtel,akdn,alfaromeo,alibaba,alipay,allfinanz,allstate,ally,alsace,alstom,amazon,americanexpress,americanfamily,amex,amfam,amica,amsterdam,analytics,android,anquan,anz,aol,apartments,app,apple,aquarelle,arab,aramco,archi,army,art,arte,asda,associates,athleta,attorney,auction,audi,audible,audio,auspost,author,auto,autos,avianca,aws,axa,azure,baby,baidu,banamex,bananarepublic,band,bank,bar,barcelona,barclaycard,barclays,barefoot,bargains,baseball,basketball,bauhaus,bayern,bbc,bbt,bbva,bcg,bcn,beats,beauty,beer,bentley,berlin,best,bestbuy,bet,bharti,bible,bid,bike,bing,bingo,bio,black,blackfriday,blockbuster,blog,bloomberg,blue,bms,bmw,bnpparibas,boats,boehringer,bofa,bom,bond,boo,book,booking,bosch,bostik,boston,bot,boutique,box,bradesco,bridgestone,broadway,broker,brother,brussels,budapest,bugatti,build,builders,business,buy,buzz,bzh,cab,cafe,cal,call,calvinklein,cam,camera,camp,cancerresearch,canon,capetown,capital,capitalone,car,caravan,cards,care,career,careers,cars,casa,case,cash,casino,catering,catholic,cba,cbn,cbre,cbs,center,ceo,cern,cfa,cfd,chanel,channel,charity,chase,chat,cheap,chintai,christmas,chrome,church,cipriani,circle,cisco,citadel,citi,citic,city,cityeats,claims,cleaning,click,clinic,clinique,clothing,cloud,club,clubmed,coach,codes,coffee,college,cologne,comcast,commbank,community,company,compare,computer,comsec,condos,construction,consulting,contact,contractors,cooking,cookingchannel,cool,corsica,country,coupon,coupons,courses,cpa,credit,creditcard,creditunion,cricket,crown,crs,cruise,cruises,csc,cuisinella,cymru,cyou,dabur,dad,dance,data,date,dating,datsun,day,dclk,dds,deal,dealer,deals,degree,delivery,dell,deloitte,delta,democrat,dental,dentist,desi,design,dev,dhl,diamonds,diet,digital,direct,directory,discount,discover,dish,diy,dnp,docs,doctor,dog,domains,dot,download,drive,dtv,dubai,duck,dunlop,dupont,durban,dvag,dvr,earth,eat,eco,edeka,education,email,emerck,energy,engineer,engineering,enterprises,epson,equipment,ericsson,erni,esq,estate,etisalat,eurovision,eus,events,exchange,expert,exposed,express,extraspace,fage,fail,fairwinds,faith,family,fan,fans,farm,farmers,fashion,fast,fedex,feedback,ferrari,ferrero,fiat,fidelity,fido,film,final,finance,financial,fire,firestone,firmdale,fish,fishing,fit,fitness,flickr,flights,flir,florist,flowers,fly,foo,food,foodnetwork,football,ford,forex,forsale,forum,foundation,fox,free,fresenius,frl,frogans,frontdoor,frontier,ftr,fujitsu,fun,fund,furniture,futbol,fyi,gal,gallery,gallo,gallup,game,games,gap,garden,gay,gbiz,gdn,gea,gent,genting,george,ggee,gift,gifts,gives,giving,glade,glass,gle,global,globo,gmail,gmbh,gmo,gmx,godaddy,gold,goldpoint,golf,goo,goodyear,goog,google,gop,got,grainger,graphics,gratis,green,gripe,grocery,group,guardian,gucci,guge,guide,guitars,guru,hair,hamburg,hangout,haus,hbo,hdfc,hdfcbank,health,healthcare,help,helsinki,here,hermes,hgtv,hiphop,hisamitsu,hitachi,hiv,hkt,hockey,holdings,holiday,homedepot,homegoods,homes,homesense,honda,horse,hospital,host,hosting,hot,hoteles,hotels,hotmail,house,how,hsbc,hughes,hyatt,hyundai,ibm,icbc,ice,icu,ieee,ifm,ikano,imamat,imdb,immo,immobilien,inc,industries,infiniti,ing,ink,institute,insurance,insure,international,intuit,investments,ipiranga,irish,ismaili,ist,istanbul,itau,itv,jaguar,java,jcb,jeep,jetzt,jewelry,jio,jll,jmp,jnj,joburg,jot,joy,jpmorgan,jprs,juegos,juniper,kaufen,kddi,kerryhotels,kerrylogistics,kerryproperties,kfh,kia,kids,kim,kinder,kindle,kitchen,kiwi,koeln,komatsu,kosher,kpmg,kpn,krd,kred,kuokgroup,kyoto,lacaixa,lamborghini,lamer,lancaster,lancia,land,landrover,lanxess,lasalle,lat,latino,latrobe,law,lawyer,lds,lease,leclerc,lefrak,legal,lego,lexus,lgbt,lidl,life,lifeinsurance,lifestyle,lighting,like,lilly,limited,limo,lincoln,linde,link,lipsy,live,living,lixil,llc,llp,loan,loans,locker,locus,loft,lol,london,lotte,lotto,love,lpl,lplfinancial,ltd,ltda,lundbeck,luxe,luxury,macys,madrid,maif,maison,makeup,man,management,mango,map,market,marketing,markets,marriott,marshalls,maserati,mattel,mba,mckinsey,med,media,meet,melbourne,meme,memorial,men,menu,merckmsd,miami,microsoft,mini,mint,mit,mitsubishi,mlb,mls,mma,mobile,moda,moe,moi,mom,monash,money,monster,mormon,mortgage,moscow,moto,motorcycles,mov,movie,msd,mtn,mtr,music,mutual,nab,nagoya,natura,navy,nba,nec,netbank,netflix,network,neustar,new,news,next,nextdirect,nexus,nfl,ngo,nhk,nico,nike,nikon,ninja,nissan,nissay,nokia,northwesternmutual,norton,now,nowruz,nowtv,nra,nrw,ntt,nyc,obi,observer,off,office,okinawa,olayan,olayangroup,oldnavy,ollo,omega,one,ong,onl,online,ooo,open,oracle,orange,organic,origins,osaka,otsuka,ott,ovh,page,panasonic,paris,pars,partners,parts,party,passagens,pay,pccw,pet,pfizer,pharmacy,phd,philips,phone,photo,photography,photos,physio,pics,pictet,pictures,pid,pin,ping,pink,pioneer,pizza,place,play,playstation,plumbing,plus,pnc,pohl,poker,politie,porn,pramerica,praxi,press,prime,prod,productions,prof,progressive,promo,properties,property,protection,pru,prudential,pub,pwc,qpon,quebec,quest,qvc,racing,radio,raid,read,realestate,realtor,realty,recipes,red,redstone,redumbrella,rehab,reise,reisen,reit,reliance,ren,rent,rentals,repair,report,republican,rest,restaurant,review,reviews,rexroth,rich,richardli,ricoh,ril,rio,rip,rmit,rocher,rocks,rodeo,rogers,room,rsvp,rugby,ruhr,run,rwe,ryukyu,saarland,safe,safety,sakura,sale,salon,samsclub,samsung,sandvik,sandvikcoromant,sanofi,sap,sarl,sas,save,saxo,sbi,sbs,sca,scb,schaeffler,schmidt,scholarships,school,schule,schwarz,science,scjohnson,scot,search,seat,secure,security,seek,select,sener,services,ses,seven,sew,sex,sexy,sfr,shangrila,sharp,shaw,shell,shia,shiksha,shoes,shop,shopping,shouji,show,showtime,silk,sina,singles,site,ski,skin,sky,skype,sling,smart,smile,sncf,soccer,social,softbank,software,sohu,solar,solutions,song,sony,soy,spa,space,sport,spot,srl,stada,staples,star,statebank,statefarm,stc,stcgroup,stockholm,storage,store,stream,studio,study,style,sucks,supplies,supply,support,surf,surgery,suzuki,swatch,swiftcover,swiss,sydney,systems,tab,taipei,talk,taobao,target,tatamotors,tatar,tattoo,tax,taxi,tci,tdk,team,tech,technology,temasek,tennis,teva,thd,theater,theatre,tiaa,tickets,tienda,tiffany,tips,tires,tirol,tjmaxx,tjx,tkmaxx,tmall,today,tokyo,tools,top,toray,toshiba,total,tours,town,toyota,toys,trade,trading,training,travel,travelchannel,travelers,travelersinsurance,trust,trv,tube,tui,tunes,tushu,tvs,ubank,ubs,unicom,university,uno,uol,ups,vacations,vana,vanguard,vegas,ventures,verisign,versicherung,vet,viajes,video,vig,viking,villas,vin,vip,virgin,visa,vision,viva,vivo,vlaanderen,vodka,volkswagen,volvo,vote,voting,voto,voyage,vuelos,wales,walmart,walter,wang,wanggou,watch,watches,weather,weatherchannel,webcam,weber,website,wedding,weibo,weir,whoswho,wien,wiki,williamhill,win,windows,wine,winners,wme,wolterskluwer,woodside,work,works,world,wow,wtc,wtf,xbox,xerox,xfinity,xihuan,xin,xn--11b4c3d,xn--1ck2e1b,xn--1qqw23a,xn--30rr7y,xn--3bst00m,xn--3ds443g,xn--3oq18vl8pn36a,xn--3pxu8k,xn--42c2d9a,xn--45q11c,xn--4gbrim,xn--55qw42g,xn--55qx5d,xn--5su34j936bgsg,xn--5tzm5g,xn--6frz82g,xn--6qq986b3xl,xn--80adxhks,xn--80aqecdr1a,xn--80asehdb,xn--80aswg,xn--8y0a063a,xn--9dbq2a,xn--9et52u,xn--9krt00a,xn--b4w605ferd,xn--bck1b9a5dre4c,xn--c1avg,xn--c2br7g,xn--cck2b3b,xn--cckwcxetd,xn--cg4bki,xn--czr694b,xn--czrs0t,xn--czru2d,xn--d1acj3b,xn--eckvdtc9d,xn--efvy88h,xn--fct429k,xn--fhbei,xn--fiq228c5hs,xn--fiq64b,xn--fjq720a,xn--flw351e,xn--fzys8d69uvgm,xn--g2xx48c,xn--gckr3f0f,xn--gk3at1e,xn--hxt814e,xn--i1b6b1a6a2e,xn--imr513n,xn--io0a7i,xn--j1aef,xn--jlq480n2rg,xn--jlq61u9w7b,xn--jvr189m,xn--kcrx77d1x4a,xn--kput3i,xn--mgba3a3ejt,xn--mgba7c0bbn0a,xn--mgbaakc7dvf,xn--mgbab2bd,xn--mgbca7dzdo,xn--mgbi4ecexp,xn--mgbt3dhd,xn--mk1bu44c,xn--mxtq1m,xn--ngbc5azd,xn--ngbe9e0a,xn--ngbrx,xn--nqv7f,xn--nqv7fs00ema,xn--nyqy26a,xn--otu796d,xn--p1acf,xn--pssy2u,xn--q9jyb4c,xn--qcka1pmc,xn--rhqv96g,xn--rovu88b,xn--ses554g,xn--t60b56a,xn--tckwe,xn--tiq49xqyj,xn--unup4y,xn--vermgensberater-ctb,xn--vermgensberatung-pwb,xn--vhquv,xn--vuq861b,xn--w4r85el8fhu5dnra,xn--w4rs40l,xn--xhq521b,xn--zfr164b,xyz,yachts,yahoo,yamaxun,yandex,yodobashi,yoga,yokohama,you,youtube,yun,zappos,zara,zero,zip,zone,zuerich"),re=null!=re?re:ae("ua>cc,inf,ltd,cx,biz,co,pp,v<to>611,oya,rdv,vpnplus,quickconnect>direct<nyan<us>graphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phx<mircloud,freeddns,golffan,noip,pointto,platterp,de>lib<<com>devcdnaccesso>*<adobeaemcloud>dev>*<<kasserver,amazonaws>compute>*<compute-1>*<us-east-1>dualstack>s3<<elb>*<s3,s3-ap-northeast-1,s3-ap-northeast-2,s3-ap-south-1,s3-ap-southeast-1,s3-ap-southeast-2,s3-ca-central-1,s3-eu-central-1,s3-eu-west-1,s3-eu-west-2,s3-eu-west-3,s3-external-1,s3-fips-us-gov-west-1,s3-sa-east-1,s3-us-gov-west-1,s3-us-east-2,s3-us-west-1,s3-us-west-2,ap-northeast-2>s3,dualstack>s3<s3-website<ap-south-1>s3,dualstack>s3<s3-website<ca-central-1>s3,dualstack>s3<s3-website<eu-central-1>s3,dualstack>s3<s3-website<eu-west-2>s3,dualstack>s3<s3-website<eu-west-3>s3,dualstack>s3<s3-website<us-east-2>s3,dualstack>s3<s3-website<ap-northeast-1>dualstack>s3<<ap-southeast-1>dualstack>s3<<ap-southeast-2>dualstack>s3<<eu-west-1>dualstack>s3<<sa-east-1>dualstack>s3<<s3-website-us-east-1,s3-website-us-west-1,s3-website-us-west-2,s3-website-ap-northeast-1,s3-website-ap-southeast-1,s3-website-ap-southeast-2,s3-website-eu-west-1,s3-website-sa-east-1<elasticbeanstalk>ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ca-central-1,eu-central-1,eu-west-1,eu-west-2,eu-west-3,sa-east-1,us-east-1,us-east-2,us-gov-west-1,us-west-1,us-west-2<awsglobalaccelerator,appspacehosted,appspaceusercontent,on-aptible,myasustor,balena-devices,betainabox,boutir,bplaced,cafjs,br,cn,de,eu,jpn,mex,ru,sa,uk,us,za,ar,gb,hu,kr,no,qc,uy,africa,gr,co,jdevcloud,wpdevcloud,cloudcontrolled,cloudcontrolapp,trycloudflare,customer-oci>*,oci>*<ocp>*<ocs>*<<dattolocal,dattorelay,dattoweb,mydatto,builtwithdark,datadetect>demo,instance<ddns5,drayddns,dreamhosters,mydrobo,dyndns-at-home,dyndns-at-work,dyndns-blog,dyndns-free,dyndns-home,dyndns-ip,dyndns-mail,dyndns-office,dyndns-pics,dyndns-remote,dyndns-server,dyndns-web,dyndns-wiki,dyndns-work,blogdns,cechire,dnsalias,dnsdojo,doesntexist,dontexist,doomdns,dyn-o-saur,dynalias,est-a-la-maison,est-a-la-masion,est-le-patron,est-mon-blogueur,from-ak,from-al,from-ar,from-ca,from-ct,from-dc,from-de,from-fl,from-ga,from-hi,from-ia,from-id,from-il,from-in,from-ks,from-ky,from-ma,from-md,from-mi,from-mn,from-mo,from-ms,from-mt,from-nc,from-nd,from-ne,from-nh,from-nj,from-nm,from-nv,from-oh,from-ok,from-or,from-pa,from-pr,from-ri,from-sc,from-sd,from-tn,from-tx,from-ut,from-va,from-vt,from-wa,from-wi,from-wv,from-wy,getmyip,gotdns,hobby-site,homelinux,homeunix,iamallama,is-a-anarchist,is-a-blogger,is-a-bookkeeper,is-a-bulls-fan,is-a-caterer,is-a-chef,is-a-conservative,is-a-cpa,is-a-cubicle-slave,is-a-democrat,is-a-designer,is-a-doctor,is-a-financialadvisor,is-a-geek,is-a-green,is-a-guru,is-a-hard-worker,is-a-hunter,is-a-landscaper,is-a-lawyer,is-a-liberal,is-a-libertarian,is-a-llama,is-a-musician,is-a-nascarfan,is-a-nurse,is-a-painter,is-a-personaltrainer,is-a-photographer,is-a-player,is-a-republican,is-a-rockstar,is-a-socialist,is-a-student,is-a-teacher,is-a-techie,is-a-therapist,is-an-accountant,is-an-actor,is-an-actress,is-an-anarchist,is-an-artist,is-an-engineer,is-an-entertainer,is-certified,is-gone,is-into-anime,is-into-cars,is-into-cartoons,is-into-games,is-leet,is-not-certified,is-slick,is-uberleet,is-with-theband,isa-geek,isa-hockeynut,issmarterthanyou,likes-pie,likescandy,neat-url,saves-the-whales,selfip,sells-for-less,sells-for-u,servebbs,simple-url,space-to-rent,teaches-yoga,writesthisblog,ddnsfree,ddnsgeek,giize,gleeze,kozow,loseyourip,ooguy,theworkpc,elluciancrmadvance,elluciancrmadvise,elluciancrmrecruit,mytuleap,tuleap-partners,evennode>eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4<onfabrica,fbsbx>apps<fastly-terrarium,fastvps-server,mydobiss,firebaseapp,forgeblocks,framercanvas,freebox-os,freeboxos,freemyip,gentapps,gentlentapis,githubusercontent,0emm>*<appspot>r>*<<codespot,googleapis,googlecode,pagespeedmobilizer,publishproxy,withgoogle,withyoutube,blogspot,awsmppl,herokuapp,herokussl,myravendb,impertrixcdn,impertrix,smushcdn,wphostedmail,wpmucdn,pixolino,amscompute,clicketcloud,dopaas,hidora,hosted-by-previder>paas<hosteur>rag-cloud,rag-cloud-ch<ik-server>jcloud,jcloud-ver-jpc<jelastic>demo<kilatiron,massivegrid>paas<wafaicloud>jed,lon,ryd<joyent>cns>*<<lpusercontent,lmpm>app<linode>members,nodebalancer>*<<linodeobjects>*<barsycenter,barsyonline,mazeplay,miniserver,meteorapp>eu<hostedpi,mythic-beasts>customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yali<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static<orsites,operaunite,authgear-staging,authgearapps,skygearapp,outsystemscloud,ownprovider,pgfog,pagefrontapp,pagexl,paywhirl>*<gotpantheon,platter-app,pleskns,postman-echo,prgmr>xen<pythonanywhere>eu<qualifioapp,qbuser,qa2,dev-myqnapcloud,alpha-myqnapcloud,myqnapcloud,quipelements>*<rackmaze,rhcloud,render>app<onrender,logoip,scrysec,firewall-gateway,myshopblocks,myshopify,shopitsite,1kapp,appchizi,applinzi,sinaapp,vipsinaapp,bounty-full>alpha,beta<try-snowplow,stackhero-network,playstation-cloud,myspreadshop,stdlib>api<temp-dns,dsmynas,familyds,reservd,thingdustdata,bloxcms,townnews-staging,hk,wafflecell,idnblogger,indowapblog,reserve-online,hotelwithflight,remotewd,wiardweb>pages<woltlab-demo,wpenginepowered>js<wixsite,xnbay>u2,u2-local<yolasite<live>hlx<net>adobeaemcloud,alwaysdata,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<<myfritz,onavstack,blackbaudcdn,boomla,bplaced,square7,gb,hu,jp,se,uk,in,clic2000,clickrising,cloudaccess,cdn77-ssl,cdn77>r<feste-ip,knx-server,static-access,cryptonomic>*<dattolocal,mydatto,debian,bitbridge,at-band-camp,blogdns,broke-it,buyshouses,dnsalias,dnsdojo,does-it,dontexist,dynalias,dynathome,endofinternet,from-az,from-co,from-la,from-ny,gets-it,ham-radio-op,homeftp,homeip,homelinux,homeunix,in-the-band,is-a-chef,is-a-geek,isa-geek,kicks-ass,office-on-the,podzone,scrapper-site,selfip,sells-it,servebbs,serveftp,thruhere,webhop,definima,casacam,dynu,dynv6,twmail,ru,channelsdvr>u<fastlylb>map<fastly>freetls,map,prod>a,global<ssl>a,b,global<<edgeapp,flynnhosting,cdn-edges,cloudfunctions,moonscale,in-dsl,in-vpn,ipifony,iobb,cloudjiffy>fra1-de,west1-us<elastx>jls-sto1,jls-sto2,jls-sto3<faststacks,massivegrid>paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<<saveincloud>jelastic,nordeste-idc<scaleforce>j<tsukaeru>jelastic<kinghost,uni5,krellian,barsy,memset,azurewebsites,azure-mobile,cloudapp,azurestaticapps>centralus,eastasia,eastus2,westeurope,westus2<dnsup,hicam,now-dns,ownip,vpndns,eating-organic,mydissent,myeffect,mymediapc,mypsx,mysecuritycamera,nhlfan,no-ip,pgafan,privatizehealthinsurance,bounceme,ddns,redirectme,serveblog,serveminecraft,sytes,cloudycluster,ovh>webpaas>*<hosting>*<<bar0,bar1,bar2,rackmaze,schokokeks,firewall-gateway,seidat,senseering,siteleaf,vps-host>jelastic>atl,njs,ric<<myspreadshop,srcf>soc,user<supabase,dsmynas,familyds,torproject>pages<fastblog,reserve-online,community-pro,meinforum,yandexcloud>storage,website<za<page>hlx,hlx3,pdns,plesk,prvcy,magnet<pl>beep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopot<ca>barsy,awdev>*<co,blogspot,no-ip,myspreadshop<estate>compute>*<<network>alces>*<co,arvo,azimuth,tlon<org>altervista,amune>tele<pimienta,poivron,potager,sweetpepper,ae,us,certmgr,cdn77>c,rsc<cdn77-secure>origin>ssl<<cloudns,duckdns,tunk,dyndns>go,home<blogdns,blogsite,boldlygoingnowhere,dnsalias,dnsdojo,doesntexist,dontexist,doomdns,dvrdns,dynalias,endofinternet,endoftheinternet,from-me,game-host,gotdns,hobby-site,homedns,homeftp,homelinux,homeunix,is-a-bruinsfan,is-a-candidate,is-a-celticsfan,is-a-chef,is-a-geek,is-a-knight,is-a-linux-user,is-a-patsfan,is-a-soxfan,is-found,is-lost,is-saved,is-very-bad,is-very-evil,is-very-good,is-very-nice,is-very-sweet,isa-geek,kicks-ass,misconfused,podzone,readmyblog,selfip,sellsyourhome,servebbs,serveftp,servegame,stuff-4-sale,webhop,ddnss,accesscam,camdvr,freeddns,mywire,webredirect,eu>al,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,us<twmail,fedorainfracloud,fedorapeople,fedoraproject>cloud,os>app<stg>os>app<<<freedesktop,hepforge,in-dsl,in-vpn,js,barsy,mayfirst,mozilla-iot,bmoattachments,dynserv,now-dns,cable-modem,collegefan,couchpotatofries,mlbfan,mysecuritycamera,nflfan,read-books,ufcfan,hopto,myftp,no-ip,zapto,httpbin,pubtls,my-firewall,myfirewall,spdns,small-web,dsmynas,familyds,edugit,tuxfamily,diskstation,hk,wmflabs,toolforge,wmcloud,za<cn>com>amazonaws>compute>*<eb>cn-north-1,cn-northwest-1<elb>*<cn-north-1>s3<<<instantcloud<nl>amsw,virtueeldomein,co,hosting-cluster,blogspot,khplay,myspreadshop,transurl>*<cistron,demon<io>apigee,b-data,backplaneapp,banzaicloud>app,backyards>*<<bitbucket,bluebite,boxfuse,browsersafetymark,bigv>uk0<cleverapps,dappnode>dyndns<dedyn,drud,definima,fh-muenster,shw,forgerock>id<ghost,github,gitlab,lolipop,hasura-app,hostyhosting,moonscale>*<beebyte>paas<beebyteapp>sekd1<jele,unispace>cloud-fr1<webthings,loginline,barsy,azurecontainer>*<ngrok,nodeart>stage<nodum,nid,pantheonsite,dyn53,pstmn>mock<protonet,qoto,qcx>sys>*<<vaporcloud,vbrplsbx>g<on-k3s>*<on-rio>*<readthedocs,resindevice,resinstaging>devices<hzc,sandcats,shiftcrypto,shiftedit,mo-siemens,lair>apps<stolos>*<spacekit,utwente,s5y>*<telebit,thingdust>dev>cust,reservd<disrec>cust,reservd<prod>cust<testing>cust,reservd<<2038,wedeploy,editorx,basicserver,virtualserver<jp>ne>aseinet>user<gehirn<usercontent,blogspot<vc>gv>d<0e<eus>party>user<<ws>advisor>*<cloud66,dyndns,mypets<ba>rs,blogspot<cloud>banzai>*<elementor,statics>*<axarnet>es-1<diadem,jelastic>vip<jele,jenv-aruba>aruba>eur>it1<<it1<keliweb>cs<oxa>tn,uk<primetel>uk<reclaim>ca,uk,us<trendhosting>ch,de<jotelulu,kuleuven,linkyard,magentosite>*<perspecta,vapor,on-rancher>*<sensiosite>*<trafficplex,urown,voorloper<la>bnr,c<je>of<ch>square7,blogspot,flow>ae>alp1<appengine<linkyard-cloud,dnsking,gotdns,myspreadshop,firenet>*,svc>*<<12hp,2ix,4lima,lima-city<de>bplaced,square7,com,cosidns>dyn<dynamisches-dns,dnsupdater,internet-dns,l-o-g-i-n,dnshome,fuettertdasnetz,isteingeek,istmein,lebtimnetz,leitungsen,traeumtgerade,ddnss>dyn,dyndns<dyndns1,dyn-ip24,home-webserver>dyn<myhome-server,frusky>*<goip,blogspot,xn--gnstigbestellen-zvb,xn--gnstigliefern-wob,hs-heilbronn>it>pages<<dyn-berlin,in-berlin,in-brb,in-butter,in-dsl,in-vpn,mein-iserv,schulserver,test-iserv,keymachine,git-repos,lcube-server,svn-repos,barsy,logoip,firewall-gateway,my-gateway,my-router,spdns,speedpartner>customer<myspreadshop,taifun-dns,12hp,2ix,4lima,lima-city,dd-dns,dray-dns,draydns,dyn-vpn,dynvpn,mein-vigor,my-vigor,my-wan,syno-ds,synology-diskstation,synology-ds,uberspace>*<virtualuser,virtual-user,community-pro,diskussionsbereich<rs>brendly>shop<blogspot,ua,ox<uk>co>bytemark>dh,vm<blogspot,layershift>j<barsy,barsyonline,retrosnub>cust<nh-serv,no-ip,wellbeingzone,adimo,myspreadshop,gwiddle<conn,copro,hosp,gov>service,homeoffice<pymnt,org>glug,lug,lugs,affinitylottery,raffleentry,weeklylottery<barsy<eu>mycd,cloudns,dogado>jelastic<barsy,wellbeingzone,spdns,transurl>*<diskstation<ac>drr<ai>uwu<co>carrd,crd,otap>*<com>blogspot<leadpages,lpages,mypi,n4t,nodum,repl>id<supabase<mp>ju<se>com,blogspot,conf,iopsys,itcouldbewor,myspreadshop,paba>su<<bz>za,gsj<in>web,cloudns,blogspot,barsy,supabase<basketball>aus,nz<am>radio,blogspot,neko,nyaa<fm>radio<group>discourse<team>discourse,jelastic<app>clerk,clerkstage,wnext,platform0,ondigitalocean,edgecompute,fireweb,framer,run>a<web,hasura,loginline,netlify,developer>*<noop,northflank>*<telebit,vercel,bookonline<dev>lcl>*<lclstage>*<stg>*<stgstage>*<pages,workers,curv,deno,deno-staging,fly,githubpreview,gateway>*<iserv,loginline,mediatech,platter-app,shiftcrypto,vercel,webhare>*<<me>c66,daplie>localhost<edgestack,couk,ukco,filegear,filegear-au,filegear-de,filegear-gb,filegear-ie,filegear-jp,filegear-sg,glitch,ravendb,lohmus,barsy,mcpe,mcdir,nctu,soundcast,tcp4,brasilia,ddns,dnsfor,hopto,loginto,noip,webhop,vp4,diskstation,dscloud,i234,myds,synology,tbits,wbq,wedeploy,yombo,nohost<zone>cloud66,hs,triton>*<lima<host>cloudaccess,freesite,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,half<site>cloudera>*<cyon,fnwk,folionetwork,fastvps,jele,lelux,loginline,barsy,mintere,omniwe,opensocial,platformsh>*<tst>*<byen,srht,novecore<cz>co,realm,e4,blogspot,metacentrum>cloud>*<custom<muni>cloud>flt,usr<<<asia>cloudns<biz>cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloud<club>cloudns,jele,barsy,pony<cc>cloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague<info>cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-info<pro>cloudns,dnstrace>bci<barsy<pw>cloudns,x443<gdn>cnpy<no>co,blogspot,myspreadshop<be>webhosting,blogspot,interhostsolutions>cloud<kuleuven>ezproxy<myspreadshop,transurl>*<<ru>ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastic<myjino>hosting>*<landing>*<spectrum>*<vps>*<<cldmail>hb<mcdir>vps<mcpre,net,org,pp,lk3,ras<is>cupcake,blogspot<link>cyon,mypep,dweb>*<<dk>biz,co,firm,reg,store,blogspot,myspreadshop<earth>dapps>*,bzz>*<<<id>my>rss>*<<flap,co>blogspot<forte,bloger,wblog<solutions>diher>*<<th>online,shop<sh>bip,hashbang,platform>bc,ent,eu,us<now,vxl,wedeploy<fi>dy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fi<datacenter>demo,paas<myspreadshop<tv>dyndns,better-than,on-the-web,worse-than<cx>ath,info<name>her>forgot<his>forgot<<nu>merseine,mine,shacknet,enterprisecloud<rocks>myddns,lima-city,webspace<xyz>blogsite,localzone,crafting,zapto,telebit>*<<online>eero,eero-stage,barsy<cool>elementor,de<fr>en-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,on-web,chirurgiens-dentistes-en-france,myspreadshop,ynh<one>onred>staging<service,for,under,homelink<tw>com>mymailer<url,blogspot<su>abkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologda<space>myfast,uber,xs4all<il>co>ravpage,blogspot,tabitorder<<at>funkfeuer>wien<futurecms>*,ex>*<in>*<<futurehosting,futuremailing,ortsinfo>ex>*<kunden>*<<co>blogspot<biz,info,priv,myspreadshop,12hp,2ix,4lima,lima-city<ms>lab,minisite<si>gitapp,gitpage,blogspot<community>nog,ravendb,myforum<ro>co,shop,blogspot,barsy<digital>cloudapps>london<<im>ro<goog>cloud,translate<ae>blogspot<al>blogspot<bg>blogspot,barsy<bj>blogspot<cf>blogspot<cl>blogspot<ke>co>blogspot<<nz>co>blogspot<<za>co>blogspot<<ar>com>blogspot<<au>com>blogspot,cloudlets>mel<myspreadshop<<br>com>blogspot,virtualcloud>scale>users<<<leg>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<<by>com>blogspot<mycloud,mediatech<cy>com>blogspot,scaleforce>j<<<ee>com>blogspot<<eg>com>blogspot<<es>com>blogspot<myspreadshop<mt>com>blogspot<<ng>com>blogspot<col,firm,gen,ltd,ngo<tr>com>blogspot<<uy>com>blogspot<<cv>blogspot<gr>blogspot<hk>blogspot,secaas,ltd,inc<hr>blogspot,free<hu>blogspot<ie>blogspot,myspreadshop<it>blogspot,neen>jc<tim>open>jelastic>cloud<<<16-b,32-b,64-b,myspreadshop,syncloud<kr>blogspot<li>blogspot,caa<lt>blogspot<lu>blogspot<md>blogspot,at,de,jp,to<mk>blogspot<mr>blogspot<mx>blogspot<my>blogspot<pe>blogspot<pt>blogspot<qa>blogspot<re>blogspot<sg>blogspot,enscaled<sk>blogspot<sn>blogspot<td>blogspot<ug>blogspot<vn>blogspot<ci>fin,nl<run>hs,development,ravendb,servers,code>*<repl<gl>biz,xx<scot>edu,gov>service<<so>sch<yt>org<kz>jcloud,kazteleport>upaas<<tn>orangecloud<gg>kaas,cya,panel>daemon<<systems>knightpoint<krd>co,edu<business>co<education>co<events>co<financial>co<place>co<technology>co<bs>we<services>loginline<menu>barsy<mobi>barsy,dscloud<pub>barsy<shop>barsy<support>barsy<vu>cn,blog,dev,me<health>hra<casa>nabu>ui<<fashion>of<london>in,of<marketing>from,with<men>for,repair<mom>and,for<sale>for<win>that<work>from,to<news>noticeable<top>now-dns,ntdll<ovh>nerdpol<mn>nyc<lol>omg<hosting>opencraft<pm>own<codes>owo>*<<lc>oy<bn>co<builders>cloudsite<edu>rit>git-pages<<xn--p1acf>xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41a<store>sellfy,shopware,storebase<land>static>dev,sites<<farm>storj<pictures>1337<rip>clan<management>router<ax>be,cat,es,eu,gg,mc,us,xy<gp>app<gt>blog,de,to<gy>be<hn>cc<kg>blog,io,jp,tv,uk,us<ls>de<porn>indie<tc>ch,me,we<vg>at<academy>official<faith>ybo<party>ybo<review>ybo<science>ybo<trade>ybo<st>noho<design>bss");const i=xg(g,Qe),o=xg(g,re);if(0===i.length&&0===o.length)return{type:Be.NotListed,hostname:e,labels:g};const I=g.length-Math.max(o.length,i.length)-1,a=g.length-i.length-1;return Object.assign({type:Be.Listed,hostname:e,labels:g,icann:Ce(g,a)},Ce(g,I))};var ce="0123456789abcdefghijklmnopqrstuvwxyz";function le(A){return ce.charAt(A)}function he(A,t){return A&t}function de(A,t){return A|t}function ue(A,t){return A^t}function we(A,t){return A&~t}function De(A){if(0==A)return-1;var t=0;return 65535&A||(A>>=16,t+=16),255&A||(A>>=8,t+=8),15&A||(A>>=4,t+=4),3&A||(A>>=2,t+=2),1&A||++t,t}function me(A){for(var t=0;0!=A;)A&=A-1,++t;return t}var ye,fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function pe(A){var t,g,e="";for(t=0;t+3<=A.length;t+=3)g=parseInt(A.substring(t,t+3),16),e+=fe.charAt(g>>6)+fe.charAt(63&g);for(t+1==A.length?(g=parseInt(A.substring(t,t+1),16),e+=fe.charAt(g<<2)):t+2==A.length&&(g=parseInt(A.substring(t,t+2),16),e+=fe.charAt(g>>2)+fe.charAt((3&g)<<4));(3&e.length)>0;)e+="=";return e}function ke(A){var t,g="",e=0,i=0;for(t=0;t<A.length&&"="!=A.charAt(t);++t){var o=fe.indexOf(A.charAt(t));o<0||(0==e?(g+=le(o>>2),i=3&o,e=1):1==e?(g+=le(i<<2|o>>4),i=15&o,e=2):2==e?(g+=le(i),g+=le(o>>2),i=3&o,e=3):(g+=le(i<<2|o>>4),g+=le(15&o),e=0))}return 1==e&&(g+=le(i<<2)),g}var Ge,Me=function(A){var t;if(void 0===ye){var g="0123456789ABCDEF",e=" \f\n\r\t \u2028\u2029";for(ye={},t=0;t<16;++t)ye[g.charAt(t)]=t;for(g=g.toLowerCase(),t=10;t<16;++t)ye[g.charAt(t)]=t;for(t=0;t<8;++t)ye[e.charAt(t)]=-1}var i=[],o=0,I=0;for(t=0;t<A.length;++t){var a=A.charAt(t);if("="==a)break;if(-1!=(a=ye[a])){if(void 0===a)throw new Error("Illegal character at offset "+t);o|=a,++I>=2?(i[i.length]=o,o=0,I=0):o<<=4}}if(I)throw new Error("Hex encoding incomplete: 4 bits missing");return i},Ne={decode:function(A){var t;if(void 0===Ge){var g="= \f\n\r\t \u2028\u2029";for(Ge=Object.create(null),t=0;t<64;++t)Ge["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(Ge["-"]=62,Ge._=63,t=0;t<9;++t)Ge[g.charAt(t)]=-1}var e=[],i=0,o=0;for(t=0;t<A.length;++t){var I=A.charAt(t);if("="==I)break;if(-1!=(I=Ge[I])){if(void 0===I)throw new Error("Illegal character at offset "+t);i|=I,++o>=4?(e[e.length]=i>>16,e[e.length]=i>>8&255,e[e.length]=255&i,i=0,o=0):i<<=6}}switch(o){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:e[e.length]=i>>10;break;case 3:e[e.length]=i>>16,e[e.length]=i>>8&255}return e},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(A){var t=Ne.re.exec(A);if(t)if(t[1])A=t[1];else{if(!t[2])throw new Error("RegExp out of sync");A=t[2]}return Ne.decode(A)}},be=1e13,Re=function(){function A(A){this.buf=[+A||0]}return A.prototype.mulAdd=function(A,t){var g,e,i=this.buf,o=i.length;for(g=0;g<o;++g)(e=i[g]*A+t)<be?t=0:e-=(t=0|e/be)*be,i[g]=e;t>0&&(i[g]=t)},A.prototype.sub=function(A){var t,g,e=this.buf,i=e.length;for(t=0;t<i;++t)(g=e[t]-A)<0?(g+=be,A=1):A=0,e[t]=g;for(;0===e[e.length-1];)e.pop()},A.prototype.toString=function(A){if(10!=(A||10))throw new Error("only base 10 is supported");for(var t=this.buf,g=t[t.length-1].toString(),e=t.length-2;e>=0;--e)g+=(be+t[e]).toString().substring(1);return g},A.prototype.valueOf=function(){for(var A=this.buf,t=0,g=A.length-1;g>=0;--g)t=t*be+A[g];return t},A.prototype.simplify=function(){var A=this.buf;return 1==A.length?A[0]:this},A}(),Fe=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,Se=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function ve(A,t){return A.length>t&&(A=A.substring(0,t)+"…"),A}var Ye,Le=function(){function A(t,g){this.hexDigits="0123456789ABCDEF",t instanceof A?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=g)}return A.prototype.get=function(A){if(void 0===A&&(A=this.pos++),A>=this.enc.length)throw new Error("Requesting byte offset ".concat(A," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(A):this.enc[A]},A.prototype.hexByte=function(A){return this.hexDigits.charAt(A>>4&15)+this.hexDigits.charAt(15&A)},A.prototype.hexDump=function(A,t,g){for(var e="",i=A;i<t;++i)if(e+=this.hexByte(this.get(i)),!0!==g)switch(15&i){case 7:e+=" ";break;case 15:e+="\n";break;default:e+=" "}return e},A.prototype.isASCII=function(A,t){for(var g=A;g<t;++g){var e=this.get(g);if(e<32||e>176)return!1}return!0},A.prototype.parseStringISO=function(A,t){for(var g="",e=A;e<t;++e)g+=String.fromCharCode(this.get(e));return g},A.prototype.parseStringUTF=function(A,t){for(var g="",e=A;e<t;){var i=this.get(e++);g+=i<128?String.fromCharCode(i):i>191&&i<224?String.fromCharCode((31&i)<<6|63&this.get(e++)):String.fromCharCode((15&i)<<12|(63&this.get(e++))<<6|63&this.get(e++))}return g},A.prototype.parseStringBMP=function(A,t){for(var g,e,i="",o=A;o<t;)g=this.get(o++),e=this.get(o++),i+=String.fromCharCode(g<<8|e);return i},A.prototype.parseTime=function(A,t,g){var e=this.parseStringISO(A,t),i=(g?Fe:Se).exec(e);return i?(g&&(i[1]=+i[1],i[1]+=+i[1]<70?2e3:1900),e=i[1]+"-"+i[2]+"-"+i[3]+" "+i[4],i[5]&&(e+=":"+i[5],i[6]&&(e+=":"+i[6],i[7]&&(e+="."+i[7]))),i[8]&&(e+=" UTC","Z"!=i[8]&&(e+=i[8],i[9]&&(e+=":"+i[9]))),e):"Unrecognized time: "+e},A.prototype.parseInteger=function(A,t){for(var g,e=this.get(A),i=e>127,o=i?255:0,I="";e==o&&++A<t;)e=this.get(A);if(0===(g=t-A))return i?-1:0;if(g>4){for(I=e,g<<=3;!(128&(+I^o));)I=+I<<1,--g;I="("+g+" bit)\n"}i&&(e-=256);for(var a=new Re(e),s=A+1;s<t;++s)a.mulAdd(256,this.get(s));return I+a.toString()},A.prototype.parseBitString=function(A,t,g){for(var e=this.get(A),i="("+((t-A-1<<3)-e)+" bit)\n",o="",I=A+1;I<t;++I){for(var a=this.get(I),s=I==t-1?e:0,B=7;B>=s;--B)o+=a>>B&1?"1":"0";if(o.length>g)return i+ve(o,g)}return i+o},A.prototype.parseOctetString=function(A,t,g){if(this.isASCII(A,t))return ve(this.parseStringISO(A,t),g);var e=t-A,i="("+e+" byte)\n";e>(g/=2)&&(t=A+g);for(var o=A;o<t;++o)i+=this.hexByte(this.get(o));return e>g&&(i+="…"),i},A.prototype.parseOID=function(A,t,g){for(var e="",i=new Re,o=0,I=A;I<t;++I){var a=this.get(I);if(i.mulAdd(128,127&a),o+=7,!(128&a)){if(""===e)if((i=i.simplify())instanceof Re)i.sub(80),e="2."+i.toString();else{var s=i<80?i<40?0:1:2;e=s+"."+(i-40*s)}else e+="."+i.toString();if(e.length>g)return ve(e,g);i=new Re,o=0}}return o>0&&(e+=".incomplete"),e},A}(),Ue=function(){function A(A,t,g,e,i){if(!(e instanceof Je))throw new Error("Invalid tag value.");this.stream=A,this.header=t,this.length=g,this.tag=e,this.sub=i}return A.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},A.prototype.content=function(A){if(void 0===this.tag)return null;void 0===A&&(A=1/0);var t=this.posContent(),g=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+g,A);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:return this.stream.parseInteger(t,t+g);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(t,t+g,A);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+g,A);case 6:return this.stream.parseOID(t,t+g,A);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return ve(this.stream.parseStringUTF(t,t+g),A);case 18:case 19:case 20:case 21:case 22:case 26:return ve(this.stream.parseStringISO(t,t+g),A);case 30:return ve(this.stream.parseStringBMP(t,t+g),A);case 23:case 24:return this.stream.parseTime(t,t+g,23==this.tag.tagNumber)}return null},A.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},A.prototype.toPrettyString=function(A){void 0===A&&(A="");var t=A+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)"),t+="\n",null!==this.sub){A+=" ";for(var g=0,e=this.sub.length;g<e;++g)t+=this.sub[g].toPrettyString(A)}return t},A.prototype.posStart=function(){return this.stream.pos},A.prototype.posContent=function(){return this.stream.pos+this.header},A.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},A.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},A.decodeLength=function(A){var t=A.get(),g=127&t;if(g==t)return g;if(g>6)throw new Error("Length over 48 bits not supported at position "+(A.pos-1));if(0===g)return null;t=0;for(var e=0;e<g;++e)t=256*t+A.get();return t},A.prototype.getHexStringValue=function(){var A=this.toHexString(),t=2*this.header,g=2*this.length;return A.substr(t,g)},A.decode=function(t){var g;g=t instanceof Le?t:new Le(t,0);var e=new Le(g),i=new Je(g),o=A.decodeLength(g),I=g.pos,a=I-e.pos,s=null,B=function(){var t=[];if(null!==o){for(var e=I+o;g.pos<e;)t[t.length]=A.decode(g);if(g.pos!=e)throw new Error("Content size is not correct for container starting at offset "+I)}else try{for(;;){var i=A.decode(g);if(i.tag.isEOC())break;t[t.length]=i}o=I-g.pos}catch(A){throw new Error("Exception while decoding undefined length content: "+A)}return t};if(i.tagConstructed)s=B();else if(i.isUniversal()&&(3==i.tagNumber||4==i.tagNumber))try{if(3==i.tagNumber&&0!=g.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");s=B();for(var n=0;n<s.length;++n)if(s[n].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(A){s=null}if(null===s){if(null===o)throw new Error("We can't skip over an invalid tag with undefined length at offset "+I);g.pos=I+Math.abs(o)}return new A(e,a,o,i,s)},A}(),Je=function(){function A(A){var t=A.get();if(this.tagClass=t>>6,this.tagConstructed=!!(32&t),this.tagNumber=31&t,31==this.tagNumber){var g=new Re;do{t=A.get(),g.mulAdd(128,127&t)}while(128&t);this.tagNumber=g.simplify()}}return A.prototype.isUniversal=function(){return 0===this.tagClass},A.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},A}(),xe=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],He=(1<<26)/xe[xe.length-1],qe=function(){function A(A,t,g){null!=A&&("number"==typeof A?this.fromNumber(A,t,g):null==t&&"string"!=typeof A?this.fromString(A,256):this.fromString(A,t))}return A.prototype.toString=function(A){if(this.s<0)return"-"+this.negate().toString(A);var t;if(16==A)t=4;else if(8==A)t=3;else if(2==A)t=1;else if(32==A)t=5;else{if(4!=A)return this.toRadix(A);t=2}var g,e=(1<<t)-1,i=!1,o="",I=this.t,a=this.DB-I*this.DB%t;if(I-- >0)for(a<this.DB&&(g=this[I]>>a)>0&&(i=!0,o=le(g));I>=0;)a<t?(g=(this[I]&(1<<a)-1)<<t-a,g|=this[--I]>>(a+=this.DB-t)):(g=this[I]>>(a-=t)&e,a<=0&&(a+=this.DB,--I)),g>0&&(i=!0),i&&(o+=le(g));return i?o:"0"},A.prototype.negate=function(){var t=je();return A.ZERO.subTo(this,t),t},A.prototype.abs=function(){return this.s<0?this.negate():this},A.prototype.compareTo=function(A){var t=this.s-A.s;if(0!=t)return t;var g=this.t;if(0!=(t=g-A.t))return this.s<0?-t:t;for(;--g>=0;)if(0!=(t=this[g]-A[g]))return t;return 0},A.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+Ai(this[this.t-1]^this.s&this.DM)},A.prototype.mod=function(t){var g=je();return this.abs().divRemTo(t,null,g),this.s<0&&g.compareTo(A.ZERO)>0&&t.subTo(g,g),g},A.prototype.modPowInt=function(A,t){var g;return g=A<256||t.isEven()?new ze(t):new We(t),this.exp(A,g)},A.prototype.clone=function(){var A=je();return this.copyTo(A),A},A.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},A.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},A.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},A.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},A.prototype.toByteArray=function(){var A=this.t,t=[];t[0]=this.s;var g,e=this.DB-A*this.DB%8,i=0;if(A-- >0)for(e<this.DB&&(g=this[A]>>e)!=(this.s&this.DM)>>e&&(t[i++]=g|this.s<<this.DB-e);A>=0;)e<8?(g=(this[A]&(1<<e)-1)<<8-e,g|=this[--A]>>(e+=this.DB-8)):(g=this[A]>>(e-=8)&255,e<=0&&(e+=this.DB,--A)),128&g&&(g|=-256),0==i&&(128&this.s)!=(128&g)&&++i,(i>0||g!=this.s)&&(t[i++]=g);return t},A.prototype.equals=function(A){return 0==this.compareTo(A)},A.prototype.min=function(A){return this.compareTo(A)<0?this:A},A.prototype.max=function(A){return this.compareTo(A)>0?this:A},A.prototype.and=function(A){var t=je();return this.bitwiseTo(A,he,t),t},A.prototype.or=function(A){var t=je();return this.bitwiseTo(A,de,t),t},A.prototype.xor=function(A){var t=je();return this.bitwiseTo(A,ue,t),t},A.prototype.andNot=function(A){var t=je();return this.bitwiseTo(A,we,t),t},A.prototype.not=function(){for(var A=je(),t=0;t<this.t;++t)A[t]=this.DM&~this[t];return A.t=this.t,A.s=~this.s,A},A.prototype.shiftLeft=function(A){var t=je();return A<0?this.rShiftTo(-A,t):this.lShiftTo(A,t),t},A.prototype.shiftRight=function(A){var t=je();return A<0?this.lShiftTo(-A,t):this.rShiftTo(A,t),t},A.prototype.getLowestSetBit=function(){for(var A=0;A<this.t;++A)if(0!=this[A])return A*this.DB+De(this[A]);return this.s<0?this.t*this.DB:-1},A.prototype.bitCount=function(){for(var A=0,t=this.s&this.DM,g=0;g<this.t;++g)A+=me(this[g]^t);return A},A.prototype.testBit=function(A){var t=Math.floor(A/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<A%this.DB)},A.prototype.setBit=function(A){return this.changeBit(A,de)},A.prototype.clearBit=function(A){return this.changeBit(A,we)},A.prototype.flipBit=function(A){return this.changeBit(A,ue)},A.prototype.add=function(A){var t=je();return this.addTo(A,t),t},A.prototype.subtract=function(A){var t=je();return this.subTo(A,t),t},A.prototype.multiply=function(A){var t=je();return this.multiplyTo(A,t),t},A.prototype.divide=function(A){var t=je();return this.divRemTo(A,t,null),t},A.prototype.remainder=function(A){var t=je();return this.divRemTo(A,null,t),t},A.prototype.divideAndRemainder=function(A){var t=je(),g=je();return this.divRemTo(A,t,g),[t,g]},A.prototype.modPow=function(A,t){var g,e,i=A.bitLength(),o=_e(1);if(i<=0)return o;g=i<18?1:i<48?3:i<144?4:i<768?5:6,e=i<8?new ze(t):t.isEven()?new Te(t):new We(t);var I=[],a=3,s=g-1,B=(1<<g)-1;if(I[1]=e.convert(this),g>1){var n=je();for(e.sqrTo(I[1],n);a<=B;)I[a]=je(),e.mulTo(n,I[a-2],I[a]),a+=2}var C,Q,r=A.t-1,E=!0,c=je();for(i=Ai(A[r])-1;r>=0;){for(i>=s?C=A[r]>>i-s&B:(C=(A[r]&(1<<i+1)-1)<<s-i,r>0&&(C|=A[r-1]>>this.DB+i-s)),a=g;!(1&C);)C>>=1,--a;if((i-=a)<0&&(i+=this.DB,--r),E)I[C].copyTo(o),E=!1;else{for(;a>1;)e.sqrTo(o,c),e.sqrTo(c,o),a-=2;a>0?e.sqrTo(o,c):(Q=o,o=c,c=Q),e.mulTo(c,I[C],o)}for(;r>=0&&!(A[r]&1<<i);)e.sqrTo(o,c),Q=o,o=c,c=Q,--i<0&&(i=this.DB-1,--r)}return e.revert(o)},A.prototype.modInverse=function(t){var g=t.isEven();if(this.isEven()&&g||0==t.signum())return A.ZERO;for(var e=t.clone(),i=this.clone(),o=_e(1),I=_e(0),a=_e(0),s=_e(1);0!=e.signum();){for(;e.isEven();)e.rShiftTo(1,e),g?(o.isEven()&&I.isEven()||(o.addTo(this,o),I.subTo(t,I)),o.rShiftTo(1,o)):I.isEven()||I.subTo(t,I),I.rShiftTo(1,I);for(;i.isEven();)i.rShiftTo(1,i),g?(a.isEven()&&s.isEven()||(a.addTo(this,a),s.subTo(t,s)),a.rShiftTo(1,a)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);e.compareTo(i)>=0?(e.subTo(i,e),g&&o.subTo(a,o),I.subTo(s,I)):(i.subTo(e,i),g&&a.subTo(o,a),s.subTo(I,s))}return 0!=i.compareTo(A.ONE)?A.ZERO:s.compareTo(t)>=0?s.subtract(t):s.signum()<0?(s.addTo(t,s),s.signum()<0?s.add(t):s):s},A.prototype.pow=function(A){return this.exp(A,new Ke)},A.prototype.gcd=function(A){var t=this.s<0?this.negate():this.clone(),g=A.s<0?A.negate():A.clone();if(t.compareTo(g)<0){var e=t;t=g,g=e}var i=t.getLowestSetBit(),o=g.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),g.rShiftTo(o,g));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=g.getLowestSetBit())>0&&g.rShiftTo(i,g),t.compareTo(g)>=0?(t.subTo(g,t),t.rShiftTo(1,t)):(g.subTo(t,g),g.rShiftTo(1,g));return o>0&&g.lShiftTo(o,g),g},A.prototype.isProbablePrime=function(A){var t,g=this.abs();if(1==g.t&&g[0]<=xe[xe.length-1]){for(t=0;t<xe.length;++t)if(g[0]==xe[t])return!0;return!1}if(g.isEven())return!1;for(t=1;t<xe.length;){for(var e=xe[t],i=t+1;i<xe.length&&e<He;)e*=xe[i++];for(e=g.modInt(e);t<i;)if(e%xe[t++]==0)return!1}return g.millerRabin(A)},A.prototype.copyTo=function(A){for(var t=this.t-1;t>=0;--t)A[t]=this[t];A.t=this.t,A.s=this.s},A.prototype.fromInt=function(A){this.t=1,this.s=A<0?-1:0,A>0?this[0]=A:A<-1?this[0]=A+this.DV:this.t=0},A.prototype.fromString=function(t,g){var e;if(16==g)e=4;else if(8==g)e=3;else if(256==g)e=8;else if(2==g)e=1;else if(32==g)e=5;else{if(4!=g)return void this.fromRadix(t,g);e=2}this.t=0,this.s=0;for(var i=t.length,o=!1,I=0;--i>=0;){var a=8==e?255&+t[i]:$e(t,i);a<0?"-"==t.charAt(i)&&(o=!0):(o=!1,0==I?this[this.t++]=a:I+e>this.DB?(this[this.t-1]|=(a&(1<<this.DB-I)-1)<<I,this[this.t++]=a>>this.DB-I):this[this.t-1]|=a<<I,(I+=e)>=this.DB&&(I-=this.DB))}8==e&&128&+t[0]&&(this.s=-1,I>0&&(this[this.t-1]|=(1<<this.DB-I)-1<<I)),this.clamp(),o&&A.ZERO.subTo(this,this)},A.prototype.clamp=function(){for(var A=this.s&this.DM;this.t>0&&this[this.t-1]==A;)--this.t},A.prototype.dlShiftTo=function(A,t){var g;for(g=this.t-1;g>=0;--g)t[g+A]=this[g];for(g=A-1;g>=0;--g)t[g]=0;t.t=this.t+A,t.s=this.s},A.prototype.drShiftTo=function(A,t){for(var g=A;g<this.t;++g)t[g-A]=this[g];t.t=Math.max(this.t-A,0),t.s=this.s},A.prototype.lShiftTo=function(A,t){for(var g=A%this.DB,e=this.DB-g,i=(1<<e)-1,o=Math.floor(A/this.DB),I=this.s<<g&this.DM,a=this.t-1;a>=0;--a)t[a+o+1]=this[a]>>e|I,I=(this[a]&i)<<g;for(a=o-1;a>=0;--a)t[a]=0;t[o]=I,t.t=this.t+o+1,t.s=this.s,t.clamp()},A.prototype.rShiftTo=function(A,t){t.s=this.s;var g=Math.floor(A/this.DB);if(g>=this.t)t.t=0;else{var e=A%this.DB,i=this.DB-e,o=(1<<e)-1;t[0]=this[g]>>e;for(var I=g+1;I<this.t;++I)t[I-g-1]|=(this[I]&o)<<i,t[I-g]=this[I]>>e;e>0&&(t[this.t-g-1]|=(this.s&o)<<i),t.t=this.t-g,t.clamp()}},A.prototype.subTo=function(A,t){for(var g=0,e=0,i=Math.min(A.t,this.t);g<i;)e+=this[g]-A[g],t[g++]=e&this.DM,e>>=this.DB;if(A.t<this.t){for(e-=A.s;g<this.t;)e+=this[g],t[g++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;g<A.t;)e-=A[g],t[g++]=e&this.DM,e>>=this.DB;e-=A.s}t.s=e<0?-1:0,e<-1?t[g++]=this.DV+e:e>0&&(t[g++]=e),t.t=g,t.clamp()},A.prototype.multiplyTo=function(t,g){var e=this.abs(),i=t.abs(),o=e.t;for(g.t=o+i.t;--o>=0;)g[o]=0;for(o=0;o<i.t;++o)g[o+e.t]=e.am(0,i[o],g,o,0,e.t);g.s=0,g.clamp(),this.s!=t.s&&A.ZERO.subTo(g,g)},A.prototype.squareTo=function(A){for(var t=this.abs(),g=A.t=2*t.t;--g>=0;)A[g]=0;for(g=0;g<t.t-1;++g){var e=t.am(g,t[g],A,2*g,0,1);(A[g+t.t]+=t.am(g+1,2*t[g],A,2*g+1,e,t.t-g-1))>=t.DV&&(A[g+t.t]-=t.DV,A[g+t.t+1]=1)}A.t>0&&(A[A.t-1]+=t.am(g,t[g],A,2*g,0,1)),A.s=0,A.clamp()},A.prototype.divRemTo=function(t,g,e){var i=t.abs();if(!(i.t<=0)){var o=this.abs();if(o.t<i.t)return null!=g&&g.fromInt(0),void(null!=e&&this.copyTo(e));null==e&&(e=je());var I=je(),a=this.s,s=t.s,B=this.DB-Ai(i[i.t-1]);B>0?(i.lShiftTo(B,I),o.lShiftTo(B,e)):(i.copyTo(I),o.copyTo(e));var n=I.t,C=I[n-1];if(0!=C){var Q=C*(1<<this.F1)+(n>1?I[n-2]>>this.F2:0),r=this.FV/Q,E=(1<<this.F1)/Q,c=1<<this.F2,l=e.t,h=l-n,d=null==g?je():g;for(I.dlShiftTo(h,d),e.compareTo(d)>=0&&(e[e.t++]=1,e.subTo(d,e)),A.ONE.dlShiftTo(n,d),d.subTo(I,I);I.t<n;)I[I.t++]=0;for(;--h>=0;){var u=e[--l]==C?this.DM:Math.floor(e[l]*r+(e[l-1]+c)*E);if((e[l]+=I.am(0,u,e,h,0,n))<u)for(I.dlShiftTo(h,d),e.subTo(d,e);e[l]<--u;)e.subTo(d,e)}null!=g&&(e.drShiftTo(n,g),a!=s&&A.ZERO.subTo(g,g)),e.t=n,e.clamp(),B>0&&e.rShiftTo(B,e),a<0&&A.ZERO.subTo(e,e)}}},A.prototype.invDigit=function(){if(this.t<1)return 0;var A=this[0];if(!(1&A))return 0;var t=3&A;return(t=(t=(t=(t=t*(2-(15&A)*t)&15)*(2-(255&A)*t)&255)*(2-((65535&A)*t&65535))&65535)*(2-A*t%this.DV)%this.DV)>0?this.DV-t:-t},A.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},A.prototype.exp=function(t,g){if(t>4294967295||t<1)return A.ONE;var e=je(),i=je(),o=g.convert(this),I=Ai(t)-1;for(o.copyTo(e);--I>=0;)if(g.sqrTo(e,i),(t&1<<I)>0)g.mulTo(i,o,e);else{var a=e;e=i,i=a}return g.revert(e)},A.prototype.chunkSize=function(A){return Math.floor(Math.LN2*this.DB/Math.log(A))},A.prototype.toRadix=function(A){if(null==A&&(A=10),0==this.signum()||A<2||A>36)return"0";var t=this.chunkSize(A),g=Math.pow(A,t),e=_e(g),i=je(),o=je(),I="";for(this.divRemTo(e,i,o);i.signum()>0;)I=(g+o.intValue()).toString(A).substr(1)+I,i.divRemTo(e,i,o);return o.intValue().toString(A)+I},A.prototype.fromRadix=function(t,g){this.fromInt(0),null==g&&(g=10);for(var e=this.chunkSize(g),i=Math.pow(g,e),o=!1,I=0,a=0,s=0;s<t.length;++s){var B=$e(t,s);B<0?"-"==t.charAt(s)&&0==this.signum()&&(o=!0):(a=g*a+B,++I>=e&&(this.dMultiply(i),this.dAddOffset(a,0),I=0,a=0))}I>0&&(this.dMultiply(Math.pow(g,I)),this.dAddOffset(a,0)),o&&A.ZERO.subTo(this,this)},A.prototype.fromNumber=function(t,g,e){if("number"==typeof g)if(t<2)this.fromInt(1);else for(this.fromNumber(t,e),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),de,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(g);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.ONE.shiftLeft(t-1),this);else{var i=[],o=7&t;i.length=1+(t>>3),g.nextBytes(i),o>0?i[0]&=(1<<o)-1:i[0]=0,this.fromString(i,256)}},A.prototype.bitwiseTo=function(A,t,g){var e,i,o=Math.min(A.t,this.t);for(e=0;e<o;++e)g[e]=t(this[e],A[e]);if(A.t<this.t){for(i=A.s&this.DM,e=o;e<this.t;++e)g[e]=t(this[e],i);g.t=this.t}else{for(i=this.s&this.DM,e=o;e<A.t;++e)g[e]=t(i,A[e]);g.t=A.t}g.s=t(this.s,A.s),g.clamp()},A.prototype.changeBit=function(t,g){var e=A.ONE.shiftLeft(t);return this.bitwiseTo(e,g,e),e},A.prototype.addTo=function(A,t){for(var g=0,e=0,i=Math.min(A.t,this.t);g<i;)e+=this[g]+A[g],t[g++]=e&this.DM,e>>=this.DB;if(A.t<this.t){for(e+=A.s;g<this.t;)e+=this[g],t[g++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;g<A.t;)e+=A[g],t[g++]=e&this.DM,e>>=this.DB;e+=A.s}t.s=e<0?-1:0,e>0?t[g++]=e:e<-1&&(t[g++]=this.DV+e),t.t=g,t.clamp()},A.prototype.dMultiply=function(A){this[this.t]=this.am(0,A-1,this,0,0,this.t),++this.t,this.clamp()},A.prototype.dAddOffset=function(A,t){if(0!=A){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=A;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},A.prototype.multiplyLowerTo=function(A,t,g){var e=Math.min(this.t+A.t,t);for(g.s=0,g.t=e;e>0;)g[--e]=0;for(var i=g.t-this.t;e<i;++e)g[e+this.t]=this.am(0,A[e],g,e,0,this.t);for(i=Math.min(A.t,t);e<i;++e)this.am(0,A[e],g,e,0,t-e);g.clamp()},A.prototype.multiplyUpperTo=function(A,t,g){--t;var e=g.t=this.t+A.t-t;for(g.s=0;--e>=0;)g[e]=0;for(e=Math.max(t-this.t,0);e<A.t;++e)g[this.t+e-t]=this.am(t-e,A[e],g,0,0,this.t+e-t);g.clamp(),g.drShiftTo(1,g)},A.prototype.modInt=function(A){if(A<=0)return 0;var t=this.DV%A,g=this.s<0?A-1:0;if(this.t>0)if(0==t)g=this[0]%A;else for(var e=this.t-1;e>=0;--e)g=(t*g+this[e])%A;return g},A.prototype.millerRabin=function(t){var g=this.subtract(A.ONE),e=g.getLowestSetBit();if(e<=0)return!1;var i=g.shiftRight(e);(t=t+1>>1)>xe.length&&(t=xe.length);for(var o=je(),I=0;I<t;++I){o.fromInt(xe[Math.floor(Math.random()*xe.length)]);var a=o.modPow(i,this);if(0!=a.compareTo(A.ONE)&&0!=a.compareTo(g)){for(var s=1;s++<e&&0!=a.compareTo(g);)if(0==(a=a.modPowInt(2,this)).compareTo(A.ONE))return!1;if(0!=a.compareTo(g))return!1}}return!0},A.prototype.square=function(){var A=je();return this.squareTo(A),A},A.prototype.gcda=function(A,t){var g=this.s<0?this.negate():this.clone(),e=A.s<0?A.negate():A.clone();if(g.compareTo(e)<0){var i=g;g=e,e=i}var o=g.getLowestSetBit(),I=e.getLowestSetBit();if(I<0)t(g);else{o<I&&(I=o),I>0&&(g.rShiftTo(I,g),e.rShiftTo(I,e));var a=function(){(o=g.getLowestSetBit())>0&&g.rShiftTo(o,g),(o=e.getLowestSetBit())>0&&e.rShiftTo(o,e),g.compareTo(e)>=0?(g.subTo(e,g),g.rShiftTo(1,g)):(e.subTo(g,e),e.rShiftTo(1,e)),g.signum()>0?setTimeout(a,0):(I>0&&e.lShiftTo(I,e),setTimeout((function(){t(e)}),0))};setTimeout(a,10)}},A.prototype.fromNumberAsync=function(t,g,e,i){if("number"==typeof g)if(t<2)this.fromInt(1);else{this.fromNumber(t,e),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),de,this),this.isEven()&&this.dAddOffset(1,0);var o=this,I=function(){o.dAddOffset(2,0),o.bitLength()>t&&o.subTo(A.ONE.shiftLeft(t-1),o),o.isProbablePrime(g)?setTimeout((function(){i()}),0):setTimeout(I,0)};setTimeout(I,0)}else{var a=[],s=7&t;a.length=1+(t>>3),g.nextBytes(a),s>0?a[0]&=(1<<s)-1:a[0]=0,this.fromString(a,256)}},A}(),Ke=function(){function A(){}return A.prototype.convert=function(A){return A},A.prototype.revert=function(A){return A},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g)},A.prototype.sqrTo=function(A,t){A.squareTo(t)},A}(),ze=function(){function A(A){this.m=A}return A.prototype.convert=function(A){return A.s<0||A.compareTo(this.m)>=0?A.mod(this.m):A},A.prototype.revert=function(A){return A},A.prototype.reduce=function(A){A.divRemTo(this.m,null,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}(),We=function(){function A(A){this.m=A,this.mp=A.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<A.DB-15)-1,this.mt2=2*A.t}return A.prototype.convert=function(A){var t=je();return A.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),A.s<0&&t.compareTo(qe.ZERO)>0&&this.m.subTo(t,t),t},A.prototype.revert=function(A){var t=je();return A.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(A){for(;A.t<=this.mt2;)A[A.t++]=0;for(var t=0;t<this.m.t;++t){var g=32767&A[t],e=g*this.mpl+((g*this.mph+(A[t]>>15)*this.mpl&this.um)<<15)&A.DM;for(A[g=t+this.m.t]+=this.m.am(0,e,A,t,0,this.m.t);A[g]>=A.DV;)A[g]-=A.DV,A[++g]++}A.clamp(),A.drShiftTo(this.m.t,A),A.compareTo(this.m)>=0&&A.subTo(this.m,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}(),Te=function(){function A(A){this.m=A,this.r2=je(),this.q3=je(),qe.ONE.dlShiftTo(2*A.t,this.r2),this.mu=this.r2.divide(A)}return A.prototype.convert=function(A){if(A.s<0||A.t>2*this.m.t)return A.mod(this.m);if(A.compareTo(this.m)<0)return A;var t=je();return A.copyTo(t),this.reduce(t),t},A.prototype.revert=function(A){return A},A.prototype.reduce=function(A){for(A.drShiftTo(this.m.t-1,this.r2),A.t>this.m.t+1&&(A.t=this.m.t+1,A.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);A.compareTo(this.r2)<0;)A.dAddOffset(1,this.m.t+1);for(A.subTo(this.r2,A);A.compareTo(this.m)>=0;)A.subTo(this.m,A)},A.prototype.mulTo=function(A,t,g){A.multiplyTo(t,g),this.reduce(g)},A.prototype.sqrTo=function(A,t){A.squareTo(t),this.reduce(t)},A}();function je(){return new qe(null)}function Ze(A,t){return new qe(A,t)}var Ve="undefined"!=typeof navigator;Ve&&"Microsoft Internet Explorer"==navigator.appName?(qe.prototype.am=function(A,t,g,e,i,o){for(var I=32767&t,a=t>>15;--o>=0;){var s=32767&this[A],B=this[A++]>>15,n=a*s+B*I;i=((s=I*s+((32767&n)<<15)+g[e]+(1073741823&i))>>>30)+(n>>>15)+a*B+(i>>>30),g[e++]=1073741823&s}return i},Ye=30):Ve&&"Netscape"!=navigator.appName?(qe.prototype.am=function(A,t,g,e,i,o){for(;--o>=0;){var I=t*this[A++]+g[e]+i;i=Math.floor(I/67108864),g[e++]=67108863&I}return i},Ye=26):(qe.prototype.am=function(A,t,g,e,i,o){for(var I=16383&t,a=t>>14;--o>=0;){var s=16383&this[A],B=this[A++]>>14,n=a*s+B*I;i=((s=I*s+((16383&n)<<14)+g[e]+i)>>28)+(n>>14)+a*B,g[e++]=268435455&s}return i},Ye=28),qe.prototype.DB=Ye,qe.prototype.DM=(1<<Ye)-1,qe.prototype.DV=1<<Ye;qe.prototype.FV=Math.pow(2,52),qe.prototype.F1=52-Ye,qe.prototype.F2=2*Ye-52;var Pe,Oe,Xe=[];for(Pe="0".charCodeAt(0),Oe=0;Oe<=9;++Oe)Xe[Pe++]=Oe;for(Pe="a".charCodeAt(0),Oe=10;Oe<36;++Oe)Xe[Pe++]=Oe;for(Pe="A".charCodeAt(0),Oe=10;Oe<36;++Oe)Xe[Pe++]=Oe;function $e(A,t){var g=Xe[A.charCodeAt(t)];return null==g?-1:g}function _e(A){var t=je();return t.fromInt(A),t}function Ai(A){var t,g=1;return 0!=(t=A>>>16)&&(A=t,g+=16),0!=(t=A>>8)&&(A=t,g+=8),0!=(t=A>>4)&&(A=t,g+=4),0!=(t=A>>2)&&(A=t,g+=2),0!=(t=A>>1)&&(A=t,g+=1),g}qe.ZERO=_e(0),qe.ONE=_e(1);var ti=function(){function A(){this.i=0,this.j=0,this.S=[]}return A.prototype.init=function(A){var t,g,e;for(t=0;t<256;++t)this.S[t]=t;for(g=0,t=0;t<256;++t)g=g+this.S[t]+A[t%A.length]&255,e=this.S[t],this.S[t]=this.S[g],this.S[g]=e;this.i=0,this.j=0},A.prototype.next=function(){var A;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,A=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=A,this.S[A+this.S[this.i]&255]},A}();var gi,ei,ii=null;if(null==ii){ii=[],ei=0;var oi=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var Ii=new Uint32Array(256);for(window.crypto.getRandomValues(Ii),oi=0;oi<Ii.length;++oi)ii[ei++]=255&Ii[oi]}var ai=0,si=function(A){if((ai=ai||0)>=256||ei>=256)window.removeEventListener?window.removeEventListener("mousemove",si,!1):window.detachEvent&&window.detachEvent("onmousemove",si);else try{var t=A.x+A.y;ii[ei++]=255&t,ai+=1}catch(A){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",si,!1):window.attachEvent&&window.attachEvent("onmousemove",si))}function Bi(){if(null==gi){for(gi=new ti;ei<256;){var A=Math.floor(65536*Math.random());ii[ei++]=255&A}for(gi.init(ii),ei=0;ei<ii.length;++ei)ii[ei]=0;ei=0}return gi.next()}var ni=function(){function A(){}return A.prototype.nextBytes=function(A){for(var t=0;t<A.length;++t)A[t]=Bi()},A}();var Ci=function(){function A(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return A.prototype.doPublic=function(A){return A.modPowInt(this.e,this.n)},A.prototype.doPrivate=function(A){if(null==this.p||null==this.q)return A.modPow(this.d,this.n);for(var t=A.mod(this.p).modPow(this.dmp1,this.p),g=A.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(g)<0;)t=t.add(this.p);return t.subtract(g).multiply(this.coeff).mod(this.p).multiply(this.q).add(g)},A.prototype.setPublic=function(A,t){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=Ze(A,16),this.e=parseInt(t,16)):console.error("Invalid RSA public key")},A.prototype.encrypt=function(A){var t=this.n.bitLength()+7>>3,g=function(A,t){if(t<A.length+11)return console.error("Message too long for RSA"),null;for(var g=[],e=A.length-1;e>=0&&t>0;){var i=A.charCodeAt(e--);i<128?g[--t]=i:i>127&&i<2048?(g[--t]=63&i|128,g[--t]=i>>6|192):(g[--t]=63&i|128,g[--t]=i>>6&63|128,g[--t]=i>>12|224)}g[--t]=0;for(var o=new ni,I=[];t>2;){for(I[0]=0;0==I[0];)o.nextBytes(I);g[--t]=I[0]}return g[--t]=2,g[--t]=0,new qe(g)}(A,t);if(null==g)return null;var e=this.doPublic(g);if(null==e)return null;for(var i=e.toString(16),o=i.length,I=0;I<2*t-o;I++)i="0"+i;return i},A.prototype.setPrivate=function(A,t,g){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=Ze(A,16),this.e=parseInt(t,16),this.d=Ze(g,16)):console.error("Invalid RSA private key")},A.prototype.setPrivateEx=function(A,t,g,e,i,o,I,a){null!=A&&null!=t&&A.length>0&&t.length>0?(this.n=Ze(A,16),this.e=parseInt(t,16),this.d=Ze(g,16),this.p=Ze(e,16),this.q=Ze(i,16),this.dmp1=Ze(o,16),this.dmq1=Ze(I,16),this.coeff=Ze(a,16)):console.error("Invalid RSA private key")},A.prototype.generate=function(A,t){var g=new ni,e=A>>1;this.e=parseInt(t,16);for(var i=new qe(t,16);;){for(;this.p=new qe(A-e,1,g),0!=this.p.subtract(qe.ONE).gcd(i).compareTo(qe.ONE)||!this.p.isProbablePrime(10););for(;this.q=new qe(e,1,g),0!=this.q.subtract(qe.ONE).gcd(i).compareTo(qe.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var I=this.p.subtract(qe.ONE),a=this.q.subtract(qe.ONE),s=I.multiply(a);if(0==s.gcd(i).compareTo(qe.ONE)){this.n=this.p.multiply(this.q),this.d=i.modInverse(s),this.dmp1=this.d.mod(I),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}},A.prototype.decrypt=function(A){var t=Ze(A,16),g=this.doPrivate(t);return null==g?null:function(A,t){var g=A.toByteArray(),e=0;for(;e<g.length&&0==g[e];)++e;if(g.length-e!=t-1||2!=g[e])return null;++e;for(;0!=g[e];)if(++e>=g.length)return null;var i="";for(;++e<g.length;){var o=255&g[e];o<128?i+=String.fromCharCode(o):o>191&&o<224?(i+=String.fromCharCode((31&o)<<6|63&g[e+1]),++e):(i+=String.fromCharCode((15&o)<<12|(63&g[e+1])<<6|63&g[e+2]),e+=2)}return i}(g,this.n.bitLength()+7>>3)},A.prototype.generateAsync=function(A,t,g){var e=new ni,i=A>>1;this.e=parseInt(t,16);var o=new qe(t,16),I=this,a=function(){var t=function(){if(I.p.compareTo(I.q)<=0){var A=I.p;I.p=I.q,I.q=A}var t=I.p.subtract(qe.ONE),e=I.q.subtract(qe.ONE),i=t.multiply(e);0==i.gcd(o).compareTo(qe.ONE)?(I.n=I.p.multiply(I.q),I.d=o.modInverse(i),I.dmp1=I.d.mod(t),I.dmq1=I.d.mod(e),I.coeff=I.q.modInverse(I.p),setTimeout((function(){g()}),0)):setTimeout(a,0)},s=function(){I.q=je(),I.q.fromNumberAsync(i,1,e,(function(){I.q.subtract(qe.ONE).gcda(o,(function(A){0==A.compareTo(qe.ONE)&&I.q.isProbablePrime(10)?setTimeout(t,0):setTimeout(s,0)}))}))},B=function(){I.p=je(),I.p.fromNumberAsync(A-i,1,e,(function(){I.p.subtract(qe.ONE).gcda(o,(function(A){0==A.compareTo(qe.ONE)&&I.p.isProbablePrime(10)?setTimeout(s,0):setTimeout(B,0)}))}))};setTimeout(B,0)};setTimeout(a,0)},A.prototype.sign=function(A,t,g){var e=function(A,t){if(t<A.length+22)return console.error("Message too long for RSA"),null;for(var g=t-A.length-6,e="",i=0;i<g;i+=2)e+="ff";return Ze("0001"+e+"00"+A,16)}((Qi[g]||"")+t(A).toString(),this.n.bitLength()/4);if(null==e)return null;var i=this.doPrivate(e);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},A.prototype.verify=function(A,t,g){var e=Ze(t,16),i=this.doPublic(e);return null==i?null:function(A){for(var t in Qi)if(Qi.hasOwnProperty(t)){var g=Qi[t],e=g.length;if(A.substr(0,e)==g)return A.substr(e)}return A}
617
+ /*!
618
+ Copyright (c) 2011, Yahoo! Inc. All rights reserved.
619
+ Code licensed under the BSD License:
620
+ http://developer.yahoo.com/yui/license.html
621
+ version: 2.9.0
622
+ */(i.toString(16).replace(/^1f+00/,""))==g(A).toString()},A}();var Qi={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"};var ri={};ri.lang={extend:function(A,t,g){if(!t||!A)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var e=function(){};if(e.prototype=t.prototype,A.prototype=new e,A.prototype.constructor=A,A.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t),g){var i;for(i in g)A.prototype[i]=g[i];var o=function(){},I=["toString","valueOf"];try{/MSIE/.test(navigator.userAgent)&&(o=function(A,t){for(i=0;i<I.length;i+=1){var g=I[i],e=t[g];"function"==typeof e&&e!=Object.prototype[g]&&(A[g]=e)}})}catch(A){}o(A.prototype,g)}}};
623
+ /**
624
+ * @fileOverview
625
+ * @name asn1-1.0.js
626
+ * @author Kenji Urushima kenji.urushima@gmail.com
627
+ * @version asn1 1.0.13 (2017-Jun-02)
628
+ * @since jsrsasign 2.1
629
+ * @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
630
+ */
631
+ var Ei={};void 0!==Ei.asn1&&Ei.asn1||(Ei.asn1={}),Ei.asn1.ASN1Util=new function(){this.integerToByteHex=function(A){var t=A.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(A){var t=A.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var g=t.substr(1).length;g%2==1?g+=1:t.match(/^[0-7]/)||(g+=2);for(var e="",i=0;i<g;i++)e+="f";t=new qe(e,16).xor(A).add(qe.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(A,t){return hextopem(A,t)},this.newObject=function(A){var t=Ei.asn1,g=t.DERBoolean,e=t.DERInteger,i=t.DERBitString,o=t.DEROctetString,I=t.DERNull,a=t.DERObjectIdentifier,s=t.DEREnumerated,B=t.DERUTF8String,n=t.DERNumericString,C=t.DERPrintableString,Q=t.DERTeletexString,r=t.DERIA5String,E=t.DERUTCTime,c=t.DERGeneralizedTime,l=t.DERSequence,h=t.DERSet,d=t.DERTaggedObject,u=t.ASN1Util.newObject,w=Object.keys(A);if(1!=w.length)throw"key of param shall be only one.";var D=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+D+":"))throw"undefined key: "+D;if("bool"==D)return new g(A[D]);if("int"==D)return new e(A[D]);if("bitstr"==D)return new i(A[D]);if("octstr"==D)return new o(A[D]);if("null"==D)return new I(A[D]);if("oid"==D)return new a(A[D]);if("enum"==D)return new s(A[D]);if("utf8str"==D)return new B(A[D]);if("numstr"==D)return new n(A[D]);if("prnstr"==D)return new C(A[D]);if("telstr"==D)return new Q(A[D]);if("ia5str"==D)return new r(A[D]);if("utctime"==D)return new E(A[D]);if("gentime"==D)return new c(A[D]);if("seq"==D){for(var m=A[D],y=[],f=0;f<m.length;f++){var p=u(m[f]);y.push(p)}return new l({array:y})}if("set"==D){for(m=A[D],y=[],f=0;f<m.length;f++){p=u(m[f]);y.push(p)}return new h({array:y})}if("tag"==D){var k=A[D];if("[object Array]"===Object.prototype.toString.call(k)&&3==k.length){var G=u(k[2]);return new d({tag:k[0],explicit:k[1],obj:G})}var M={};if(void 0!==k.explicit&&(M.explicit=k.explicit),void 0!==k.tag&&(M.tag=k.tag),void 0===k.obj)throw"obj shall be specified for 'tag'.";return M.obj=u(k.obj),new d(M)}},this.jsonToASN1HEX=function(A){return this.newObject(A).getEncodedHex()}},Ei.asn1.ASN1Util.oidHexToInt=function(A){for(var t="",g=parseInt(A.substr(0,2),16),e=(t=Math.floor(g/40)+"."+g%40,""),i=2;i<A.length;i+=2){var o=("00000000"+parseInt(A.substr(i,2),16).toString(2)).slice(-8);if(e+=o.substr(1,7),"0"==o.substr(0,1))t=t+"."+new qe(e,2).toString(10),e=""}return t},Ei.asn1.ASN1Util.oidIntToHex=function(A){var t=function(A){var t=A.toString(16);return 1==t.length&&(t="0"+t),t},g=function(A){var g="",e=new qe(A,10).toString(2),i=7-e.length%7;7==i&&(i=0);for(var o="",I=0;I<i;I++)o+="0";e=o+e;for(I=0;I<e.length-1;I+=7){var a=e.substr(I,7);I!=e.length-7&&(a="1"+a),g+=t(parseInt(a,2))}return g};if(!A.match(/^[0-9.]+$/))throw"malformed oid string: "+A;var e="",i=A.split("."),o=40*parseInt(i[0])+parseInt(i[1]);e+=t(o),i.splice(0,2);for(var I=0;I<i.length;I++)e+=g(i[I]);return e},Ei.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n=0,v="+this.hV;var A=this.hV.length/2,t=A.toString(16);if(t.length%2==1&&(t="0"+t),A<128)return t;var g=t.length/2;if(g>15)throw"ASN.1 length too long to represent by 8x: n = "+A.toString(16);return(128+g).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},Ei.asn1.DERAbstractString=function(A){Ei.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(A){this.hTLV=null,this.isModified=!0,this.s=A,this.hV=stohex(this.s)},this.setStringHex=function(A){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A?this.setString(A):void 0!==A.str?this.setString(A.str):void 0!==A.hex&&this.setStringHex(A.hex))},ri.lang.extend(Ei.asn1.DERAbstractString,Ei.asn1.ASN1Object),Ei.asn1.DERAbstractTime=function(A){Ei.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(A){return utc=A.getTime()+6e4*A.getTimezoneOffset(),new Date(utc)},this.formatDate=function(A,t,g){var e=this.zeroPadding,i=this.localDateToUTC(A),o=String(i.getFullYear());"utc"==t&&(o=o.substr(2,2));var I=o+e(String(i.getMonth()+1),2)+e(String(i.getDate()),2)+e(String(i.getHours()),2)+e(String(i.getMinutes()),2)+e(String(i.getSeconds()),2);if(!0===g){var a=i.getMilliseconds();if(0!=a){var s=e(String(a),3);I=I+"."+(s=s.replace(/[0]+$/,""))}}return I+"Z"},this.zeroPadding=function(A,t){return A.length>=t?A:new Array(t-A.length+1).join("0")+A},this.getString=function(){return this.s},this.setString=function(A){this.hTLV=null,this.isModified=!0,this.s=A,this.hV=stohex(A)},this.setByDateValue=function(A,t,g,e,i,o){var I=new Date(Date.UTC(A,t-1,g,e,i,o,0));this.setByDate(I)},this.getFreshValueHex=function(){return this.hV}},ri.lang.extend(Ei.asn1.DERAbstractTime,Ei.asn1.ASN1Object),Ei.asn1.DERAbstractStructured=function(A){Ei.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(A){this.hTLV=null,this.isModified=!0,this.asn1Array=A},this.appendASN1Object=function(A){this.hTLV=null,this.isModified=!0,this.asn1Array.push(A)},this.asn1Array=new Array,void 0!==A&&void 0!==A.array&&(this.asn1Array=A.array)},ri.lang.extend(Ei.asn1.DERAbstractStructured,Ei.asn1.ASN1Object),Ei.asn1.DERBoolean=function(){Ei.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},ri.lang.extend(Ei.asn1.DERBoolean,Ei.asn1.ASN1Object),Ei.asn1.DERInteger=function(A){Ei.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(A){this.hTLV=null,this.isModified=!0,this.hV=Ei.asn1.ASN1Util.bigIntToMinTwosComplementsHex(A)},this.setByInteger=function(A){var t=new qe(String(A),10);this.setByBigInteger(t)},this.setValueHex=function(A){this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.bigint?this.setByBigInteger(A.bigint):void 0!==A.int?this.setByInteger(A.int):"number"==typeof A?this.setByInteger(A):void 0!==A.hex&&this.setValueHex(A.hex))},ri.lang.extend(Ei.asn1.DERInteger,Ei.asn1.ASN1Object),Ei.asn1.DERBitString=function(A){if(void 0!==A&&void 0!==A.obj){var t=Ei.asn1.ASN1Util.newObject(A.obj);A.hex="00"+t.getEncodedHex()}Ei.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(A){this.hTLV=null,this.isModified=!0,this.hV=A},this.setUnusedBitsAndHexValue=function(A,t){if(A<0||7<A)throw"unused bits shall be from 0 to 7: u = "+A;var g="0"+A;this.hTLV=null,this.isModified=!0,this.hV=g+t},this.setByBinaryString=function(A){var t=8-(A=A.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var g=0;g<=t;g++)A+="0";var e="";for(g=0;g<A.length-1;g+=8){var i=A.substr(g,8),o=parseInt(i,2).toString(16);1==o.length&&(o="0"+o),e+=o}this.hTLV=null,this.isModified=!0,this.hV="0"+t+e},this.setByBooleanArray=function(A){for(var t="",g=0;g<A.length;g++)1==A[g]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(A){for(var t=new Array(A),g=0;g<A;g++)t[g]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A&&A.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(A):void 0!==A.hex?this.setHexValueIncludingUnusedBits(A.hex):void 0!==A.bin?this.setByBinaryString(A.bin):void 0!==A.array&&this.setByBooleanArray(A.array))},ri.lang.extend(Ei.asn1.DERBitString,Ei.asn1.ASN1Object),Ei.asn1.DEROctetString=function(A){if(void 0!==A&&void 0!==A.obj){var t=Ei.asn1.ASN1Util.newObject(A.obj);A.hex=t.getEncodedHex()}Ei.asn1.DEROctetString.superclass.constructor.call(this,A),this.hT="04"},ri.lang.extend(Ei.asn1.DEROctetString,Ei.asn1.DERAbstractString),Ei.asn1.DERNull=function(){Ei.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},ri.lang.extend(Ei.asn1.DERNull,Ei.asn1.ASN1Object),Ei.asn1.DERObjectIdentifier=function(A){var t=function(A){var t=A.toString(16);return 1==t.length&&(t="0"+t),t},g=function(A){var g="",e=new qe(A,10).toString(2),i=7-e.length%7;7==i&&(i=0);for(var o="",I=0;I<i;I++)o+="0";e=o+e;for(I=0;I<e.length-1;I+=7){var a=e.substr(I,7);I!=e.length-7&&(a="1"+a),g+=t(parseInt(a,2))}return g};Ei.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(A){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=A},this.setValueOidString=function(A){if(!A.match(/^[0-9.]+$/))throw"malformed oid string: "+A;var e="",i=A.split("."),o=40*parseInt(i[0])+parseInt(i[1]);e+=t(o),i.splice(0,2);for(var I=0;I<i.length;I++)e+=g(i[I]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(A){var t=Ei.asn1.x509.OID.name2oid(A);if(""===t)throw"DERObjectIdentifier oidName undefined: "+A;this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==A&&("string"==typeof A?A.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(A):this.setValueName(A):void 0!==A.oid?this.setValueOidString(A.oid):void 0!==A.hex?this.setValueHex(A.hex):void 0!==A.name&&this.setValueName(A.name))},ri.lang.extend(Ei.asn1.DERObjectIdentifier,Ei.asn1.ASN1Object),Ei.asn1.DEREnumerated=function(A){Ei.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(A){this.hTLV=null,this.isModified=!0,this.hV=Ei.asn1.ASN1Util.bigIntToMinTwosComplementsHex(A)},this.setByInteger=function(A){var t=new qe(String(A),10);this.setByBigInteger(t)},this.setValueHex=function(A){this.hV=A},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.int?this.setByInteger(A.int):"number"==typeof A?this.setByInteger(A):void 0!==A.hex&&this.setValueHex(A.hex))},ri.lang.extend(Ei.asn1.DEREnumerated,Ei.asn1.ASN1Object),Ei.asn1.DERUTF8String=function(A){Ei.asn1.DERUTF8String.superclass.constructor.call(this,A),this.hT="0c"},ri.lang.extend(Ei.asn1.DERUTF8String,Ei.asn1.DERAbstractString),Ei.asn1.DERNumericString=function(A){Ei.asn1.DERNumericString.superclass.constructor.call(this,A),this.hT="12"},ri.lang.extend(Ei.asn1.DERNumericString,Ei.asn1.DERAbstractString),Ei.asn1.DERPrintableString=function(A){Ei.asn1.DERPrintableString.superclass.constructor.call(this,A),this.hT="13"},ri.lang.extend(Ei.asn1.DERPrintableString,Ei.asn1.DERAbstractString),Ei.asn1.DERTeletexString=function(A){Ei.asn1.DERTeletexString.superclass.constructor.call(this,A),this.hT="14"},ri.lang.extend(Ei.asn1.DERTeletexString,Ei.asn1.DERAbstractString),Ei.asn1.DERIA5String=function(A){Ei.asn1.DERIA5String.superclass.constructor.call(this,A),this.hT="16"},ri.lang.extend(Ei.asn1.DERIA5String,Ei.asn1.DERAbstractString),Ei.asn1.DERUTCTime=function(A){Ei.asn1.DERUTCTime.superclass.constructor.call(this,A),this.hT="17",this.setByDate=function(A){this.hTLV=null,this.isModified=!0,this.date=A,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==A&&(void 0!==A.str?this.setString(A.str):"string"==typeof A&&A.match(/^[0-9]{12}Z$/)?this.setString(A):void 0!==A.hex?this.setStringHex(A.hex):void 0!==A.date&&this.setByDate(A.date))},ri.lang.extend(Ei.asn1.DERUTCTime,Ei.asn1.DERAbstractTime),Ei.asn1.DERGeneralizedTime=function(A){Ei.asn1.DERGeneralizedTime.superclass.constructor.call(this,A),this.hT="18",this.withMillis=!1,this.setByDate=function(A){this.hTLV=null,this.isModified=!0,this.date=A,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==A&&(void 0!==A.str?this.setString(A.str):"string"==typeof A&&A.match(/^[0-9]{14}Z$/)?this.setString(A):void 0!==A.hex?this.setStringHex(A.hex):void 0!==A.date&&this.setByDate(A.date),!0===A.millis&&(this.withMillis=!0))},ri.lang.extend(Ei.asn1.DERGeneralizedTime,Ei.asn1.DERAbstractTime),Ei.asn1.DERSequence=function(A){Ei.asn1.DERSequence.superclass.constructor.call(this,A),this.hT="30",this.getFreshValueHex=function(){for(var A="",t=0;t<this.asn1Array.length;t++){A+=this.asn1Array[t].getEncodedHex()}return this.hV=A,this.hV}},ri.lang.extend(Ei.asn1.DERSequence,Ei.asn1.DERAbstractStructured),Ei.asn1.DERSet=function(A){Ei.asn1.DERSet.superclass.constructor.call(this,A),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var A=new Array,t=0;t<this.asn1Array.length;t++){var g=this.asn1Array[t];A.push(g.getEncodedHex())}return 1==this.sortFlag&&A.sort(),this.hV=A.join(""),this.hV},void 0!==A&&void 0!==A.sortflag&&0==A.sortflag&&(this.sortFlag=!1)},ri.lang.extend(Ei.asn1.DERSet,Ei.asn1.DERAbstractStructured),Ei.asn1.DERTaggedObject=function(A){Ei.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(A,t,g){this.hT=t,this.isExplicit=A,this.asn1Object=g,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=g.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==A&&(void 0!==A.tag&&(this.hT=A.tag),void 0!==A.explicit&&(this.isExplicit=A.explicit),void 0!==A.obj&&(this.asn1Object=A.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},ri.lang.extend(Ei.asn1.DERTaggedObject,Ei.asn1.ASN1Object);var ci,li,hi=(ci=function(A,t){return ci=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,t){A.__proto__=t}||function(A,t){for(var g in t)Object.prototype.hasOwnProperty.call(t,g)&&(A[g]=t[g])},ci(A,t)},function(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function g(){this.constructor=A}ci(A,t),A.prototype=null===t?Object.create(t):(g.prototype=t.prototype,new g)}),di=function(A){function t(g){var e=A.call(this)||this;return g&&("string"==typeof g?e.parseKey(g):(t.hasPrivateKeyProperty(g)||t.hasPublicKeyProperty(g))&&e.parsePropertiesFrom(g)),e}return hi(t,A),t.prototype.parseKey=function(A){try{var t=0,g=0,e=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(A)?Me(A):Ne.unarmor(A),i=Ue.decode(e);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){t=i.sub[1].getHexStringValue(),this.n=Ze(t,16),g=i.sub[2].getHexStringValue(),this.e=parseInt(g,16);var o=i.sub[3].getHexStringValue();this.d=Ze(o,16);var I=i.sub[4].getHexStringValue();this.p=Ze(I,16);var a=i.sub[5].getHexStringValue();this.q=Ze(a,16);var s=i.sub[6].getHexStringValue();this.dmp1=Ze(s,16);var B=i.sub[7].getHexStringValue();this.dmq1=Ze(B,16);var n=i.sub[8].getHexStringValue();this.coeff=Ze(n,16)}else{if(2!==i.sub.length)return!1;if(i.sub[0].sub){var C=i.sub[1].sub[0];t=C.sub[0].getHexStringValue(),this.n=Ze(t,16),g=C.sub[1].getHexStringValue(),this.e=parseInt(g,16)}else t=i.sub[0].getHexStringValue(),this.n=Ze(t,16),g=i.sub[1].getHexStringValue(),this.e=parseInt(g,16)}return!0}catch(A){return!1}},t.prototype.getPrivateBaseKey=function(){var A={array:[new Ei.asn1.DERInteger({int:0}),new Ei.asn1.DERInteger({bigint:this.n}),new Ei.asn1.DERInteger({int:this.e}),new Ei.asn1.DERInteger({bigint:this.d}),new Ei.asn1.DERInteger({bigint:this.p}),new Ei.asn1.DERInteger({bigint:this.q}),new Ei.asn1.DERInteger({bigint:this.dmp1}),new Ei.asn1.DERInteger({bigint:this.dmq1}),new Ei.asn1.DERInteger({bigint:this.coeff})]};return new Ei.asn1.DERSequence(A).getEncodedHex()},t.prototype.getPrivateBaseKeyB64=function(){return pe(this.getPrivateBaseKey())},t.prototype.getPublicBaseKey=function(){var A=new Ei.asn1.DERSequence({array:[new Ei.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new Ei.asn1.DERNull]}),t=new Ei.asn1.DERSequence({array:[new Ei.asn1.DERInteger({bigint:this.n}),new Ei.asn1.DERInteger({int:this.e})]}),g=new Ei.asn1.DERBitString({hex:"00"+t.getEncodedHex()});return new Ei.asn1.DERSequence({array:[A,g]}).getEncodedHex()},t.prototype.getPublicBaseKeyB64=function(){return pe(this.getPublicBaseKey())},t.wordwrap=function(A,t){if(!A)return A;var g="(.{1,"+(t=t||64)+"})( +|$\n?)|(.{1,"+t+"})";return A.match(RegExp(g,"g")).join("\n")},t.prototype.getPrivateKey=function(){var A="-----BEGIN RSA PRIVATE KEY-----\n";return A+=t.wordwrap(this.getPrivateBaseKeyB64())+"\n",A+="-----END RSA PRIVATE KEY-----"},t.prototype.getPublicKey=function(){var A="-----BEGIN PUBLIC KEY-----\n";return A+=t.wordwrap(this.getPublicBaseKeyB64())+"\n",A+="-----END PUBLIC KEY-----"},t.hasPublicKeyProperty=function(A){return(A=A||{}).hasOwnProperty("n")&&A.hasOwnProperty("e")},t.hasPrivateKeyProperty=function(A){return(A=A||{}).hasOwnProperty("n")&&A.hasOwnProperty("e")&&A.hasOwnProperty("d")&&A.hasOwnProperty("p")&&A.hasOwnProperty("q")&&A.hasOwnProperty("dmp1")&&A.hasOwnProperty("dmq1")&&A.hasOwnProperty("coeff")},t.prototype.parsePropertiesFrom=function(A){this.n=A.n,this.e=A.e,A.hasOwnProperty("d")&&(this.d=A.d,this.p=A.p,this.q=A.q,this.dmp1=A.dmp1,this.dmq1=A.dmq1,this.coeff=A.coeff)},t}(Ci),ui="undefined"!=typeof process?null===(li=process.env)||void 0===li?void 0:li.npm_package_version:void 0,wi=function(){function A(A){void 0===A&&(A={}),A=A||{},this.default_key_size=A.default_key_size?parseInt(A.default_key_size,10):1024,this.default_public_exponent=A.default_public_exponent||"010001",this.log=A.log||!1,this.key=null}return A.prototype.setKey=function(A){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new di(A)},A.prototype.setPrivateKey=function(A){this.setKey(A)},A.prototype.setPublicKey=function(A){this.setKey(A)},A.prototype.decrypt=function(A){try{return this.getKey().decrypt(ke(A))}catch(A){return!1}},A.prototype.encrypt=function(A){try{return pe(this.getKey().encrypt(A))}catch(A){return!1}},A.prototype.sign=function(A,t,g){try{return pe(this.getKey().sign(A,t,g))}catch(A){return!1}},A.prototype.verify=function(A,t,g){try{return this.getKey().verify(A,ke(t),g)}catch(A){return!1}},A.prototype.getKey=function(A){if(!this.key){if(this.key=new di,A&&"[object Function]"==={}.toString.call(A))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,A);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},A.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},A.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},A.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},A.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},A.version=ui,A}();function Di(A){return null==A||"string"==typeof A||"number"==typeof A||"boolean"==typeof A||"bigint"==typeof A||"symbol"==typeof A}function mi(A){return!Di(A)&&(A&&A.constructor?"Object"===A.constructor.name:"object"==typeof A&&null!==A)}function yi(A){return!Di(A)&&(Array.isArray(A)||mi(A))}function fi(A,...t){const g=t.shift();if(mi(g)){mi(A)||(A=Object.create(null));for(const t in g){const e=g[t];yi(e)?A[t]=fi(A[t],e):A[t]=e}}else if(Array.isArray(g)){const t=g.length;Array.isArray(A)?A.length=t:A=new Array(t);let e=0;for(;e<t;e++){const t=g[e];yi(t)?A[e]=fi(A[e],t):A[e]=t}void 0!==g.raw&&(A.raw=g.raw.slice())}else A=g;return t.length?fi(A,...t):A}
632
+ /**
633
+ * Main component
634
+ *
635
+ * @copyright NEURONET - Rafal Pospiech
636
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
637
+ * @module gantt-schedule-timeline-calendar
638
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
639
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
640
+ * @version 3.37.5
641
+ * @released 2024-07-19
642
+ * @license SEE LICENSE IN LICENSE FILE
643
+ */function pi(A,t){const g=ki();return pi=function(t,e){let i=g[t-=160];if(void 0===pi.ZXjGgJ){const t=function(A,t){let g,e,i=[],o=0,I="";for(A=function(A){let t="",g="";for(let g,e,i=0,o=0;e=A.charAt(o++);~e&&(g=i%4?64*g+e:e,i++%4)?t+=String.fromCharCode(255&g>>(-2*i&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let A=0,e=t.length;A<e;A++)g+="%"+("00"+t.charCodeAt(A).toString(16)).slice(-2);return decodeURIComponent(g)}(A),e=0;e<256;e++)i[e]=e;for(e=0;e<256;e++)o=(o+i[e]+t.charCodeAt(e%t.length))%256,g=i[e],i[e]=i[o],i[o]=g;e=0,o=0;for(let t=0;t<A.length;t++)e=(e+1)%256,o=(o+i[e])%256,g=i[e],i[e]=i[o],i[o]=g,I+=String.fromCharCode(A.charCodeAt(t)^i[(i[e]+i[o])%256]);return I};pi.bhVOxg=t,A=arguments,pi.ZXjGgJ=!0}const o=t+g[0],I=A[o];return I?i=I:(void 0===pi.XkjqaR&&(pi.XkjqaR=!0),i=pi.bhVOxg(i,e),A[o]=i),i},pi(A,t)}function ki(){const A=["C3vIC2nYAwjL","CNvSzxm","huelg8o0E8kL","tCokz8orW5XZohVcVCo+WQ7dId8bhmoAaYzBW5BcNhS","jNRdTCkEW5S","Dg9Wtgv2zwXeB21HAw5Z","zw50CMLLCW","B2zMC2v0sgvPz2H0","AhjLzG","DMfSAwrFDw50AwW","W5K9C8kxbSkMmSormConWOm","j2LqvHVcQx0","Ahr0Chm6lY9NC3rJlM5LDxjVBMv0lMLVl2fWAs9PBNzHBgLKlxrVA2vU","wCoeESoAW7X6F27cOCoRWQ3dQcSkhq","nXDbW5K","z3n0yY1LCNjVCG","y29UzMLNlMnVBxbVBMvUDhmUtgLZDa","gH7cHe3cLHZdRqBcVffc","C2LNBMf0DxjL","qCoxymoqW5X6zq","CSomdGDSW57dQH3dTqBdRmoz","C3vWCg9YDa","qCojWRdcHSoApG","CMvWBgfJzq","W4/dHCoo","z2v0u2nYB2XSvg9W","W7VdUNDAwa","zNjVBuvUDhjPzxm","yxnZAwDU","bHpcOSoapa","W5/dICoEWPVcMW","DhLWzq","u8kqFLddKCkAW7DR","kgVdTCknWONdNmkI","W6jvt8oAWQKAva","W5vEs8obWQmErq4dW4KLW4yFhmk5uZpdU8kevCk8sa","lhtcT21KB8k8W7u4","mteWrxLjtvnR","BgvUz3rO","W6WLW4DHW7FcS3K","bCkOa8kSpuyLW7KXn8oyEmkRW6zqWP0FW75ZWOzsm8oI","DMvYDgLJywW","W7XhWPFcGsSZW7S","C3rHCNrZv2L0Aa","xSoJWRP/WPhcGG","nbDcW4hdR1GV","bL7dL0fBfddcVYRcHNu8CCoSWRDt","W6TCWQBdKdiGtq","Ec7dOCoeWQ15aSoXW4hdQ8o2W7GC","CMvMzxjYzxi","vmoehHvLW4pdHLJdSaJdP8oiy8o/erddKCkKze4","WQiBcmo9WRpcTtdcGa","DSo8A8ozW4FdUY1xfq","zgvZy3jPChrPB24","WR4reSo+WRxcIda","B2zMC2v0v2LKDgG","DLqaWOdcUgCdjmkhlhq","pCoka8kGabL8WQ7cOq","WP9TAwq","tSo0WQToWPdcHrqsW6VdRrfa","AtRdNx1nvrRcRcLL","z2v0vgLTzq","lL4YW7tdVWLt","w2LUAxrPywXPEMf0Aw9UxsbmAwnLBNnLigTLEsbJAgvJAYbTzwnOyw5PC20GBM90igXVywrLzcaODhj5igDHBNr0lxnJAgvKDwXLlxrPBwvSAw5LlwnHBgvUzgfYl2rPC3qVz3n0yY53yxnTlMvZBs5TAw4UANmPlG","W4ZdUmkeWO/dIW","CgfYC2u","n2JdGYRdIG","smo9WQT3WOJcHGWE","zgf0yq","B3v0zxi","CMvWBgfJzufSBa","C1SoW7hdGc1Ue8ktWPW2","ESonymoeWPvWExFcQCoJWQ/cOtGCwCogjdCsW4pcKwGNWQhcSCossaeKWOJcOa","iM3cUCkF","sw52ywXPzcbSAwnLBNnLigTLEsbBD3jVBMCGC2LNBMf0DxjLxs4","y3jLyxrLzef0","phhcSxb2vCkOW6O4","DwX0Aw1HDguTB25LlxLLyxi","W4ZcR8kBW4tdHW","aSoeFCoazJBcISkAjSoMw8oFW6hdUCkXWOmHW4hdKSkQWORcVLP6WRRcOuZdTCogj8oiW5i","gMzGfG","W6jjxSohWQi","zxjYB3i","jgrHDgeUzgLTzw5ZAw9UC1bHCMvUDa","W4eXWPrbfgW","nJGWndzrvxzjwve","b0ZdLCk+WOK","vCotWRdcJ8og","yw5Jzxn0B3jpCMLNAw5Z","DdCszrdcUeywbq","z2v0u2nYB2XStgvMDa","y29UzMLNlMrLyNvN","mgRdSSkv","jJNcSSkDW5Od","if0GlG","qSomASosW5TNCW","W47dRshcT0JdOmopW5uI","DxbKyxrL","W4ZcOCkbW4hdHHddV8kbECkVW5tcOa","iConcmk0cGu","W6KVW4z7W6ZcU3lcMJpdRq","W6tdICozWORcNq08xCktWQ/cO8oXfu/dUmoCyLhcJgdcReSgWOHbjmo+CmopW5ddGmkjmeVcP8oKCfhdS8ocWOddGSoSdCoEaWKonmkRW6G9oeSVEmoup8ozWR8nWQFdPmkRW5ZdTr/dV0SHW5hdQ8oZumkoW7/dSCo3BqiVW7xdNSkrculcI8o2dSkOW44vWO8FbZabWO4FiCkgW5b5WPS0xCouEaVcTCkXWRVdTWDyW7hdP8o6WPiyW4bDW4xdLmk0lxizWOfrvrpcTmk1W7/cIvH+ymocoIZcOanZpGXxWR9DpSosWOhdUmo8W5hcK8kcmXOpqxamrCkzwCoiWQ3dGSorEmk0bJSpW4bhi8o7W7FdOdr+l8oZW51QWRhcNCkoW7RcQtWKiq","E18oW7hdUYXZ","C2v0u2nYB2XStgvMDa","W4ech8kBv8oGdxRcLSk+W4uYBCkAWOxdJmkgwvSmzmk+sszKWP7cG8oxWOqwWQaTW7yrmSobWQOyBYW","DxnLCL9Hz2vUDa","nJeYmtaXu0LWAKDh","sWtcJCkjjCktWPVcRfG","dGldV8oDlSoU","WR/dPmk8W6Hg","yxbWBgLJyxrPB24VEc13D3CTzM9YBs11CMXLBMnVzgvK","AgvPz2H0","ogDhzw1SAW","xCorE8oEW5TZ","tgLJzw5ZzsbRzxKGy2HLy2SGBwvJAgfUAxnTig5VDcbSB2fKzwqGkhrYEsbNyw50Dc1Zy2HLzhvSzs10Aw1LBgLUzs1JywXLBMrHCI9KAxn0l2DZDgmUD2fZBs5LC20UBwLUlMPZks4","zg9TywLU","zgvJCNLWDa","FcVdIgXr","W4eGWPrhh3CHdcBdGgFdOSkZ","y29UzMLNlMf1Dg9jBM5LCKHLAwDODa","B8ocrCoIW4m","Dw5ZywzLlwv2ywW","C3vIC3rY","W5ldTIFcVG","y29UzMLNlNnJCM9SBa","lv7cNCo2","W4tdHCouWOJcHXy","y29UDgvUDa","y29UzMLNlNzLCNnPB24","zgLZy29UBMvJDa","n2ZcLJ/dTCkRWPddULrjW4iY","qmodWQG","otGXmJffr05qwfe","bHtcRmol","auFcGG","smoaWRRcMCoqpCkdnmkUWPxdTG","W5ldSCkeWOC","mwldJYBdL0S+AK7dMCkSoGBcNmkeW50q","C2fHCW","ue9tva","WRWpW4NdN2CwW5VdLbbCCmo0oJD5lv4/uSkBWQBcLmoRgNpdGSo4nSoTW5pcUNxcKSoKWRhcKZ/cNmoPWQpcS8kZptddV8ksWOBdJdXIW6rGW6JdLSkLBmopsK/dNmkle8kAaGtdQWCRWOddKXbeWQBcTCoRxXqjWP3cG8oAWQldVMzLW4GFECozAuJcJCkec8oLnbTPzNvPWRfIWQj8WR/dOunFW7yJl8oVW7JdIXidjv7dOIWMWPpdQmkUamoFiCk3W4/dMvdcGSoWpCkOv8k8WPldRgtcNmkcAYeGWP81cmk6gCkyu2TzW7eiWOz/E8onhCkhW77dG0ZdQu8IW7ZcQh51e8oyfenOWQZcJWfYlcKHgXJdOaBcIKLQW4v2W6/cOrtdVCk6WRO5W4ZdTCo3WRq+WRvhWRiCA2iqWRZcTIGdW4hcUuBdO8oXb2ldKSoct8ogW6hcPSkYW4esuSkKE8k9W7LIWO0Cn8kJzJOCW6ZdT8olW78IdqTBW5NcNwhdI8oPlCk2v8oxbvqUWPrXWPpdNd4","Ahr0Chm6lY8","W57dOZ7cTW","nZK3nJzuEuf0A2y","W4NdSIBcU1i","ACofaXfN","W5VcPSkkW4K","tgLJzw5ZzsbMB3iGzgLMzMvYzw50ihbYB2r1y3qGAgfZigjLzw4GChjVDMLKzwqU","CCoGzmop","WQRdTmkK","W6jQw2XDW4TUWPZdKr/cHSkb","i2FcOrJcSeO","nN3cVXq","AmohtCoMW4tdIW","zgf0zq","W6zlWOdcHIi","BwvZC2fNzq","bKawbW","jgrHDgeUzwXLBwvUDhmUBwfPBG","qmo9mSoLWRS","DMfSDwvpzG","ACoyqSoIW54","Ag9ZDa","oJpcSmkFW5WOlgbXW6aCW5FdS8obW4e","mwhcSalcO1BdRq/cIa","eGBdO8oFnmoY","omoEdCk6bZ57WRJcRCo2","CgfYzw50rwXLBwvUDa","y29UzMLNlMfJDgLVBNmUBwfPBG","C3rYAw5N","D2LKDgG","y2f0y2G","iZNcQmkjW5mqoG","icKU","ngHnCqNcR2Coma","ktNcRW","W7KDWPxdVq","W7ZdTCkFW7XdAsK","W4WRWRFdM8oQW7j6","xCovzCoEW4e","j2JdIZRdIvO1Ba","W6C1W5PXW6lcVxpcGa","DxbKyxrLCW","k2ldGsJdJeS","y29UzMLNlNnJCM9SBc5OB3jPEM9UDgfSlMj5ugL4zwXZ","bHNcUSor","zg9TywLUCW","s1tdLvLpxJhcPq","r8olASoBW4bWC2K","kSoqdmkYcGvM","r1nuqZOZoG","sCoaFq","C2v0u2nYB2XSvg9W","jgrHDgeUzwXLBwvUDhmUCgfYzw50","y29UzMLNlNnJCM9SBc52zxj0AwnHBc5IEvbPEgvSCW","WPNdLvlcVCkNWO/dHG","W5pdRcNcVLpdM8oDW4C","uSkFBKldJ8kDW6DMW5O","WQmgdCo+WRq","xSo+WRf4WOZcGfytW63dHXbCW6OTvSkuzZqv","iConz8oEdZZcJmkdlSoUwCkwW7ldR8o1","D2fZBuLUAxrPywXPEMvK","ruxdVSktzmkxfSoGlglcMa","C2X1zW","cg1/hSk9vmkIiG4AW7a","zM9SBg93","BcVdJNXqssm","W5/cU8kCW48","AM9PBG","ptNcR8kPW5efmgrYW5KvW5xdMa","uCo7ymolW58","C3vIC2nYAwjLqwXS","lhdcUmkwWQy","W6Sdb8kCuSoUrZpcLmk5W4mLs8kmWONcI8kfsa","BgLJzw5Zzq","ChjVzhvJDa","AtRdHwnCAYZcTq","nw/dPCkCW4FcLG","eq3cGu/cOq","tgLJzw5ZzsbOyxmGzxHWAxjLzc4","DMfSDwvFBNvT","i8kUcCkN","abpcRCkCdmoMWO9IW7D+gNddSrNdQ8kD","i3ddR8kBW5RcLmkJcuZdU3ddSfONeSkIAGG9fCorW5i0c1SVySkfy8kHBh8t","W6ayhCkksmkZrNxcNCkKW5i0lCkhWOxcMCkFu0Xjs8oJss4LWP7cH8olW5KFW6KJW7OmmSon","nteWDMPYu25q","iwZdSSkuW5tcNq","W7uVW6DMW6tcVxlcIq","bqldV8oFkmoNW5q+W4OMqZhdQG","WRiCd8o9WQ7cMxVcIGODWPDRag1cW4DnBmkDBSoqWOpdGs3cQahcM8oVmmkHfa","BJZdLw5v","BCkLaCk9mHSKWRa3n8opk8kHW6fBWO0KWR9KWPfoka","W5FdV8kEWP0","W5FdPZNcOuFdMmoD","mwldMcpdHvW+wuFdKq","dueih8o0zmk0eq","cbxcM0u","tgLZDgvK","W5VdUCkFWOZdNgxdJSkOW7G","ANnVBG","lNRcPxf7vmkPW70nWPeJc8ki","t3uUW5e","BgfZDeLUzgv4t2y","W7BdVSkBWOJdK3JdG8o+W7faW51WqY7cQGpdKSoPDbu","W4ruqSoCWRuevfe1W4HMW5CcgmkSq3ddMmorgCkocWy","W63dOhzEqSoJ","iNzJb8kDxG","y29UzMLNlMXPC3qUCM93sgvPz2H0","CgfYC2vFBgLJzw5Zzv9RzxK","BxvSDgLWBgLLCG","BM9YBwfSAxPLtw91C2vxAgvLBev2zw50","ChvZAa","Aw5JBhvKzxm","AsVdIfXAvclcQtfzWOpdMG","lvNcQ8oSjmoZWPFdJG","xCorE8oEW5TZF3ZcSq","ywjZB2X1DgvqB3nqEa","W6qjb8kDt8oH","tZZdJglcQSoQWQpcTMTAW41CW4FdI8kGW6SImIycu8oaz8oCWPldNN3dML12W680A8oCECoG","Aw5PDgLHBgL6zvbSDwDPBNm","zgvZDhjVEq","DIxdI2BcSmo8WRu","odNcQq","tgLJzw5ZzsbRzxKGBM90igzVDw5KifTJB25MAwCUBgLJzw5ZzuTLEv0","C3bSAxq","W7vMxfXrW5DVWPxdNJ8","vf/cOCkoBmoxW7uTW5atFq","sw52ywXPzcbSAwnLBNnLigTLEsbBBwfSzM9YBwvKigrHDgfDlG","cWTrW5tdRLK+t8kGi11fWQzxWRjlk0PRW4W","DMfSDwu","rJS1yYzJw1G0i2u2ps08EG","mtjWDvLREvO","DMfSAwrvBNrPBa","qSkrAM/dO8kfW6zVW6BdSfLwWONcRmk/","W6GUW5D+W6pcShNcNq","BwfW","n3BdPCkjW5S","Av8pW6ZdRZO","y29UzMLNlMnVBxbVBMvUDhmUq2HHCNq","pmkXomkyWOldJan3iSo3iG","Dw5VyNnLCNzL","sw52ywXPzcb0B2TLBI4","aN5Jb8kXvmkYnr8WW6u","W4CXWPnlxMCNgXNdNq","z2v0","W7mLW5j3W6tcPNNcNa","F8kneCkMoGbSWPy","B2jZzxj2zq","Dg9W","WP7cMmkjf0H7AXpdIW","WQuKW5vMW7FdUNJcHZ/dPfqWW6yAemoMAheyW6lcJmoB","r8o4oSoHWRZcKCkJ","nrDEW5tdSW","W7L9sLK","y3vZDg9Tzxi","DMvY","y29UzMLNlMXPy2vUC2vlzxK","j3RdTq","ndK5odeYvMXuDNzo","zg9JDw1LBNq","pgjYic8+","W7ZdVh5nDmoSzN8meq","mY4ZnY41","BwfPBG","W5OHWQZdN8oXW69S","rSokESod","W7fuWQNdNdGgrSkLW6xcJa","W407WQpdJCo7W7n2pCoG","WPtdLfZcSmk7WOxdKdK","WPjSBMjMW7/cTG","WQCsdCoYWQpcQZVcJqad","mJC1nZe5ngzOq1bTvW","pSoECCov","rSohw8oOW4ddNCkuWP/dVLRcUwJcTwXnoN17WOWDWRSGWPOpW6D+eYlcICouW7NdI8ooW6vLBM1gW5eHWRPNWPnDF8kpW4VcRCkxW7eKWPhdO8ooWOWAW73dN3bYxvhdPYDez38/W4CCemkKwCojtYNcNmo0WR58EK/cRvRdSdHyW4CoWQJcPmkRWOhcLqiWcCo3lSkAg8oZWQ8hW6axmSk/dL9xva","sHJcOCkOk8kNWORcSexcRSov","jCozDSoamIa","ww91CIbSAwnLBNnLigTLEsbPCYbUB3qGDMfSAwqGzM9YihrOAxmGChjVzhvJDcb2zxjZAw9UicHTywPVCIb1CgrHDgvZigfYzsbUB3qGywXSB3DLzcKU","rmklDKBdTq","W65vt8oeWQuorq8","C3rHDhvZ","W7fuWQNdGdKCtG","BwlcHY7dKHaGDrxdQmkChGpcRSoaW6S0oM10EKeytSo8WP7dRmocwCkSjby","W7ZdV39Ex8oO","DSoSFCo5W5ddUYTvhSo7hbq","zgf0yuLUzgv4","pZFdNsFdQ8kN","mulcLCo0"];return(ki=function(){return A})()}function Gi(A,t){const g=ki();return Gi=function(t,e){let i=g[t-=160];if(void 0===Gi.NnCQQD){Gi.bMyKkC=function(A){let t="",g="";for(let g,e,i=0,o=0;e=A.charAt(o++);~e&&(g=i%4?64*g+e:e,i++%4)?t+=String.fromCharCode(255&g>>(-2*i&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let A=0,e=t.length;A<e;A++)g+="%"+("00"+t.charCodeAt(A).toString(16)).slice(-2);return decodeURIComponent(g)},A=arguments,Gi.NnCQQD=!0}const o=t+g[0],I=A[o];return I?i=I:(i=Gi.bMyKkC(i),A[o]=i),i},Gi(A,t)}function Mi(A,t){const{api:g,state:e,onDestroy:i,Actions:o,createComponent:I,html:a,onChange:s,update:B}=A;let n;const C=yg(A,fi);C[$(536,507)]();const Q=$(580,593);let r;i(e[$(604,476)](u(862,867),(A=>r=A)));const E=a`
644
+ <br />
645
+ If you are using trial version, please generate key
646
+ <a href="https://gstc.neuronet.io/free-key" target="_blank">here</a>. Otherwise, please contact with your developer
647
+ or send mail to us at <a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
648
+ `,c=a`
649
+ <div class="gstc-error">
650
+ <div style="font-weight: bold;margin-bottom:10px;">[ Connection error ]</div>
651
+ An error occurred while trying to connect with license services for
652
+ <a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar" target="_blank"
653
+ >gantt-schedule-timeline-calendar</a
654
+ >
655
+ component.<br /><br />
656
+ If you are using <span class="gstc-code">Content-Security-Policy</span> header make sure you have added
657
+ <span class="gstc-code">https://gstc.neuronet.io</span> address after space.<br />
658
+ Example: <span class="gstc-code">Content-Security-Policy: connect-src self https://gstc.neuronet.io</span><br />
659
+ More info
660
+ <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy" target="_blank"
661
+ >here</a
662
+ >
663
+ and <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" target="_blank">here</a><br /><br />
664
+ If that doesn't help please contact your developer, search for similar
665
+ <a href="https://github.com/neuronetio/gantt-schedule-timeline-calendar/issues">issues here</a> or create one. You
666
+ can also contact us at <a href="mailto:neuronet.io@gmail.com">neuronet.io@gmail.com</a>
667
+ </div>
668
+ `;function l(A,t){return pi(t-413,A)}const h=a`
669
+ <div class="gstc-error">
670
+ <div style="font-weight:bold; margin-bottom: 10px;">
671
+ The gantt-schedule-timeline-calendar component will not work with local files (protocol file: ///)
672
+ </div>
673
+ <br /><br />
674
+ Files needs to be served from http server like
675
+ <a href="https://www.npmjs.com/package/http-server" target="_blank" rel="nofollow">http-server</a> or
676
+ <a href="https://www.npmjs.com/package/sirv-cli" target="_blank" rel="nofollow">sirv-cli</a>
677
+ </div>
678
+ `,d=[];function u(A,t){return Gi(A-396,t)}function w(A,t){return pi(t-802,A)}let D,m;d[w("nMEc",1114)](e[l("Q]4!",768)](U(1291,1180),(A=>D=A))),d[w("oeN^",980)](e[V(-346,"rPUO")](k(-408,-432),(A=>m=A)));const y=I(D);function f(A,t){return Gi(t- -72,A)}i((()=>{var A,t;y&&y[(A=203,t="A!ca",w(t,A- -999))]()}));const p=I(m);function k(A,t){return Gi(A- -657,t)}i((()=>{var A,t;p&&p[(A=-59,t=53,u(t- -574,A))]()})),i((()=>{var A,t;d[(A=204,t="yEtV",V(A-519,t))]((A=>A()))}));const{onDestroy:G,state:M,update:N,html:b,unsafeHTML:R}=A;var F=!0;const S=b`<strong>[gantt-schedule-timeline-calendar component]</strong><br /><br />`;function v(A,t=""){const g=U(658- -632,577);var e,i;return b` <div class="${g}">${S}${A}${t?b`<br />${typeof t===(e="hKz$",i=-33,x(e,i- -551))?R(t):t}`:null}</div> `}function Y(A){return mt(this,void 0,void 0,(function*(){function i(A,t){return pi(A-848,t)}function o(A,t){return Gi(t- -246,A)}function I(A,t){return Gi(A-458,t)}function a(A){function t(A,t){return Gi(A-779,t)}return(A=String(A))[t(1100,1066)]((g="3uO5",e=548,pi(e-217,g)),"")[t(1100,1052)](Gi(904-465,1023),"");var g,e}function s(A){const t=(A=a(A))[g("67O0",885)](":");function g(A,t){return pi(t-632,A)}t>-1&&(A=A[g("vq0u",982)](0,t));const e=Ee(A);var i,o,I,s,B,n,C,Q,r,E,c,l;return e[(c=318,l="67O0",pi(c- -60,l))]===Be[(r=393,E=278,Gi(r-185,E))]&&e[g("pV36",848)]&&e[(C=-323,Q=-389,Gi(C- -626,Q))]&&(A=e[(B=63,n=131,Gi(B- -350,n))]+"."+e[(I=225,s=355,Gi(s-52,I))][(i=-727,o=-819,Gi(i- -906,o))](".")),A}function B(A,t){return pi(t-192,A)}let C=location[B("^tmW",395)];const Q=function(){function A(A,t){return Gi(t- -18,A)}if(void 0!==location[A(238,368)])return[...location[A(321,368)]];const t=[];let g=window;function e(A,t){return pi(t-749,A)}for(;g!==window[A(297,241)];){if(g[e("m1g8",1227)][e("8FFW",1005)])try{const A=new URL(g[(n=-286,C=-318,Gi(n- -556,C))][(s=393,B=281,Gi(s-46,B))]);t[(I=742,a=713,Gi(I-520,a))](A[(i=-541,o="Q]4!",pi(i- -938,o))])}catch(A){}g=g[e("dI6b",1212)]}var i,o,I,a,s,B,n,C;return t}();function r(A,t){return pi(t-115,A)}function l(A,t){return Gi(A- -113,t)}function d(A,t){return Gi(t-317,A)}function u(A,t){return Gi(A-803,t)}if(e[d(768,712)](r("hKz$",432),[C,...Q]),Q[u(1139,1035)]&&(C=String(Q[Q[d(665,653)]-1])),C[r("11#Q",473)](y("BeQA",-673)))return F=!1,void(n=h);if(C=a(C),A[o(95,95)](l(48,184))){let a,E;const c=e[r("^ZCI",437)](y("oeN^",-460));if(t&&t[i(1159,"hKz$")]&&typeof t[d(620,489)]===f("8FFW",242))E=yield t[B("m&bc",363)]()[d(946,786)]((A=>{function t(A,t){return y(t,A-1837)}F=!1,c&&console[Q(-109,-103)](o(1175,1135-1020),A);let g=l(1123-824,1226);var e,i;function s(A,t){return B(A,t-205)}function n(A,t){return u(A-36,t)}function C(A,t){return f(t,A-1185)}function Q(A,t){return l(A- -376,t)}typeof A[Q(-35,27)]===Q(-22,-88)&&(A[t(1321,"&T1W")][t(1466,"q5PX")](I(-548- -1425,-421))||A[(e=982,i="LctY",y(i,e-1368))][n(1062,1052)](C(1380,"!Inl"))||A[n(1293,1155)][s("F5Tz",564)](C(1163,"Mz(K")))&&(g=s("^ZCI",796)),a=v(g)}));else{F=!1,c&&console[d(730,697)](i(1132,"j&fK"),t);const A=l(299,142);a=v(A)}if(a)return F=!1,void(n=a);let h;try{const t=B("m1g8",484);h=E[u(1022,941)](A,t)}catch(A){F=!1;const t=f("^tmW",-23);return void(n=v(t,A[i(1185,"8FFW")]))}if(!h.ok){F=!1;const A=B("^H52",540);return void(n=v(A,h[o(199,208)]))}const w=h[I(824,964)];if(w&&w[y("pV36",-532)]&&w[f("Aqnx",148)]instanceof Map&&(w[y("WQtz",-568)]=Object[B("MNj^",507)](w[I(757,792)][u(1107,1200)]()),w[I(757,698)][I(777,839)]instanceof Map&&(w[o(64,53)][f("sD81",63)]=Object[o(-65,79)](w[u(1102,974)][i(1191,"nMEc")][u(1107,1136)]())),w[f("4&ur",-68)][i(1110,"bJ8F")]instanceof Map&&(w[I(757,637)][r("bJ8F",377)]=Object[i(1023,"67O0")](w[r("pV36",439)][I(938,837)][r("*YEu",395)]()))),e[l(282,235)](o(-100,-61),w),w[o(45,-60)][d(386,491)]!==B("rPUO",666)){F=!1;const A=d(666,762);return void(n=v(A))}const D=g[f("!Inl",213)][o(142,206)]()[i(1139,"EsmM")]();if(w[d(692,624)][d(424,508)]<D){F=!1;const A=y("nMEc",-617);return void(n=v(A))}let m=C;if(w[B("y@R(",599)][I(894,975)]){m=s(C);const A=Q[l(133,-29)]((A=>s(A)));if(A[f("^ZCI",187)])for(const t of w[u(1102,1036)][I(942,983)]){const g=t[i(1290,"F5Tz")](">")[y("rPUO",-380)]()[d(435,563)]((A=>s(A))),e=g[B("^tmW",554)](),I=s(location[y("*YEu",-500)]);if(!g[l(223,265)]||!A[o(1,90)]||g[d(801,653)]!==A[r("dI6b",521)]||I!==e)continue;let a=0,n=0;for(const t of g){t===A[n]&&a++,n++}if(a===Q[r("Hw7q",343)])return}}if(!w[r("nMEc",378)][u(1287,1272)][B("Mz(K",481)](C)&&!w[o(21,53)][B("rPUO",467)][f("8FFW",8)](m)){let A=!1;for(const t of w[B("j&fK",610)][I(942,835)]){if(t[i(1178,"WQtz")](".*")){const g=t[y("!Inl",-394)](0,t[f("A!ca",132)](".*")+1);if(C[l(228,334)](g)){A=!0;break}}if(t[l(110,48)]("*")){const g=t[f("m1g8",-32)](".","\\.")[d(688,685)]("*",".*");if(new RegExp(g)[y("@CyV",-373)](C)){A=!0;break}}}if(!A){F=!1;const A=f("hKz$",133)+C+"'.";return void(n=v(A,y("Mz(K",-523)+w[d(669,616)][y("Q]4!",-696)][i(1040,"4pDB")](", ")+l(279,388)))}}if(!w[f("bJ8F",220)][r("jPuB",347)][i(1037,"MNj^")]){if(e[o(40,9)](l(313,468))[u(1038,1051)](".")[0]!==w[l(73,102)][r("11#Q",292)][f("hKz$",240)](".")[0]){F=!1;const A=l(174,266);return void(n=v(A))}}return}const w=r("dI6b",308),D=f("&T1W",201),m=wi;function y(A,t){return pi(t- -856,A)}function f(A,t){return pi(t- -237,A)}if(A){if(A[I(799,960)](r("3uO5",499)))return function(){let t=null;try{const g=A[s(-268,-423)](5),i=vg[s(-274,-319)](g,w)[l(-633,"8FFW")](Jg);t=JSON[a(-425,-424)](i),t&&e[s(-293,-297)](l(-438,"hKz$"),{for:t[B(-463,-495)],domains:[...t[r(558,664)]],type:Object[h(-21,82)]({},t[a(-355,-458)]),validUntil:Object[B(-402,-321)]({},t[r(454,423)])})}catch(A){}if(!t||!t[l(-550,"4&ur")]||!t[B(-485,-420)][B(-488,-629)]){F=!1;const A=a(-603,-549);return void(n=v(A,E))}if(!t[s(-372,-501)]){F=!1;const A=c("Hw7q",565);return void(n=v(A,E))}const g=function(A){const t=Object[g("!Inl",447)]({},A);function g(A,t){return i(t- -850,A)}return delete t[g("&@Jy",372)],delete t[(I=899,a=971,d(a,I-209))],JSON[(e=331,o="hKz$",f(o,e-342))](t);var e,o,I,a}(t);function a(A,t){return I(t- -1245,A)}function s(A,t){return o(t,A- -442)}function B(A,t){return o(t,A- -482)}if(!function(A,t){if(!A||!t)return!1;const g=new m({});function e(A,t){return f(t,A-620)}return g[e(740,"dRvO")](D),g[e(631,"A!ca")](t,A,Lg)}(t[B(-412,-563)],g)){F=!1;const A=s(-316,-209);return void(n=v(A,E))}const Q=(new Date)[s(-329,-235)]();function r(A,t){return u(t- -623,A)}function c(A,t){return i(t- -685,A)}function l(A,t){return y(t,A-25)}if(t[h(-120,-1)][s(-448,-444)]<Q){F=!1;const A=r(421,370);n=v(A,E)}else{if(t[c("MNj^",370)][B(-488,-475)]===c("dRvO",528)||t[B(-399,-528)][a(-415,-547)]===s(-313,-164)){const A=C[h(-144,-31)](":");A>-1&&(C=C[p(626,"m&bc")](0,A));const t=Ee(C);t[s(-359,-262)]===Be[c("67O0",380)]&&t[p(556,"pV36")]&&t[a(-452,-484)]&&(C=t[s(-275,-282)]+"."+t[c("WQtz",407)][B(-549,-651)]("."))}if(t[p(506,"mZr%")][s(-465,-338)](C));else{F=!1;const A=p(717,"m&bc")+C+B(-257,-263);n=v(A,E)}}function h(A,t){return u(t- -1047,A)}function p(A,t){return i(A- -508,t)}}();const t=l(160,286),a=encodeURIComponent,s=(new Date)[y("48Zg",-571)](),Q=vg[y("Mz(K",-524)](s,w),h=o(142,-5),p=Mg(s+C,h,{keySize:16})[B("x!zz",417)](),k=[a(d(371,502))+"="+a(A),a(o(367,214))+"="+a(C),a(d(774,623))+"="+a(location[i(1112,"l)jn")]),a(i(1291,"^H52"))+"="+a(Q),a(B("LctY",425))+"="+a(t),a(f("pV36",35))+"="+a(navigator[r("48Zg",520)])][l(66,127)]("&"),G=y("Hw7q",-661);window[i(1263,"11#Q")](G,{method:y("A!ca",-644),redirect:i(1168,"Aqnx"),headers:{"Content-Type":I(866,885)},body:k})[y("x!zz",-433)]((A=>{var t,g,e,i;return 200!==A[(t=-555,g=-545,u(g- -1638,t))]&&(F=!1,n=c),A[(e=-637,i=-760,d(i,e- -1164))]()}))[B("oeN^",636)]((i=>{function I(A,t){return r(A,t-23)}function s(A,t){return r(t,A- -1038)}function Q(A,t){return d(t,A- -369)}function h(A,t){return l(t-819,A)}function u(A,t){return d(A,t-155)}if(i&&i.ok)if(i[y("m1g8",-116)]&&i[y("@CyV",-153)]===p)F=!0,e[h(979,1101)](y("EsmM",-135),(()=>{var A,t;function e(A,t){return I(A,t- -564)}var o,a,B,n;function C(A,t){return y(A,t-874)}function Q(A,t){return s(t-879,A)}return{registeredDomains:i[e("m1g8",9)],validUntil:{text:i[e("Q]4!",38)],value:g[C("vq0u",840)][C("F5Tz",834)](i[Q("EsmM",233)])[(B=-121,n=-208,h(n,B- -1285))]()},type:null!==(A=i[(o=-226,a=-142,h(o,a- -1177))])&&void 0!==A?A:{text:Q("vq0u",137),value:Q("11#Q",157)},for:null!==(t=i[C("sD81",600)])&&void 0!==t?t:""}}));else{F=!1;const g=w(-692,-574);n=v(g,E);const e=w(-553,-516),o=[a(u(647,657))+"="+a(A),a(m("hKz$",1017))+"="+a(C),a(m("m&bc",1024))+"="+a(location[w(-396,-520)]),a(Q(214,69))+"="+a(t),a(y("F5Tz",-86))+"="+a(String(i[m("j&fK",1200)])),a(m("LctY",1202))+"="+a(p),a(h(1188,1109))+"="+a(navigator[m("^rfh",1001)])][D(458,352)]("&");window[s(-621,"3uO5")](e,{method:h(1093,1143),redirect:Q(124,221),headers:{"Content-Type":D(687,600)},body:o})}else if(i){F=!1;const A=R(i[I("F5Tz",342)][Q(269,295)](/\n/gi,Q(219,260)));let t=null;i[u(773,823)]&&(t=R(i[w(-452,-475)][Q(269,229)](/\n/gi,s(-627,"jPuB"))));const g=I("*zgw",392);n=b` <div class="${g}"><strong>${S} ${A}</strong><br />${t}<br />${E}</div> `}else F=!1,n=c;function w(A,t){return l(t- -713,A)}function D(A,t){return o(t,A-525)}function m(A,t){return B(A,t-549)}function y(A,t){return r(A,t- -595)}N()}))[y("oeN^",-480)]((()=>{F=!1,n=c,N()}))}else{F=!1;const A=d(688,551),t=d(494,630);n=b` <div class="${t}">${S} ${A}${E}</div> `}}))}G(M[U(1275,1399)]($(573,571),(A=>{function t(A,t){return w(A,t- -1681)}function g(A,t){return U(t- -1692,A)}Y(A)[t("@CyV",-448)]((()=>{N()}))[g(-175,-246)]((A=>{F=!1;const i=o("jPuB",1144);function o(A,g){return t(A,g-1794)}var I,a;n=v(i),e[o("3uO5",1183)](g(-311,-366- -40))&&console[(I=1166,a="Mz(K",t(a,I-1666))](t("4pDB",807-1348),A),N()})),N()})));const L={width:0,height:0};function U(A,t){return Gi(A-977,t)}const J={width:0,height:0};function x(A,t){return pi(t-107,A)}let H,q,K,z;function W(A){function t(A,t){return u(A-366,t)}const g=A[t(1115,1104)],i=A[t(1067,1003)];function o(A,t){return w(t,A- -207)}var I,a,s,B,n,C;(L[t(1230,1288)]!==g||L[(n="m1g8",C=1341,V(C-1484,n))]!==i)&&(L[o(1048,"&T1W")]=g,L[(s=577,B="LctY",w(B,s- -616))]=i,e[(I=1365,a=1351,u(a-560,I))](o(939,"q5PX"),L))}class T{constructor(A){var t,g,i,o;!H&&(H=new ResizeObserver((()=>{W(A)})),H[(i=186,o="4&ur",V(i-458,o))](A),e[(t="pV36",g=-207,x(t,g- -607))](k(1386-1587,1458),A),W(A))}[w("j&fK",1253)](){}[U(1208,1171)](A){var t,g;H[(t="yEtV",g=637,x(t,g-58))](A)}}function j(A){const t=A[(g=908,i="Aqnx",V(g-1099,i))];var g,i;const o=A[(I="^H52",a=324,l(I,a- -407))];var I,a,s,B,n,C,Q,r,E,c,h,d;(J[(h="3uO5",d=939,x(h,d-585))]!==t||J[(E=175,c=61,U(E- -1211,c))]!==o)&&(J[(Q=905,r="^ZCI",V(Q-1201,r))]=t,J[(n=-93,C=-126,$(C- -841,n))]=o,e[(s=472,B=351,f(s,B-28))]($(-174- -861,-12),J))}!r[x("mZr%",386)](T)&&r[k(-435,-416)](T);class Z{constructor(A){function t(A,t){return u(t-168,A)}function g(A,t){return u(t-446,A)}A=A[g(1154,1307)],!q&&(q=new ResizeObserver((()=>{j(A)})),q[g(973,1100)](A),e[t(827,959)](t(677,728),A),j(A))}[w("3uO5",990)](){}[U(1208,1224)](A){var t,g,e,i;q[(e=120,i=119,$(i- -438,e))](A[(t=-481,g=-451,f(t,g- -844))])}}function V(A,t){return pi(A- -624,t)}function P(A,t){return pi(t-459,A)}!r[V(-138,"hKz$")](Z)&&r[P("3uO5",849)](Z),i((()=>{var A,t,g,e;q[(A="l)jn",t=-679,l(A,t- -1328))](),H[(g=754,e=649,u(g- -69,e))]()})),i(e[f(47,110)]([V(-363,"8FFW"),f(259,345)],(()=>{function A(A,t){return x(A,t-15)}function t(A,t){return l(A,t-135)}if(e[t("^ZCI",870)](t("hKz$",849))){const a=e[(o="y@R(",I=1059,l(o,I-199))](t("4pDB",750));if(!a)return;e[(g=-418,i=-482,f(i,g- -741))](A("Hw7q",306),(()=>{var g,i,o,I;return a[(o="m1g8",I=-12,A(o,I- -615))]-e[(g="LctY",i=457,A(g,i- -138))](t("dRvO",1081-363))}))}var g,i,o,I}),{group:!0})),i(e[U(1275,1262)](k(-235,-367),(A=>{var t,g,e,i,o,I,a,s;K=A[(e="8FFW",i=301,V(i-527,e))][(t=-716,g=-682,$(g- -1208,t))],z=A[(a=37,s=68,$(a- -608,s))][(o=1143,I=1221,f(I,o-995))]})));const O={handleEvent(A){function t(A,t){return U(t- -1824,A)}const i=g[o(88,95)](A);function o(A,t){return k(t-531,A)}if(A[Q(-83,"4&ur")]||i.x){const A=i.x?i.x:i.y,I=g[s(285,142)]();return void(A>0?e[a(666,"hKz$")](Q(-238,"3uO5"))?g[s(53,155)](I[Q(-221,"&@Jy")]+A*K):g[B(-340,-272)](I[s(4,49)]+K):e[o(-33,129)](B(-219,-191))?g[B(-251,-272)](I[t(-729,-620)]+A*K):g[r(243,"LctY")](I[a(672,"WQtz")]-K))}function I(A,t){return P(t,A- -381)}function a(A,t){return w(t,A- -298)}function s(A,t){return u(t- -642,A)}function B(A,t){return u(t- -1069,A)}function n(A,t){return k(t-1290,A)}const C=g[s(-69,77)]();function Q(A,t){return w(t,A- -1234)}function r(A,t){return x(t,A- -44)}if(i.y>0)if(e[t(-725,-592)](Q(-232,"4&ur"))){const A=e[o(5,129)](n(885,851));let t=0;t=A?i.y/A*z:i.y*z,g[I(302,"11#Q")](C[I(494,"*zgw")]+t)}else g[(E="l)jn",c=0,P(E,c- -907))](C[o(217,169)]+z);else if(e[s(-14,9)](n(828,798))){const A=e[r(492,"Aqnx")](t(-607,-629));let o=0;o=A?i.y/A*z:i.y*z,g[n(724,796)](C[s(70,-19)]+o)}else g[r(357,"vq0u")](C[n(851,928)]-z);var E,c},passive:!0},X=Object[w("*zgw",1184)](Object[V(-427,"3uO5")]({},t),{api:g,state:e,componentName:Q});function $(A,t){return Gi(A-306,t)}s((A=>{for(const t in A)X[t]=A[t]}));const _=o[l("dRvO",755)](r,X),AA=g[l("dI6b",612)](P("^tmW",893),A,t);return i(AA[k(-426,-349)]),()=>F?AA[x("F5Tz",528)](U(1344,1404),a`
679
+ <div
680
+ data-info-url="https://github.com/neuronetio/gantt-schedule-timeline-calendar"
681
+ class=${C[x("&@Jy",441)]}
682
+ style=${C[l("11#Q",600)][P("^tmW",668)]()}
683
+ data-actions=${_()}
684
+ @wheel=${O}
685
+ >
686
+ ${AA[P("x!zz",756)](k(-232,-275),a` ${y[w("sD81",1257)]()}${p[w("BeQA",1173)]()} `)}
687
+ </div>
688
+ `):n}let Ni;!function(A){function t(A,t){return Gi(t-909,A)}function g(A,t){return pi(A- -625,t)}const e=A();function i(A,t){return pi(t- -838,A)}for(;;)try{if(135436===parseInt(g(-150,"y@R("))/1*(parseInt(Gi(-529- -970,-382))/2)+-parseInt(t(1448,1339))/3+parseInt(i("jPuB",-410))/4+parseInt(t(1235,1244))/5*(parseInt(Gi(1355-972,1230))/6)+-parseInt(t(1365,1313))/7*(parseInt(Gi(44- -366,-36))/8)+parseInt(g(-317,"4F7V"))/9*(parseInt(pi(678-291,"yEtV"))/10)+-parseInt((o="BeQA",I=848,pi(I-502,o)))/11*(parseInt(i("Q]4!",-581))/12))break;e.push(e.shift())}catch(A){e.push(e.shift())}var o,I}(ki);const bi=new Array(128).fill(void 0);function Ri(A){return bi[A]}bi.push(void 0,null,!0,!1);let Fi=bi.length;function Si(A){const t=Ri(A);return function(A){A<132||(bi[A]=Fi,Fi=A)}(A),t}const vi="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&vi.decode();let Yi=null;function Li(){return null!==Yi&&0!==Yi.byteLength||(Yi=new Uint8Array(Ni.memory.buffer)),Yi}function Ui(A,t){return A>>>=0,vi.decode(Li().subarray(A,A+t))}function Ji(A){Fi===bi.length&&bi.push(bi.length+1);const t=Fi;return Fi=bi[t],bi[t]=A,t}let xi=0;const Hi="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},qi="function"==typeof Hi.encodeInto?function(A,t){return Hi.encodeInto(A,t)}:function(A,t){const g=Hi.encode(A);return t.set(g),{read:A.length,written:g.length}};function Ki(A,t,g){if(void 0===g){const g=Hi.encode(A),e=t(g.length,1)>>>0;return Li().subarray(e,e+g.length).set(g),xi=g.length,e}let e=A.length,i=t(e,1)>>>0;const o=Li();let I=0;for(;I<e;I++){const t=A.charCodeAt(I);if(t>127)break;o[i+I]=t}if(I!==e){0!==I&&(A=A.slice(I)),i=g(i,e,e=I+3*A.length,1)>>>0;const t=Li().subarray(i+I,i+e);I+=qi(A,t).written}return xi=I,i}let zi=null;function Wi(){return null!==zi&&0!==zi.byteLength||(zi=new Int32Array(Ni.memory.buffer)),zi}function Ti(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){Si(A)},A.wbg.__wbindgen_string_new=function(A,t){return Ji(Ui(A,t))},A.wbg.__wbindgen_bigint_from_i64=function(A){return Ji(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return Ji(BigInt.asUintN(64,A))},A.wbg.__wbindgen_error_new=function(A,t){return Ji(new Error(Ui(A,t)))},A.wbg.__wbindgen_object_clone_ref=function(A){return Ji(Ri(A))},A.wbg.__wbg_String_b9412f8799faab3e=function(A,t){const g=Ki(String(Ri(t)),Ni.__wbindgen_malloc,Ni.__wbindgen_realloc),e=xi;Wi()[A/4+1]=e,Wi()[A/4+0]=g},A.wbg.__wbindgen_number_new=function(A){return Ji(A)},A.wbg.__wbg_set_f975102236d3c502=function(A,t,g){Ri(A)[Si(t)]=Si(g)},A.wbg.__wbg_new_abda76e883ba8a5f=function(){return Ji(new Error)},A.wbg.__wbg_stack_658279fe44541cf6=function(A,t){const g=Ki(Ri(t).stack,Ni.__wbindgen_malloc,Ni.__wbindgen_realloc),e=xi;Wi()[A/4+1]=e,Wi()[A/4+0]=g},A.wbg.__wbg_error_f851667af71bcfc6=function(A,t){let g,e;try{g=A,e=t,console.error(Ui(A,t))}finally{Ni.__wbindgen_free(g,e,1)}},A.wbg.__wbg_new_898a68150f225f2e=function(){return Ji(new Array)},A.wbg.__wbg_new_56693dbed0c32988=function(){return Ji(new Map)},A.wbg.__wbg_new_b51585de1b234aff=function(){return Ji(new Object)},A.wbg.__wbg_set_502d29070ea18557=function(A,t,g){Ri(A)[t>>>0]=Si(g)},A.wbg.__wbg_set_bedc3d02d0f05eb0=function(A,t,g){return Ji(Ri(A).set(Ri(t),Ri(g)))},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof Ri(A)},A.wbg.__wbindgen_throw=function(A,t){throw new Error(Ui(A,t))},A}function ji(A,t){return Ni=A.exports,Zi.__wbindgen_wasm_module=t,zi=null,Yi=null,Ni}async function Zi(A){if(void 0!==Ni)return Ni;const t=Ti();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:g,module:e}=await async function(A,t){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,t)}catch(t){if("application/wasm"==A.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,t)}{const g=await WebAssembly.instantiate(A,t);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}(await A,t);return ji(g,e)}var Vi=Object.freeze({__proto__:null,parse_license_key:function(A,t){const g=Ki(A,Ni.__wbindgen_malloc,Ni.__wbindgen_realloc),e=xi,i=Ki(t,Ni.__wbindgen_malloc,Ni.__wbindgen_realloc),o=xi;return Si(Ni.parse_license_key(g,e,i,o))},License:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_license_free(A)}},LicenseDate:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_licensedate_free(A)}},LicenseKeyResult:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_licensekeyresult_free(A)}},LicenseResult:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_licenseresult_free(A)}},LicenseType:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_licensetype_free(A)}},ProductInfo:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_productinfo_free(A)}},SignedLicense:class{__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,A}free(){const A=this.__destroy_into_raw();Ni.__wbg_signedlicense_free(A)}},initSync:function(A){if(void 0!==Ni)return Ni;const t=Ti();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),ji(new WebAssembly.Instance(A,t),A)},default:Zi});const Pi=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function Oi(A){return Pi[A-43]}const Xi=function(A){let t,g=A.endsWith("==")?2:A.endsWith("=")?1:0,e=A.length,i=new Uint8Array(e/4*3);for(let g=0,o=0;g<e;g+=4,o+=3)t=Oi(A.charCodeAt(g))<<18|Oi(A.charCodeAt(g+1))<<12|Oi(A.charCodeAt(g+2))<<6|Oi(A.charCodeAt(g+3)),i[o]=t>>16,i[o+1]=t>>8&255,i[o+2]=255&t;return i.subarray(0,i.length-g)}("AGFzbQEAAAAB/QEjYAJ/fwF/YAJ/fwBgA39/fwF/YAN/f38AYAF/AGABfwF/YAR/f39/AGAFf39/f38AYAR/f39/AX9gAAF/YAZ/f39/f38AYAV/f39/fwF/YAV/f39+fwBgB39/f39/f38Bf2AAAGABfgF/YAZ/f39/f38Bf2ADf39+AGABfAF/YAl/f39/f39+fn4AYAN+f38Bf2AEf39/fgBgAn5/AGALf39/f39/f39/f38Bf2ACf34Bf2ADfn9/AX5gA39+fgBgBn5/f39/fwF+YAJ+fwF/YAV/f35/fwBgBH9+f38AYAV/f31/fwBgBH99f38AYAV/f3x/fwBgBH98f38AAtwEEwN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABAN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3AAADd2JnGl9fd2JpbmRnZW5fYmlnaW50X2Zyb21faTY0AA8Dd2JnGl9fd2JpbmRnZW5fYmlnaW50X2Zyb21fdTY0AA8Dd2JnFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAADd2JnG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgAFA3diZx1fX3diZ19TdHJpbmdfYjk0MTJmODc5OWZhYWIzZQABA3diZxVfX3diaW5kZ2VuX251bWJlcl9uZXcAEgN3YmcaX193Ymdfc2V0X2Y5NzUxMDIyMzZkM2M1MDIAAwN3YmcaX193YmdfbmV3X2FiZGE3NmU4ODNiYThhNWYACQN3YmccX193Ymdfc3RhY2tfNjU4Mjc5ZmU0NDU0MWNmNgABA3diZxxfX3diZ19lcnJvcl9mODUxNjY3YWY3MWJjZmM2AAEDd2JnGl9fd2JnX25ld184OThhNjgxNTBmMjI1ZjJlAAkDd2JnGl9fd2JnX25ld181NjY5M2RiZWQwYzMyOTg4AAkDd2JnGl9fd2JnX25ld19iNTE1ODVkZTFiMjM0YWZmAAkDd2JnGl9fd2JnX3NldF81MDJkMjkwNzBlYTE4NTU3AAMDd2JnGl9fd2JnX3NldF9iZWRjM2QwMmQwZjA1ZWIwAAIDd2JnFF9fd2JpbmRnZW5faXNfc3RyaW5nAAUDd2JnEF9fd2JpbmRnZW5fdGhyb3cAAQO+A7wDBQMDAQYCAAICAQEDBgMQBAIAAwMCAAIC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BCgCDCEIIAQoAggEQCAEQRBqKAIAIQUMAQsgByAFNgIAIAcgCDYCBEGBgICAeCEICyALIAU2AgQgCyAINgIAIARBIGokACAGKAIIIAYoAgwQsQIgBkEQaiQAIAMoAlwhAgsgAygCWCACQRhsaiICIAopAAA3AAEgAiAJOgAAIAJBCWogDCkAADcAACACQRBqIA0pAAA3AAAgAyADKAJcQQFqNgJcDAELCyADKAJUIQIgAykCWCEPQQQhBQwFCyABIAEtABhBAWsiAjoAGCACQf8BcUUNAyABQRRqIgIgAigCAEEBajYCACADQShqIQQjAEHAAWsiAiQAIAJBAToACCACIAE2AgQgAkGgAWogAkEEahAyAkAgAigCoAEiBUGBgICAeEYEQCACKAKkASEFIARBBjoAACAEIAU2AgQMAQsgBUGAgICAeEYEQCAEQQA2AgwgBEEANgIEIARBBToAAAwBCyACKAKoASEGIAIoAqQBIQcgAkEANgIUIAJBADYCDCACIAY2ApABIAIgBzYCjAEgAiAFNgKIASACQaABaiACQQRqEK0CAkAgAi0AoAFBBkcEQCACQShqIAJBsAFqIggpAwA3AwAgAkEgaiACQagBaiIJKQMANwMAIAIgAikDoAE3AxggAkEwaiIFIAJBDGogAkGIAWogAkEYahBVIAUQ7QIgAkE0aiEFIAJBpAFqIQYDQAJAIAJB8ABqIAJBBGoQMgJAAkACQAJAIAIoAnAiB0GAgICAeGsOAgQAAQsgAigCdCEFDAELIAIgAikCdCIPNwKAASACIAc2AnwgAkGIAWogAkEEahCtAiACLQCIAUEGRw0BIAIoAowBIQUgAkH8AGoQygILIARBBjoAACAEIAU2AgQMBAsgBiACKQOIATcCACAGQRBqIAJBmAFqKQMANwIAIAZBCGogAkGQAWopAwA3AgAgAkE4aiAJKQIANwMAIAJBQGsgCCkCADcDACACQcgAaiACQbgBaigCADYCACACIAIpAqABNwMwIAIgBzYCTCACIA8+AlAgAiAPQiCIPgJUIAJB6ABqIAVBEGopAgA3AwAgAkHgAGogBUEIaikCADcDACACIAUpAgA3A1ggAkGgAWoiByACQQxqIAJBzABqIAJB2ABqEFUgBxDtAgwBCwsgAkGrAWogAkEUaigCADYAACAEQQU6AAAgAiACKQIM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AiAANgIADwsgASADED0LAkACQCACKAIEIgNBAnFFBEAgAkH8x8IAKAIARg0CIAJB+MfCACgCAEYNBSACIANBeHEiAhA9IAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQfjHwgAoAgBHDQFB8MfCACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEEdBACEBQZDIwgBBkMjCACgCAEEBayIANgIAIAANAUHYxcIAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQZDIwgAgAUH/HyABQf8fSxs2AgAPC0H8x8IAIAE2AgBB9MfCAEH0x8IAKAIAIABqIgA2AgAgASAAQQFyNgIEQfjHwgAoAgAgAUYEQEHwx8IAQQA2AgBB+MfCAEEANgIACyAAQYjIwgAoAgAiA00NAEH8x8IAKAIAIgJFDQBBACEBAkBB9MfCACgCACIEQSlJDQBB0MXCACEAA0AgAiAAKAIAIgVPBEAgBSAAKAIEaiACSw0CCyAAKAIIIgANAAsLQdjFwgAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtBkMjCACABQf8fIAFB/x9LGzYCACADIARPDQBBiMjCAEF/NgIACw8LIABBeHFB4MXCAGohAgJ/QejHwgAoAgAiA0EBIABBA3Z0IgBxRQRAQejHwgAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtB+MfCACABNgIAQfDHwgBB8MfCACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgALmgUBC38jAEEwayIDJAAgA0EkaiABNgIAIANBAzoALCADQSA2AhwgA0EANgIoIAMgADYCICADQQA2AhQgA0EANgIMAn8CQAJAAkAgAigCECILRQRAIAJBDGooAgAiAEUNASACKAIIIgEgAEEDdGohBCAAQQFrQf////8BcUEBaiEIIAIoAgAhAANAIABBBGooAgAiBgRAIAMoAiAgACgCACAGIAMoAiQoAgwRAgANBAsgASgCACADQQxqIAFBBGooAgARAAANAyAFQQFqIQUgAEEIaiEAIAFBCGoiASAERw0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCEMIABBAWtB////P3FBAWoh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AWsOBQABAgMFBAsgA0EIaiACIAEtAAEQ1gIgAygCDCEBIAMoAggMBQsCQAJAAkAgASgCCEEBaw4CAQIACyABQRBqKQMAIQwjAEEwayIBJAAgASAMNwMIIANBEGoiBAJ/IAItAAJFBEAgDEKAgICAgICAEFoEQCABQRxqQgE3AgAgAUECNgIUIAFB5OPAADYCECABQekANgIsIAEgAUEoajYCGCABIAFBCGo2AihBASECIAFBEGoQ/gEMAgtBACECIAy6EAcMAQtBACECIAwQAws2AgQgBCACNgIAIAFBMGokACADKAIUIQEgAygCEAwGCyADQRhqIAIgAUEQaikDABB4IAMoAhwhASADKAIYDAULIANBIGoiAiABQRBqKwMAEAc2AgQgAkEANgIAIAMoAiQhASADKAIgDAQLIANBKGogAUEIaigCACABQQxqKAIAEOYCIAMoAiwhASADKAIoDAMLIANBMGohBiMAQUBqIgQkACAEIAFBBGoiASgCBCIFNgIYIAQgBSABKAIIQRhsajYCHCAEQRBqIgFBATYCACABIARBGGoiASgCBCABKAIAa0EYbjYCBCAEKAIQGiAEKAIUGhAMIQUgBEEwaiIBQQA2AgggASAFNgIEIAEgAjYCAAJ/AkAgBCgCMARAIARBKGogBEE4aigCADYCACAEIAQpAjA3AyAgBCgCGCEBIAQoAhwhBwJAA0AgASAHRg0BIAQgATYCMCABQRhqIQEgBEEIaiEIIwBBEGsiAiQAIARBIGoiBSgCCCEKIAJBCGogBEEwaigCACAFKAIAECYgAigCDCEJIAIoAggiC0UEQCAFQQRqKAIAIAogCRAPIAUgBSgCCEEBajYCCAsgCCALNgIAIAggCTYCBCACQRBqJAAgBCgCCEUNAAsgBCgCDCECIAQgATYCGCAEQSBqQQRyENECDAILIAQgBzYCGCAEQThqIARBKGooAgA2AgAgBCAEKQMgNwMwIAQgBEEwaigCBDYCBCAEQQA2AgAgBCgCBCECIAQoAgAMAgsgBCgCNCECC0EBCyEBIAYgAjYCBCAGIAE2AgAgBEFAayQAIAMoAjQhASADKAIwDAILQYEBQYABIAItAAAbIQFBAAwBCyADQegAaiACIAFBDGooAgAiBBCOAwJAIAMoAmhBAkcEQCADQeAAaiADQfgAaigCADYCACADQdgA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ACADQRhrKAIAIAJqampqIQIgA0EgaiEDIAggBUEEaiIFRw0ACwsgBwRAIAVBA3QgBmpBBGohAwNAIAMoAgAgAmohAiADQQhqIQMgB0EBayIHDQALCyABQQxqKAIABEAgAkEASA0BIAYoAgRFIAJBEElxDQEgAkEBdCECCyACDQELQQEhA0EAIQIMAQsgAkEASA0BQfnDwgAtAAAaIAJBARD6AiIDRQ0CCyAEQQA2AgggBCADNgIEIAQgAjYCACAEQaSFwgAgARAjRQ0CQYSGwgBBMyAEQQ9qQbiGwgBB4IbCABCKAQALEIACAAtBASACELMDAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAALlgMBA38jAEEgayICJAAgAkEIaiABKAIAIgMQggECQCACLQAIRQRAIAItAAlFBEAgAkECNgIQIAMgAkEQahCEAiEBIABBAzYCACAAIAE2AgQMAgsCQAJAIAItAAoiBEEsRwRAIARB3QBHBEAgAS0ABA0CIAJBBzYCECADIAJBEGoQhAIhASAAQQM2AgAgACABNgIEDAULIABBAjYCAAwECyABLQAEDQAgAxDXAiACQRBqIAMQggEgAi0AEARAIAAgAigCFDYCBCAAQQM2AgAMBAsgAi0AEQRAIAItABIhBAwCCyACQQU2AhAgAyACQRBqEIQCIQEgAEEDNgIAIAAgATYCBAwDCyABQQA6AAQLIARB3QBGBEAgAkESNgIQIAMgAkEQahCEAiEBIABBAzYCACAAIAE2AgQMAgsgAkEQaiADEGwgAigCEEECRwRAIAAgAikCEDcCACAAQQhqIAJBGGopAgA3AgAMAgsgACACKAIUNgIEIABBAzYCAAwBCyAAIAIoAgw2AgQgAEEDNgIACyACQSBqJAALugMBA38jAEEgayICJAAgAkEMaiABKAIAIgMQggECQCACLQAMRQRAIAItAA1FBEAgAkECNgIUIAMgAkEUahCEAiEBIABBgYCAgHg2AgAgACABNgIEDAILAkACQCACLQAOIgRBLEcEQCAEQd0ARwRAIAEtAAQNAiACQQc2AhQgAyACQRRqEIQCIQEgAEGBgICAeDYCACAAIAE2AgQMBQsgAEGAgICAeDYCAAwECyABLQAEDQAgAxDXAiACQRRqIAMQggEgAi0AFARAIAAgAigCGDYCBCAA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LGoQ0QILIAJBEGoQ9wIgAkHwAGokACAADwtB1IbAAEE3IAJBMGpBjIfAAEHoh8AAEIoBAAugBAEFfyMAQeAAayICJAAgAkHYAGpBvI/AADYCACACQdAAakG4iMAANgIAIAJByABqQcSRwAA2AgAgAkFAa0HEkcAANgIAIAJBOGpBxJHAADYCACACQTBqQciIwAA2AgAgAkEoakG0kcAANgIAIAJBIGpBpJHAADYCACACQRhqQciIwAA2AgAgAkEQakGUkcAANgIAIAJBhJHAADYCCCACIAA2AhwgAiAAQfABajYCTCACIABB+ABqNgJEIAIgAEHYAGo2AjwgAiAAQThqNgI0IAIgAEHYAWo2AiwgAiAAQSBqNgIkIAIgAEHMAWo2AhQgAiAAQZgBajYCDCACIABB5AFqNgIEIAIgAEEQajYCXCACIAJB3ABqNgJUIAJBBGohBEELIQVBnJDAACEDIwBBIGsiACQAIABBCzYCACAAQQs2AgQgASgCFEHMj8AAQQcgAUEYaigCACgCDBECACEGIABBADoADSAAIAY6AAwgACABNgIIAn8DQCAAQQhqIAMoAgAgA0EEaigCACAEQbSnwgAQPiEBIARBCGohBCADQQhqIQMgBUEBayIFDQALIAAtAAwiA0EARyAALQANRQ0AGkEBIAMNABogASgCACIBLQAcQQRxRQRAIAEoAhRBw6LCAEECIAEoAhgoAgwRAgAMAQsgASgCFEHCosIAQQEgASgCGCgCDBECAAshASAAQSBqJAAgASEAIAJB4ABqJAAgAAueAgEBfyMAQSBrIgIkACACQQRqIAEQggECQAJAAn8gAi0ABEUEQCACLQAFDQIgAkEFNgIQIAEgAkEQahCEAgwBCyACKAIICyEBIABBgICAgHg2AgAgACABNgIEDAELAkACQCABAn8gAi0ABkEiRwRAIAEgAkEfakHUgcAAECoMAQsgARDXAiABQQA2AgggAkEQaiABQQxqIAEQPCACKAIQQQJGDQEgAkEEaiACKAIUIAIoAhgQzwEgAigCBEGAgICAeEcNAiACKAIICxDJAyEBIABBgICAgHg2AgAgACABNgIEDAILIAAgAigCFDYCBCAAQYCAgIB4NgIADAELIAAgAikCBDcCACAAQQhqIAJBDGooAgA2AgALIAJBIGokAAuIAgECfyMAQSBrIgEk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AgAgACABNgIEDAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgAQswMACxCAAgALIANBIGokAAvKAQECfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQAgACgCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiBEF/c0EfdiEBAkAgAkUEQCADQQA2AhgMAQsgAyACNgIcIANBATYCGCADIAAoAgQ2AhQLIANBCGogASAEIANBFGoQXSADKAIMIQEgAygCCEUEQCAAIAQ2AgAgACABNgIEDAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgAQswMACxCAAgALIANBIGokAAvjAgEEfyMAQRBrIgMkAAJAA0ACQCAAKAIIIgEgACgCBCICTwRAIAEgAkcNAyADQQQ2AgQgACADQQRqEJECIQEMAQsgACgCACABai0AACICQfSWwQBqLQAARQRAIAAgAUEBajYCCAwCCyACQdwARwRAIAJBIkcEQCADQQ82AgQgACADQQRqEJECIQEMAgsgACABQQFqNgIIQQAhAQwBCyAAIAFBAWo2AghBACEEIwBBEGsiASQAIAFBBGogABCwAQJAIAEtAARFBEACQAJAAkAgAS0ABSICQe4Aaw4IBAEBAQQBBAIACwJAIAJB4gBrDgUEAQEBBAALIAJBIkYgAkEvRnIgAkHcAEZyDQMLIAFBCzYCBCAAIAFBBGoQkQIhBAwCCyABQQRqIAAQVyABLwEERQ0BCyABKAIIIQQLIAFBEGokACAEIgFFDQELCyADQRBqJAAgAQ8LIAEgAkHUlsEAEJ4BAAu1AgIFfwF+IwBBIGsiAiQAAkACQCABKAIgIgQEfyABIARBAWs2AiAgARCYASIDRQ0BIAMoAgghBiADKAIAIQEgAygCBCEFAkADQCABLwGSAyAGSwRAIAIgBjYCCCACIAU2AgQgAiABNgIADAILIAEoAogCIgQEQCAFQQFqIQUgAS8BkAMhBiAEIQEMAQsLIAIgATYCBCACQQA2AgAgAkEIaiAFNgIACyACKAIAIgFFDQIgAikCBCEHIAIgATYCFCACIAc3AhggAiACQRRqEKsBIANBCGogAkEIaigCADYCACADIAIpAgA3AgAgASAHQiCIpyIEQRhsaiEDIAEgBEEMbGpBjAJqBUEACyEBIAAgAzYCBCAAIAE2AgAg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CyAMQQlBsK3CABCeAQALIApBNGogEDYCAAJAAkACQAJAAkAgAygCMEUEQCADQThqKAIAIQUgA0E9ai0AACEJIANB5ABqKAIAIQsgAygCYCECIANBPmotAAAhBgNAIAYNBCAFRQ0CAkAgBSALTwRAIAUgC0YNAQwICyACIAVqLAAAQb9/TA0HCyACIAVqIgFBAWstAAAiAMAiCEEASARAIAhBP3ECfyABQQJrLQAAIgDAIghBQE4EQCAAQR9xDAELIAhBP3ECfyABQQNrLQAAIgDAIghBQE4EQCAAQQ9xDAELIAhBP3EgAUEEay0AAEEHcUEGdHILQQZ0cgtBBnRyIQALIAlB/wFxDQMgAEGAgMQARg0EAn9BfyAAQYABSQ0AGkF+IABBgBBJDQAaQX1BfCAAQYCABEkbCyAFaiEFQQEhCQwACwALIAMoAmgiFiADQcQAaigCACINaiEKIA0gA0HsAGooAgAiAWshFyADKAJgIhMgAWshGEEAIA1rIRQgDSABIAEgDUkbIhkgDWshECADQdgAaigCACEAIANByABqKAIAIQggA0HQAGooAgAhBSADQeQAaigCACELIANB1ABqKAIAIRogAykDOCEdA0AgDSANIAAgACANSxsgGkF/RiIRG0EBayEEIBQgASAAIBEbIgAgDSAAIA1LG2ohDAJAAkACQAJAA0AgBSIHIAFrIgUgC08NCAJAIB0gBSATajEAAIhCAYNQRQRAIAcgGGohAiAEIQAMAQsgEQ0BDAULAkADQCAAQX9GBEAgByAXaiEAIAwhCSAQIQIgCiEGA0AgCUUNCyACRQ0FIAAgC08NBiAJQQFrIQkgAkEBayECIAAgE2ohGyAGLQAAIRwgBkEBaiEGIABBAWohACAcIBstAABGDQALIAcgCGshBSARDQMgCCEADAgLIAEgBE0NBSALIAAgBWpLBEAgACACaiEJIAAgFmohBiAAQQFrIQAgBi0AACAJLQAARw0CDAELCyAHIAFrIABqIAtB5PfAABCeAQALIAcgDWsgAGpBAWohBSARDQALIAcgFGogAGpBAWohBQwDCyAZIAFBtPfAABCeAQALIAAgC0HE98AAEJ4BAAsgACABQdT3wAAQngEACyABIQAMAAsACyAJQf8BcUUNAQsgBUEJaiILIQADQCADQShqIA8gAEHw/cAAEKYBAkAgAygCLARAIAMoAigtAABBMGtB/wFxQQpJDQELIANBIGogDyAAQYD+wAAQpgEgAygCICECIAMoAiRBCE8Ef0GV/MAAQQggAkEIEMACBUEAC0UNAiAAQQhqIgEhCQNAAkAgA0EYaiAPIAlBkP7AABCmAQJAIAMoAhwEQCADKAIYLQAAQTBrQf8BcUEKSQ0BC0EBIQIgCSASSQ0GIANBEGogDyALIABBoP7AABB8IANBMGogAygCECADKAIUEFAgAy0AMA0GIAMoAjQhCyADQQhqIA8gASAJQbD+wAAQfCADQTBqIAMoAgggAygCDBBQIAMtADANBiADKAI0IQlBACECIAUgEksNBiAFRSAFIBJPckUEQCAFIBVqLAAAQb9/TA0CCyAPIAU2AggMBgsgCUEBaiEJDAELC0H098AAQTBBpPjAABDcAQALIABBAWohAAwACwALQQEhAgsgA0E4aiAPQQhqKAIANgIAIAMgDykCADcDMCADIANBMGoQgANB+cPCAC0AABogAygCBCEBIAMoAgAhBkEUQQQQ+gIiAARAIAAgBjYCBCAAQQA2AgAgAEEAIAkgAhs2AhAgAEEAIAsgAhs2AgwgACABNgIIIANB8ABqJAAgAAwCC0EEQRQQswMACyACIAtBACAFQbT4wAAQ9QIACyEAIA5BIGokACAAC5YBAQN/IwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACIgRBBHYhAiAEQRBPDQALIABBgAFqIgJBgAFLBEAgAkGAAUH8pMIAEJ0BAAsgAUEBQfekwgBBAiAAIANqQYABakEAIABrECEhACADQYABaiQAIAALlQEBA38jAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAiIEQQR2IQIgBEEQTw0ACyAAQYABaiICQYABSwRAIAJBgAFB/KTCABCdAQALIAFBAUH3pMIAQQIgACADakGAAWpBACAAaxAhIQAgA0GAAWokACAAC5YBAQN/IwBBgAFrIgMkACAALQAAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACIgRBBHYhAiAEQRBPDQALIABBgAFqIgJBgAFLBEAgAkGAAUH8pMIAEJ0BAAsgAUEBQfekwgBBAiAAIANqQYABakEAIABrECEhACADQYABaiQAIAALrQYBCH8jAEGgCGsiCSQAIAlBH2oiBEEAQYAIELoDGiMAQRBrIgUkACAFQQhqIARBgAggA0EDdiADQQdxQQBHakGEzcAAEK4CIAUoAgwhBCAJQRBqIgMgBSgCCDYCACADIAQ2AgQgBUEQaiQAIAkoAhAhCiAJKAIUIQgjAEEgayIGJAACQAJAAkAgCCAAQQhqKAIAIgsgACgCACgCSGoiA0ELak8EQCAIRQ0BIAAoAgQhBSAKQQA6AAAgCEEBRg0CIAggA2shBCAKQQE6AAEgAyAIayEDQQAgCGshAEEDIQcDQCADIAdqRQRAIARBAWsiACAISQ0FIAAgCEH0zcAAEJ4BAAsgACAHakEBRwRAIAcgCmpBAWtB/wE6AAAgB0EBaiEHDAELCyAHQQFrIAhBxM7AABCeAQALQZTNwABBLUHEzcAAENwBAAtBAEEAQdTNwAAQngEAC0EBQQFB5M3AABCeAQALIAAgCmpBADoAACAGQQhqIAogCCAEQYTOwAAQmAIgBigCCCEDIAYoAgwhACMAQSBrIgckACAAIAtJBEAgB0EUakIANwIAIAdBATYCDCAHQezJwAA2AgggB0HgycAANgIQIAdBCGpBlM7AABCBAgALIAZBEGoiBCALNgIEIAQgAzYCACAEIAAgC2s2AgwgBCADIAtqNgIIIAdBIGokACAGQRxqKAIAIQQgBigCGCEDIAYoAhAgBigCFCAFIAtBpM7AABCyAiABKAIAKAJIIQAjAEEQayIFJAAgBUEIaiAAIAFBBGpBwABBjMzAABCrAiAFKAIMIQAgBiAFKAIINgIAIAYgADYCBCAFQRBqJAAgAyAEIAYoAgAgBigCBEG0zsAAELICIAZBIGokACAJQQhqIQNBACEBQQAhAAJAIAIoAggiBSACKAIEIAIoAghraiIEIAVJDQAgAigCBCAESQ0AIAIgBDYCCCAEIAVrIQAgAigCACAFaiEBCyADIAA2AgQgAyABNgIAIAkoAggiAEUEQEH0ycAAQSsgCUGfCGpBoMrAAEGcy8AAEIoBAAsgACAJKAIMIAogCBDAAkEBcyEAIAlBoAhqJAAgAAukAQEBfyMAQTBrIgMkACADIAI3AwggAAJ/IAEtAAJFBEAgAkL/////////D3xC/////////x9aBEAgA0EcakIBNwIAIANBAjYCFCADQeTjwAA2AhAgA0HoADYCLCADIANBKGo2AhggAyADQQhqNgIoQQEhASADQRBqEP4BDAILQQAhASACuRAHDAELQQAhASACEAILNgIEIAAgATYCACADQTBqJAALlgEBBH8jAEEQayIDJAAgA0EANgIMIAEQ/AEgAUEQai0AACEEIAEoAgwhBQJAA0AgBEH/AXFBB00NASACQQRHBEAgASAEQQhrIgQ6ABAgA0EMaiACaiAFOgAAIAEgBUEIdiIFNgIMIAJBAWohAgwBCwtBBEEEQfSywAAQngEACyAAIAMoAgw2AAEgACACOgAAIANBEGokAAuMAQEBfyMAQSBrIgMkAAJ/AkADQEEAIAJFDQIaIANBDGogABDFASADLQAMBEAgAygCEAwDCyADLQANRQ0BIAMtAA4gAS0AAEYEQCABQQFqIQEgAkEBayECDAELCyADQQk2AhQgACADQRRqEIUCDAELIANBBTYCFCAAIANBFGoQhQILIQIgA0EgaiQAIAIL8QMBBH8jAEFAaiIDJAAgA0EANgIUIANCgICAgBA3AgwgA0EwakG8hsAANgIAIANBAzoAOCADQSA2AiggA0EANgI0IANBADYCICADQQA2AhggAyADQQxqNgIsIANBGGohBCMAQTBrIgIkAAJ/AkACQAJAAkACQCABKAIAQYCAgIB4cyIFQQQgBUEESRtBAWsOBAECAwQACyACQRxqQgA3AgAgAkEBNgIUIAJBnIrAADYCECACQfiHwAA2AhggBCACQRBqEO8CDAQLIAJBHGpCADcCACACQQE2AhQgAkGwisAANgIQIAJB+IfAADYCGCAEIAJBEGoQ7wIMAwsgAkEcakIANwIAIAJBATYCFCACQcyKwAA2AhAgAkH4h8AANgIYIAQgAkEQahDvAgwCCyACQRxqQgA3AgAgAkEBNgIUIAJB4IrAADYCECACQfiHwAA2AhggBCACQRBqEO8CDAELIAIgATYCDCACQRxqQgE3AgAgAkEBNgIUIAJB2IjAADYCECACQQ02AiwgAiACQShqNgIYIAIgAkEMajYCKCAEIAJBEGoQ7wILIQEgAkEwaiQAIAFFBEAgACADKQIMNwIAIABBCGogA0EUaigCADYCACADQUBrJAAPC0HUhsAAQTcgA0E/akGMh8AAQeiHwAAQigEAC4sBAQF/IAEoAgghBSABKAIEIQECQAJAIAIgA0sNAAJAIAJFDQAgAiAFTwRAIAIgBUYNAQwCCyABIAJqLAAAQUBIDQELIANFDQEgAyAFTwRAIAMgBUcNAQwCCyABIANqLAAAQb9/Sg0BCyABIAUgAiADIAQQ9QIACyAAIAMgAms2AgQgACABIAJqNgIAC6cBAwJ/AXwBfiMAQSBrIgIkAAJAAkACQAJAIAEoAgBBAWsOAgECAAsgASsDCCIEmUQAAAAAAADwf2MEQCACQQA6AAggAkEIahCVAkECIQMLIAAgBDkDECAAQgI3AwggACADOgAADAILIABCADcDCCAAQQI6AAAgACABKQMINwMQDAELIABBAjoAACAAIAEpAwgiBTcDECAAIAVCP4g3AwgLIAJBIGokAAuLAQEFfyMAQRBrIgQkAAJAIAJBB00EQCACIQMgASEFA0AgA0EARyEGIANFDQIgA0EBayEDIAUtAAAhByAFQQFqIQUgB0EuRw0ACwwBCyAEQQhqQS4gASACEEkgBCgCCEEBRiEGCyAAIAYgAC0ABEEAR3I6AAQgACgCACABIAIQzwIhACAEQRBqJAAgAAvxCAIHfwF+IwBBMGsiBSQAIAEoAhRByqLCAEEBIAFBGGooAgAoAgwRAgAhBCAFQQRqIghBAToAByAIQQA7AAUgCCAEOgAEIAggATYCAAJ/IAAoAgAiAUUEQEEAIQFBAAwBCyAFIAE2AiQgBUEANgIgIAUgATYCFCAFQQA2AhAgBSAAKAIEIgE2AiggBSABNgIYIAAoAgghAUEBCyEAIAUgATYCLCAFIAA2AhwgBSAANgIMAn8gBUEEaiEAIwBBQGoiBiQAIAZBFGogBUEMakEkELgDGgN/IAZBCGogBkEUahBoIAYoAggiBAR/IAYoAgwhASAGIAQ2AjggBiABNgI8IAZBOGohByAGQTxqIQgjAEEwayIDJABBASEEAkAgAC0ABA0AAkACQCAALQAGRQRAIAAtAAUhASAAKAIAIgItABxBBHFFBEAgAUUNAiACKAIUQbuiwgBBAiACQRhqKAIAKAIMEQIARQ0CDAQLIAFFBEAgAigCFEHJosIAQQEgAkEYaigCACgCDBECAA0ECyAAQQE6AAcgA0EkakGcosIANgIAIAMgAEEHajYCCCADIAIpAhQ3AgAgAyACKQIINwIUIAIpAgAhCSADIAIoAhw2AiggAyACKAIQNgIcIAMgAi0AIDoALCADIAk3AgwgAyADNgIgIAcgA0EMakGQm8EAKAIAEQAADQMgAygCIEGIosIAQQIgAygCJCgCDBECAA0DDAILIANBGGpCADcCACADQQE2AhAgA0GUo8IANgIMIANB8IbCADYCFCADQQxqQbyjwgAQgQIACyAHIAJBkJvBACgCABEAAA0BIAIoAhRBiKLCAEECIAJBGGooAgAoAgwRAgANAQsgAEEBOgAGQQAhBAsgACAEOgAEIANBMGokACMAQTBrIgIkAAJ/QQEgACIBLQAEDQAaAkACQAJAIAEtAAYEQCABKAIAIgcoAhwiBEEEcUUEQEEBIAggB0Ggm8EAKAIAEQAADQUaDAQLIAJBJGpBnKLCADYCACACIAFBB2o2AgggAiAHKQIUNwIAIAIgBykCCDcCFCAHKQIAIQkgAiAENgIoIAIgBygCEDYCHCACIActACA6ACwgAiAJNwIMIAIgAjYCICAIIAJBDGpBoJvBACgCABEAAEUNAQwCCyACQRhqQgA3AgAgAkEBNgIQIAJB/KPCADYCDCACQfCGwgA2AhQgAkEMakGEpMIAEIECAAsgAigCIEHAosIAQQIgAigCJCgCDBECAEUNAQtBAQwBCyABQQA6AAZBAAshBCABQQE6AAUgASAEOgAEIAJBMGokAAwBBSAGQUBrJAAgAAsLIQEjAEEgayIEJABBASEAAkAgAS0ABEUEQCABLQAGDQEgASgCACIAQRRqKAIAQcKiwgBBASAAQRhqKAIAKAIMEQIAIQALIARBIGokACAADAELIARBFGpCADcCACAEQQE2AgwgBEHEpMIANgIIIARB8IbCADYCECAEQQhqQcykwgAQgQIACyEAIAVBMGokACAAC50BAQN/IwBBEGsiAyQAIAFBDGooAgAhAgJAAkACQAJAAkAgASgCBA4CAAECCyACDQFBtK/AACECQQAhAQwCCyACDQAgASgCACICKAIEIQEgAigCACECDAELIAAgARA4DAELIANBCGogARCLASADKAIIIQQgAygCDCACIAEQuAMhAiAAIAE2AgggACACNgIEIAAgBDYCAAsgA0EQaiQAC4oBAQJ/IwBBEGsiAyQA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IANBEGokAEEAC+kFAQt/IwBBMGsiBCQAAn8gACgCACIDRQRAQQAhAEEADAELIAQgAzYCJCAEQQA2AiAgBCADNgIUIARBADYCECAEIAAoAgQiAzYCKCAEIAM2AhggACgCCCEAQQELIQMgBCAANgIsIAQgAzYCHCAEIAM2AgwgBEEMaiEDIwBBEGsiByQAA0AgB0EEaiELIwBBEGsiCCQAAkAgAygCICIARQRAIAhBBGohASADKAIAIQAgA0EANgIAAkAgAARAIAMoAgwhACADKAIIIQIgAygCBCIFRQRAA0AgAARAIABBAWshACACKAKYAyECDAELCyABQgA3AgQgASACNgIADAILIAEgADYCCCABIAI2AgQgASAFNgIADAELIAFBADYCAAsgCCgCBARAIwBBEGsiASQAIAhBBGoiACgCACECIAAoAgQhAANAIAFBBGogAiAAEMgBIAEoAgQiAgRAIAEoAgghAAwBCwsgAUEQaiQACyALQQA2AgAMAQsgAyAAQQFrNgIgIAMQmAEiBQRAIwBBIGsiAiQAIAJBCGohASMAQSBrIgAkACAFKAIIIQkgBSgCACEGIAUoAgQhCgJAA0AgBi8BkgMgCUsEQCAAIAk2AhwgACAKNgIYIAAgBjYCFCAAQQhqIABBFGoQqwEgAUEIaiAAQRBqKAIANgIAIAEgACkDCDcCACABIAk2AhQgASAKNgIQIAEgBjYCDAwCCyAAQRRqIAYgChDIASAAKAIUIgYEQCAAKAIcIQkgACgCGCEKDAELCyABQQA2AgALIABBIGokACACKAIIRQRAQZigwQAQlAMACyAFIAIpAgg3AgAgCyACKQIUNwIAIAVBCGogAkEQaigCADYCACALQQhqIAJBHGooAgA2AgAgAkEgaiQADAELQYihwQAQlAMACyAIQRBqJAAgBygCBCIABEAgACAHKAIMIgJBDGxqQYwCahDKAiAAIAJBGGxqEIYCDAELCyAHQRBqJAAgBEEwaiQAC3ABA38CQAJAAkAgACgCACIAKAIADgIAAQILIABBCGooAgBFDQEgACgCBBAiDAELIAAtAARBA0cNACAAQQhqKAIAIgEoAgAiAyABKAIEIgIoAgARBAAgAigCBARAIAIoAggaIAMQIgsgARAiCyAAECILbQIBfgJ/IAFBBGohBCAAQQRqIQUgADUCACABNQIAfSEDIAJBASACQQFLG0EBayEBA38gA0IfhkI/hyEDIAEEfyABQQFrIQEgAyAFNQIAfCAENQIAfSEDIARBBGohBCAFQQRqIQUMAQUgA6cLCwtwAQN/IABBBGohAwJAIAAoAgAiAQRAIAAoAgRFDQELIANBACABGw8LIABBCGohAiAAQQxqKAIAIQEDQCACKAIAIQIgAQRAIAFBAWshASACQZgDaiECDAELCyAAQgA3AgggACACNgIEIABBATYCACADC9IGAgp/An4jAEEQayIIJAAgCEEEaiEGIAEoAgQhBAJAAkAgASgCCCIFRQ0AQQAgBUEHayICIAIgBUsbIQogBEEDakF8cSAEayELQQAhAgNAAkACQAJAIAIgBGotAAAiB8AiCUEATgRAIAsgAmtBA3ENASACIApPDQIDQCACIARqIgNBBGooAgAgAygCAHJBgIGChHhxDQMgAkEIaiICIApJDQALDAILQoCAgICAICENQoCAgIAQIQwCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgB0HQqsIAai0AAEECaw4DAAECCgsgAkEBaiIDIAVJDQJCACENQgAhDAwJC0IAIQ0gAkEBaiIDIAVJDQJCACEMDAgLQgAhDSACQQFqIgMgBUkNAkIAIQwMBwsgAyAEaiwAAEG/f0oNBgwHCyADIARqLAAAIQMCQAJAIAdB4AFrIgcEQCAHQQ1GBEAMAgUMAwsACyADQWBxQaB/Rg0EDAMLIANBn39KDQIMAwsgCUEfakH/AXFBDE8EQCAJQX5xQW5HDQIgA0FASA0DDAILIANBQEgNAgwBCyADIARqLAAAIQMCQAJAAkACQCAHQfABaw4FAQAAAAIACyAJQQ9qQf8BcUECSyADQUBOcg0DDAILIANB8ABqQf8BcUEwTw0CDAELIANBj39KDQELIAUgAkECaiIDTQRAQgAhDAwFCyADIARqLAAAQb9/Sg0CQgAhDCACQQNqIgMgBU8NBCADIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAgDAILQgAhDCACQQJqIgMgBU8NAiADIARqLAAAQb9/TA0DC0KAgICAgMAACyENQoCAgIAQIQwLIAYgDSACrYQgDIQ3AgQgBkEBNgIADAYLIANBAWohAgwCCyACQQFqIQIMAQsgAiAFTw0AA0AgAiAEaiwAAEEASA0BIAUgAkEBaiICRw0ACwwCCyACIAVJDQALCyAGIAQ2AgQgBkEIaiAFNgIAIAZBADYCAAsCQCAIKAIERQRAIABBgICAgHg2AgAgACABKQIANwIEIABBDGogAUEIaigCADYCAAwBCyAAIAgpAgg3AgwgACABKQIANwIAIABBCGogAUEIaigCADYCAAsgCEEQaiQAC+jVAgIkfwV+IwBBIGsiIyQAICNBCGogACABEOIBICMgIygCDCIMNgIUICMgIygCCCIBNgIQICMgAiADEOIBICMgIygCBCIANgIcICMgIygCACICNgIYIwBB8AVrIg0kACMAQRBrIgskAEGUxMIALQAAQQNHBEAgC0EBOgALIAsgC0ELajYCDCALQQxqIQMjAEEgayISJAACQAJAAkACQAJAAkACQEGUxMIALQAAQQFrDgMCBAEAC0GUxMIAQQI6AAAgAygCACIGLQAAIQMgBkEAOgAAIANFDQIjAEEgayIGJAACQAJAAkACQAJAAkBBzMTCACgCAEH/////B3EEQBDKA0UNAQtBvMTCACgCACEDQbzEwgBBfzYCACADDQRBzMTCACgCAEH/////B3ENAUHIxMIAKAIAIQhByMTCAEG8rMAANgIAQcTEwgAoAgAhGEHExMIAQQE2AgAMAgsgBkEUakIANwIAIAZBATYCDCAGQcSAwgA2AgggBkH0+MEANgIQIAZBCGpB6IDCABCBAgALEMoDIQNByMTCACgCACEIQcjEwgBBvKzAADYCAEHExMIAKAIAIRhBxMTCAEEBNgIAIANFDQELQczEwgAoAgBB/////wdxRQ0AEMoDDQBBwMTCAEEBOgAAC0G8xMIAQQA2AgACQCAYRQ0AIBggCCgCABEEACAIKAIERQ0AIAgoAggaIBgQIgsgBkEgaiQADAELAAtBlMTCAEEDOgAACyASQSBqJAAMBAsgEkEUakIANwIAIBJBATYCDCASQYCtwAA2AggMAgtBlK7AABCUAwALIBJBFGpCADcCACASQQE2AgwgEkHArcAANgIICyASQYitwAA2AhAgEkEIakGUmsAAEIECAAsLIAtBEGokACANQTBqIAxBABCPASANKAIwIQMgDSgCNCABIAwQuAMhASANIAw2AkQgDSABNgJAIA0gAzYCPCANQcgAaiEgIwBBkARrIgUkACAFQRhqIAxBABCPASAF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czYCACALQUBrIAtB8ABqIBkgCkGY68AAEOgBIAsoAkQiASAAQQVrTQ0FIAsoAkAgCGoiASABKAIAQYCAA3M2AgAgC0E4aiALQfAAaiAZIApBqOvAABDoASAAQQRrIgEgCygCPCICSQRAIAsoAjgMAgsgAEEEayACQZjywAAQngEACyALQTBqIAtB8ABqIBkgCkG468AAEOgBIAAgCygCNCIBTw0FIAAhASALKAIwCyECIAIgAUECdGoiASABKAIAQYCAA3M2AgBBACEYQQBB2AAgGWsiASABQdgASxshAiALQfAAaiAZQQJ0aiEBAkACQANAIBhBCEYNAiAZQQhrQdgATw0BIAIgGEcEQCABIAFBIGsoAgAgASgCAEEOeEGDhowYcXMiA0ECdEH8+fNncSADQQR0QfDhw4d/cXMgA0EGdEHAgYOGfHFzIANzNgIAIBhBAWohGCABQQRqIQEgGUEBaiEZDAELCyAZQdgAQejtwAAQngEACyAZQQhrQdgAQdjtwAAQngEACyAAQQFqIQAgCkEIaiEKIAhBBGohCAwBCwsgAEEIayABQZjywAAQngEACyAAQQdrIAFBmPLAABCeAQALIABBBWsgAUGY8sAAEJ4BAAsgACABQZjywAAQngEACyMAQTBrIgMkACADEOcCIwBBQGoiASQAIAEQpgIgASADEPkCIAFBIGogBiABEDQgA0EIaiIAIAFBKGopAAA3AAAgAyABKQAgNwAAIAFBQGskACADQRhqIAApAAA3AwAgAyADKQAANwMQIANBEGoiABBhIANBIGoiASAAQQhqKQAAIixCP4giKSAAKQAAIihCAYaENwAAIAEgLEKAgICAgICAgIB/gyApQj6GhCApQjmGhCAsQgGGIChCP4iEhTcACCAFQfQAaiIAQeACaiICQgA+AhAgAkEcakIAPgIAIAJBGGpCAD4CACACQRRqQgA+AgAgAiABKQAINwIIIAIgASkAADcCACAAIAZB4AIQuAMaIANBMGokACAGQeACaiQAIAUgKkIgiKciADYC9AMgAEEMRw0FIAVB+ANqIRcgBUH0AGohDiAqpyEDIwBBIGsiGiQAIBpBCGogK0IgiKciAkEAEI8BIBooAgghASAaKAIMICunIAIQuAMhACAaIAI2AhwgGiAANgIYIBogATYCFAJAAn8jAEEwayIbJABBASEf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ygMgAUEIdGpB/x9rIgYQHyAEKALABUGAgICAeEcNDCAELwHEBUUNISAELwHGBSECIAQoApAFIQEgBC0AlAUhACAVENUBIANBImpBADsBACADQQg6ACAgAyAGOwFOIAMgAjsBTCADIAA6AEggAyABNgJEIANBJGogBCkC1AY3AgAgA0EsaiAEQdwGaikCADcCACADQTRqIAQpA/gGNwIAIANBPGogBEGAB2opAwA3AgAMJAsgBEG4A2ogBEGEBWpBBxC1ASAELwG4A0UNGyAEQcAFaiADIAYgBC8BugMgAUEHdGpB/w1rIgYQHyAEKALABUGAgICAeEcNDCAELwHEBUUNICAELwHGBSECIAQoApAFIQEgBC0AlAUhACAVENUBIANBImpBADsBACADQQg6ACAgAyAGOwFOIAMgAjsBTCADIAA6AEggAyABNgJEIANBJGogBCkC1AY3AgAgA0EsaiAEQdwGaikCADcCACADQTRqIAQpA/gGNwIAIANBPGogBEGAB2opAwA3AgAMIwsgBEGoA2ogBEGEBWpBBhC1ASAELwGoA0UNGSAEQcAFaiADIAYgBC8BqgMgAUEGdGpB/wVrIgYQHyAEKALABUGAgICAeEcNDCAELwHEBUUNHyAELwHGBSECIAQoApAFIQEgBC0AlAUhACAVENUBIANBImpBADsBACADQQg6ACAgAyAGOwFOIAMgAjsBTCADIAA6AEggAyABNgJEIANBJGogBCkC1AY3AgAgA0EsaiAEQdwGaikCADcCACADQTRqIAQpA/gGNwIAIANBPGogBEGAB2opAwA3AgAMIgsgBEGYA2ogBEGEBWpBBRC1ASAELwGYA0UNFyAEQcAFaiADIAYgBC8BmgMgAUEFdGpBvwJrIgYQHyAEKALABUGAgICAeEcNDCAELwHEBUUNHiAELwHGBSECIAQoApAFIQEgBC0AlAUhACAVENUBIANBImpBADsBACADQQg6ACAgAyAGOwFOIAMgAjsBTCADIAA6AEggAyABNgJEIANBJGogBCkC1AY3AgAgA0EsaiAEQdwGaikCADcCACADQTRqIAQpA/gGNwIAIANBPGogBEGAB2opAwA3AgAMIQsgBEGIA2ogBEGEBWpBBBC1ASAELwGIA0UNFSAEQcAFaiADIAYgBC8BigMgAUEEdGpB/wBrIgYQHyAEKALABUGA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IQMMAQUgAgsLC28BAX8jAEEwayIDJAAgAyAANgIAIAMgATYCBCADQRRqQgI3AgAgA0EsakHGADYCACADQQI2AgwgA0GkqMIANgIIIANBxgA2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEIECAAtvAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EUakICNwIAIANBLGpBxgA2AgAgA0ECNgIMIANByKDCADYCCCADQcYANgIkIAMgA0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhCBAgALbwEBfyMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpCAjcCACADQSxqQcYANgIAIANBAjYCDCADQcSowgA2AgggA0HGADYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQgQIAC28BAX8jAEEwayIDJAAgAyAANgIAIAMgATYCBCADQRRqQgI3AgAgA0EsakHGADYCACADQQI2AgwgA0H4qMIANgIIIANBxgA2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEIECAAthAQF/IAEgAkEBaiIESwRAIAAgBEEYbGogACACQRhsaiACQX9zIAFqQRhsELkDCyAAIAJBGGxqIgAgAykDADcDACAAQRBqIANBEGopAwA3AwAgAEEIaiADQQhqKQMANwMAC4ABAwF/AX4BfCMAQRBrIgMkAAJAAkACQAJAIAAoAgBBAWsOAgECAAsgACsDCCEFIANBAzoAACADIAU5AwgMAgsgACkDCCEEIANBAToAACADIAQ3AwgMAQsgACkDCCEEIANBAjoAACADIAQ3AwgLIAMgASACEG4hACADQRBqJAAgAAttAQF/IwBBIGsiAiQAAn9BASAAIAEQRA0AGiACQRRqQgA3AgAgAkEBNgIMIAJB7J7CADYCCCACQfCGwgA2AhBBASABKAIUIAFBGGooAgAgAkEIahAjDQAaIABBBGogARBECyEAIAJBIGokACAAC10BBH8gACgCCCEDIAAoAgQhAQNAAkAgAiADRwRAQQAhAANAIABBwABGDQIgACABaigCACIEBEAgBBAiCyAAQQRqIQAMAAsACw8LIAFB4ABqIQEgAkEBaiECDAALAAttAQN/IwBBIGsi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AiAAQQxqNgIMIAFB2I3AAEELQeONwABBBCAAQciIwABB543AAEEFIAJBDGpB0InAABBrIQAgAkEQaiQAIAALPAACQCABIAJNBEAgAiAETQ0BIAIgBCAFEJ8BAAsgASACIAUQoAEACyAAIAIgAWs2AgQgACABIANqNgIAC0wBAX8jAEEQayICJAAgAiAAQQRqNgIMIAFBzNjAAEEFQdHYwABBCiAAQdzYwABB7NjAAEERIAJBDGpBgNnAABBrIQAgAkEQaiQAIAALMgEBfiAAIAEpAwAiAlAEf0EABSABIAJCAX0gAoM3AwBBAQs2AgAgACACeqdBA3Y2AgQLQAEBfyMAQSBrIgMkACADIAI2AhwgAyABNgIYIAMgAjYCFCADQQhqIANBFGoQgAMgACADKQMINwMAIANBIGokAAujBgENfyMAQRBrIgUkACAFQQxqIgMgAUEIaigCADYCACAFIABBBGo2AgAgBSABKQIANwIEIAAoAgAhCCMAQfAAayIAJAAgAygCACIJQQF2IQ0gBUEIaigCACEKIAUoAgQhCyAFKAIAIQwDQAJAIAYgDUYEQCAJQQFxIgZBBHQhAyAAEKYCQQAhAgNAIAIgA0YEQCAKIAlBBHRBYHEiAWohBCABIAtqIQdBACEBIAAhAwwDBSAAQSBqIgQgDBBiIABBMGoiARCmAiABIAQQ+QIgAEHQAGogCCABEDQgACACaiIBQQhqIABB2ABqKQAANwAAIAEgACkAUDcAACACQRBqIQIMAQsACwALIAAQpgIgAEHQAGoQpgJBACECA0AgAkEgRwRAIABBMGogDBBiIABB0ABqIAJqIgFBCGogAEE4aikAADcAACABIAApADA3AAAgAkEQaiECDAELCyAAIAggAEHQAGoiBBA0IABByABqIAsgBkEFdCIOaiIBQRhqKQAANwMAIABBQGsgAUEQaikAADcDACAAQThqIAFBCGopAAA3AwAgACABKQAANwMwIAQQpgJBACEHIABBMGohAyAAIQEDQAJAIAdBAkcEQEEAIQIDQCACQRBGDQIgAiAEaiABIAJqLQAAIAIgA2otAABzOgAAIAJBAWohAgwACwALIAogDmoiASAAKQBQNwAAIAFBGGogAEHoAGopAAA3AAAgAUEQaiAAQeAAaikAADcAACABQQhqIABB2ABqKQAANwAAIAZBAWohBgwDCyAEQRBqIQQgAUEQaiEBIANBEGohAyAHQQFqIQcMAAsACwsDQAJAAkAgASAGRwRAIABBOGogByABQQR0IghqIgJBCGopAAA3AwAgACACKQAANwMwIABB0ABqEOcCQQAhAgNAIAJBEEYNAiAAQdAAaiACaiACIANqLQAAIABBMGogAmotAABzOgAAIAJBAWohAgwACwALIABB8ABqJAAMAQsgBCAIaiICIAApAFA3AAAgAkEIaiAAQdgAaikAADcAACADQRBqIQMgAUEBaiEBDAELCyAFQRBqJAALPgEBfyMAQRBrIgMkACADQQhqIAEoAgQgASgCCBDmAiADKAIMIQEgACADKAIINgIAIAAgATYCBCADQRBqJAALPgEBfyMAQRBrIgUkACAFQQhqQQAgAyABIAIgBBDfASAFKAIMIQEgACAFKAIINgIAIAAgATYCBCAFQRBqJAALPwEBfyMAQRBrIgUkACAFQQhqIAIgAyABQYABIAQQ3wEgBSgCDCEBIAAgBSgCCDYCACAAIAE2AgQgBUEQaiQACzwBAX8jAEEQayIDJAAgA0EIakEAQQggASACENIBIAMoAgwhASAAIAMoAgg2AgAgACABNgIEIANBEGokAAs8AQF/IwBBEGsiBSQAIAVBCGogAiADIAEgBBDSASAFKAIMIQEgACAFKAIINgIAIAAgATYCBCAFQRBqJAALNwECfyAAIAEoAggiAgR/IAEgAkEBayIDNgIIIAEoAgQgA2otAAAFIAELOgABIAAgAkEARzoAAAs9AQF/IwBBEGsiBCQAIARBCGogAUGAASACIAMQ5QEgBCgCDCEBIAAgBCgCCDYCACAAIAE2AgQgBEEQaiQACz0BAX8jAEEQayIDJAAgA0EIaiABEPgBIAIgAygCCCADKAIMENQBIQEgAEECNgIAIAAgATYCBCADQRBqJAALPQEBfyMAQRBrIgMkACADQQhqIAEQ+AEgAiADKAIIIAMoAgwQ1AEhASAAQQE7AQAgACABNgIEIANBEGokAAs9AQF/IwBBEGsiAyQAIANBCGogARD4ASACIAMoAgggAygCDBDUASEBIABBAToAACAAIAE2AgQgA0EQaiQACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADIAQgASgCDBECAAvddQMW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BEUNAAsgAEGAAWoiAkGAAUsEQCACQYABQfykwgAQnQEACyABQQFB96TCAEECIAAgA2pBgAFqQQAgAGsQISEAIANBgAFqJAAgAA8LQQAhACMAQYABayIDJAAgAigCACECA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQRBJIQQgAkEEdiECIARFDQALIABBgAFqIgJBgAFLBEAgAkGAAUH8pMIAEJ0BAAsgAUEBQfekwgBBAiAAIANqQYABakEAIABrECEhACADQYABaiQAIAALOgEBfyMAQRBrIgMkACADQQhqIAEgAkEAEP0BIAMoAgwhASAAIAMoAgg2AgAgACABNgIEIANBEGokAAs6AQN/IAAgASgCCCICIAEoAgRPIgMEfyAEBSABIAJBAWo2AgggASgCACACai0AAAs6AAEgACADOgAACzoBAX8jAEEQayIDJAAgA0EIaiABIAJBARD9ASADKAIMIQEgACADKAIINgIAIAAgATYCBCADQRBqJAALOAACQCABaUEBR0GAgICAeCABayAASXINACAABEBB+cPCAC0AABogACABEPoCIgFFDQELIAEPCwALNQECfyABQRRqKAIAIgMgAUEQaigCAEkEQCABKAIMIANqLQAAIQILIABBADoAACAAIAI6AAELOwEBfyMAQRBrIgIkACACQQhqIAEgASgCCBCFASACKAIMIQEgACACKAIINgIAIAAgATYCBCACQRBqJAALNgAgAyAAQgKGIgBCAoQgASACEIwBNwMAIAQgACAFrUJ/hXwgASACEIwBNwMAIAAgASACEIwBC0AAAkACQAJAAkAgAC0AAA4IAQEBAQEBAgMACyAAQQRqEPsCIABBFGoQ+wILDwsgAEEIahCMAw8LIABBBGoQzAILPAEBfwJAA0AgAS0AECICQQhqQf8BcUEgSw0BIAEQsgENAAsgAS0AECECCyAAIAI6AAQgACABKAIMNgIACzABAn8jAEEQayIBJAAgAEEQai0AACICBEAgAUEIaiAAIAJBB3EQvAELIAFBEGokAAtpAAJAIAJFDQAgA0UEQEH5w8IALQAAGiACIAEQ+gIhAQwBCwJAAn8gAUEJTwRAIAEgAhA2DAELIAIQEwsiAUUNACABQQRrLQAAQQNxRQ0AIAFBACACELoDGgsLIAAgAjYCBCAAIAE2AgALywEBBX8jAEEQayIDJAAgA0EEaiECIwBBEGsiBCQAIABBDGooAgAhAQJAAkACQAJAAkAgACgCBA4CAAECCyABDQFBnOPAACEBQQAhAAwCCyABDQAgACgCACIBKAIEIQAgASgCACEBDAELIAIgABA4DAELIARBCGogAEEAEI8BIAQoAgghBSAEKAIMIAEgABC4AyEBIAIgADYCCCACIAE2AgQgAiAFNgIACyAEQRBqJAAgAygCCCADKAIMEAQhACACEMoCIANBEGokACAACysBAX9BfyECA0AgAkEBaiECQQAgAKdrIABCBYAiAKdBe2xGDQALIAEgAk0LQAEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABB7IXCADYCCCAAQZyFwgA2AhAgAEEIakH0hcIAEIECAAuvAgECfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQYSgwgA2AhAgAkHwhsIANgIMIwBBEGsiASQAIAJBDGoiACgCCCICRQRAQfiAwgAQlAMACyABIAAoAgw2AgwgASAANgIIIAEgAjYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4CAAEDCyADDQJBACECQfT4wQAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQaiBwgAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREGAACyAAIAI2AgwgAEGAgICAeDYCACAAQbyBwgAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREGAACzYBAX8jAEEQayIEJAAgBCABNgIMIAQgADYCCCAEQQhqQfC9wAAgBEEMakHwvcAAIAIgAxA7AAs2AQF/IwBBEGsiBCQAIAQgATYCDCAEIAA2AgggBEEIakHk88AAIARBDGpB5PPAACACIAMQOwALegEDfyMAQRBrIgIkACMAQRBrIgMkACADQQhqIABBDGoiACAAKAIEIgQgACgCCEEBaiIAIAAgBEsbEIUBIAMoAgwhACACQQhqIgQgAygCCDYCACAEIAA2AgQgA0EQaiQAIAEgAigCCCACKAIMENQBIQAgAkEQaiQAIAALNAEBfyMAQRBrIgIkACACQQhqIABBDGoQ+AEgASACKAIIIAIoAgwQ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ASQAIAVBEGoiBCkDACEYIAQoAhAhACABIAY2AgwgASAEKQMINwIEIwBBEGsiBCQAIARBCGogACAYEMYBIAQoAgghBiAELQAMIQIgACAAKAIMQQFqNgIMIAAgACgCCCACQQFxazYCCCAAKAIAIAZBdGxqIgBBDGsiBiABQQRqIgIpAgA3AgAgBkEIaiACQQhqKAIANgIAIARBEGokACABQRBqJAAgAEEEawsoAgAQBSEAIA0gDSgCAEEBajYCACAFQdAAaiQAIAAMAgtB5uHAAEHGACAFQc8AakGs4sAAQYzjwAAQigEACyMAQTBrIgAkACAAQRhqQgE3AgAgAEEBNgIQIABBpJ/CADYCDCAAQa0BNgIoIAAgAEEkajYCFCAAIABBL2o2AiQgAEEMakHg5MAAEIECAAshACAPQRBqJAAgAAs0AQF/IwBBEGsiAiQAIAIgADYCDCABQfDowABBESACQQxqQYTpwAAQXiEAIAJBEGokACAACy8BAX8gACgCCCEBIAAoAgQhAANAIAEEQCABQQFrIQEgABCGAiAAQRhqIQAMAQsLCzEBAX8jAEEQayICJAAgAkEIaiAAEPgBIAEgAigCCCACKAIMENQBIQAgAkEQaiQAIAALxQEBAn8jAEEQayIAJAAgASgCFEGM+cEAQQsgAUEYaigCACgCDBECACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgACfyACIgEtAAQiA0EARyACLQAFRQ0AGkEBIQIgA0UEQCABKAIAIgItABxBBHFFBEAgASACKAIUQcOiwgBBAiACKAIYKAIMEQIAIgE6AAQgAQwCCyACKAIUQcKiwgBBASACKAIYKAIMEQIAIQILIAEgAjoABCACCyEBIABBEGokACABCykAIAEgA00EQCAAIAMgAWs2AgQgACABIAJqNgIADwsgASADIAQQnQEACy4BAX8jAEEQayICJAAgAkEIaiAAIAFBARBjIAIoAgggAigCDBCxAiACQRBqJAALNQACQAJAAkACQCAALQAADgUBAQECAwALIABBBGoQlQELDwsgAEEEahDKAg8LIABBBGoQqQMLNgAgAEGAAToAGCAAQQA2AgggAEKAgICAEDcCACAAIAEpAgA3AgwgAEEUaiABQQhqKAIANgIACy8BAX8gACACIAFrIgIQuAIgACgCCCIDIAAoAgRqIAEgAhC4AxogACACIANqNgIICygAIAIgA0kEQCADIAIgBBCdAQALIAAgAiADazYCBCAAIAEgA2o2AgALMgEBf0EBIQEgAC0ABAR/IAEFIAAoAgAiACgCFEHLosIAQQEgAEEYaigCACgCDBECAAsLNQEBfyABKAIUQa2fwgBBASABQRhqKAIAKAIMEQIAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALQgEDfyMAQRBrIgEkAEH5w8IALQAAGiAAQQgQ+gIhAiABQQhqIgMgADYCBCADIAI2AgAgASgCCCEAIAFBEGokACAACyYBAX8gASAAKAIIIgNPBEAgASADIAIQngEACyAAKAIEIAFBA3RqC68BAQN/IwBBIGsiAyQAIwBBMGsiASQAIAAQ8QIgAUEIaiAAEKMCIAEoAgxBADYCACABQRhqIABBCGopAgA3AwAgAUEgaiAAQRBqKQIANwMAIAFBKGogAEEYaigCADYCACABIAApAgA3AxAgA0EIaiICIAEpAhQ3AgAgAkEIaiABQRxqKQIANwIAIAJBEGogAUEkaikCADcCACAAECIgAUEwaiQAIAIQ9gIgA0EgaiQAC2IBA38jAEFAaiICJAAjAEFAaiIBJAAgABDxAiABIAAQowIgASgCBEEANgIAIAFBCGogAEE4ELgDGiACQQxqIgMgAUEMakE0ELgDGiAAECIgAUFAayQAIAMQtQIgAkFAayQAC2sBA38jAEGAAmsiAiQAIwBBkAJrIgEkACAAEPECIAFBCGogABCiAiABKAIMQQA2AgAgAUEQaiAAQYACELgDGiACQQhqIgMgAUEYakH4ARC4AxogABAiIAFBkAJqJAAgAxDAASACQYACaiQAC2sBA38jAEGQAmsiAiQAIwBBoAJrIgEkACAAEPECIAFBCGogABCiAiABKAIMQQA2AgAgAUEQaiAAQZACELgDGiACQQhqIgMgAUEYakGIAhC4AxogABAiIAFBoAJqJAAgAxDHAiACQZACaiQAC78BAQN/IwBBIGsiAyQAIwBBMGsiASQAIAAQ8QIgAUEIaiAAEKMCIAEoAgxBADYCACABQRhqIABBCGopAgA3AwAgAUEgaiAAQRBqKQIANwMAIAFBKGogAEEYaikCADcDACABIAApAgA3AxAgA0EEaiICIAEpAhQ3AgAgAkEIaiABQRxqKQIANwIAIAJBEGogAUEkaikCADcCACACQRhqIAFBLGooAgA2AgAgABAiIAFBMGokACACEPcCIANBIGokAAsoACABKAIARQRAIAFBfzYCACAAIAE2AgQgACABQQhqNgIADwsQqAMACygAIAEoAgBFBEAgAUF/NgIAIAAgATYCBCAAIAFBBGo2AgAPCxCoAwALKQEBfyABKAIEIQIgASgCCARAIAFBDGoQ0QILIAAgAjYCBCAAQQA2AgALMQECfyMAQRBrIgIkACACQQhqIgMQDjYCBCADIAE2AgAgACACKQMINwIAIAJBEGokAAsnACAAQgA3AAAgAEEYakIANwAAIABBEGpCADcAACAAQQhqQgA3AAALIQAgACgCACIArSAAQX9zrEIBfCAAQQBOIgAbIAAgARBDCy0BAX8gASgCACIBEIQBIgJFBEAgACABEFMPCyAAQYCAgIB4NgIAIAAgAjYCBAspAQF/IAEoAgAiARCEASICRQRAIAAgARBsDwsgAEECNgIAIAAgAjYCBAstAQF/IAEoAgAiARCEASICRQRAIAAgARBaDwsgAEGBgICAeDYCCCAAIAI2AgALIwAgASADTQRAIAAgATYCBCAAIAI2AgAPCyABIAMgBBCfAQALJwAgAiACIAEoAgAgBCgCACAEQQhqIAMQRiAAIAM2AgQgACACNgIACykBAX8gASgCACIBEIQBIgJFBEAgACABEBYPCyAAQQY6AAAgACACNgIECyIAIAIgA0kEQCADIAIgBBCfAQALIAAgAzYCBCAAIAE2AgALJAEBf0H5w8IALQAAGiAAIAEQ+gIiAgRAIAIPCyABIAAQswMACyMBAX8gASAAKAIIIgNPBEAgASADIAIQngEACyAAKAIEIAFqCyMAAkAgAEGBgICAeEcEQCAARQ0BIAAgARCzAwALDwsQgAIAC4ABACABIANGBEAgACACIAEQuAMaDwsjAEEwayIAJAAgACADNgIEIAAgATYCACAAQRRqQgI3AgAgAEEsakHGADYCACAAQQM2AgwgAEHIqcIANgIIIABBxgA2AiQgACAAQSBqNgIQIAAgADYCKCAAIABBBGo2AiAgAEEIaiAEEIECAAslACAARQRAQfz0wABBMhCnAwALIAAgAiADIAQgBSABKAIQEQsACx8BAn4gACkDACICIAJCP4ciA4UgA30gAkIAWSABEEML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ACAEaiIEIAFLDQMLIAMQEyIBRQ0BIAEgAEF8QXggAigCACIBQQNxGyABQXhxaiIBIAMgASADSRsQuAMhASAAECIgAQwECyAIIAAgASADIAEgA0kbELgDGiAAECILIAgMAgsgAiABIAVBAXFyQQJyNgIAIAEgBmoiAiAEIAFrIgFBAXI2AgRB9MfCACABNgIAQfzHwgAgAjYCACAADAELIAALCwsAIAIEQCAAECILCxIAIABBCGoQwwIgAEEcahDDAgsUACAAIAEgAhABNgIEIABBADYCAAsTACAAQgA3AAAgAEEIakIANwAACxUBAX8jAEEQayIBIAA6AA8gAS0ADwsLACABBEAgABAiCwsVACAAKAIAIgAoAgQgACgCCCABEBoLMQEBfwJ/QZgDEJsCIgAEQCAADAELQQhBmAMQswMACyIAQQA7AZIDIABBADYCiAIgAAsxAQF/An9ByAMQmwIiAARAIAAMAQtBCEHIAxCzAwALIgBBADsBkgMgAEEANgKIAiAACxIAIAAtAABBBkcEQCAAEIYCCwsTACABKAIUIAFBGGooAgAgABAjCxMAIAAoAhQgAEEYaigCACABECMLDwAgACgCAARAIAAQlgELCxMAIAAEQA8LQa71wABBGxCnAwALwQ8BCn8gACEFIwBB0ABrIgIkACACIAEQggECQAJAAkACQAJAAn8CQAJ/AkACQAJAAkACQAJAAn8gAi0AAEUEQCACLQABRQRAIAJBBTYCECABIAJBEGoQhAIMAgsgAi0AAiIAQdsARg0CIABB+wBGDQMgASACQc8AakGUgsAAECohAAwOCyACKAIECyEAIAVBgICAgHg2AgAgBSAANgIEDA0LIAEgAS0AGEEBayIAOgAYIABB/wFxBEAgARDXAiACQQE6ADggAiABNgI0IAJBEGogAkE0ahA6AkAgAigCECIDQYGAgIB4RgRAIAIoAhQhAAwBCyADQYCAgIB4RgRAQQBB6ILAABCIASEADAELIAIoAhQhACACIAIoAhgiCTYCSCACIAA2AkQgAiADNgJAIAJBEGogAkE0ahA6An8gAigCECIHQYGAgIB4RgRAIAIoAhQMAQsgB0GAgICAeEcNBEEBQeiCwAAQiAELIQAgAkFAaxDKAgtBgICAgHghAwwJCyACQRU2AhAgASACQRBqEIQCDAcLIAEgAS0AGEEB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ApwBIQAgAigCmAEiBEGAgICAeEYNBiACKAKgASEDIAJB9AFqEN0CIAIgAzYC/AEgAiAANgL4ASACIAQ2AvQBDAILIAIoAoACQQJHBEBBACEDQQEhBEH/g8AAQQQQqQEhAAwHCyACQZgBaiACQdQBahCpAiACKAKcASEAIAIoApgBIgRBAkYNBSACKQKgASEIIAJBgAJqENwCIAIgCDcCiAIgAiAANgKEAiACIAQ2AoACDAELCyACKALcAUGAgICAeEciA0UEQEEBIQRB8IPAAEEEEKgBIQAMBQsgAkGYAmogAkHkAWooAgA2AgAgAiACKQLcATcDkAIgAigC6AFBgICAgHhGIgQEQEH0g8AAQQQQqAEhAAwDCyACQaABaiACQfABaigCADYCACACIAIpAugBNwOYAQJAIAIoAvQBQYCAgIB4RwRAIAJB8ABqIAJB/AFqKAIANgIAIAJBkAFqIAJB5AFqKAIANgIAIAJBgAFqIAJB8AFqKAIANgIAIAIgAikC9AE3A2ggAiACKQLcATcDiAEgAiACKQLoATcDeCACKAKAAiIDQQJGDQEgAigChAIhACACKQKIAiEIDAcLQfiDwABBBxCoASEAIAJBmAFqEMoCDAMLQQAhAwwFCyACQcwBahCWAQwHCyACKAKcASEADAELIAJBkAJqEMoCDAELQQAhA0EBIQQLIAIoAoACQQJHBEAgAkGAAmoQ0AILIAIoAvQBQYCAgIB4RwRAIAJB9AFqEMoCCyACKALoAUGAgICAeEcgBHEEQCACQegBahDKAgsgAyACKALcAUGAgICAeEZyRQRAIAJB3AFqEMoCC0ECIQMLIAEgAS0AGEEBajoAGCABEHEhBCACQbABaiACQZABaigCADYCACACQbwBaiACQYABaigCADYCACACQcgBaiACQfAAaigCADYCACACIAg3AqABIAIgADYCnAEgAiAENgLMASACIAIpA4gBNwKoASACIAIpA3g3ArQBIAIgAikDaDcCwAEgAiADNgKYAQJAIANBAkcEQCAEDQEgAkEMaiACQaABakEsELgDGgwFCyAERQ0DIAJBzAFqEJYBDAMLIAJBmAFqELUCQQIhAyAEIQAMAwsgAkEVNgKYASABIAJBmAFqEIQCCyEAIAVBAjYCACAFIAA2AgQMAwtBAiEDCyADQQJGDQAgBUEIaiACQQxq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AAJAIAMgASgCACIFTQRAAn9BgYCAgHggBUUNABogBUECdCEHIAEoAgQhCAJAIANFBEBBBCEJIAhBBCAHEOQCDAELQQQgCCAHQQQgA0ECdCIFEOMCIglFDQEaCyABIAM2AgAgASAJNgIEQYGAgIB4CyEDIAYgBTYCBCAGIAM2AgAgAkEgaiQADAELIAJBFGpCADcCACACQQE2AgwgAkHQxsAANgIIIAJBrMbAADYCECACQQhqQaTHwAAQgQIACyAEKAIIIgJBgYCAgHhGDQAgAkUNASACIAQoAgwQswMACyAEQRBqJAAMAQsQgAIACyAAIAEpAgQ3AwALEAAgACACNgIEIAAgATYCAAsQACAAIAI2AgQgAEEANgIACw4AIAAgASABIAJqEJcCC50CAQd/IwBBEGsiBSQAAkACQAJAIAEoAggiAyABKAIATw0AIAVBCGohBiMAQSBrIgIkAAJAIAMgASgCACIETQRAAn9BgYCAgHggBEUNABogASgCBCEHAkAgA0UEQEEBIQggB0EBIAQQ5AIMAQtBASAHIARBASADEOMCIghFDQEaCyABIAM2AgAgASAINgIEQYGAgIB4CyEEIAYgAzYCBCAGIAQ2AgAgAkEgaiQADAELIAJBFGpCADcCACACQQE2AgwgAkGglMEANgIIIAJB/JPBADYCECACQQhqQfSUwQAQgQIACyAFKAIIIgJBgYCAgHhGDQAgAkUNASACIAUoAgwQswMACyAFQRBqJAAMAQsQgAIACyAAIAEpAgQ3AwALEQAgASAAKAIAIAAoAgQQzwILEAAgACgCACAAKAIEIAEQGgsRACAAKAIAIAAoAgQgARC2AwsgACAAQuTex4WQ0IXefTcDCCAAQsH3+ejMk7LRQTcDAAshACAAQsCZmfGd4szmmH83AwggAEK5z4GGttGa5zQ3AwALIAAgAEK/77T64d+x2F83AwggAEKp9sOtgYrWqFE3AwALEQAgACgCBCAAKAIIIAEQtgMLEwAgAEGYgcIANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBAYCw0AIAAgASACEP8CQQALDQAgACgCACABQQEQFAsJACAAKAIAECILDQAgACgCBCAAKAIAaws8AQF/An8gAS0AAUUEQBANIQJBAAwBCxAOIQJBAQshAyAAQQA2AgggACACNgIEIAAgAzYCACAAIAE2AhALDQAgACgCACABIAIQCAsOACAAKAIAGgNADAALAAsNACAANQIAQQEgARBDCw0AIAAxAABBASABEEMLDQAgADMBAEEBIAEQQwsPAEGun8IAQSsgABDcAQALDQAgACkDAEEBIAEQQwvHAgICfwF+An8gACgCACkDACEEIwBBgAFrIgMkAAJAAkACfwJAIAEoAhwiAEEQcUUEQCAAQSBxDQEgBEEBIAEQQwwCC0EAIQADQCAAIANqQf8AakEwQdcAIASnQQ9xIgJBCkkbIAJqOgAAIABBAWshACAEQhBUIQIgBEIEiCEEIAJFDQALIABBgAFqIgJBgAFLDQIgAUEBQfekwgBBAiAAIANqQYABakEAIABrECEMAQtBACEAA0AgACADakH/AGpBMEE3IASnQQ9xIgJBCkkbIAJqOgAAIABBAWshACAEQhBUIQIgBEIEiCEEIAJFDQALIABBgAFqIgJBgAFLDQIgAUEBQfekwgBBAiAAIANqQYABakEAIABrECELIQAgA0GAAWokACAADAILIAJBgAFB/KTCABCdAQALIAJBgAFB/KTCABCdAQALCwcAIAAQygILHQEBfyAAKAIAIgEEQCAAKAIEQQQgAUEDdBDkAgsLDgAgAUHgiMAAQQUQzwILCwAgACgCACABEH8LDgAgAUGUnMAAQQUQzwILDgAgAUG4qcAAQREQzwILDAAgACABKQIENwMAC5sBAQF/IAAoAgAoAgAhAiMAQTBrIgAkAAJ/IAIoAgxFBEAgAiABEE4MAQsgAEEsakHGADYCACAAQSRqQcYANgIAIABBDGpCAzcCACAAQQM2AgQgAEGg/MAANgIAIAAgAkEMajYCICAAQYMBNgIcIAAgAjYCGCAAIAJBEGo2AiggACAAQRhqNgIIIAEgABDvAgshASAAQTBqJAAgAQsMACAAEKQBIAAQwgILDgAgAUGwysAAQQoQzwILDgAgAUGE1sAAQQsQzwILKAAgASAAKAIALQBYQQJ0IgBBtN/AAGooAgAgAEGg38AAaigCABDPAgsNACABQeThwABBAhAYC30BA38gACgCACICKAIAIQAgAigCBCEDIwBBEGsiAiQAIAJBCGoiBCABEJoCIAAgA2ohAyMAQRBrIgEkAAN/IAAgA0YEfyABQRBqJAAgBAUgASAANgIMIAQgAUEMakHc08AAEEog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A2ohBCADBEAgACEBA0AgASAFOgAAIAFBAWoiASAESQ0ACwsgBCACIANrIgJBfHEiA2ohASADQQBKBEAgBUH/AXFBgYKECGwhAwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACABQQFqIgEgAkkNAAsLIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIABBAWohACABQQFqIQEgAkEBayICDQEMAgsLIAQgBWshAwsgAwsOACABQaiPwABBEhDPAgsOACABQcSOwABBEhDPAgsOACABQbySwABBFBDPAgsOACABQfSQwABBDhDPAgsOACABQfyNwABBEhDPAgsJACAAIAEQxgILDgAgAUHn+MEAQQgQzwILDgAgAUHv+MEAQQMQzwILDgAgAUGclcEAQQUQzwILDgAgAUHe+MEAQQkQzwILCAAgACgCCEULpAICA38BfkH8w8IAKAIABH9BgMTCAAUjAEEwayIBJAACfyAABEAgACkCACEEIABBADYCACABQShqIgIgAEEQaikCADcDACABQSBqIgMgAEEIaikCADcDACABIAQ3AxggBKcEQCABQRBqIAIpAwA3AwAgASADKQMANwMIIAEoAhwMAgsgAUEYahDVAgsgAUEQakGw48AAKQMANwMAIAFBqOPAACkDADcDCEEACyEAQfzDwgApAgAhBEGAxMIAIAA2AgBB/MPCAEEBNgIAIAFBKGpBjMTCACkCADcDACABQSBqQYTEwgApAgA3AwBBhMTCACABKQMINwIAQYzEwgAgAUEQaikDADcCACABIAQ3AxggAUEYahDVAiABQTBqJABBgMTCAAsLCQAgACABENgCCwkAIAEgABC+AQsLAEGUyMIAKAIARQsHACAAKAIIC9IFAQZ/AkAjAEHgAGsiACQAIABBADYCNCAAQoCAgIAQNwIsIABB0ABqQfDkwAA2AgAgAEEDOgBYIABBIDYCSCAAQQA2AlQgAEEANgJAIABBADYCOCAAIABBLGo2AkwjAEFAaiICJABBASEGAkAgAEE4aiIFKAIUIgRB9J/CAEEMIAVBGGooAgAiBygCDCIFEQIADQAgASgCDCEDIAJBHGpCAzcCACACQTxqQcYANgIAIAJBNGpBxgA2AgAgAkEDNgIUIAJB3J/CADYCECACIANBDGo2AjggAiADQQhqNgIwIAJBrwE2AiwgAiADNgIoIAIgAkEoajYCGCAEIAcgAkEQahAjDQACQCABKAIIIgMEQCAEQYCgwgBBAiAFEQIADQIgAkE4aiADQRBqKQIANwMAIAJBMGogA0EIaikCADcDACACIAMpAgA3AyggBCAHIAJBKGoQIw0CDAELIAIgASgCACIDIAEoAgRBDGooAgARAQAgAikDAELB9/nozJOy0UGFIAJBCGopAwBC5N7HhZDQhd59hYRQRQ0AIARBgKDCAEECIAURAgANASAEIAMoAgAgAygCBCAFEQIADQELQQAhBgsgAkFAayQAIAZFBEAgAEEoaiIFIABBNGooAgA2AgAgACAAKQIsNwMgIABBIGoiAUGx5sAAQQoQ/wIgAEEYahAJIgIQCiAAKAIYIQQgACAAKAIcIgM2AkAgACAENgI8IAAgAzYCOCAAQRBqIABBOGoiAxCAAyAAIAAoAhQiBDYCNCAAIAAoAhAiBjYCMCAAIAQ2AiwgASAGIAQQ/wIgAUG75sAAQQIQ/wIgAEFAayAFKAIANgIAIAAgACkDIDcDOCAAQQhqIAMQgAMgACgCCCAAKAIMEAsgAEEsahDKAiACQYQBTwRAIAIQAAsgAEHgAGokAAwBC0GI5cAAQTcgAEEgakHA5cAAQZzmwAAQigEACwsHACAAKAIACwMAAQsLycACKQBBgIDAAAuBIXVsbHJ1ZWFsc2VpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZV9qc29uLTEuMC45Ny9zcmMvZGUucnMAAAAyABAAXwAAAFAEAAAiAAAAMgAQAF8AAABGBAAAJgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAABAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAEAAAAGAAAAAQAAAAAAAAABAAAABwAAAAEAAAAAAAAAAQAAAAgAAAABAAAAAAAAAAEAAAAJAAAAAQAAAAAAAAABAAAACgAAAHN0cnVjdCBMaWNlbnNlVHlwZSB3aXRoIDIgZWxlbWVudHMAAEQBEAAiAAAACwAAAAgAAAAEAAAADAAAAHRleHR2YWx1ZXN0cnVjdCBMaWNlbnNlRGF0ZSB3aXRoIDMgZWxlbWVudHMAiQEQACIAAAB2YWx1ZV9udW12YWx1ZV9zdHJzdHJ1Y3QgUHJvZHVjdEluZm8gd2l0aCA0IGVsZW1lbnRzxgEQACIAAABzbHVnbmFtZXZlcnNpb25kYXRhc3RydWN0IExpY2Vuc2Ugd2l0aCAxMSBlbGVtZW50cwAAAwIQAB8AAAB1dWlkcHJvZHVjdGxpY2Vuc2VlX25hbWVydWxlc3R5cGVjcmVhdGVkX2F0dXBkYXRlZF9hdHZhbGlkX3VudGlsYmxvY2tlZHN0cnVjdCBTaWduZWRMaWNlbnNlIHdpdGggMiBlbGVtZW50cwBzAhAAJAAAAHNlcmlhbGl6ZWRfbGljZW5zZXNpZ25hdHVyZV9iYXNlNjQAAAwAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2dlbmVyaWMtYXJyYXktMC4xNC43L3NyYy9saWIucnMAyAIQAGMAAAA8AgAACQAAAA8AAAAMAAAABAAAABAAAAARAAAAEgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAEwAAAAAAAAABAAAAFAAAAC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCcAxAASwAAADMKAAAOAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcF9lcnIoKWAgb24gYW4gYE9rYCB2YWx1ZQAAFQAAAPgAAAAIAAAAFgAAABcAAAABAAAAAQAAABgAAAAPAAAADAAAAAQAAAAZAAAA+AMQAAAAAABFcnJvclJzYVBhcmFtZXRlcnNwYWRkaW5nX2FsZwAAABoAAAAIAAAABAAAABsAAABtaW5fYml0cxoAAAAEAAAABAAAABwAAABOb25lU29tZRoAAAAEAAAABAAAAB0AAAAaAAAABAAAAAQAAAAeAAAAGgAAAAQAAAAEAAAAHwAAAHNyYy9saWIucnMAAOAEEAAKAAAAhgAAACgAAADgBBAACgAAAIYAAAANAAAAQ3J5cHRvIGVycm9yLgAAAAwFEAANAAAAU2VyZGUgZXJyb3IuJAUQAAwAAABCYXNlNjQgZGVjb2RlIGVycm9yLjgFEAAUAAAAUmFuZCBlcnJvci4AVAUQAAsAAAAaAAAADAAAAAQAAAAaAAAADAAAAAQAAAAgAAAAaAUQAGgFEAAhAAAAMIIBCgKCAQEA0jLQF4vmD/m3Eo2Dtkyn/DBlgp6j6P56iQPOmIGY96J+Jk39m9O6sg1Qt0V5rm99rPGB6dCGcyH08Oho+pTXxShvfwe25gdT+pCtXSW8SbektduGwiujjO+KON34HEI/xs8U4nrLBB/F4FY9HgiUtNeVMagMbDj5e2aqJ0lYV4+e+/H/QgCeIncAcDgkJpxz4kR4XoSuhZoAF98hA4pbP9YsoBTFfuODe9Ajp8vkaObhHIxgA2lkfgJ49/Pgc9r3ch9Djg0j/+h15b40mgxR7YHbGlCoPhNX9xFrEH8y7UFajAH1Etfgvx5/Z1Ctw/Pu8Xq7lERKj3AzeL5uUeZrbwIDAQABAACQBRAADgEAAOAEEAAKAAAATwEAACQAAADgBBAACgAAAFABAAArAAAA4AQQAAoAAABRAQAAKwAAAExpY2Vuc2VUeXBldGV4dHZhbHVl4wYQAAQAAADnBhAABQAAAHN0cnVjdCBMaWNlbnNlVHlwZUxpY2Vuc2VEYXRldmFsdWVfbnVtdmFsdWVfc3RyAOMGEAAEAAAAGQcQAAkAAAAiBxAACQAAAHN0cnVjdCBMaWNlbnNlRGF0ZQAAIgAAAAgAAAAIAAAAIwAAAFByb2R1Y3RJbmZvc2x1Z25hbWV2ZXJzaW9uZGF0YQAAcwcQAAQAAAB3BxAABAAAAHsHEAAHAAAAggcQAAQAAABzdHJ1Y3QgUHJvZHVjdEluZm8AABoAAAAEAAAABAAAACQAAABMaWNlbnNldXVpZHByb2R1Y3RsaWNlbnNlZV9uYW1lcnVsZXN0eXBlY3JlYXRlZF9hdHVwZGF0ZWRfYXR2YWxpZF91bnRpbGJsb2NrZWQAANMHEAAEAAAA1wcQAAcAAADeBxAADQAAAOsHEAAFAAAA8AcQAAQAAAB7BxAABwAAAPQHEAAKAAAA/gcQAAoAAAAICBAACwAAABMIEAAHAAAAggcQAAQAAABzdHJ1Y3QgTGljZW5zZQAAJQAAAAwAAAAEAAAAJgAAACcAAAA0AAAABAAAACgAAAApAAAAEAAAAAQAAAAqAAAAKwAAABgAAAAEAAAALAAAAC0AAAAgAAAACAAAAC4AAABMaWNlbnNlUmVzdWx0b2ttZXNzYWdlTGljZW5zZUtleVJlc3VsdFNpZ25lZExpY2Vuc2VzZXJpYWxpemVkX2xpY2Vuc2VzaWduYXR1cmVfYmFzZTY0AAAABwkQABIAAAAZCRAAEAAAAHN0cnVjdCBTaWduZWRMaWNlbnNlQ291bGQgbm90IGNvbnZlcnQgcmVzdWx0IHRvIGpzb24gdmFsdWUuRGVzZXJpYWxpemF0aW9uIGVycm9yOiBJbnZhbGlkIGxpY2Vuc2Ugc2lnbmF0dXJlOiBDYW5ub3QgZGVzZXJpYWxpemUgbGljZW5zZTogTGljZW5zZSBkZWNyeXB0aW9uIGZhaWxlZDogL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ibG9jay1idWZmZXItMC4xMC40L3NyYy9saWIucnMAAOAJEABiAAAApAAAABgAAADgCRAAYgAAAKQAAAAgAAAA4AkQAGIAAACuAAAAFAAAAOAJEABiAAAArgAAABoAAADgCRAAYgAAAJ0AAAAYAAAA4AkQAGIAAACdAAAAHwAAAOAJEABiAAAAnQAAACUAAADgCRAAYgAAAC0BAAAiAAAA4AkQAGIAAAA4AQAAHgAAAOAJEABiAAAANQEAABgAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL21kLTUtMC4xMC42L3NyYy9jb21wcmVzcy9zb2Z0LnJz5AoQAGQAAAA1AAAAMgAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUALwAAAAAAAAABAAAAMAAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbWQtNS0wLjEwLjYvc3JjL2xpYi5ycwAAlAsQAFoAAABdAAAAEwAAAFRyeUZyb21TbGljZUVycm9yAAAAMQAAAAQAAAAEAAAAMgAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZXZwa2RmLTAuMi4wL3NyYy9saWIucnMAJAwQAFsAAAB5AAAADAAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY29uc29sZV9lcnJvcl9wYW5pY19ob29rLTAuMS43L3NyYy9saWIucnMAAKUMEABtAAAAlQAAAA4AAAA0AAAADAAAAAQAAAA1AAAANgAAABIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ADcAAAAAAAAAAQAAADgAAAAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAhA0QAEsAAAAzCgAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAA4A0QACoAAABFcnJvcgAAADcAAAAAAAAAAQAAAAIAAABOb25lU29tZTkAAAAEAAAABAAAAB4AAAABAAFBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjIuMC9zcmMvZW5naW5lL21vZC5yc1ZlYyBpcyBzaXplZCBjb25zZXJ2YXRpdmVseQAAAOoPEAAbAAAAhw8QAGMAAAAAAQAAGQAAAHVsbC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwAAACMQEABOAAAAYgcAABEAQZChwAALpTJhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jdHItMC45LjIvc3JjL2ZsYXZvcnMvY3RyMzIucnMAqRAQAGIAAAA6AAAAIwAAAE1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleQAQAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9nZW5lcmljLWFycmF5LTAuMTQuNy9zcmMvbGliLnJzAFQREABjAAAAPAIAAAkAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3VuaXZlcnNhbC1oYXNoLTAuNS4xL3NyYy9saWIucnMAyBEQAGMAAAB/AAAAGQAAAMgREABjAAAAfwAAACgAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2FlYWQtMC41LjIvc3JjL2xpYi5ycwAAADoAAAAMAAAABAAAADsAAAA6AAAADAAAAAQAAAA7AAAAOwAAAKgSEAA8AAAAPQAAAD4AAAA/AAAATBIQAFkAAAA2AQAACQAAAG1pZCA+IGxlbgAAAPASEAAJAAAAL3J1c3RjLzI1ZWY5ZTNkODVkOTM0YjI3ZDlkYWRhMmY5ZGQ1MmIxZGM2M2JiMDQvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAAAEExAATQAAAOEDAAAhAAAABBMQAE0AAADhAwAALgAAAAQTEABNAAAA5QMAACAAAAAEExAATQAAAOUDAAArAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBAAAAAAAAAAAEAAABBAAAAQAAAAAAAAAABAAAAQgAAAFRyeUZyb21TbGljZUVycm9yAAAAQwAAAAQAAAAEAAAAMgAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY2lwaGVyLTAuNC40L3NyYy9zdHJlYW1fY29yZS5ycwAEFBAAYwAAAJEAAAAvAAAABBQQAGMAAACAAAAADgAAAAQUEABjAAAAgAAAABQAAAAEFBAAYwAAAIMAAAAtAAAABBQQAGMAAACDAAAAFwAAAFN0cmVhbUNpcGhlckVycm9yL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9hZXMtZ2NtLTAuMTAuMy9zcmMvbGliLnJzAADJFBAAXQAAAGoBAAAUAAAAyRQQAF0AAABrAQAAFAAAAMkUEABdAAAATAEAABkAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2N0ci0wLjkuMi9zcmMvZmxhdm9ycy9jdHIzMi5ycwAAWBUQAGIAAABKAAAAKAAAAFgVEABiAAAASgAAADoAAAAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzANwVEABPAAAAuAEAADcAAABHAAAAAAAAAAEAAABIAAAASQAAAEoAAABPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQA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Y29kZS5ycwAAnCAQAHYAAACNAAAAGQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjIuMC9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4LnJzAAAAJCEQAH0AAAAfAAAAJgAAACQhEAB9AAAAVAAAAAkAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Jhc2U2NC0wLjIyLjAvc3JjL2VuZ2luZS9nZW5lcmFsX3B1cnBvc2UvZGVjb2RlLnJzAADEIRAAdgAAADgAAAAmAAAAxCEQAHYAAABeAAAALgAAAMQhEAB2AAAAYQAAAA0AAADEIRAAdgAAAGUAAAA4AAAAxCEQAHYAAAA9AAAAJwAAAMQhEAB2AAAARAAAAB4AAADEIRAAdgAAAEoAAAAeAAAAxCEQAHYAAABQAAAAHgAAAMQhEAB2AAAAVgAAAB4AAADEIRAAdgAAAPkAAAALAAAAxCEQAHYAAAD5AAAANQAAAMQhEAB2AAAA+QAAABEAAADEIRAAdgAAACcBAAALAAAAxCEQAHYAAAAnAQAANQAAAMQhEAB2AAAAJwEAABEAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHksIxAAJAAAAC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNYIxAATAAAAM8BAAAJAAAAVG9vU21hbGxUb29MYXJnZWFzc2VydGlvbiBmYWlsZWQ6IG1pbl9iaXRzID49IE1JTl9CSVRTL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvcnNhL3B1YmxpY19tb2R1bHVzLnJzAOojEABpAAAALwAAAAkAAABJbnZhbGlkRW5jb2RpbmcvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9saW1iLnJzAABzJBAAWwAAANIAAAANAAAAbWlkID4gbGVuAAAA4CQQAAkAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAFUAAAAAAAAAAQAAAFYAAABFbmRPZklucHV0L2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91bnRydXN0ZWQtMC45LjAvc3JjL3JlYWRlci5ycwA6JRAAYQAAAGkAAAAiAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvZGlnZXN0LnJzAAAArCUQAF0AAAD7AAAAFgAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmluZy0wLjE3Ljgvc3JjL3JzYS9wYWRkaW5nL3BrY3MxLnJzHCYQAGgAAAA9AAAAKQAAAGFzc2VydGlvbiBmYWlsZWQ6IGVtLmxlbigpID49IGRpZ2VzdF9sZW4gKyAxMQAAABwmEABoAAAAUQAAAAUAAAAcJhAAaAAAAFMAAAAFAAAAHCYQAGgAAABUAAAABQAAABwmEABoAAAAWAAAAAUAAAAcJhAAaAAAAFoAAAApAAAAHCYQAGgAAABaAAAAOQAAABwmEABoAAAAWwAAABMAAAAcJhAAaAAAAFwAAAAQAAAAHCYQAGgAAABWAAAACQAAAEAvEABgJxAAEwAAADAxMA0GCWCGSAFlAwQCAQUABCAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JpbmctMC4xNy44L3NyYy9saW1iLnJzAABzJxAAWwAAAG8AAAAZAAAAcycQAFsAAADbAAAABQAAAHMnEABbAAAATQEAAAUAAABzJxAAWwAAAGABAAAFAAAAbWlkID4gbGVuAAAAECgQAAkAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAFcAAAAAAAAAAQAAAFgAAABZAAAABAAAAAQAAAAyAAAAVHJ5RnJvbUludEVycm9yL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvcnNhL3B1YmxpY19rZXkucnN/KBAAZQAAALUAAABYAAAAfygQAGUAAADbAAAAFwAAAH8oEABlAAAA3QAAAB4AAABhc3NlcnRpb24gZmFpbGVkOiBwYWRkaW5nLml0ZXIoKS5hbGwofCZifCBiID09IDApAAAAfygQAGUAAADeAAAABQAAAC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwAAWCkQAE4AAAACCAAAEQBBwNPAAAvhBmF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AAABaAAAABAAAAAQAAABbAAAAWCkQAE4AAACOBgAAFQAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAXAAAAAAAAAABAAAAXQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmluZy0wLjE3Ljgvc3JjL2FyaXRobWV0aWMvbW9udGdvbWVyeS5yczgqEABsAAAAxgAAAAYAAAA4KhAAbAAAANQAAAAGAAAAOCoQAGwAAADXAAAAIQAAADgqEABsAAAA1wAAACYAAAA4KhAAbAAAANYAAAAJAAAAOCoQAGwAAACZAAAAGwAAAFVuc3BlY2lmaWVkL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvYXJpdGhtZXRpYy9iaWdpbnQvbW9kdWx1cy5ycwAPKxAAcAAAALkAAAAJAAAADysQAHAAAADKAAAAHQAAAEludmFsaWRDb21wb25lbnRJbnZhbGlkRW5jb2RpbmdUb29TbWFsbFRvb0xhcmdlVW5leHBlY3RlZEVycm9yL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yaW5nLTAuMTcuOC9zcmMvbGltYi5ycwAAAN4rEABbAAAARQAAAAUAAABQS0NTMWRpZ2VzdF9hbGcAXgAAAAQAAAAEAAAAXwAAAGRpZ2VzdGluZm9fcHJlZml4AAAAXgAAAAQAAAAEAAAAYAAAAF4AAAAMAAAABAAAAGEAAABiAAAAYwAAAFQnEACQLBAAAAgAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmluZy0wLjE3Ljgvc3JjL2RpZ2VzdC5ycwAAALQsEABdAAAAOQAAABoAQbDawAALsARhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAAAAtCwQAF0AAAA6AAAACQAAALQsEABdAAAAQwAAABIAAAC0LBAAXQAAAEkAAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogbnVtX3BlbmRpbmcgPD0gcGVuZGluZy5sZW4oKQAAtCwQAF0AAABKAAAACQAAALQsEABdAAAATQAAAAkAAAC0LBAAXQAAAFEAAAAUAAAAtCwQAF0AAABYAAAAEAAAALQsEABdAAAAXgAAAA4AAAC0LBAAXQAAAGAAAAAOAAAAtCwQAF0AAABiAAAADgAAALQsEABdAAAAYwAAABAAAAC0LBAAXQAAAGMAAAAtAAAAtCwQAF0AAACxAAAAGQAAALQsEABdAAAAsQAAAEwAAAC0LBAAXQAAALEAAAA3AAAAtCwQAF0AAACyAAAALAAAALQsEABdAAAAswAAACMAAAC0LBAAXQAAALcAAAAaAAAAtCwQAF0AAAC5AAAAJQAAALQsEABdAAAAuwAAABkAAAC0LBAAXQAAALwAAAAsAAAAtCwQAF0AAAC8AAAAEgAAALQsEABdAAAAqQAAABkAAAC0LBAAXQAAAKkAAABNAAAAtCwQAF0AAADIAAAAJgAAALQsEABdAAAA7gEAAA8AAABTSEExU0hBMjU2U0hBMzg0U0hBNTEyU0hBNTEyXzI1NgAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gWwBBgN/AAAurBGQAAABlAAAAIAAAACAAAABAAAAACAAAAAEAAAAAAAAABAAAAAYAAAAGAAAABgAAAAoAAAAcLxAAIC8QACYvEAAsLxAAMi8QAEJpdExlbmd0aAAAAGYAAAAEAAAABAAAAGcAAACYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGKCljYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uagAAAAAAAAABAAAAawAAAC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMAPDEQAE8AAAAGAQAAGgAAAAAAAAD//////////6AxEABBuOPAAAuFGyBjYW4ndCBiZSByZXByZXNlbnRlZCBhcyBhIEphdmFTY3JpcHQgbnVtYmVynDEQAAAAAAC4MRAALAAAAGwAAAAvaG9tZS9uZXVyb25ldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlLXdhc20tYmluZGdlbi0wLjYuNS9zcmMvbGliLnJzAPgxEABnAAAANQAAAA4AAABtAAAADAAAAAQAAABuAAAAbwAAABIAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AHAAAAAAAAAAAQAAAHEAAAAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA0DIQAEsAAAAzCgAADgAAAEVycm9yCgpTdGFjazoKCgoKL3J1c3RjLzI1ZWY5ZTNkODVkOTM0YjI3ZDlkYWRhMmY5ZGQ1MmIxZGM2M2JiMDQvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAD0zEABOAAAAjgYAABUAAAAAAAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcG9seXZhbC0wLjYuMi9zcmMvYmFja2VuZC9zb2Z0MzIucnO5MxAAZwAAAGgAAAATAAAAKCljYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAAAAcgAAAAAAAAABAAAAcwAAAFRyeUZyb21TbGljZUVycm9yAAAAdAAAAAQAAAAEAAAAdQAAAC9ob21lL25ldXJvbmV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLTAuOC40L3NyYy9zb2Z0L2ZpeHNsaWNlMzIucnOUNBAAZAAAACoAAAAYAAAAlDQQAGQAAABOAAAAJAAAAJQ0EABkAAAAUwAAACIAAACUNBAAZAAAAEoAAAAoAAAAlDQQAGQAAABLAAAAKAAAAJQ0EABkAAAATAAAACgAAACUNBAAZAAAADEAAAAdAAAAlDQQAGQAAAAyAAAAIgAAAJQ0EABkAAAANwAAAC4AAACUNBAAZAAAADgAAAAuAAAAlDQQAGQAAAA5AAAALgAAAJQ0EABkAAAAOgAAAC4AAACUNBAAZAAAADUAAAAuAAAAlDQQAGQAAAAyAQAAJQAAAJQ0EABkAAAAOAEAACkAAACUNBAAZAAAAEgBAAAtAAAAlDQQAGQAAABNAQAALQAAAJQ0EABkAAAAUwEAACkAAACUNBAAZAAAAA8DAAAOAAAAlDQQAGQAAAAQAwAADgAAAJQ0EABkAAAAEQMAAA4AAACUNBAAZAAAABIDAAAOAAAAlDQQAGQAAAATAwAADgAAAJQ0EABkAAAAFAMAAA4AAACUNBAAZAAAABUDAAAOAAAAlDQQAGQAAAAWAwAADgAAAJQ0EABkAAAAuAMAAAUAAACUNBAAZAAAALkDAAAFAAAAlDQQAGQAAAC6AwAABQAAAJQ0EABkAAAAuwMAAAUAAACUNBAAZAAAAIkEAAASAAAAlDQQAGQAAACJBAAAPQAAAJQ0EABkAAAAnwQAACsAAACUNBAAZAAAAJ8EAABDAAAAlDQQAGQAAACgBAAAKwAAAJQ0EABkAAAAoAQAAEMAAACUNBAAZAAAAKEEAAArAAAAlDQQAGQAAAChBAAAQwAAAJQ0EABkAAAAogQAACsAAACUNBAAZAAAAKIEAABDAAAAlDQQAGQAAACjBAAAKwAAAJQ0EABkAAAAowQAAEMAAACUNBAAZAAAAKQEAAArAAAAlDQQAGQAAACkBAAAQwAAAJQ0EABkAAAApQQAACsAAACUNBAAZAAAAKUEAABDAAAAlDQQAGQAAACmBAAAKwAAAJQ0EABkAAAApgQAAEMAAACUNBAAZAAAAMIEAAAFAAAAlDQQAGQAAADDBAAABQAAAJQ0EABkAAAAxAQAAAUAAACUNBAAZAAAAMUEAAAFAAAAlDQQAGQAAADGBAAABQAAAJQ0EABkAAAAxwQAAAUAAACUNBAAZAAAAMgEAAAFAAAAlDQQAGQAAADJBAAABQAAAJQ0EABkAAAA/gQAABsAAACUNBAAZAAAAP8EAAAbAAAAlDQQAGQAAAAABQAAGwAAAJQ0EABkAAAAAQUAABsAAACUNBAAZAAAAAIFAAAbAAAAlDQQAGQAAAADBQAAGwAAAJQ0EABkAAAABAUAABsAAACUNBAAZAAAAAUFAAAbAAAAlDQQAGQAAAAUBQAAIgAAAJQ0EABkAAAAFAUAAAkAAACUNBAAZAAAACQFAAAFAAAAR2VuZXJpY0FycmF5Ojpmcm9tX2l0ZXIgcmVjZWl2ZWQgIGVsZW1lbnRzIGJ1dCBleHBlY3RlZCAoORAAIQAAAEk5EAAXAAAAL2hvbWUvbmV1cm9uZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9nZW5lcmljLWFycmF5LTAuMTQuNy9zcmMvbGliLnJzAHA5EABjAAAAbgEAAAUAAAB2AAAABAAAAAQAAABnAAAAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR59DkQACQAAAAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzIDoQAEwAAADPAQAACQAAAGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkbnVsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAGQ7EABPAAAADgYAABQAAABkOxAATwAAAA4GAAAhAAAAZDsQAE8AAAACBgAAFAAAAGQ7EABPAAAAAgYAACEAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmlzX2NoYXJfYm91bmRhcnkobmV3X2xlbikYOxAASwAAAHQFAAANAAAAZDsQAE8AAACPBAAAJAAAAEVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdEVPRiB3aGlsZSBwYXJzaW5nIGFuIG9iamVjdEVPRiB3aGlsZSBwYXJzaW5nIGEgc3RyaW5nRU9GIHdoaWxlIHBhcnNpbmcgYSB2YWx1ZWV4cGVjdGVkIGA6YGV4cGVjdGVkIGAsYCBvciBgXWBleHBlY3RlZCBgLGAgb3IgYH1gZXhwZWN0ZWQgaWRlbnRleHBlY3RlZCB2YWx1ZWludmFsaWQgZXNjYXBlaW52YWxpZCBudW1iZXJudW1iZXIgb3V0IG9mIHJhbmdlaW52YWxpZCB1bmljb2RlIGNvZGUgcG9pbnRjb250cm9sIGNoYXJh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AAATAAAAoUoQAGEAAAA+AgAAJQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAEHQl8EACwEBAEH0mMEAC8UIoUoQAGEAAACmAwAALwAAAP///////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4P//////////////////////////////////8KCwwNDg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+JAAAABAAAAAQAAAAfAAAAiQAAAAQAAAAEAAAAigAAAE51bWJlcigppE0QAAcAAACrTRAAAQAAAC9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL21hcC9lbnRyeS5yc7xNEABgAAAAcAEAADYAAABhc3NlcnRpb24gZmFpbGVkOiBpZHggPCBDQVBBQ0lUWS9ydXN0Yy8yNWVmOWUzZDg1ZDkzNGIyN2Q5ZGFkYTJmOWRkNTJiMWRjNjNiYjA0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL25vZGUucnMATE4QAFsAAACXAgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGVkZ2UuaGVpZ2h0ID09IHNlbGYuaGVpZ2h0IC0gMUxOEABbAAAArwIAAAkAAABMThAAWwAAALMCAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3JjLmxlbigpID09IGRzdC5sZW4oKUxOEABbAAAALwcAAAUAAABMThAAWwAAAK8EAAAjAAAATE4QAFsAAACzBAAAIwAAAExOEABbAAAA7wQAACQAAABhc3NlcnRpb24gZmFpbGVkOiBlZGdlLmhlaWdodCA9PSBzZWxmLm5vZGUuaGVpZ2h0IC0gMQAAAExOEABbAAAA8AMAAAkAAAAvcnVzdGMvMjVlZjllM2Q4NWQ5MzRiMjdkOWRhZGEyZjlkZDUyYjFkYzYzYmIwNC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9uYXZpZ2F0ZS5ycwC4TxAAXwAAAFkCAAAwAAAAL3J1c3RjLzI1ZWY5ZTNkODVkOTM0YjI3ZDlkYWRhMmY5ZGQ1MmIxZGM2M2JiMDQvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbmF2aWdhdGUucnMAKFAQAF8AAADHAAAAJwAAAChQEABfAAAAFwIAAC8AAAAoUBAAXwAAAKIAAAAkAAAAAQBBx6HBAAvRKiCamZmZmZmZmZmZmZmZmZkZFa5H4XoUrkfhehSuR+F6FN4kBoGVQ4ts5/up8dJNYhCW1AloImx4eqUsQxzr4jYaq0Nuhhvw+WGE8GjjiLX4FCI2WDhJ88e0No3ttaD3xhBqI43ADlKmh1dIr7ya8tcaiE/XZqVBuJ/fOYww4o55FQemEh9RAS3mspTWJugLLhGkCVHLgWiu1re6vdfZ33wb6jqnojTt8d5flWR54X/9FbvIhej28Cd/GRHqLYGZlxH4DdZAvrQMZcKBdklowiUck3HeM5iQcOoBmyuhhpuEFkPBfingpvMhmxVW556vAxI3NTEPzdeFaSu8idiXstIc+ZBaP9ffNyGJltRGRvUOF/pzSMxF5l/noKtD0tFdchJdhg16PD1mpTSs0rZPyYMdsZ7XlGOXHlFdI0KSDKGcF8FLed2C337afU+bDgq04xJorFti0ZhkKpblXhcQIDkeU/Digafgtu5EUbISQLMtGKkmT85STZJYaqeOqJnCVxNBpH6wt3tQJ6rYfdr10PIeNFBlwF/JplK7E8uuxEDCGJCm6plM1OsOyQ888jaazhOAChHDrVN5sUEZYFC+9rAfZwh0AovcLcFnR7Om/l5aGVKgKTVvsCQ0hp/C6/5LSBTbGe6Q8lkdkJ5/aIll1jkQXymwtB3D+0yXMqeo1SP2GbK6WV2xNZY9rFsfunfpxBQoYuF9J16rl1ZJTPuSh50QDZ1oydjJq/LwDnr4t6WVGj4Xujp6obxbWnIuLZOERBXLRfsuyBrKr66Oi4pCnQMRRQmSsab33LJK5Hiqnfs4GwShQcHrkn31boMtVbEvxxUDtGdniXVkxFicV3cnJmwR0uyl2NuIbW30xiXyCz3gG9sj60YWB76KwzgeKKP9TBZJtlXSEWz+bpxgS1NPMdcRDorvtk8Tl7FgZ0WFGIKLHKWhv/hyD6wnGrlqN60B1hYeTplgwnJWueFgVSwkzkQSlRbCzQMeV/U1zrsTbeM6HaurAQsDGKwqK9gvdopPYhdWiTRvAuC8u1UT88RuDLUSiajtsdDMx5LvHrjUSnruHQe6V45ACtPb8kuTEG/78RcGyN9xANWofPVvD9pY/CcT1gxm6TO7p/q7TLIpjmCmHhHXhIcp/FKVyaOOVAsahRgOrNDSusmoqgeD2HZvrp0T46waHl7c2t2l0cBXsrBiH0+KSEtLsEh+UUGarI7AGxnZodPV1Vlty9rN4ValMxYUe4HcdxF7Vzzi1+er6sIRECrPYFmCXvLGNiamrKoEthm7pYBHaBj1a8VR61ZVnZEUloQABu15KiPRpyLf3X10EFYHNKPhj93RgQzRMZb8UxpFbPboGnPkpzQ9p/RE/Q8Vnlb4U+IoHVNdl1JdapfZEGJXjbkD22HrLvJQlRC/9RroRaTHz0hOvFhb2t2mZZEVIGuDbNnTcWOt4uEXHx5BEc0Rn60ohhyfSAQD82RjmxsL2xi+U2uw5QadNY8d6RUWohVHyw+J8+prSpFy5CCrETe8cXhM27hERqobhG0BRRxfY8HG1hXHAwVVSQO+mp0WGenNa0XeODY3dwdp/q4XEsFBFkaiY8FWWFhyDpex8hzOZ6vRgRwB33kT9XESjigXpexVQc4WNH9h3JDBDtiGEm5HVjV9JCBlAsfnaOSMpB0lOXj3MB2A6gFsuSAd17YXhPos+fOwmbs0I2FNF6z4Ejn3RyhTTlxfVDhoFfKsWh4uLNO5dQt9f0NgU0RbikgYWCPcx/fVMJnPGak2fDttEybS+XKMibSOso8O8fkrFR+4QS6PowcqciimC/THvN0Y+pq+pU85u8GGHtZcBpfkE/b3MAkZwl6c1zDw+tYk1B/4X1oHFGjlSXmNJi/fg3YZYObhBRAgUW7HClK/5c9eFBqFgdEMgNrxBW8OmYTZSxD11GiCFADET9bk4/Sg9RIaK3ftAaqZadkRtxz3s/fbFLzFigGIFO6tdJKwxVz5rxAsCd5opu18SVTqgG+UKLMaJNTkU7hXyjoQVZq/diBcFYN2HUNgeTtic6qu/16AFhGevcjRZvUrnbgQsTLLM1cbf2RtQVLEvH1gDfSOolzfFcy2imfbaf3K5j3D2E59fxHfindyxQ8vq9cvBY7kLv8bgNWSWwRz8oisjGo+Hb9lFmZEQknQKPXTVj1VmEr/6hGjoANCTUGIuVeVu/MQMqsc6eYCaNfNOWF5d/zCQFvvFlRSAiB5cWHnLfnJaM0VWRKGUJ2ZjrVopXxbdnQVVlsd0qZK4T6RIFH9FcX23UR8Fw4fohr/QE2nykQ3krHQyRJKy2n3ZM6uCxFuWFBPtA8eOzzuxVDYizyn8XlzP5AMGMnJ8TfaeQnKhfTHwjJAPRPbQum/9sKoqW+6DJ63Zsge45u6zCvPUyEmlXB+LFKgGIJJlXCJcqkauN0mZfB0sxOddYgaD4R194wvPgjnh4UfF16ge3I2kV8KJpgG7J83Gd/kGZZb+EAZ1YRGBfB/LBRM6kerr8YA4RA3BdGMmSMQR90/RUykZ87nJNW0R4/SGQaxzJ3W6VLYH7fdw59yqBQ4JwpLRe7beRksfmkZwoYQWdipEaLjXymPRjAPjzZxGnoTu6eBHLO6pWvz2NheJxUvqZXsmuMoYlGJj63gS+wQF3Xv4Pc4Dp3oDkyvmqwTG3kqWRqTLdiwU3LWJeJWqRUuVUdID755jdzB3reBRVQRfLsL2n6WjxWUnJeMzwi6G5cv1hT/EaZ3drDf1nJtLhZ5jN5D/6dR+ZHzsnj1vb4Rjq390v4/HMIc7LdaImNkHNiKZEIyM7ABF/BfFbW1thZGooObjsJZAaxZ5t2QxCsSowM5XxcE9s6swqP8GtQSHYOcLUysaV5yvZscykhDQhec44rWiVQY9f3iFggHaZsSxgWrvQ9Uje4va/EM2HTFHQVrIv5ydte+jCLBcEYq0RcEvE7LKMUS/9ZOZ41ruw0ToPl9eHQ7Ucskfth7El98Hk1h/vkpyQ0JtzGt/EF/YxgKgcuUIdTXoMUnJMo0zIITd854VM+5v2dvDG1DIa03H/lxLd2llMwfWXCKz01X+RjH9L19Ud3Wf3rzoT8+rPoTC+4vyeguvv/DuJwy/Xn3H9Yk86AgvzFmNvoWwv3Hkhl4HVwaGswnuF77qwHLbHUUYOR8e64JU5MYybxnovBdEJmglMWwQuse9HSUP2rnLxrh5nYEJwKJ5Vwq3TKIH/MU5+srnYXOoLew7rAooH/CENjf32FvSgFZtEpOdDPM0BqtTObnJdXN4CmiPpCP1nMV8dZRhlF3cU3utMvZcngpEehX6dbovuh7sFSsj4SNdRsgEyHfUzK6/FndiQxqpPcVgELnGEMoyGOuSm5w7umSEWZq2Cc4DQ0GFxFKGhdDHhzrIa3sLKQ9axJ0bnsSnH4WVk5XvfAc/ojbXFj8QeP+ESNKJWK0lJZBX2GNYDYFyxzp1B3oKaqrZ3/nPU340AgXh90XILshVrkyuWTX+XNtEqWVjGYraSPC6sE68sLsex0d3tYeibqCzrs0YlsCV5YXGBjfSwdiNaX89rTiAazeElnzZHnYnIg7lPGHNzYTMR7h9YPHRkpt/NxaBsaRQicYGisDBp9uVzAXr57Rp5tSE5De0TzLfSUaJRgxHKaS6h5A5acwPP4dSLd5WuOEqLsYAFGGwMkxS9PFx66CnVPJE820o81C6RFSCaYX0ciFqB+kkBw+AiHbdAe430A6nlMZUA1KywG0FfcFYBln++RCFKcKCAmbKd74N7N6UvyDNRDX3QyokUIwjlm4KreTOe8ZE0sKIA4CjT7h+e74QmG/FA88CIA+mz1l58dY+psamRDkLA0AZPjIbqUMjpD5kI4a6iOkmen504u3o3FAYdo+FbscUOG6lKk8+YL0mRoV/xArYbObxLp1x47RIMNduzEbiRopFmqVxNILDudosWLBFaF7uhGId9Dbbz4fhyeCZxGbkl0cQL+ALOZjmD4/0NgbSXXkSTPMM71RtkZl/wxHFtRdUG6P1o/Kp14FUcxw0hFTybPjS1cZRNn9bk6t54McqTr2ggl5RwPhlyWliuzPFrr7xGjUYGzPgHmE6m7wPxIq+QcOhzR65Zr10xBLGjMdIpQ5C2yQLlHiKkPaCBVcF7Wpx9W8povagVXP4dMQsBKHD9kiLnHfkJxV5QJTgeYdbAwUT4taTNoW3h3PqJrrF4qjqaWie6OueH6xpSDiIhOpBamial/SfSeXtaKaNp4eVNEggoh/25cfrPdOFZJ+GHengM4GZnx5TCPG2N10mBPxCwHkCnAtj61royeWVFofWtYAUKJZJAy+77UfeBAVGRVFmtmBFB1w/vL3svnZEBR3ansUm0MXwP5bxiguew0Q8kOS7cQF8szKLAoOfSuvGcKcDr7QN1sKb72hccoijBTO4z7Lc/lICIyXtCfVG3AQsJ9keOxbDtqsJVQMVflMGsB/UGDwrz57vbep1hBhChUzZkCA87/LlZcs7t5zGtUQUnDNZlJmrO9YR7BkuZDuGttZpLgOhSMmR2zztvqmixVJrraT2NCCHmwjKV+VhTwRdbCKH/Qanv2sOKj+7giUG/dZ1bIpr7GXvZOGmCUHEBYse3f1uiWOrJfcnhMebKYRE8VYIisJfXq/Lf64yXk9HHZqrU7voP1hzFfLYKGUlxbF7r0LWRr+5wkTCedN3RISOrH8RVtdY6bchA7Yr/vqHMiNMGuvShyFsNA+E/NiIhfU1ya88m7j0Cbay3XC6IEShoykxuoXn7TXKUaJnaecHWtwUAXv3xgqRu4EoReGsBeJ89mdJbPgVGuLnU15nvMSdFL2Ym/rzYd4RS98KJdSHl2oXoK/IgvTxmq/yYYSQhjkuUtozBs8D5+I/zrSDmgTbSl5QHosYBiY2piRg+QMHyQhlDPIVrNGE+ITDjYd1xi2TUMpoHiPONy03KSRSt8Tiq9rqGYnf1pgIWGhgqrLH6K/77nrhTIVTbRNtJu7bxlOmYxhidGOqj2QpPbiYlkUDOHWGqGn2O7K2bYrT4JHEEWbJF6bcid+EfaK37EDDBoESR0YSfWF/g34OxlbadYU0KBKE9Rdnsuk+S8UfIerEE0BEVJTyWPfOlzmufkLrBpxZ9p0D6EcGS+wHvv6b1YVwVJIKtmAsK0lwEsvL/MRETRRDaqONOcVCc0Ssn7rTxvEDXHuPl0fq20KDygyidkVnaSNi2UXGbxXCAwgKNR6EZQ6fBI88vQsWQ3gzNm59xtDlZbb/PTD8OA9s3Dhx18WAxESFpddNloay/UmgTnmEQToHPAk/FaQkN4iCzWPoxzQ7OOMHTDf2aZLgqJdP+kW2iODPbFZf+Hros5OsTJUElw5OC+1wstoedF95E6EUx3jLWC/XTXWU5SnZFByA3YXHIvmZbEqeKl27Lamjs/EEvpE12+1qiYP8ROL132yBx5iat+/KiJSPydDb6xkKAYYToh/mYhO22UfnPKJUCA4E0oNzCh0SsVvZZPqD7QzwB47pAmH9qFqWYQPInP2wpkYlrYHbPjn7q022bT1kTWuE1ZXDODzP35JJPW6IoMifR9FrNZM9v9k1OmQleho6DAZ0Yl4Pfj/g0Puc0TtUyAnFHShk5fGzJzP8Y8D8Q9NHxBSArklpEdhfxyzBeh/rssZDzXHt+nSTcwWXNHs//GiFNmQ0l8hDws9ErDaIzNbghDB51CZaEurYVCzKgaFK2oaZ7lAFLqiIk5AXFVrarwhFVOUAN2U6E4LzUlEvO7J5xBR7QDIh9oXEkip08ZKdgwb2r0AoGxIRttsh9xr1ZGjFa9kzUy9BgVJip/j792nTxGxOuJ6yAoIqEP/OOYvprIb9C7o+zmiOVNp/5Me84QoFl3y7C/7tMd1h/8PsvUDuhEu6kfmkSHZIj//f7Yi01wc8lQGhUGBerVl//+R6KiwFvVDODcBAWLEtzIz24btJhLun/PxAWg2OlmE65GkFQsdixn2J5u5Xvvgabx0UBE8F9Z6Xobi+n4v54djXUB0lhJWkf3W0PeX5XHZOGLNhr0dq9rKeA2TeYTBei3oPdLKF1YVby1xQmHQmsiKhjGoCBMiIhivTmpoTZHaqj1PQHQe6LR58j6IU6TarohkPwBdGIddYSj/bNzprlhtUMyZfROklWgNZa5gqeSNSBp6XC8fg0TtPbe+s7qDcaCuYbDyGDadijEsMvYuNsHmvudZ9RPwYXeCEx295Imb15c/9u4fWk4sNal9yoOhr9/fMviLGRWlVvcg/qGc5/KyTML5bxSqHRL5szEbSrkoj3CblFkQ3ZW2wey1XkP1DeWAxe0oGkreXgFXXuU1xKQdZwSL7RTVsRgBrH63xGkdflLQCL4QIrZam3mXJaEPLzC3s6fJGoFeFUlhrLdN2Vjz+MIfbhWbS0QHgSPG163g9ZM15iQRK6zTPpsFPVlJNFaGIj1uG7yJ3MsVnv3gbcMRBYLK8RVjoeNvERj+syRpQTebO44R0ZvSf7VZY4YHdTUlxcUWHA7jDjORFOnR0pD3UDeeeBYLHD+P2na6dHUNxkAsGPoReMYx5ZAk9+27SKNn4FnDHC0FW7dAHSyLydO1H02uAhckBHxfzX1Wb9QPK+Zwi2gSBm3GmEjJ8H7tshE9ThJ0HZ+9nuAGocCYV8Kn/aQOkBfmyktN0oAAR3mb7MpQpdkSokR5SB3OANiOxa1EgQgpHoLQLW0X2DMTP9FXnZrTIBjOpiQkeUb2qGWnrEoVdk0TfaQ6oI49vXRvpXp3iFbiHmRQleY+MWRdjLf7xQYStRi3pqrry422SnAsltFrDsQTV6SqEhMWJBEaR/DoEhegH9/p7g7cRIPaFGzzU0LfTBmAIb/YfJ0C4kMjKUNofz0UM4Eyev19aE42HFTPuTIxELjOUJCVyUBKvca5SylR6BnGC6emd9QzCDHSx2+H2rkUawnsHsZ2KaCNDtO/0q6UEN/brGSjV0IASRe4/x1+hxoZ4yPqtd8BzaASYJmxMTkVrrUciJFMznBNdeatJ476EOJVlKa1reMar7twSQx9Khvod0OFxFfpe/JijQc9l7sVh/k1BGp5h8mOtQoGZN9iEXHCvAYQj6V15Ih31mxl0RsnNcprpqW39+nTkqvwHUEWH8ShvB4exl/uDw9WjbHNEWXTAmFkY6P/FrOxiUhPfBxR3JtNUBzpMt8ojtQG2ckWDn1JcXPjII+yINh2BRQ7EnwuD4KFBZt+6s1Z8TtTKx3KvqUBnjevy+7XR/Qv3FUXoZiENEv5WAm/rGzDjBarEgBBp8zBAAsBEABBt8zBAAsBFABBx8zBAAsBGQBB1szBAAsCQB8AQebMwQALAogTAEH2zMEACwJqGABBhc3BAAsDgIQeAEGVzcEACwPQEhMAQaXNwQALA4TXFwBBtc3BAAsDZc0dAEHEzcEACwQgX6ASAEHUzcEACwTodkgXAEHkzcEACwSilBodAEHzzcEACwVA5ZwwEgBBg87BAAsFkB7EvBYAQZPOwQALBTQm9WscAEGizsEACwaA4Dd5wxEAQbLOwQALBqDYhVc0FgBBws7BAAsGyE5nbcEbAEHSzsEACwY9kWDkWBEAQeHOwQALB0CMtXgdrxUAQfHOwQALB1Dv4tbkGhsAQYHPwQALqTmS1U0Gz/AQAAAAAAAAAACA9krhxwItFQAAAAAAAAAAILSd2XlDeBoAAAAAAAAAAJSQAigsKosQAAAAAAAAAAC5NAMyt/StFAAAAAAAAABA5wGE/uRx2RkAAAAAAAAAiDCBEh8v5ycQAAAAAAAAAKp8Idfm+uAxFAAAAAAAAIDU2+mMoDlZPhkAAAAAAACgyVIksAiI740fAAAAAAAABL6zFm4FtbW4EwAAAAAAAIWtYJzJRiLjphgAAAAAAEDm2HgDfNjqm9AeAAAAAADoj4crgk3HcmFCEwAAAAAA4nNptuIgec/5EhgAAAAAgNrQA2QbaVdDuBceAAAAAJCIYoIesaEWKtPOEgAAAAC0KvsiZh1KnPSHghcAAAAAYfW5q7+kXMPxKWMdAAAAoFw5VMv35hkaN/pdEgAAAMizRym+tWCg4MR49RYAAAC6oJmzLeN4yBj21rIcAABAdARAkPyNS33PWcbvEQAAUJEFULR7cZ5cQ/C3axYAAKT1BmSh2g3GM1TspQYcAICGWYTepKjIW6C0syeEEQAg6G8lFs7SunLIoaAx5RUAKOLLrpuBh2mPOsoIfl4bAFltP00BsfShmWR+xQ4bEUCvSI+gQd1xCsD93XbSYRUQ2xqzCJJUDg0wfZUUR7oa6sjwb0Xb9CgIPm7dbGy0ECT77MsWEjIzis3JFIiH4RTtOeh+nJb+v+xA/Blq6RkaNCRRzyEe//eTqD1Q4jFQEEFtJUOq5f71uBJN5Fo+ZBSSyO7TFJ9+M2dXYJ3xTX0ZtnrqCNpGXgBBbbgEbqHcH7KMkkVI7DqgSETzwuTk6RPeL/dWWqdJyFoVsPMdXuQY1vu07DARXHqxGpxwpXUdH2Ud8ZO+innsrpBhZodpchO/ZO04bu2Xp9r0+T/pA08Y770ox8nofVERcviP48RiHrV2eRx+se7SSkf7OQ67/RJi1Jej3V2qhx0ZesjRKb0Xe8l9DFX1lOlkn5g6RnSsHe2dzidVGf0Rn2Of5KvIixJoRcJxql981oY8x93Wui4XwtYyDpV3G4yoCzmVjGn6HDnG3yi9KpFXSadD3feBHBLItxdzbHV1rRuRlNR1oqMWuqXdj8fS0phitblJE4tMHJSH6rm8w4OfXREUDuzWrxF5KWXoq7RkB7UVmRGnzBsW13N+4tbhPUkiW//V0L+iG2YIj00mrcZt9Zi/heK3RRGAyvLgb1g4yTJ/LyfbJZcVIH0v2Ytuhnv/XvvwUe/8GjSuvWcXBTStXxudNpMV3hDBGa1BXQaBmDdiRAT4mhUVMmAYkvRHoX7FelUFtgFbGh88T9v4zCRvu2xVwxHheBAnCyMSNwDuSurHKjRWGZcU8M2r1kSAqd3keTXBq9+8GbZgKwYr8IkKL2zBWMsLFhDkOLbHNWwszTrH8S6+jhsUHcejOUOHd4AJOa66bXIiGeS4DAgUaZXgS8dZKQkPax+O8weFrGFdbI8c2Lll6aITcvBJphe6dEezI04ov6OLGI9s3I+d6FEZoKxh8q6Mrh7Zw+l5YjHTD+QLfVftFy0TzzRkGLv9xxPdTlyt6F34FwNCfd4p/blYlGKz2GJ19h1CSQ4rOj50t5wdcMddCboSktvRtchNUeUDJUw5tYtoF3dSRuM6oaXeRC6fh6KuQh2K8wvOxIQnC+t8w5QlrUkSbfCOAfZl8c0lXPT5bhjcFois8oFzv21BL3NxuIoekxzVqzcxqJfkiP3nRrMW89sRypaFPZK9Hev8oRhg3O9SFn385sz2LOUlfMoeeNOr5xvOXRBAGjyvl40+Eytky3ARQnUU0CALm/0wDtg1Pf7MFZKSGQTpzQE9vRFOg8w9QBub+4+isSAhRhbLENKfJggRgvozC95oqdfb/ZTGRzBKFSP5AI4Vw5PNUj06uFm8nBq2m8B47Vl8wFNmJBO49aEQo8Lw1mhwm7Dof+0XJnPKFEzzrAyDTMLc4t/one8P/RkPGOzn0W/5ye2LscL1KT4QEx7nYcbLdzzp7l0zc7RNFJjlYPq3vpWLo2o1AJAhYRn+Hvn4ZS57bkzFQgD0abkfX7Obu//8DMVPuymAOOLTEzeggqo/PFC2Iyo0oMbayBhESCOVT0vko6w0QUh4EfseKw02vRGvbubrwCgt6+pcE3WQgyzWWgrgJvFy+KUlNBiTdKS3i/EMmHCtj3YPL0Ee3MjGUvcWCF9mzBmqab3oEhN7eCe1HMr2fz+gFMTsohfXmVZx4qN89F9PyBn1p4sdJiDWhm3mzfibMR0w+Uh3EjCoi+gIYAH3An4kfDcbFRc8kq4iC7jBtIOdLVsFYtocZRut9QYT+VBygvxYQ30IEj9iGLPIVzflDqM7L5ScihbPet7fui2FntKLCju5Qy0cwQzry5Q8E6Njl+bEU0qcEfHP5f65C9iLPD0gtuhcAxbuQ59+qA7OrotMqOMiNIQbdYojTynJQE3XL0nOlaAyERJt7KJz+5AgzXvbQbtIfxVWiKeLUDq1aMBaUhLqGt8aNrVIV3JEcUG4eHNL0nDLEIPiGu2Olc1R5lZQ3gZN/hQkm2Go8vpA5p9s5JVI4D0a9wA9qdec6O/jw65dLaxmEDRBjJMNxOLr3HQatThXgBSBUW/4EHXbJhQSYeIGbaAZ8ZJFmyopSZhMq3xNJEQEEK33FkJ1c1u+H9bbYC1VBRSYtZySUlDyrafLErl4qgYZ/+JDN2fkbpmRflfnFlVIH99tioLATuX/Gq+WUC41jRNXCS2jcKLev+FavOR5gnAYrUv4ywxL1i+acetdGKOMHkwve//n7uVdACezOu/lFxMf+1n/oWpfdcDwXwlr390X53kwf0pFt5Lw7LfLRVfVHTBMfo9Oi7JbFvRSn4tWpRI8310zIi6f8huxJ4curE4XC1c1wKr5Ru9infEoOlciHWdWIbgKXIzVXQKXWYR2NRIBrClmDXPvSvXC/G8l1MIWARe0v9BPq52y8/vLLolzHGCO0HfiEYuiT3h9P701yBH5scQVW9Yti2PWXI8sQzoWd9412/FL+W38CzSz99PIGwqrASl3z7vEfYcA0HqEXRHNFULzVMPqNV2pAISZ5bQVQJsSMCp0ZYO00wDl/x4iGwihC16aaB/SUIQg719T9RBKiY71wEKnBmWl6Oo3qDIVnSvyMnETUUi+zqLlRVJ/GkJb178mrDLtNsGFr2uTjxASMs1vMFd/qIQxZ5tGeLMUl37Ai/wsn9Ll/UBCWFbgGR5PWNcdfKOjr55oKfc1LBDmYi5NJVuMjFvGwvN0QzcUn/t5oO5xr2/yd7MwUhRFGYd6mEhqTpsL71XgvGZZlh+UTF9tAhFBZ7U1DDbg970Tuh+3CENVEcEiQ49D2HWtGKjn5MqTqlVx6xNzVE7T2B7JEM9enIrVJnPsx/QQhEcT+9SCdkPtivCP5/kxFWUZGDqKI1SUqK3sc2F4flq+Hx5kNpa0XInsc+g8C4/41tMS/cO74bOr55AiDM6ytsyIF/20KtqgliE1K4+BX+T/ah0esVqIJP40AXv5sLvu32ISZV1xqq09gsHZN51q6pf7Fr+0DRUZzeIx0IVEBeV9uhz3kCitL8AtH6LTSiOvjvQRNbVymDsw+aaKiB3sWrJxFoJij35KfLdQreokp/EeDhyRnRmPrq1yUqwSdwhX04gR9gTgMhpZD2dX15TKLAjrFTMGmL9gL9NALQ06/TfKZRvgA793nP2DSDxIRP5inh8R2MSulQP9pFpLWtW9+4VnFQ52GntEPE4x3rBKrXpnwRrJifDMquXQ3oquTqys4LgQO6wsgBUfhZYtWmLX1xjnFErXN+DaZib8uPA6zQ3fIBqO5iLMSACYnXPWRKBoi1QQMqAr/1oA/oQQDFbIQq5pFD6I9r5xgD2mFI9retMZhBlOKrQujuDMz9lyBllIIOUfcJow3VgM4CHIB6Q3LTTvEw3BfBRvD1gqugmNhTgB6xhQ8ZvZShPutChM8KaGwSUf0nYByA7MFHGZL1Yo9Jh3E4bUAXoS/1nNf7trMjF/VRioSYIY136wwF+qBn/93moeCW5Rb0ZPbth7KmRvXssCE4vJJQsY44nOGjU9CzZ+wxfuO+8N3lssgmGCDI7DXbQddYW1yGq5W/F80cc4mrqQEtLm4nrFp7It3MX5xkDpNBeGoJvZtlEfOVM3uPiQIwIdVEQBSBKTswOUInObOlYhEmmVAdrWd6AEOetPQsmrqRbD+oGQzJXIRQfm45K7FlQcujxR2p9dnYvEb847NY60EeiL5dAHtYSutQvCisKxIRbj7h7FSeIlGqOOci0zHqobTVUzG26tV/AlmWf831JKEaEqAKLJmG1sb3+B+5fnnBVJNYAK/P6IR0vfYfp9IQQbTiGQhl2ftQyPK3287pTiEKEpNOg0B+PPcnacayo6GxUKNEEiAsnbgw+Ugwa1CGIahsBoVaFdabKJPBIkcUV9EKfwwqoJtQMfrMsWbc2WnBTRrHMVTKLEJpd+XMiAvMMZA0xojW/lOngezzl90FUaEANfwnDLnkkW5kKInETrIBTE9vJMfgbcm59TqsMVJikZdrQv4B0I04KH6JQ0m29zH8nQHawS5cOxVBHdAMElqBP8RCVXV9403qlVFEExL5IYO5buLO0VwlUUa1mR/bq2HuUdFTy0TZm17OLXet40MhNeZRpLIaH/4qfbjRkWwv4Xtv7gnWmJv9uRUvGfm3L+HTGfrALitVcpm9P2Q6EHvxL+xleDWqOt84GI9JSJyW4XvbgtJDEMmXCiqjH663tKHXaTnLaep1+GpQpffHONThJUuENkhpH3507NdlvQMOIWaaZU/ed19aGigFRyBL2aHAHoVP6waTmlZdB0xyK24BECIuo9HcSHDn8EUnmr41gWgqpkjSS1KdKehaZXlhzvG5HqXtg2EVpDgxPI9t1xdRE2pXaOhJUwFGQYenRVztIVg04UsuW6PBl9npjR6oFHGxKxTI/P9MUvDmP/wjKxDBFW3R9zA3K3u9E7v3N/3U8VrNTnT4ROpSrGCq9Q39SjGuvk8LESUafau2ZtkgtlphAmHm1eVyVR0WrACHdO/s8UsGUINq1upYWF8MoU4v0DGo4/xUEsZYdzU9b+TK1+QhBxjzZSdz5pUOiLPqBYHlMUTjPEJhWOg2TiLk7I7uVnGSJAdXCacaT9mrphemrfwR8VSEmGAMeG3qAUfYyiK9kTGprbp8B4KBbJWZwvi3bPGKGA0tHwlrJbO3CD+y1UAx9kkCODVp5PGSUmMr2cFGITfnTsI+yFo1+ur37sw5k6GJ2R5yxnZ4z3mVue5zRASR4CuxB8oMC3OkD5whAhyO0Sw+kUm8iwZUmQt/NUKTqpFzMk2sH6HL9bdKUwqrOIkx2gVii5HHJXuWhnXkpwNXwSSGxy56NOredCAfZczEIbF1oHT+FMopihk4EzdH8T4hyYZNEMcGX/RPwwoKgvTA0Svr0FEMw+P1Y7PciSO5+QFi4tBxR/Ds8rikx6dwrHNBw9fIRsD2lhW9ZvrIpm/KARTJulR1PDOfLLi1ctgDsJFh8CjxkoNMjuvm6tOGCKixtTYfkPmSA9VTdlbCN8NjcRqLn3U79ojCqFfkcsGwSFFRKo9Sjvgi91Jl5Z9yFF5hoLiZl51bE9Cdjalzo1688QTuv/10oejQuO0T2JAuYDFSLm/43dZXCO8UWNK4PfRBrV7794qj8G+bZLOPuxC2sQyuvvFpXPR7ekXgZ6ns6FFL3mq1x6wxnlTfaHGEZCpxk2cOt5LBowr/D5VM9riQgQQ0xmmLcg/NpsOCrDxqsKFFTff37lKLsRiMb0c7hWDRkq1x/eHvMpFir48ZBmrFAfeubTSvM32k0aO5cawGuSExngiB3wxVDh4Ak9IbAGdxgfGOskbPekGVlMjClcyJQeE+8Sl6MaB7C3r/eZOf0cE9iq13xM4QicpZt1AIg85BeOlQ2cnxkLA48CkwCqS90deX2IwQPw5mGZ4VtASk+qEtec6rEErGC6/9ly0BzjVBcNRGXeBdf4qH+QjwTkGyodiEr/qmOGm8lPutmCblE6Eiodv5X8ZwK84yiQI8rlyBZ05C67+wEDqxwzdKw8H3scyU79VD3h4erxn8jrhfPMEXuiPKqMWZpl7se6ZmcwQBYay8vU7+8A/+l5aUCBPNAb8F7/5PWVYD8y7EHI0CViEaw2P15zuzjPPmdS+kSvuhVXBM81UOoGgw4B5zgWWykbtmKhIXJS5BGpYJDj7dj5EGS7CaoOZ11W03h0XClPOBU9KoxU0sD0KwiXkbPzYoYaZprXdIP4eBtl/jpQ2P2TEACBDVKkNldi/r1JZE79uBRA4ZBmTQTt+n0tXP2hPOcZyIwaYLAi1LxunFk+5YUwEPovIXhcKwlsigPwjV6nPBT4eymWM3YLB20EbDE20UsZ9tqze8BTzkiIBce9g8WeH9poUE1Y9IAtdWOcVnI7wxMQg6RgbjHheFJ8Q+xOCrQYMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkwLjAAkAAAAAgAAAAEAAAAkQAAAJIAAACTAAAAYm9vbGVhbiBgYAAAXHsQAAkAAABlexAAAQAAAGludGVnZXIgYAAAAHh7EAAJAAAAZXsQAAEAAABmbG9hdGluZyBwb2ludCBglHsQABAAAABlexAAAQAAAGNoYXJhY3RlciBgALR7EAALAAAAZXsQAAEAAABzdHJpbmcgANB7EAAHAAAAYnl0ZSBhcnJheXVuaXQgdmFsdWVPcHRpb24gdmFsdWVuZXd0eXBlIHN0cnVjdHNlcXVlbmNlbWFwZW51bXVuaXQgdmFyaWFudG5ld3R5cGUgdmFyaWFudHR1cGxlIHZhcmlhbnRzdHJ1Y3QgdmFyaWFudABEexAAAAAAAC4wYSBib29sZWFuYSBzdHJpbmdpNjQAAJgAAAAMAAAABAAAAJkAAACaAAAAmwAAAEFjY2Vzc0Vycm9yAHR8EAAAAAAAZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZWZpbGVzeXN0ZW0gcXVvdGEgZXhjZWVkZWRmaWxlIHRvbyBsYXJnZXJlc291cmNlIGJ1c3lleGVjdXRhYmxlIGZpbGUgYnVzeWRlYWRsb2NrY3Jvc3MtZGV2aWNlIGxpbmsgb3IgcmVuYW1ldG9vIG1hbnkgbGlua3NpbnZhbGlkIGZpbGVuYW1lYXJndW1lbnQgbGlzdCB0b28gbG9uZ29wZXJhdGlvbiBpbnRlcnJ1cHRlZHVuc3VwcG9ydGVkdW5leHBlY3RlZCBlbmQgb2YgZmlsZW91dCBvZiBtZW1vcnlvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3IgKG9zIGVycm9yICkAAAB0fBAAAAAAAI1/EAALAAAAmH8QAAEAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAC0fxAAFQAAAMl/EAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJz6H8QABgAAABiAQAACQAAAGNhbm5vdCBtb2RpZnkgdGhlIHBhbmljIGhvb2sgZnJvbSBhIHBhbmlja2luZyB0aHJlYWQQgBAANAAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnNMgBAAHAAAAIcAAAAJAAAATIAQABwAAACGAgAAHgAAAJgAAAAMAAAABAAAAJwAAACdAAAACAAAAAQAAACeAAAAnQAAAAgAAAAEAAAAnwAAAKAAAAChAAAAEAAAAAQAAACiAAAAowAAAKQAAAAAAAAAAQAAAKUAAABvcGVyYXRpb24gc3VjY2Vzc2Z1bBAAAAARAAAAEgAAABAAAAAQAAAAEwAAABIAAAANAAAADgAAABUAAAAMAAAACwAAABUAAAAVAAAADwAAAA4AAAATAAAAJgAAADgAAAAZAAAA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");
689
+ /**
690
+ * Gantt-Schedule-Timeline-Calendar component
691
+ *
692
+ * @copyright NEURONET - Rafal Pospiech
693
+ * @author Rafal Pospiech <neuronet.io@gmail.com>
694
+ * @module gantt-schedule-timeline-calendar
695
+ * @link https://github.com/neuronetio/gantt-schedule-timeline-calendar
696
+ * @link https://gantt-schedule-timeline-calendar.neuronet.io
697
+ * @version 3.37.5
698
+ * @released 2024-07-19
699
+ * @license SEE LICENSE IN LICENSE FILE
700
+ */
701
+ const $i=async()=>(await Zi(Xi),Vi);function _i(A){const t=A.state,g=new Dt(t),e={treeMap:{},itemRowMap:{},list:{visibleRows:[],rowsIds:[],rows:{},visibleRowsHeight:0,rowsWithParentsExpanded:[],rowsHeight:0,width:0},dimensions:{width:0,height:0},chart:{items:{},grid:{cells:{},rows:{}},dimensions:{width:0,widthWithoutScrollBar:0,height:0,innerHeight:0,heightWithoutScrollBar:0},visibleItems:[],time:{zoom:0,format:{period:"day",periodIncrement:1,zoomTo:0,format:()=>""},level:0,levels:[],currentZoomLevelFormatting:[],allDates:[],timePerPixel:0,totalViewDurationMs:0,totalViewDurationPx:0,leftGlobal:0,rightGlobal:0,leftPx:0,rightPx:0,period:"day",leftGlobalDate:void 0,rightGlobalDate:void 0,centerGlobal:0,centerGlobalDate:void 0,from:0,to:0,fromDate:void 0,toDate:void 0,autoExpandTimeFromItems:!1,datesCache:{timePerPixel:0,levels:[]}},allItemsOnTheLeftOrRight:!1},scroll:{horizontal:{lastPageSize:0,lastPageCount:0,absoluteSize:0,absoluteSizeWithoutLastPage:0,handlePosPx:0,innerHandleSize:0,absolutePosPx:0,maxHandlePosPx:0,scrollSize:0,dataIndex:0,dataId:"",data:null,preciseOffset:0,visible:!1,percent:0},vertical:{lastPageSize:0,lastPageCount:0,absoluteSize:0,absoluteSizeWithoutLastPage:0,handlePosPx:0,innerHandleSize:0,absolutePosPx:0,maxHandlePosPx:0,scrollSize:0,dataIndex:0,dataId:"",data:null,preciseOffset:0,visible:!1,percent:0}},elements:{},initializedPlugins:new Set};"boolean"==typeof A.debug&&A.debug&&(globalThis.state=t),t.update("",(A=>({config:A.config,$data:e})));const i=gt(t,g),o=i.lithtml;g.setVido(i),g.setMergeDeep(fi);const I=i.createApp({component:Mi,props:{wasmInitialized:$i},element:A.element}),a=I.vidoInstance.api;const s={state:t,api:a,component:I,destroy:function(){I.destroy(),t.destroy()},reload:function(){s.component.destroy(),s.component=i.createApp({component:Mi,props:{wasmInitialized:$i},element:A.element}),s.api=I.vidoInstance.api,s.component.update()},lithtml:o,Vido:gt};return s}const Ao=document.createTextNode("");document.createTextNode=function(A){const t=Ao.cloneNode(!0);return t.textContent=A,t}.bind(document);const to=document.createElement("div"),go=document.createElement.bind(document);return document.createElement=function(A,...t){if("div"!==A)return go(A,...t);return to.cloneNode(!0)}.bind(document),_i.api=mg,_i.lithtml=x,_i.Vido=gt,_i}));