commit f5338ea3b2facb435e71a420ca4c01d8aff95882 Author: Ashikagi Date: Mon Mar 23 20:49:30 2026 +0100 Initial commit diff --git a/.env b/.env new file mode 100644 index 0000000..eaf1798 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +VITE_SUPABASE_URL=https://vzudjibddwcvfdnyvhhs.supabase.co +VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZ6dWRqaWJkZHdjdmZkbnl2aGhzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjUwMjk4MDksImV4cCI6MjA4MDYwNTgwOX0.wE8R1mpd2FY6m6d5-Hf3hlCG8OfeCkra6SjUvbt1mD0 \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..12cf1b5 --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +VITE_SUPABASE_URL=https://your-project.supabase.co +VITE_SUPABASE_ANON_KEY=your-anon-key +SUPABASE_DB_URL=postgresql://postgres:password@db.your-project.supabase.co:5432/postgres +RESEND_API_KEY=your-resend-api-key +REMINDER_FROM_EMAIL=PAT Stats +REMINDER_APP_URL=https://your-app.example.com diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6096ed2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vercel +node_modules diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..02be578 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "chatgpt.openOnStartup": true +} \ No newline at end of file diff --git a/Screenshot_1.png b/Screenshot_1.png new file mode 100644 index 0000000..d3f9dcd Binary files /dev/null and b/Screenshot_1.png differ diff --git a/Startseite.html b/Startseite.html new file mode 100644 index 0000000..31e5d54 --- /dev/null +++ b/Startseite.html @@ -0,0 +1,886 @@ + + + + + + PAT Test Manager | Professionelle Leistungsdiagnostik für Billard + + + + +
+
+ + + + + +
+
+
+
+ Jetzt live verfügbar +
+

+ Professionelle PAT-Test Verwaltung +

+

+ Erfasse, analysiere und verfolge Pool Ability Tests digital. + Von der Eingabe bis zum Report – alles in einer intuitiven Plattform + für Trainer, Vereine und Spieler. +

+ +
+ +
+
+
+
Live Übersicht
+
● Online
+
+
+
+
PAT Aufschlag
+
4/6
+
+
+
+
+
+
Gesamtpunktzahl
+
87%
+
+
+
+
+
+
+
+
+
+ + +
+
+ +

Alles, was du für PAT-Tests brauchst

+

+ Von der digitalen Erfassung bis zur teamweiten Auswertung – + optimiert für den Einsatz am Billardtisch. +

+
+ +
+
+
📊
+

Smarte Auswertungen

+

Automatische Berechnungen für jede PAT-Test-Kategorie. + Erkenne Stärken und Schwächen auf einen Blick mit visuellen Dashboards.

+
+ +
+
🔒
+

Sichere Speicherung

+

Supabase-Backend mit verschlüsselten Daten. + Granulare Nutzersteuerung für dein gesamtes Team oder Trainingsteam.

+
+ +
+
👥
+

Team-ready

+

Gemeinsam testen, bewerten und Versionen verwalten. + Kein Chaos mehr mit Excel-Tabellen oder Zettelwirtschaft.

+
+ +
+
📈
+

Performance-Insights

+

Verfolge Fortschritte über Zeit, identifiziere Trends + und optimiere dein Training mit datengestützten Entscheidungen.

+
+ +
+
+

Mobile Erfassung

+

Direkte Dateneingabe am Court – schnell, einfach und + ohne Umwege. Perfekt für den Einsatz während des Trainings.

+
+ +
+
📄
+

Export & Reports

+

Generiere professionelle Reports für Spieler, Trainer + oder Vereine. Teile Ergebnisse mit einem Klick.

+
+
+
+ + +
+
+ +

So läuft PAT mit uns

+

Von der Testvorlage bis zum Report – alles in einem Flow

+
+ +
+
+
1
+

Vorlage wählen

+

Wähle den PAT-Test, setze Namen und Datum – los geht's.

+
+
+
2
+

Daten erfassen

+

Einzelwerte direkt am Court eingeben, automatisch verrechnen lassen.

+
+
+
3
+

Analysieren

+

Ergebnisse speichern, visualisieren und mit dem Team teilen.

+
+
+
+ + +
+
+
+ 100% +
Digital
+
+
+ 0€ +
Kostenlos starten
+
+
+ SSL +
Verschlüsselt
+
+
+ 24/7 +
Verfügbar
+
+
+
+ + +
+
+
+

Bereit, deine PAT-Tests zu professionalisieren?

+

Starte in Minuten. Keine Kreditkarte erforderlich.

+ + Jetzt kostenlos ausprobieren → + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/Weitere Ideen.txt b/Weitere Ideen.txt new file mode 100644 index 0000000..08993e6 --- /dev/null +++ b/Weitere Ideen.txt @@ -0,0 +1,14 @@ +Offen +nere Landing Page +Rangliste +Übersetzen in gängigge Sprachen Englisch Italienisch Spanisch Portugisisch +Max Punkte bei Bewertung PAT Start, Pat2 und Pat3 +Admin Oberfläche (anzahl user mit Mail Adressen/ anelegten Tests / anbindung von Werbung Links und rechts von den Test Übersichten +2fa +Erledigt +Final Speichern do +Max Punkte bei Bewertung PAT1 + + +Termninal +vercel deploy diff --git a/dist/assets/html2canvas.esm-CBrSDip1.js b/dist/assets/html2canvas.esm-CBrSDip1.js new file mode 100644 index 0000000..943d4b1 --- /dev/null +++ b/dist/assets/html2canvas.esm-CBrSDip1.js @@ -0,0 +1,22 @@ +/*! + * html2canvas 1.4.1 + * Copyright (c) 2022 Niklas von Hertzen + * Released under MIT License + *//*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var mr=function(e,A){return mr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var B in r)Object.prototype.hasOwnProperty.call(r,B)&&(t[B]=r[B])},mr(e,A)};function tA(e,A){if(typeof A!="function"&&A!==null)throw new TypeError("Class extends value "+String(A)+" is not a constructor or null");mr(e,A);function t(){this.constructor=e}e.prototype=A===null?Object.create(A):(t.prototype=A.prototype,new t)}var Lr=function(){return Lr=Object.assign||function(A){for(var t,r=1,B=arguments.length;r0&&n[n.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!n||o[1]>n[0]&&o[1]=55296&&B<=56319&&t>10)+55296,s%1024+56320)),(B+1===t||r.length>16384)&&(n+=String.fromCharCode.apply(String,r),r.length=0)}return n},nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",on=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var le=0;le"u"?[]:new Uint8Array(256);for(var fe=0;fe>4,Q[B++]=(s&15)<<4|i>>2,Q[B++]=(i&3)<<6|a&63;return o},gn=function(e){for(var A=e.length,t=[],r=0;r>bA,Cn=1<>bA,ln=BB+un,fn=ln,Un=32,Fn=fn+Un,hn=65536>>zr,dn=1<=0){if(A<55296||A>56319&&A<=65535)return t=this.index[A>>bA],t=(t<>bA)],t=(t<>zr),t=this.index[t],t+=A>>bA&En,t=this.index[t],t=(t<"u"?[]:new Uint8Array(256);for(var Ue=0;Ueot?(B.push(!0),i-=ot):B.push(!1),["normal","auto","loose"].indexOf(A)!==-1&&[8208,8211,12316,12448].indexOf(n)!==-1)return r.push(s),t.push(xr);if(i===mn||i===Dr){if(s===0)return r.push(s),t.push(LA);var a=t[s-1];return Mn.indexOf(a)===-1?(r.push(r[s-1]),t.push(a)):(r.push(s),t.push(LA))}if(r.push(s),i===Tn)return t.push(A==="strict"?Tr:Qe);if(i===iB||i===xn)return t.push(LA);if(i===Sn)return n>=131072&&n<=196605||n>=196608&&n<=262141?t.push(Qe):t.push(LA);t.push(i)}),[r,t,B]},wr=function(e,A,t,r){var B=r[t];if(Array.isArray(e)?e.indexOf(B)!==-1:e===B)for(var n=t;n<=r.length;){n++;var s=r[n];if(s===A)return!0;if(s!==FA)break}if(B===FA)for(var n=t;n>0;){n--;var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=t;a<=r.length;){a++;var s=r[a];if(s===A)return!0;if(s!==FA)break}if(i!==FA)break}return!1},lt=function(e,A){for(var t=e;t>=0;){var r=A[t];if(r===FA)t--;else return r}return 0},Vn=function(e,A,t,r,B){if(t[r]===0)return I;var n=r-1;if(Array.isArray(B)&&B[n]===!0)return I;var s=n-1,i=n+1,a=A[n],o=s>=0?A[s]:0,Q=A[i];if(a===nB&&Q===sB)return I;if(Vr.indexOf(a)!==-1)return oB;if(Vr.indexOf(Q)!==-1||QB.indexOf(Q)!==-1)return I;if(lt(n,A)===aB)return Ee;if(Rr.get(e[n])===Dr||(a===he||a===de)&&Rr.get(e[i])===Dr||a===Qt||Q===Qt||a===gt||[FA,br,$A].indexOf(a)===-1&&Q===gt||[Fe,WA,bn,SA,OA].indexOf(Q)!==-1||lt(n,A)===ZA||wr(Qr,ZA,n,A)||wr([Fe,WA],Tr,n,A)||wr(wt,wt,n,A))return I;if(a===FA)return Ee;if(a===Qr||Q===Qr)return I;if(Q===xr||a===xr)return Ee;if([br,$A,Tr].indexOf(Q)!==-1||a===Dn||o===Mr&&Gn.indexOf(a)!==-1||a===OA&&Q===Mr||Q===ct||QA.indexOf(Q)!==-1&&a===j||QA.indexOf(a)!==-1&&Q===j||a===ee&&[Qe,he,de].indexOf(Q)!==-1||[Qe,he,de].indexOf(a)!==-1&&Q===Ae||QA.indexOf(a)!==-1&&Ct.indexOf(Q)!==-1||Ct.indexOf(a)!==-1&&QA.indexOf(Q)!==-1||[ee,Ae].indexOf(a)!==-1&&(Q===j||[ZA,$A].indexOf(Q)!==-1&&A[i+1]===j)||[ZA,$A].indexOf(a)!==-1&&Q===j||a===j&&[j,OA,SA].indexOf(Q)!==-1)return I;if([j,OA,SA,Fe,WA].indexOf(Q)!==-1)for(var g=n;g>=0;){var w=A[g];if(w===j)return I;if([OA,SA].indexOf(w)!==-1)g--;else break}if([ee,Ae].indexOf(Q)!==-1)for(var g=[Fe,WA].indexOf(a)!==-1?s:n;g>=0;){var w=A[g];if(w===j)return I;if([OA,SA].indexOf(w)!==-1)g--;else break}if(Gr===a&&[Gr,Ge,Sr,Or].indexOf(Q)!==-1||[Ge,Sr].indexOf(a)!==-1&&[Ge,Re].indexOf(Q)!==-1||[Re,Or].indexOf(a)!==-1&&Q===Re||ut.indexOf(a)!==-1&&[ct,Ae].indexOf(Q)!==-1||ut.indexOf(Q)!==-1&&a===ee||QA.indexOf(a)!==-1&&QA.indexOf(Q)!==-1||a===SA&&QA.indexOf(Q)!==-1||QA.concat(j).indexOf(a)!==-1&&Q===ZA&&On.indexOf(e[i])===-1||QA.concat(j).indexOf(Q)!==-1&&a===WA)return I;if(a===gr&&Q===gr){for(var f=t[n],c=1;f>0&&(f--,A[f]===gr);)c++;if(c%2!==0)return I}return a===he&&Q===de?I:Ee},Nn=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=Rn(e,A.lineBreak),r=t[0],B=t[1],n=t[2];(A.wordBreak==="break-all"||A.wordBreak==="break-word")&&(B=B.map(function(i){return[j,LA,iB].indexOf(i)!==-1?Qe:i}));var s=A.wordBreak==="keep-all"?n.map(function(i,a){return i&&e[a]>=19968&&e[a]<=40959}):void 0;return[r,B,s]},Xn=function(){function e(A,t,r,B){this.codePoints=A,this.required=t===oB,this.start=r,this.end=B}return e.prototype.slice=function(){return S.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),_n=function(e,A){var t=$e(e),r=Nn(t,A),B=r[0],n=r[1],s=r[2],i=t.length,a=0,o=0;return{next:function(){if(o>=i)return{done:!0,value:null};for(var Q=I;o=gB&&e<=57},Hs=function(e){return e>=55296&&e<=57343},MA=function(e){return J(e)||e>=CB&&e<=lB||e>=wB&&e<=Us},ps=function(e){return e>=wB&&e<=hs},Is=function(e){return e>=CB&&e<=Es},vs=function(e){return ps(e)||Is(e)},ys=function(e){return e>=is},ye=function(e){return e===Xe||e===kn||e===Yn},_e=function(e){return vs(e)||ys(e)||e===jn},dt=function(e){return _e(e)||J(e)||e===Z},Ks=function(e){return e>=ws&&e<=cs||e===Cs||e>=us&&e<=ls||e===fs},UA=function(e,A){return e!==ne?!1:A!==Xe},Ke=function(e,A,t){return e===Z?_e(A)||UA(A,t):_e(e)?!0:!!(e===ne&&UA(e,A))},Cr=function(e,A,t){return e===DA||e===Z?J(A)?!0:A===ge&&J(t):J(e===ge?A:e)},ms=function(e){var A=0,t=1;(e[A]===DA||e[A]===Z)&&(e[A]===Z&&(t=-1),A++);for(var r=[];J(e[A]);)r.push(e[A++]);var B=r.length?parseInt(S.apply(void 0,r),10):0;e[A]===ge&&A++;for(var n=[];J(e[A]);)n.push(e[A++]);var s=n.length,i=s?parseInt(S.apply(void 0,n),10):0;(e[A]===uB||e[A]===cB)&&A++;var a=1;(e[A]===DA||e[A]===Z)&&(e[A]===Z&&(a=-1),A++);for(var o=[];J(e[A]);)o.push(e[A++]);var Q=o.length?parseInt(S.apply(void 0,o),10):0;return t*(B+i*Math.pow(10,-s))*Math.pow(10,a*Q)},Ls={type:2},Ds={type:3},bs={type:4},xs={type:13},Ts={type:8},Ss={type:21},Os={type:9},Ms={type:10},Gs={type:11},Rs={type:12},Vs={type:14},me={type:23},Ns={type:1},Xs={type:25},_s={type:24},Js={type:26},Ps={type:27},ks={type:28},Ys={type:29},Ws={type:31},Nr={type:32},fB=function(){function e(){this._value=[]}return e.prototype.write=function(A){this._value=this._value.concat($e(A))},e.prototype.read=function(){for(var A=[],t=this.consumeToken();t!==Nr;)A.push(t),t=this.consumeToken();return A},e.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case He:return this.consumeStringToken(He);case Wn:var t=this.peekCodePoint(0),r=this.peekCodePoint(1),B=this.peekCodePoint(2);if(dt(t)||UA(r,B)){var n=Ke(t,r,B)?Pn:Jn,s=this.consumeName();return{type:5,value:s,flags:n}}break;case Zn:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),xs;break;case pe:return this.consumeStringToken(pe);case Ie:return Ls;case jA:return Ds;case cr:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Vs;break;case DA:if(Cr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case os:return bs;case Z:var i=A,a=this.peekCodePoint(0),o=this.peekCodePoint(1);if(Cr(i,a,o))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(Ke(i,a,o))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(a===Z&&o===As)return this.consumeCodePoint(),this.consumeCodePoint(),_s;break;case ge:if(Cr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Ut:if(this.peekCodePoint(0)===cr)for(this.consumeCodePoint();;){var Q=this.consumeCodePoint();if(Q===cr&&(Q=this.consumeCodePoint(),Q===Ut))return this.consumeToken();if(Q===nA)return this.consumeToken()}break;case Qs:return Js;case gs:return Ps;case $n:if(this.peekCodePoint(0)===zn&&this.peekCodePoint(1)===Z&&this.peekCodePoint(2)===Z)return this.consumeCodePoint(),this.consumeCodePoint(),Xs;break;case es:var g=this.peekCodePoint(0),w=this.peekCodePoint(1),f=this.peekCodePoint(2);if(Ke(g,w,f)){var s=this.consumeName();return{type:7,value:s}}break;case rs:return ks;case ne:if(UA(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ts:return Ys;case Bs:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Ts;break;case ns:return Gs;case ss:return Rs;case Fs:case ds:var c=this.peekCodePoint(0),C=this.peekCodePoint(1);return c===DA&&(MA(C)||C===ve)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case Ft:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Os;if(this.peekCodePoint(0)===Ft)return this.consumeCodePoint(),Ss;break;case as:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Ms;break;case nA:return Nr}return ye(A)?(this.consumeWhiteSpace(),Ws):J(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):_e(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:S(A)}},e.prototype.consumeCodePoint=function(){var A=this._value.shift();return typeof A>"u"?-1:A},e.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},e.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},e.prototype.consumeUnicodeRangeToken=function(){for(var A=[],t=this.consumeCodePoint();MA(t)&&A.length<6;)A.push(t),t=this.consumeCodePoint();for(var r=!1;t===ve&&A.length<6;)A.push(t),t=this.consumeCodePoint(),r=!0;if(r){var B=parseInt(S.apply(void 0,A.map(function(a){return a===ve?gB:a})),16),n=parseInt(S.apply(void 0,A.map(function(a){return a===ve?lB:a})),16);return{type:30,start:B,end:n}}var s=parseInt(S.apply(void 0,A),16);if(this.peekCodePoint(0)===Z&&MA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];MA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();var n=parseInt(S.apply(void 0,i),16);return{type:30,start:s,end:n}}else return{type:30,start:s,end:s}},e.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return A.toLowerCase()==="url"&&this.peekCodePoint(0)===Ie?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ie?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},e.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===nA)return{type:22,value:""};var t=this.peekCodePoint(0);if(t===pe||t===He){var r=this.consumeStringToken(this.consumeCodePoint());return r.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===nA||this.peekCodePoint(0)===jA)?(this.consumeCodePoint(),{type:22,value:r.value}):(this.consumeBadUrlRemnants(),me)}for(;;){var B=this.consumeCodePoint();if(B===nA||B===jA)return{type:22,value:S.apply(void 0,A)};if(ye(B))return this.consumeWhiteSpace(),this.peekCodePoint(0)===nA||this.peekCodePoint(0)===jA?(this.consumeCodePoint(),{type:22,value:S.apply(void 0,A)}):(this.consumeBadUrlRemnants(),me);if(B===He||B===pe||B===Ie||Ks(B))return this.consumeBadUrlRemnants(),me;if(B===ne)if(UA(B,this.peekCodePoint(0)))A.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),me;else A.push(B)}},e.prototype.consumeWhiteSpace=function(){for(;ye(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===jA||A===nA)return;UA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(A){for(var t=5e4,r="";A>0;){var B=Math.min(t,A);r+=S.apply(void 0,this._value.splice(0,B)),A-=B}return this._value.shift(),r},e.prototype.consumeStringToken=function(A){var t="",r=0;do{var B=this._value[r];if(B===nA||B===void 0||B===A)return t+=this.consumeStringSlice(r),{type:0,value:t};if(B===Xe)return this._value.splice(0,r),Ns;if(B===ne){var n=this._value[r+1];n!==nA&&n!==void 0&&(n===Xe?(t+=this.consumeStringSlice(r),r=-1,this._value.shift()):UA(B,n)&&(t+=this.consumeStringSlice(r),t+=S(this.consumeEscapedCodePoint()),r=-1))}r++}while(!0)},e.prototype.consumeNumber=function(){var A=[],t=ce,r=this.peekCodePoint(0);for((r===DA||r===Z)&&A.push(this.consumeCodePoint());J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());r=this.peekCodePoint(0);var B=this.peekCodePoint(1);if(r===ge&&J(B))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=ft;J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());r=this.peekCodePoint(0),B=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((r===uB||r===cB)&&((B===DA||B===Z)&&J(n)||J(B)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=ft;J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[ms(A),t]},e.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),t=A[0],r=A[1],B=this.peekCodePoint(0),n=this.peekCodePoint(1),s=this.peekCodePoint(2);if(Ke(B,n,s)){var i=this.consumeName();return{type:15,number:t,flags:r,unit:i}}return B===qn?(this.consumeCodePoint(),{type:16,number:t,flags:r}):{type:17,number:t,flags:r}},e.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(MA(A)){for(var t=S(A);MA(this.peekCodePoint(0))&&t.length<6;)t+=S(this.consumeCodePoint());ye(this.peekCodePoint(0))&&this.consumeCodePoint();var r=parseInt(t,16);return r===0||Hs(r)||r>1114111?ht:r}return A===nA?ht:A},e.prototype.consumeName=function(){for(var A="";;){var t=this.consumeCodePoint();if(dt(t))A+=S(t);else if(UA(t,this.peekCodePoint(0)))A+=S(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),A}},e}(),UB=function(){function e(A){this._tokens=A}return e.create=function(A){var t=new fB;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var A=this.consumeToken();A.type===31;)A=this.consumeToken();if(A.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var t=this.consumeComponentValue();do A=this.consumeToken();while(A.type===31);if(A.type===32)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var A=[];;){var t=this.consumeComponentValue();if(t.type===32)return A;A.push(t),A.push()}},e.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},e.prototype.consumeSimpleBlock=function(A){for(var t={type:A,values:[]},r=this.consumeToken();;){if(r.type===32||qs(r,A))return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue()),r=this.consumeToken()}},e.prototype.consumeFunction=function(A){for(var t={name:A.value,values:[],type:18};;){var r=this.consumeToken();if(r.type===32||r.type===3)return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var A=this._tokens.shift();return typeof A>"u"?Nr:A},e.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},e}(),Ce=function(e){return e.type===15},kA=function(e){return e.type===17},D=function(e){return e.type===20},Zs=function(e){return e.type===0},Xr=function(e,A){return D(e)&&e.value===A},FB=function(e){return e.type!==31},PA=function(e){return e.type!==31&&e.type!==4},sA=function(e){var A=[],t=[];return e.forEach(function(r){if(r.type===4){if(t.length===0)throw new Error("Error parsing function args, zero tokens for arg");A.push(t),t=[];return}r.type!==31&&t.push(r)}),t.length&&A.push(t),A},qs=function(e,A){return A===11&&e.type===12||A===28&&e.type===29?!0:A===2&&e.type===3},pA=function(e){return e.type===17||e.type===15},M=function(e){return e.type===16||pA(e)},hB=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},X={type:17,number:0,flags:ce},$r={type:16,number:50,flags:ce},hA={type:16,number:100,flags:ce},re=function(e,A,t){var r=e[0],B=e[1];return[b(r,A),b(typeof B<"u"?B:r,t)]},b=function(e,A){if(e.type===16)return e.number/100*A;if(Ce(e))switch(e.unit){case"rem":case"em":return 16*e.number;case"px":default:return e.number}return e.number},dB="deg",EB="grad",HB="rad",pB="turn",Ar={name:"angle",parse:function(e,A){if(A.type===15)switch(A.unit){case dB:return Math.PI*A.number/180;case EB:return Math.PI/200*A.number;case HB:return A.number;case pB:return Math.PI*2*A.number}throw new Error("Unsupported angle type")}},IB=function(e){return e.type===15&&(e.unit===dB||e.unit===EB||e.unit===HB||e.unit===pB)},vB=function(e){var A=e.filter(D).map(function(t){return t.value}).join(" ");switch(A){case"to bottom right":case"to right bottom":case"left top":case"top left":return[X,X];case"to top":case"bottom":return AA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[X,hA];case"to right":case"left":return AA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[hA,hA];case"to bottom":case"top":return AA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[hA,X];case"to left":case"right":return AA(270)}return 0},AA=function(e){return Math.PI*e/180},EA={name:"color",parse:function(e,A){if(A.type===18){var t=js[A.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(A.type===5){if(A.value.length===3){var r=A.value.substring(0,1),B=A.value.substring(1,2),n=A.value.substring(2,3);return dA(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),1)}if(A.value.length===4){var r=A.value.substring(0,1),B=A.value.substring(1,2),n=A.value.substring(2,3),s=A.value.substring(3,4);return dA(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),parseInt(s+s,16)/255)}if(A.value.length===6){var r=A.value.substring(0,2),B=A.value.substring(2,4),n=A.value.substring(4,6);return dA(parseInt(r,16),parseInt(B,16),parseInt(n,16),1)}if(A.value.length===8){var r=A.value.substring(0,2),B=A.value.substring(2,4),n=A.value.substring(4,6),s=A.value.substring(6,8);return dA(parseInt(r,16),parseInt(B,16),parseInt(n,16),parseInt(s,16)/255)}}if(A.type===20){var i=wA[A.value.toUpperCase()];if(typeof i<"u")return i}return wA.TRANSPARENT}},HA=function(e){return(255&e)===0},R=function(e){var A=255&e,t=255&e>>8,r=255&e>>16,B=255&e>>24;return A<255?"rgba("+B+","+r+","+t+","+A/255+")":"rgb("+B+","+r+","+t+")"},dA=function(e,A,t,r){return(e<<24|A<<16|t<<8|Math.round(r*255)<<0)>>>0},Et=function(e,A){if(e.type===17)return e.number;if(e.type===16){var t=A===3?1:255;return A===3?e.number/100*t:Math.round(e.number/100*t)}return 0},Ht=function(e,A){var t=A.filter(PA);if(t.length===3){var r=t.map(Et),B=r[0],n=r[1],s=r[2];return dA(B,n,s,1)}if(t.length===4){var i=t.map(Et),B=i[0],n=i[1],s=i[2],a=i[3];return dA(B,n,s,a)}return 0};function ur(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<1/2?A:t<2/3?(A-e)*6*(2/3-t)+e:e}var pt=function(e,A){var t=A.filter(PA),r=t[0],B=t[1],n=t[2],s=t[3],i=(r.type===17?AA(r.number):Ar.parse(e,r))/(Math.PI*2),a=M(B)?B.number/100:0,o=M(n)?n.number/100:0,Q=typeof s<"u"&&M(s)?b(s,1):1;if(a===0)return dA(o*255,o*255,o*255,1);var g=o<=.5?o*(a+1):o+a-o*a,w=o*2-g,f=ur(w,g,i+1/3),c=ur(w,g,i),C=ur(w,g,i-1/3);return dA(f*255,c*255,C*255,Q)},js={hsl:pt,hsla:pt,rgb:Ht,rgba:Ht},se=function(e,A){return EA.parse(e,UB.create(A).parseComponentValue())},wA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},zs={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(t){if(D(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},$s={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},er=function(e,A){var t=EA.parse(e,A[0]),r=A[1];return r&&M(r)?{color:t,stop:r}:{color:t,stop:null}},It=function(e,A){var t=e[0],r=e[e.length-1];t.stop===null&&(t.stop=X),r.stop===null&&(r.stop=hA);for(var B=[],n=0,s=0;sn?B.push(a):B.push(n),n=a}else B.push(null)}for(var o=null,s=0;ss.optimumDistance)?{optimumCorner:i,optimumDistance:Q}:s},{optimumDistance:B?1/0:-1/0,optimumCorner:null}).optimumCorner},ra=function(e,A,t,r,B){var n=0,s=0;switch(e.size){case 0:e.shape===0?n=s=Math.min(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-B)):e.shape===1&&(n=Math.min(Math.abs(A),Math.abs(A-r)),s=Math.min(Math.abs(t),Math.abs(t-B)));break;case 2:if(e.shape===0)n=s=Math.min(rA(A,t),rA(A,t-B),rA(A-r,t),rA(A-r,t-B));else if(e.shape===1){var i=Math.min(Math.abs(t),Math.abs(t-B))/Math.min(Math.abs(A),Math.abs(A-r)),a=vt(r,B,A,t,!0),o=a[0],Q=a[1];n=rA(o-A,(Q-t)/i),s=i*n}break;case 1:e.shape===0?n=s=Math.max(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-B)):e.shape===1&&(n=Math.max(Math.abs(A),Math.abs(A-r)),s=Math.max(Math.abs(t),Math.abs(t-B)));break;case 3:if(e.shape===0)n=s=Math.max(rA(A,t),rA(A,t-B),rA(A-r,t),rA(A-r,t-B));else if(e.shape===1){var i=Math.max(Math.abs(t),Math.abs(t-B))/Math.max(Math.abs(A),Math.abs(A-r)),g=vt(r,B,A,t,!1),o=g[0],Q=g[1];n=rA(o-A,(Q-t)/i),s=i*n}break}return Array.isArray(e.size)&&(n=b(e.size[0],r),s=e.size.length===2?b(e.size[1],B):n),[n,s]},ta=function(e,A){var t=AA(180),r=[];return sA(A).forEach(function(B,n){if(n===0){var s=B[0];if(s.type===20&&s.value==="to"){t=vB(B);return}else if(IB(s)){t=Ar.parse(e,s);return}}var i=er(e,B);r.push(i)}),{angle:t,stops:r,type:1}},Le=function(e,A){var t=AA(180),r=[];return sA(A).forEach(function(B,n){if(n===0){var s=B[0];if(s.type===20&&["top","left","right","bottom"].indexOf(s.value)!==-1){t=vB(B);return}else if(IB(s)){t=(Ar.parse(e,s)+AA(270))%AA(360);return}}var i=er(e,B);r.push(i)}),{angle:t,stops:r,type:1}},Ba=function(e,A){var t=AA(180),r=[],B=1,n=0,s=3,i=[];return sA(A).forEach(function(a,o){var Q=a[0];if(o===0){if(D(Q)&&Q.value==="linear"){B=1;return}else if(D(Q)&&Q.value==="radial"){B=2;return}}if(Q.type===18){if(Q.name==="from"){var g=EA.parse(e,Q.values[0]);r.push({stop:X,color:g})}else if(Q.name==="to"){var g=EA.parse(e,Q.values[0]);r.push({stop:hA,color:g})}else if(Q.name==="color-stop"){var w=Q.values.filter(PA);if(w.length===2){var g=EA.parse(e,w[1]),f=w[0];kA(f)&&r.push({stop:{type:16,number:f.number*100,flags:f.flags},color:g})}}}}),B===1?{angle:(t+AA(180))%AA(360),stops:r,type:B}:{size:s,shape:n,stops:r,position:i,type:B}},yB="closest-side",KB="farthest-side",mB="closest-corner",LB="farthest-corner",DB="circle",bB="ellipse",xB="cover",TB="contain",na=function(e,A){var t=0,r=3,B=[],n=[];return sA(A).forEach(function(s,i){var a=!0;if(i===0){var o=!1;a=s.reduce(function(g,w){if(o)if(D(w))switch(w.value){case"center":return n.push($r),g;case"top":case"left":return n.push(X),g;case"right":case"bottom":return n.push(hA),g}else(M(w)||pA(w))&&n.push(w);else if(D(w))switch(w.value){case DB:return t=0,!1;case bB:return t=1,!1;case"at":return o=!0,!1;case yB:return r=0,!1;case xB:case KB:return r=1,!1;case TB:case mB:return r=2,!1;case LB:return r=3,!1}else if(pA(w)||M(w))return Array.isArray(r)||(r=[]),r.push(w),!1;return g},a)}if(a){var Q=er(e,s);B.push(Q)}}),{size:r,shape:t,stops:B,position:n,type:2}},De=function(e,A){var t=0,r=3,B=[],n=[];return sA(A).forEach(function(s,i){var a=!0;if(i===0?a=s.reduce(function(Q,g){if(D(g))switch(g.value){case"center":return n.push($r),!1;case"top":case"left":return n.push(X),!1;case"right":case"bottom":return n.push(hA),!1}else if(M(g)||pA(g))return n.push(g),!1;return Q},a):i===1&&(a=s.reduce(function(Q,g){if(D(g))switch(g.value){case DB:return t=0,!1;case bB:return t=1,!1;case TB:case yB:return r=0,!1;case KB:return r=1,!1;case mB:return r=2,!1;case xB:case LB:return r=3,!1}else if(pA(g)||M(g))return Array.isArray(r)||(r=[]),r.push(g),!1;return Q},a)),a){var o=er(e,s);B.push(o)}}),{size:r,shape:t,stops:B,position:n,type:2}},sa=function(e){return e.type===1},aa=function(e){return e.type===2},At={name:"image",parse:function(e,A){if(A.type===22){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(A.type===18){var r=SB[A.name];if(typeof r>"u")throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return r(e,A.values)}throw new Error("Unsupported image type "+A.type)}};function ia(e){return!(e.type===20&&e.value==="none")&&(e.type!==18||!!SB[e.name])}var SB={"linear-gradient":ta,"-moz-linear-gradient":Le,"-ms-linear-gradient":Le,"-o-linear-gradient":Le,"-webkit-linear-gradient":Le,"radial-gradient":na,"-moz-radial-gradient":De,"-ms-radial-gradient":De,"-o-radial-gradient":De,"-webkit-radial-gradient":De,"-webkit-gradient":Ba},oa={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(A.length===0)return[];var t=A[0];return t.type===20&&t.value==="none"?[]:A.filter(function(r){return PA(r)&&ia(r)}).map(function(r){return At.parse(e,r)})}},Qa={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(t){if(D(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ga={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return sA(A).map(function(t){return t.filter(M)}).map(hB)}},wa={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return sA(A).map(function(t){return t.filter(D).map(function(r){return r.value}).join(" ")}).map(ca)}},ca=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},JA;(function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"})(JA||(JA={}));var Ca={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return sA(A).map(function(t){return t.filter(ua)})}},ua=function(e){return D(e)||M(e)},rr=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},la=rr("top"),fa=rr("right"),Ua=rr("bottom"),Fa=rr("left"),tr=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(A,t){return hB(t.filter(M))}}},ha=tr("top-left"),da=tr("top-right"),Ea=tr("bottom-right"),Ha=tr("bottom-left"),Br=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},pa=Br("top"),Ia=Br("right"),va=Br("bottom"),ya=Br("left"),nr=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,t){return Ce(t)?t.number:0}}},Ka=nr("top"),ma=nr("right"),La=nr("bottom"),Da=nr("left"),ba={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},xa={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){switch(A){case"rtl":return 1;case"ltr":default:return 0}}},Ta={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(D).reduce(function(t,r){return t|Sa(r.value)},0)}},Sa=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Oa={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ma={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return A.type===20&&A.value==="normal"?0:A.type===17||A.type===15?A.number:0}},Je;(function(e){e.NORMAL="normal",e.STRICT="strict"})(Je||(Je={}));var Ga={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"strict":return Je.STRICT;case"normal":default:return Je.NORMAL}}},Ra={name:"line-height",initialValue:"normal",prefix:!1,type:4},yt=function(e,A){return D(e)&&e.value==="normal"?1.2*A:e.type===17?A*e.number:M(e)?b(e,A):A},Va={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return A.type===20&&A.value==="none"?null:At.parse(e,A)}},Na={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){switch(A){case"inside":return 0;case"outside":default:return 1}}},_r={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},sr=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Xa=sr("top"),_a=sr("right"),Ja=sr("bottom"),Pa=sr("left"),ka={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(D).map(function(t){switch(t.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},Ya={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"break-word":return"break-word";case"normal":default:return"normal"}}},ar=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Wa=ar("top"),Za=ar("right"),qa=ar("bottom"),ja=ar("left"),za={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},$a={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Ai={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.length===1&&Xr(A[0],"none")?[]:sA(A).map(function(t){for(var r={color:wA.TRANSPARENT,offsetX:X,offsetY:X,blur:X},B=0,n=0;n"u")throw new Error('Attempting to parse an unsupported transform function "'+A.name+'"');return t(A.values)}return null}},ti=function(e){var A=e.filter(function(t){return t.type===17}).map(function(t){return t.number});return A.length===6?A:null},Bi=function(e){var A=e.filter(function(a){return a.type===17}).map(function(a){return a.number}),t=A[0],r=A[1];A[2],A[3];var B=A[4],n=A[5];A[6],A[7],A[8],A[9],A[10],A[11];var s=A[12],i=A[13];return A[14],A[15],A.length===16?[t,r,B,n,s,i]:null},ni={matrix:ti,matrix3d:Bi},Kt={type:16,number:50,flags:ce},si=[Kt,Kt],ai={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,A){var t=A.filter(M);return t.length!==2?si:[t[0],t[1]]}},ii={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},ae;(function(e){e.NORMAL="normal",e.BREAK_ALL="break-all",e.KEEP_ALL="keep-all"})(ae||(ae={}));var oi={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"break-all":return ae.BREAK_ALL;case"keep-all":return ae.KEEP_ALL;case"normal":default:return ae.NORMAL}}},Qi={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,A){if(A.type===20)return{auto:!0,order:0};if(kA(A))return{auto:!1,order:A.number};throw new Error("Invalid z-index number parsed")}},OB={name:"time",parse:function(e,A){if(A.type===15)switch(A.unit.toLowerCase()){case"s":return 1e3*A.number;case"ms":return A.number}throw new Error("Unsupported time type")}},gi={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,A){return kA(A)?A.number:1}},wi={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ci={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,A){return A.filter(D).map(function(t){switch(t.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(t){return t!==0})}},Ci={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,A){var t=[],r=[];return A.forEach(function(B){switch(B.type){case 20:case 0:t.push(B.value);break;case 17:t.push(B.number.toString());break;case 4:r.push(t.join(" ")),t.length=0;break}}),t.length&&r.push(t.join(" ")),r.map(function(B){return B.indexOf(" ")===-1?B:"'"+B+"'"})}},ui={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},li={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,A){if(kA(A))return A.number;if(D(A))switch(A.value){case"bold":return 700;case"normal":default:return 400}return 400}},fi={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.filter(D).map(function(t){return t.value})}},Ui={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},G=function(e,A){return(e&A)!==0},Fi={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(A.length===0)return[];var t=A[0];return t.type===20&&t.value==="none"?[]:A}},hi={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(A.length===0)return null;var t=A[0];if(t.type===20&&t.value==="none")return null;for(var r=[],B=A.filter(FB),n=0;n1?1:0],this.overflowWrap=U(A,Ya,t.overflowWrap),this.paddingTop=U(A,Wa,t.paddingTop),this.paddingRight=U(A,Za,t.paddingRight),this.paddingBottom=U(A,qa,t.paddingBottom),this.paddingLeft=U(A,ja,t.paddingLeft),this.paintOrder=U(A,Ii,t.paintOrder),this.position=U(A,$a,t.position),this.textAlign=U(A,za,t.textAlign),this.textDecorationColor=U(A,wi,(r=t.textDecorationColor)!==null&&r!==void 0?r:t.color),this.textDecorationLine=U(A,ci,(B=t.textDecorationLine)!==null&&B!==void 0?B:t.textDecoration),this.textShadow=U(A,Ai,t.textShadow),this.textTransform=U(A,ei,t.textTransform),this.transform=U(A,ri,t.transform),this.transformOrigin=U(A,ai,t.transformOrigin),this.visibility=U(A,ii,t.visibility),this.webkitTextStrokeColor=U(A,vi,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=U(A,yi,t.webkitTextStrokeWidth),this.wordBreak=U(A,oi,t.wordBreak),this.zIndex=U(A,Qi,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return HA(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return G(this.display,4)||G(this.display,33554432)||G(this.display,268435456)||G(this.display,536870912)||G(this.display,67108864)||G(this.display,134217728)},e}(),mi=function(){function e(A,t){this.content=U(A,Fi,t.content),this.quotes=U(A,Hi,t.quotes)}return e}(),Lt=function(){function e(A,t){this.counterIncrement=U(A,hi,t.counterIncrement),this.counterReset=U(A,di,t.counterReset)}return e}(),U=function(e,A,t){var r=new fB,B=t!==null&&typeof t<"u"?t.toString():A.initialValue;r.write(B);var n=new UB(r.read());switch(A.type){case 2:var s=n.parseComponentValue();return A.parse(e,D(s)?s.value:A.initialValue);case 0:return A.parse(e,n.parseComponentValue());case 1:return A.parse(e,n.parseComponentValues());case 4:return n.parseComponentValue();case 3:switch(A.format){case"angle":return Ar.parse(e,n.parseComponentValue());case"color":return EA.parse(e,n.parseComponentValue());case"image":return At.parse(e,n.parseComponentValue());case"length":var i=n.parseComponentValue();return pA(i)?i:X;case"length-percentage":var a=n.parseComponentValue();return M(a)?a:X;case"time":return OB.parse(e,n.parseComponentValue())}break}},Li="data-html2canvas-debug",Di=function(e){var A=e.getAttribute(Li);switch(A){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},Jr=function(e,A){var t=Di(e);return t===1||A===t},aA=function(){function e(A,t){if(this.context=A,this.textNodes=[],this.elements=[],this.flags=0,Jr(t,3))debugger;this.styles=new Ki(A,window.getComputedStyle(t,null)),Yr(t)&&(this.styles.animationDuration.some(function(r){return r>0})&&(t.style.animationDuration="0s"),this.styles.transform!==null&&(t.style.transform="none")),this.bounds=ze(this.context,t),Jr(t,4)&&(this.flags|=16)}return e}(),bi="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",te=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var be=0;be>4,Q[B++]=(s&15)<<4|i>>2,Q[B++]=(i&3)<<6|a&63;return o},Ti=function(e){for(var A=e.length,t=[],r=0;r>xA,Mi=1<>xA,Ri=MB+Gi,Vi=Ri,Ni=32,Xi=Vi+Ni,_i=65536>>et,Ji=1<=0){if(A<55296||A>56319&&A<=65535)return t=this.index[A>>xA],t=(t<>xA)],t=(t<>et),t=this.index[t],t+=A>>xA&Pi,t=this.index[t],t=(t<"u"?[]:new Uint8Array(256);for(var xe=0;xe=55296&&B<=56319&&t>10)+55296,s%1024+56320)),(B+1===t||r.length>16384)&&(n+=String.fromCharCode.apply(String,r),r.length=0)}return n},Ao=Yi(bi),z="×",Hr="÷",eo=function(e){return Ao.get(e)},ro=function(e,A,t){var r=t-2,B=A[r],n=A[t-1],s=A[t];if(n===Ur&&s===Fr)return z;if(n===Ur||n===Fr||n===Tt||s===Ur||s===Fr||s===Tt)return Hr;if(n===Ot&&[Ot,hr,Mt,Gt].indexOf(s)!==-1||(n===Mt||n===hr)&&(s===hr||s===dr)||(n===Gt||n===dr)&&s===dr||s===Rt||s===St||s===ji||n===qi)return z;if(n===Rt&&s===Vt){for(;B===St;)B=A[--r];if(B===Vt)return z}if(n===Er&&s===Er){for(var i=0;B===Er;)i++,B=A[--r];if(i%2===0)return z}return Hr},to=function(e){var A=zi(e),t=A.length,r=0,B=0,n=A.map(eo);return{next:function(){if(r>=t)return{done:!0,value:null};for(var s=z;rs.x||Q.y>s.y;return s=Q,o===0?!0:g});return e.body.removeChild(A),i},ao=function(){return typeof new Image().crossOrigin<"u"},io=function(){return typeof new XMLHttpRequest().responseType=="string"},oo=function(e){var A=new Image,t=e.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;A.src="data:image/svg+xml,";try{r.drawImage(A,0,0),t.toDataURL()}catch{return!1}return!0},Nt=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Qo=function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var r=A.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var B=new Image,n=A.toDataURL();B.src=n;var s=Pr(t,t,0,0,B);return r.fillStyle="red",r.fillRect(0,0,t,t),Xt(s).then(function(i){r.drawImage(i,0,0);var a=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var o=e.createElement("div");return o.style.backgroundImage="url("+n+")",o.style.height=t+"px",Nt(a)?Xt(Pr(t,t,0,0,o)):Promise.reject(!1)}).then(function(i){return r.drawImage(i,0,0),Nt(r.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Pr=function(e,A,t,r,B){var n="http://www.w3.org/2000/svg",s=document.createElementNS(n,"svg"),i=document.createElementNS(n,"foreignObject");return s.setAttributeNS(null,"width",e.toString()),s.setAttributeNS(null,"height",A.toString()),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x",t.toString()),i.setAttributeNS(null,"y",r.toString()),i.setAttributeNS(null,"externalResourcesRequired","true"),s.appendChild(i),i.appendChild(B),s},Xt=function(e){return new Promise(function(A,t){var r=new Image;r.onload=function(){return A(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},N={get SUPPORT_RANGE_BOUNDS(){var e=no(document);return Object.defineProperty(N,"SUPPORT_RANGE_BOUNDS",{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=N.SUPPORT_RANGE_BOUNDS&&so(document);return Object.defineProperty(N,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=oo(document);return Object.defineProperty(N,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from=="function"&&typeof window.fetch=="function"?Qo(document):Promise.resolve(!1);return Object.defineProperty(N,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=ao();return Object.defineProperty(N,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=io();return Object.defineProperty(N,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(N,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(N,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},ie=function(){function e(A,t){this.text=A,this.bounds=t}return e}(),go=function(e,A,t,r){var B=Co(A,t),n=[],s=0;return B.forEach(function(i){if(t.textDecorationLine.length||i.trim().length>0)if(N.SUPPORT_RANGE_BOUNDS){var a=_t(r,s,i.length).getClientRects();if(a.length>1){var o=rt(i),Q=0;o.forEach(function(w){n.push(new ie(w,cA.fromDOMRectList(e,_t(r,Q+s,w.length).getClientRects()))),Q+=w.length})}else n.push(new ie(i,cA.fromDOMRectList(e,a)))}else{var g=r.splitText(i.length);n.push(new ie(i,wo(e,r))),r=g}else N.SUPPORT_RANGE_BOUNDS||(r=r.splitText(i.length));s+=i.length}),n},wo=function(e,A){var t=A.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(A.cloneNode(!0));var B=A.parentNode;if(B){B.replaceChild(r,A);var n=ze(e,r);return r.firstChild&&B.replaceChild(r.firstChild,r),n}}return cA.EMPTY},_t=function(e,A,t){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var B=r.createRange();return B.setStart(e,A),B.setEnd(e,A+t),B},rt=function(e){if(N.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map(function(t){return t.segment})}return Bo(e)},co=function(e,A){if(N.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map(function(r){return r.segment})}return lo(e,A)},Co=function(e,A){return A.letterSpacing!==0?rt(e):co(e,A)},uo=[32,160,4961,65792,65793,4153,4241],lo=function(e,A){for(var t=_n(e,{lineBreak:A.lineBreak,wordBreak:A.overflowWrap==="break-word"?"break-word":A.wordBreak}),r=[],B,n=function(){if(B.value){var s=B.value.slice(),i=$e(s),a="";i.forEach(function(o){uo.indexOf(o)===-1?a+=S(o):(a.length&&r.push(a),r.push(S(o)),a="")}),a.length&&r.push(a)}};!(B=t.next()).done;)n();return r},fo=function(){function e(A,t,r){this.text=Uo(t.data,r.textTransform),this.textBounds=go(A,this.text,r,t)}return e}(),Uo=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(Fo,ho);case 2:return e.toUpperCase();default:return e}},Fo=/(^|\s|:|-|\(|\))([a-z])/g,ho=function(e,A,t){return e.length>0?A+t.toUpperCase():e},GB=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.src=r.currentSrc||r.src,B.intrinsicWidth=r.naturalWidth,B.intrinsicHeight=r.naturalHeight,B.context.cache.addImage(B.src),B}return A}(aA),RB=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.canvas=r,B.intrinsicWidth=r.width,B.intrinsicHeight=r.height,B}return A}(aA),VB=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this,n=new XMLSerializer,s=ze(t,r);return r.setAttribute("width",s.width+"px"),r.setAttribute("height",s.height+"px"),B.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(r)),B.intrinsicWidth=r.width.baseVal.value,B.intrinsicHeight=r.height.baseVal.value,B.context.cache.addImage(B.svg),B}return A}(aA),NB=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.value=r.value,B}return A}(aA),kr=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.start=r.start,B.reversed=typeof r.reversed=="boolean"&&r.reversed===!0,B}return A}(aA),Eo=[{type:15,flags:0,unit:"px",number:3}],Ho=[{type:16,flags:0,number:50}],po=function(e){return e.width>e.height?new cA(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)t.textNodes.push(new fo(e,B,t.styles));else if(_A(B))if(jB(B)&&B.assignedNodes)B.assignedNodes().forEach(function(i){return Ve(e,i,t,r)});else{var s=PB(e,B);s.styles.isVisible()&&(Ko(B,s,r)?s.flags|=4:mo(s.styles)&&(s.flags|=2),yo.indexOf(B.tagName)!==-1&&(s.flags|=8),t.elements.push(s),B.slot,B.shadowRoot?Ve(e,B.shadowRoot,s,r):!Ye(B)&&!WB(B)&&!We(B)&&Ve(e,B,s,r))}},PB=function(e,A){return Wr(A)?new GB(e,A):ZB(A)?new RB(e,A):WB(A)?new VB(e,A):Lo(A)?new NB(e,A):Do(A)?new kr(e,A):bo(A)?new tt(e,A):We(A)?new XB(e,A):Ye(A)?new _B(e,A):qB(A)?new JB(e,A):new aA(e,A)},kB=function(e,A){var t=PB(e,A);return t.flags|=4,Ve(e,A,t,t),t},Ko=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Bt(e)&&t.styles.isTransparent()},mo=function(e){return e.isPositioned()||e.isFloating()},YB=function(e){return e.nodeType===Node.TEXT_NODE},_A=function(e){return e.nodeType===Node.ELEMENT_NODE},Yr=function(e){return _A(e)&&typeof e.style<"u"&&!Ne(e)},Ne=function(e){return typeof e.className=="object"},Lo=function(e){return e.tagName==="LI"},Do=function(e){return e.tagName==="OL"},bo=function(e){return e.tagName==="INPUT"},xo=function(e){return e.tagName==="HTML"},WB=function(e){return e.tagName==="svg"},Bt=function(e){return e.tagName==="BODY"},ZB=function(e){return e.tagName==="CANVAS"},Pt=function(e){return e.tagName==="VIDEO"},Wr=function(e){return e.tagName==="IMG"},qB=function(e){return e.tagName==="IFRAME"},kt=function(e){return e.tagName==="STYLE"},To=function(e){return e.tagName==="SCRIPT"},Ye=function(e){return e.tagName==="TEXTAREA"},We=function(e){return e.tagName==="SELECT"},jB=function(e){return e.tagName==="SLOT"},Yt=function(e){return e.tagName.indexOf("-")>0},So=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(A){var t=this.counters[A];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(A){var t=this.counters[A];return t||[]},e.prototype.pop=function(A){var t=this;A.forEach(function(r){return t.counters[r].pop()})},e.prototype.parse=function(A){var t=this,r=A.counterIncrement,B=A.counterReset,n=!0;r!==null&&r.forEach(function(i){var a=t.counters[i.counter];a&&i.increment!==0&&(n=!1,a.length||a.push(1),a[Math.max(0,a.length-1)]+=i.increment)});var s=[];return n&&B.forEach(function(i){var a=t.counters[i.counter];s.push(i.counter),a||(a=t.counters[i.counter]=[]),a.push(i.reset)}),s},e}(),Wt={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Zt={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Oo={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Mo={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},GA=function(e,A,t,r,B,n){return et?we(e,B,n.length>0):r.integers.reduce(function(s,i,a){for(;e>=i;)e-=i,s+=r.values[a];return s},"")+n},zB=function(e,A,t,r){var B="";do t||e--,B=r(e)+B,e/=A;while(e*A>=A);return B},T=function(e,A,t,r,B){var n=t-A+1;return(e<0?"-":"")+(zB(Math.abs(e),n,r,function(s){return S(Math.floor(s%n)+A)})+B)},mA=function(e,A,t){t===void 0&&(t=". ");var r=A.length;return zB(Math.abs(e),r,!1,function(B){return A[Math.floor(B%r)]})+t},NA=1,lA=2,fA=4,Be=8,gA=function(e,A,t,r,B,n){if(e<-9999||e>9999)return we(e,4,B.length>0);var s=Math.abs(e),i=B;if(s===0)return A[0]+i;for(var a=0;s>0&&a<=4;a++){var o=s%10;o===0&&G(n,NA)&&i!==""?i=A[o]+i:o>1||o===1&&a===0||o===1&&a===1&&G(n,lA)||o===1&&a===1&&G(n,fA)&&e>100||o===1&&a>1&&G(n,Be)?i=A[o]+(a>0?t[a-1]:"")+i:o===1&&a>0&&(i=t[a-1]+i),s=Math.floor(s/10)}return(e<0?r:"")+i},qt="十百千萬",jt="拾佰仟萬",zt="マイナス",pr="마이너스",we=function(e,A,t){var r=t?". ":"",B=t?"、":"",n=t?", ":"",s=t?" ":"";switch(A){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var i=T(e,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return mA(e,"〇一二三四五六七八九",B);case 6:return GA(e,1,3999,Wt,3,r).toLowerCase();case 7:return GA(e,1,3999,Wt,3,r);case 8:return T(e,945,969,!1,r);case 9:return T(e,97,122,!1,r);case 10:return T(e,65,90,!1,r);case 11:return T(e,1632,1641,!0,r);case 12:case 49:return GA(e,1,9999,Zt,3,r);case 35:return GA(e,1,9999,Zt,3,r).toLowerCase();case 13:return T(e,2534,2543,!0,r);case 14:case 30:return T(e,6112,6121,!0,r);case 15:return mA(e,"子丑寅卯辰巳午未申酉戌亥",B);case 16:return mA(e,"甲乙丙丁戊己庚辛壬癸",B);case 17:case 48:return gA(e,"零一二三四五六七八九",qt,"負",B,lA|fA|Be);case 47:return gA(e,"零壹貳參肆伍陸柒捌玖",jt,"負",B,NA|lA|fA|Be);case 42:return gA(e,"零一二三四五六七八九",qt,"负",B,lA|fA|Be);case 41:return gA(e,"零壹贰叁肆伍陆柒捌玖",jt,"负",B,NA|lA|fA|Be);case 26:return gA(e,"〇一二三四五六七八九","十百千万",zt,B,0);case 25:return gA(e,"零壱弐参四伍六七八九","拾百千万",zt,B,NA|lA|fA);case 31:return gA(e,"영일이삼사오육칠팔구","십백천만",pr,n,NA|lA|fA);case 33:return gA(e,"零一二三四五六七八九","十百千萬",pr,n,0);case 32:return gA(e,"零壹貳參四五六七八九","拾百千",pr,n,NA|lA|fA);case 18:return T(e,2406,2415,!0,r);case 20:return GA(e,1,19999,Mo,3,r);case 21:return T(e,2790,2799,!0,r);case 22:return T(e,2662,2671,!0,r);case 22:return GA(e,1,10999,Oo,3,r);case 23:return mA(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return mA(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return T(e,3302,3311,!0,r);case 28:return mA(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",B);case 29:return mA(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",B);case 34:return T(e,3792,3801,!0,r);case 37:return T(e,6160,6169,!0,r);case 38:return T(e,4160,4169,!0,r);case 39:return T(e,2918,2927,!0,r);case 40:return T(e,1776,1785,!0,r);case 43:return T(e,3046,3055,!0,r);case 44:return T(e,3174,3183,!0,r);case 45:return T(e,3664,3673,!0,r);case 46:return T(e,3872,3881,!0,r);case 3:default:return T(e,48,57,!0,r)}},$B="data-html2canvas-ignore",$t=function(){function e(A,t,r){if(this.context=A,this.options=r,this.scrolledElements=[],this.referenceElement=t,this.counters=new So,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(A,t){var r=this,B=Go(A,t);if(!B.contentWindow)return Promise.reject("Unable to find iframe window");var n=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,i=B.contentWindow,a=i.document,o=No(B).then(function(){return P(r,void 0,void 0,function(){var Q,g;return _(this,function(w){switch(w.label){case 0:return this.scrolledElements.forEach(Po),i&&(i.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==t.top||i.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-t.left,i.scrollY-t.top,0,0))),Q=this.options.onclone,g=this.clonedReferenceElement,typeof g>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:w.sent(),w.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Vo(a)]:[3,4];case 3:w.sent(),w.label=4;case 4:return typeof Q=="function"?[2,Promise.resolve().then(function(){return Q(a,g)}).then(function(){return B})]:[2,B]}})})});return a.open(),a.write(_o(document.doctype)+""),Jo(this.referenceElement.ownerDocument,n,s),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),o},e.prototype.createElementClone=function(A){if(Jr(A,2))debugger;if(ZB(A))return this.createCanvasClone(A);if(Pt(A))return this.createVideoClone(A);if(kt(A))return this.createStyleClone(A);var t=A.cloneNode(!1);return Wr(t)&&(Wr(A)&&A.currentSrc&&A.currentSrc!==A.src&&(t.src=A.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager")),Yt(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(A){var t=document.createElement("html2canvascustomelement");return Ir(A.style,t),t},e.prototype.createStyleClone=function(A){try{var t=A.sheet;if(t&&t.cssRules){var r=[].slice.call(t.cssRules,0).reduce(function(n,s){return s&&typeof s.cssText=="string"?n+s.cssText:n},""),B=A.cloneNode(!1);return B.textContent=r,B}}catch(n){if(this.context.logger.error("Unable to access cssRules property",n),n.name!=="SecurityError")throw n}return A.cloneNode(!1)},e.prototype.createCanvasClone=function(A){var t;if(this.options.inlineImages&&A.ownerDocument){var r=A.ownerDocument.createElement("img");try{return r.src=A.toDataURL(),r}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var B=A.cloneNode(!1);try{B.width=A.width,B.height=A.height;var n=A.getContext("2d"),s=B.getContext("2d");if(s)if(!this.options.allowTaint&&n)s.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var i=(t=A.getContext("webgl2"))!==null&&t!==void 0?t:A.getContext("webgl");if(i){var a=i.getContextAttributes();(a==null?void 0:a.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}s.drawImage(A,0,0)}return B}catch{this.context.logger.info("Unable to clone canvas as it is tainted",A)}return B},e.prototype.createVideoClone=function(A){var t=A.ownerDocument.createElement("canvas");t.width=A.offsetWidth,t.height=A.offsetHeight;var r=t.getContext("2d");try{return r&&(r.drawImage(A,0,0,t.width,t.height),this.options.allowTaint||r.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info("Unable to clone video as it is tainted",A)}var B=A.ownerDocument.createElement("canvas");return B.width=A.offsetWidth,B.height=A.offsetHeight,B},e.prototype.appendChildNode=function(A,t,r){(!_A(t)||!To(t)&&!t.hasAttribute($B)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!_A(t)||!kt(t))&&A.appendChild(this.cloneNode(t,r))},e.prototype.cloneChildNodes=function(A,t,r){for(var B=this,n=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;n;n=n.nextSibling)if(_A(n)&&jB(n)&&typeof n.assignedNodes=="function"){var s=n.assignedNodes();s.length&&s.forEach(function(i){return B.appendChildNode(t,i,r)})}else this.appendChildNode(t,n,r)},e.prototype.cloneNode=function(A,t){if(YB(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var r=A.ownerDocument.defaultView;if(r&&_A(A)&&(Yr(A)||Ne(A))){var B=this.createElementClone(A);B.style.transitionProperty="none";var n=r.getComputedStyle(A),s=r.getComputedStyle(A,":before"),i=r.getComputedStyle(A,":after");this.referenceElement===A&&Yr(B)&&(this.clonedReferenceElement=B),Bt(B)&&Wo(B);var a=this.counters.parse(new Lt(this.context,n)),o=this.resolvePseudoContent(A,B,s,oe.BEFORE);Yt(A)&&(t=!0),Pt(A)||this.cloneChildNodes(A,B,t),o&&B.insertBefore(o,B.firstChild);var Q=this.resolvePseudoContent(A,B,i,oe.AFTER);return Q&&B.appendChild(Q),this.counters.pop(a),(n&&(this.options.copyStyles||Ne(A))&&!qB(A)||t)&&Ir(n,B),(A.scrollTop!==0||A.scrollLeft!==0)&&this.scrolledElements.push([B,A.scrollLeft,A.scrollTop]),(Ye(A)||We(A))&&(Ye(B)||We(B))&&(B.value=A.value),B}return A.cloneNode(!1)},e.prototype.resolvePseudoContent=function(A,t,r,B){var n=this;if(r){var s=r.content,i=t.ownerDocument;if(!(!i||!s||s==="none"||s==="-moz-alt-content"||r.display==="none")){this.counters.parse(new Lt(this.context,r));var a=new mi(this.context,r),o=i.createElement("html2canvaspseudoelement");Ir(r,o),a.content.forEach(function(g){if(g.type===0)o.appendChild(i.createTextNode(g.value));else if(g.type===22){var w=i.createElement("img");w.src=g.value,w.style.opacity="1",o.appendChild(w)}else if(g.type===18){if(g.name==="attr"){var f=g.values.filter(D);f.length&&o.appendChild(i.createTextNode(A.getAttribute(f[0].value)||""))}else if(g.name==="counter"){var c=g.values.filter(PA),C=c[0],H=c[1];if(C&&D(C)){var h=n.counters.getCounterValue(C.value),F=H&&D(H)?_r.parse(n.context,H.value):3;o.appendChild(i.createTextNode(we(h,F,!1)))}}else if(g.name==="counters"){var K=g.values.filter(PA),C=K[0],p=K[1],H=K[2];if(C&&D(C)){var d=n.counters.getCounterValues(C.value),l=H&&D(H)?_r.parse(n.context,H.value):3,v=p&&p.type===0?p.value:"",y=d.map(function(k){return we(k,l,!1)}).join(v);o.appendChild(i.createTextNode(y))}}}else if(g.type===20)switch(g.value){case"open-quote":o.appendChild(i.createTextNode(mt(a.quotes,n.quoteDepth++,!0)));break;case"close-quote":o.appendChild(i.createTextNode(mt(a.quotes,--n.quoteDepth,!1)));break;default:o.appendChild(i.createTextNode(g.value))}}),o.className=Zr+" "+qr;var Q=B===oe.BEFORE?" "+Zr:" "+qr;return Ne(t)?t.className.baseValue+=Q:t.className+=Q,o}}},e.destroy=function(A){return A.parentNode?(A.parentNode.removeChild(A),!0):!1},e}(),oe;(function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"})(oe||(oe={}));var Go=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute($B,"true"),e.body.appendChild(t),t},Ro=function(e){return new Promise(function(A){if(e.complete){A();return}if(!e.src){A();return}e.onload=A,e.onerror=A})},Vo=function(e){return Promise.all([].slice.call(e.images,0).map(Ro))},No=function(e){return new Promise(function(A,t){var r=e.contentWindow;if(!r)return t("No window assigned for iframe");var B=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){B.body.childNodes.length>0&&B.readyState==="complete"&&(clearInterval(n),A(e))},50)}})},Xo=["all","d","content"],Ir=function(e,A){for(var t=e.length-1;t>=0;t--){var r=e.item(t);Xo.indexOf(r)===-1&&A.style.setProperty(r,e.getPropertyValue(r))}return A},_o=function(e){var A="";return e&&(A+=""),A},Jo=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},Po=function(e){var A=e[0],t=e[1],r=e[2];A.scrollLeft=t,A.scrollTop=r},ko=":before",Yo=":after",Zr="___html2canvas___pseudoelement_before",qr="___html2canvas___pseudoelement_after",AB=`{ + content: "" !important; + display: none !important; +}`,Wo=function(e){Zo(e,"."+Zr+ko+AB+` + .`+qr+Yo+AB)},Zo=function(e,A){var t=e.ownerDocument;if(t){var r=t.createElement("style");r.textContent=A,e.appendChild(r)}},An=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),qo=function(){function e(A,t){this.context=A,this._options=t,this._cache={}}return e.prototype.addImage=function(A){var t=Promise.resolve();return this.has(A)||(yr(A)||AQ(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),t},e.prototype.match=function(A){return this._cache[A]},e.prototype.loadImage=function(A){return P(this,void 0,void 0,function(){var t,r,B,n,s=this;return _(this,function(i){switch(i.label){case 0:return t=An.isSameOrigin(A),r=!vr(A)&&this._options.useCORS===!0&&N.SUPPORT_CORS_IMAGES&&!t,B=!vr(A)&&!t&&!yr(A)&&typeof this._options.proxy=="string"&&N.SUPPORT_CORS_XHR&&!r,!t&&this._options.allowTaint===!1&&!vr(A)&&!yr(A)&&!B&&!r?[2]:(n=A,B?[4,this.proxy(n)]:[3,2]);case 1:n=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,o){var Q=new Image;Q.onload=function(){return a(Q)},Q.onerror=o,(eQ(n)||r)&&(Q.crossOrigin="anonymous"),Q.src=n,Q.complete===!0&&setTimeout(function(){return a(Q)},500),s._options.imageTimeout>0&&setTimeout(function(){return o("Timed out ("+s._options.imageTimeout+"ms) loading image")},s._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(A){return typeof this._cache[A]<"u"},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(A){var t=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var B=A.substring(0,256);return new Promise(function(n,s){var i=N.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(i==="text")n(a.response);else{var g=new FileReader;g.addEventListener("load",function(){return n(g.result)},!1),g.addEventListener("error",function(w){return s(w)},!1),g.readAsDataURL(a.response)}else s("Failed to proxy resource "+B+" with status code "+a.status)},a.onerror=s;var o=r.indexOf("?")>-1?"&":"?";if(a.open("GET",""+r+o+"url="+encodeURIComponent(A)+"&responseType="+i),i!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=i),t._options.imageTimeout){var Q=t._options.imageTimeout;a.timeout=Q,a.ontimeout=function(){return s("Timed out ("+Q+"ms) proxying "+B)}}a.send()})},e}(),jo=/^data:image\/svg\+xml/i,zo=/^data:image\/.*;base64,/i,$o=/^data:image\/.*/i,AQ=function(e){return N.SUPPORT_SVG_DRAWING||!rQ(e)},vr=function(e){return $o.test(e)},eQ=function(e){return zo.test(e)},yr=function(e){return e.substr(0,4)==="blob"},rQ=function(e){return e.substr(-3).toLowerCase()==="svg"||jo.test(e)},u=function(){function e(A,t){this.type=0,this.x=A,this.y=t}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),RA=function(e,A,t){return new u(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Te=function(){function e(A,t,r,B){this.type=1,this.start=A,this.startControl=t,this.endControl=r,this.end=B}return e.prototype.subdivide=function(A,t){var r=RA(this.start,this.startControl,A),B=RA(this.startControl,this.endControl,A),n=RA(this.endControl,this.end,A),s=RA(r,B,A),i=RA(B,n,A),a=RA(s,i,A);return t?new e(this.start,r,s,a):new e(a,i,n,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),$=function(e){return e.type===1},tQ=function(){function e(A){var t=A.styles,r=A.bounds,B=re(t.borderTopLeftRadius,r.width,r.height),n=B[0],s=B[1],i=re(t.borderTopRightRadius,r.width,r.height),a=i[0],o=i[1],Q=re(t.borderBottomRightRadius,r.width,r.height),g=Q[0],w=Q[1],f=re(t.borderBottomLeftRadius,r.width,r.height),c=f[0],C=f[1],H=[];H.push((n+a)/r.width),H.push((c+g)/r.width),H.push((s+C)/r.height),H.push((o+w)/r.height);var h=Math.max.apply(Math,H);h>1&&(n/=h,s/=h,a/=h,o/=h,g/=h,w/=h,c/=h,C/=h);var F=r.width-a,K=r.height-w,p=r.width-g,d=r.height-C,l=t.borderTopWidth,v=t.borderRightWidth,y=t.borderBottomWidth,E=t.borderLeftWidth,O=b(t.paddingTop,A.bounds.width),k=b(t.paddingRight,A.bounds.width),q=b(t.paddingBottom,A.bounds.width),L=b(t.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||s>0?x(r.left+E/3,r.top+l/3,n-E/3,s-l/3,m.TOP_LEFT):new u(r.left+E/3,r.top+l/3),this.topRightBorderDoubleOuterBox=n>0||s>0?x(r.left+F,r.top+l/3,a-v/3,o-l/3,m.TOP_RIGHT):new u(r.left+r.width-v/3,r.top+l/3),this.bottomRightBorderDoubleOuterBox=g>0||w>0?x(r.left+p,r.top+K,g-v/3,w-y/3,m.BOTTOM_RIGHT):new u(r.left+r.width-v/3,r.top+r.height-y/3),this.bottomLeftBorderDoubleOuterBox=c>0||C>0?x(r.left+E/3,r.top+d,c-E/3,C-y/3,m.BOTTOM_LEFT):new u(r.left+E/3,r.top+r.height-y/3),this.topLeftBorderDoubleInnerBox=n>0||s>0?x(r.left+E*2/3,r.top+l*2/3,n-E*2/3,s-l*2/3,m.TOP_LEFT):new u(r.left+E*2/3,r.top+l*2/3),this.topRightBorderDoubleInnerBox=n>0||s>0?x(r.left+F,r.top+l*2/3,a-v*2/3,o-l*2/3,m.TOP_RIGHT):new u(r.left+r.width-v*2/3,r.top+l*2/3),this.bottomRightBorderDoubleInnerBox=g>0||w>0?x(r.left+p,r.top+K,g-v*2/3,w-y*2/3,m.BOTTOM_RIGHT):new u(r.left+r.width-v*2/3,r.top+r.height-y*2/3),this.bottomLeftBorderDoubleInnerBox=c>0||C>0?x(r.left+E*2/3,r.top+d,c-E*2/3,C-y*2/3,m.BOTTOM_LEFT):new u(r.left+E*2/3,r.top+r.height-y*2/3),this.topLeftBorderStroke=n>0||s>0?x(r.left+E/2,r.top+l/2,n-E/2,s-l/2,m.TOP_LEFT):new u(r.left+E/2,r.top+l/2),this.topRightBorderStroke=n>0||s>0?x(r.left+F,r.top+l/2,a-v/2,o-l/2,m.TOP_RIGHT):new u(r.left+r.width-v/2,r.top+l/2),this.bottomRightBorderStroke=g>0||w>0?x(r.left+p,r.top+K,g-v/2,w-y/2,m.BOTTOM_RIGHT):new u(r.left+r.width-v/2,r.top+r.height-y/2),this.bottomLeftBorderStroke=c>0||C>0?x(r.left+E/2,r.top+d,c-E/2,C-y/2,m.BOTTOM_LEFT):new u(r.left+E/2,r.top+r.height-y/2),this.topLeftBorderBox=n>0||s>0?x(r.left,r.top,n,s,m.TOP_LEFT):new u(r.left,r.top),this.topRightBorderBox=a>0||o>0?x(r.left+F,r.top,a,o,m.TOP_RIGHT):new u(r.left+r.width,r.top),this.bottomRightBorderBox=g>0||w>0?x(r.left+p,r.top+K,g,w,m.BOTTOM_RIGHT):new u(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=c>0||C>0?x(r.left,r.top+d,c,C,m.BOTTOM_LEFT):new u(r.left,r.top+r.height),this.topLeftPaddingBox=n>0||s>0?x(r.left+E,r.top+l,Math.max(0,n-E),Math.max(0,s-l),m.TOP_LEFT):new u(r.left+E,r.top+l),this.topRightPaddingBox=a>0||o>0?x(r.left+Math.min(F,r.width-v),r.top+l,F>r.width+v?0:Math.max(0,a-v),Math.max(0,o-l),m.TOP_RIGHT):new u(r.left+r.width-v,r.top+l),this.bottomRightPaddingBox=g>0||w>0?x(r.left+Math.min(p,r.width-E),r.top+Math.min(K,r.height-y),Math.max(0,g-v),Math.max(0,w-y),m.BOTTOM_RIGHT):new u(r.left+r.width-v,r.top+r.height-y),this.bottomLeftPaddingBox=c>0||C>0?x(r.left+E,r.top+Math.min(d,r.height-y),Math.max(0,c-E),Math.max(0,C-y),m.BOTTOM_LEFT):new u(r.left+E,r.top+r.height-y),this.topLeftContentBox=n>0||s>0?x(r.left+E+L,r.top+l+O,Math.max(0,n-(E+L)),Math.max(0,s-(l+O)),m.TOP_LEFT):new u(r.left+E+L,r.top+l+O),this.topRightContentBox=a>0||o>0?x(r.left+Math.min(F,r.width+E+L),r.top+l+O,F>r.width+E+L?0:a-E+L,o-(l+O),m.TOP_RIGHT):new u(r.left+r.width-(v+k),r.top+l+O),this.bottomRightContentBox=g>0||w>0?x(r.left+Math.min(p,r.width-(E+L)),r.top+Math.min(K,r.height+l+O),Math.max(0,g-(v+k)),w-(y+q),m.BOTTOM_RIGHT):new u(r.left+r.width-(v+k),r.top+r.height-(y+q)),this.bottomLeftContentBox=c>0||C>0?x(r.left+E+L,r.top+d,Math.max(0,c-(E+L)),C-(y+q),m.BOTTOM_LEFT):new u(r.left+E+L,r.top+r.height-(y+q))}return e}(),m;(function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(m||(m={}));var x=function(e,A,t,r,B){var n=4*((Math.sqrt(2)-1)/3),s=t*n,i=r*n,a=e+t,o=A+r;switch(B){case m.TOP_LEFT:return new Te(new u(e,o),new u(e,o-i),new u(a-s,A),new u(a,A));case m.TOP_RIGHT:return new Te(new u(e,A),new u(e+s,A),new u(a,o-i),new u(a,o));case m.BOTTOM_RIGHT:return new Te(new u(a,A),new u(a,A+i),new u(e+s,o),new u(e,o));case m.BOTTOM_LEFT:default:return new Te(new u(a,o),new u(a-s,o),new u(e,A+i),new u(e,A))}},Ze=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},BQ=function(e){return[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox]},qe=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},nQ=function(){function e(A,t,r){this.offsetX=A,this.offsetY=t,this.matrix=r,this.type=0,this.target=6}return e}(),Se=function(){function e(A,t){this.path=A,this.target=t,this.type=1}return e}(),sQ=function(){function e(A){this.opacity=A,this.type=2,this.target=6}return e}(),aQ=function(e){return e.type===0},en=function(e){return e.type===1},iQ=function(e){return e.type===2},eB=function(e,A){return e.length===A.length?e.some(function(t,r){return t===A[r]}):!1},oQ=function(e,A,t,r,B){return e.map(function(n,s){switch(s){case 0:return n.add(A,t);case 1:return n.add(A+r,t);case 2:return n.add(A+r,t+B);case 3:return n.add(A,t+B)}return n})},rn=function(){function e(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return e}(),tn=function(){function e(A,t){if(this.container=A,this.parent=t,this.effects=[],this.curves=new tQ(this.container),this.container.styles.opacity<1&&this.effects.push(new sQ(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,B=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new nQ(r,B,n))}if(this.container.styles.overflowX!==0){var s=Ze(this.curves),i=qe(this.curves);eB(s,i)?this.effects.push(new Se(s,6)):(this.effects.push(new Se(s,2)),this.effects.push(new Se(i,4)))}}return e.prototype.getEffects=function(A){for(var t=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,B=this.effects.slice(0);r;){var n=r.effects.filter(function(a){return!en(a)});if(t||r.container.styles.position!==0||!r.parent){if(B.unshift.apply(B,n),t=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var s=Ze(r.curves),i=qe(r.curves);eB(s,i)||B.unshift(new Se(i,6))}}else B.unshift.apply(B,n);r=r.parent}return B.filter(function(a){return G(a.target,A)})},e}(),jr=function(e,A,t,r){e.container.elements.forEach(function(B){var n=G(B.flags,4),s=G(B.flags,2),i=new tn(B,e);G(B.styles.display,2048)&&r.push(i);var a=G(B.flags,8)?[]:r;if(n||s){var o=n||B.styles.isPositioned()?t:A,Q=new rn(i);if(B.styles.isPositioned()||B.styles.opacity<1||B.styles.isTransformed()){var g=B.styles.zIndex.order;if(g<0){var w=0;o.negativeZIndex.some(function(c,C){return g>c.element.container.styles.zIndex.order?(w=C,!1):w>0}),o.negativeZIndex.splice(w,0,Q)}else if(g>0){var f=0;o.positiveZIndex.some(function(c,C){return g>=c.element.container.styles.zIndex.order?(f=C+1,!1):f>0}),o.positiveZIndex.splice(f,0,Q)}else o.zeroOrAutoZIndexOrTransformedOrOpacity.push(Q)}else B.styles.isFloating()?o.nonPositionedFloats.push(Q):o.nonPositionedInlineLevel.push(Q);jr(i,Q,n?Q:t,a)}else B.styles.isInlineLevel()?A.inlineLevel.push(i):A.nonInlineLevel.push(i),jr(i,A,t,a);G(B.flags,8)&&Bn(B,a)})},Bn=function(e,A){for(var t=e instanceof kr?e.start:1,r=e instanceof kr?e.reversed:!1,B=0;B"u"?e[0]:t},fQ=function(e,A,t,r,B){var n=A[0],s=A[1],i=t[0],a=t[1];switch(e){case 2:return[new u(Math.round(r.left),Math.round(r.top+s)),new u(Math.round(r.left+r.width),Math.round(r.top+s)),new u(Math.round(r.left+r.width),Math.round(a+r.top+s)),new u(Math.round(r.left),Math.round(a+r.top+s))];case 3:return[new u(Math.round(r.left+n),Math.round(r.top)),new u(Math.round(r.left+n+i),Math.round(r.top)),new u(Math.round(r.left+n+i),Math.round(r.height+r.top)),new u(Math.round(r.left+n),Math.round(r.height+r.top))];case 1:return[new u(Math.round(r.left+n),Math.round(r.top+s)),new u(Math.round(r.left+n+i),Math.round(r.top+s)),new u(Math.round(r.left+n+i),Math.round(r.top+s+a)),new u(Math.round(r.left+n),Math.round(r.top+s+a))];default:return[new u(Math.round(B.left),Math.round(B.top)),new u(Math.round(B.left+B.width),Math.round(B.top)),new u(Math.round(B.left+B.width),Math.round(B.height+B.top)),new u(Math.round(B.left),Math.round(B.height+B.top))]}},UQ="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",tB="Hidden Text",FQ=function(){function e(A){this._data={},this._document=A}return e.prototype.parseMetrics=function(A,t){var r=this._document.createElement("div"),B=this._document.createElement("img"),n=this._document.createElement("span"),s=this._document.body;r.style.visibility="hidden",r.style.fontFamily=A,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",s.appendChild(r),B.src=UQ,B.width=1,B.height=1,B.style.margin="0",B.style.padding="0",B.style.verticalAlign="baseline",n.style.fontFamily=A,n.style.fontSize=t,n.style.margin="0",n.style.padding="0",n.appendChild(this._document.createTextNode(tB)),r.appendChild(n),r.appendChild(B);var i=B.offsetTop-n.offsetTop+2;r.removeChild(n),r.appendChild(this._document.createTextNode(tB)),r.style.lineHeight="normal",B.style.verticalAlign="super";var a=B.offsetTop-r.offsetTop+2;return s.removeChild(r),{baseline:i,middle:a}},e.prototype.getMetrics=function(A,t){var r=A+" "+t;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(A,t)),this._data[r]},e}(),sn=function(){function e(A,t){this.context=A,this.options=t}return e}(),hQ=1e4,dQ=function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B._activeEffects=[],B.canvas=r.canvas?r.canvas:document.createElement("canvas"),B.ctx=B.canvas.getContext("2d"),r.canvas||(B.canvas.width=Math.floor(r.width*r.scale),B.canvas.height=Math.floor(r.height*r.scale),B.canvas.style.width=r.width+"px",B.canvas.style.height=r.height+"px"),B.fontMetrics=new FQ(document),B.ctx.scale(B.options.scale,B.options.scale),B.ctx.translate(-r.x,-r.y),B.ctx.textBaseline="bottom",B._activeEffects=[],B.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),B}return A.prototype.applyEffects=function(t){for(var r=this;this._activeEffects.length;)this.popEffect();t.forEach(function(B){return r.applyEffect(B)})},A.prototype.applyEffect=function(t){this.ctx.save(),iQ(t)&&(this.ctx.globalAlpha=t.opacity),aQ(t)&&(this.ctx.translate(t.offsetX,t.offsetY),this.ctx.transform(t.matrix[0],t.matrix[1],t.matrix[2],t.matrix[3],t.matrix[4],t.matrix[5]),this.ctx.translate(-t.offsetX,-t.offsetY)),en(t)&&(this.path(t.path),this.ctx.clip()),this._activeEffects.push(t)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(t){return P(this,void 0,void 0,function(){var r;return _(this,function(B){switch(B.label){case 0:return r=t.element.container.styles,r.isVisible()?[4,this.renderStackContent(t)]:[3,2];case 1:B.sent(),B.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(t){return P(this,void 0,void 0,function(){return _(this,function(r){switch(r.label){case 0:if(G(t.container.flags,16))debugger;return t.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(t)]:[3,3];case 1:return r.sent(),[4,this.renderNodeContent(t)];case 2:r.sent(),r.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(t,r,B){var n=this;if(r===0)this.ctx.fillText(t.text,t.bounds.left,t.bounds.top+B);else{var s=rt(t.text);s.reduce(function(i,a){return n.ctx.fillText(a,i,t.bounds.top+B),i+n.ctx.measureText(a).width},t.bounds.left)}},A.prototype.createFontStyle=function(t){var r=t.fontVariant.filter(function(s){return s==="normal"||s==="small-caps"}).join(""),B=vQ(t.fontFamily).join(", "),n=Ce(t.fontSize)?""+t.fontSize.number+t.fontSize.unit:t.fontSize.number+"px";return[[t.fontStyle,r,t.fontWeight,n,B].join(" "),B,n]},A.prototype.renderTextNode=function(t,r){return P(this,void 0,void 0,function(){var B,n,s,i,a,o,Q,g,w=this;return _(this,function(f){return B=this.createFontStyle(r),n=B[0],s=B[1],i=B[2],this.ctx.font=n,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(s,i),o=a.baseline,Q=a.middle,g=r.paintOrder,t.textBounds.forEach(function(c){g.forEach(function(C){switch(C){case 0:w.ctx.fillStyle=R(r.color),w.renderTextWithLetterSpacing(c,r.letterSpacing,o);var H=r.textShadow;H.length&&c.text.trim().length&&(H.slice(0).reverse().forEach(function(h){w.ctx.shadowColor=R(h.color),w.ctx.shadowOffsetX=h.offsetX.number*w.options.scale,w.ctx.shadowOffsetY=h.offsetY.number*w.options.scale,w.ctx.shadowBlur=h.blur.number,w.renderTextWithLetterSpacing(c,r.letterSpacing,o)}),w.ctx.shadowColor="",w.ctx.shadowOffsetX=0,w.ctx.shadowOffsetY=0,w.ctx.shadowBlur=0),r.textDecorationLine.length&&(w.ctx.fillStyle=R(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(h){switch(h){case 1:w.ctx.fillRect(c.bounds.left,Math.round(c.bounds.top+o),c.bounds.width,1);break;case 2:w.ctx.fillRect(c.bounds.left,Math.round(c.bounds.top),c.bounds.width,1);break;case 3:w.ctx.fillRect(c.bounds.left,Math.ceil(c.bounds.top+Q),c.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&c.text.trim().length&&(w.ctx.strokeStyle=R(r.webkitTextStrokeColor),w.ctx.lineWidth=r.webkitTextStrokeWidth,w.ctx.lineJoin=window.chrome?"miter":"round",w.ctx.strokeText(c.text,c.bounds.left,c.bounds.top+o)),w.ctx.strokeStyle="",w.ctx.lineWidth=0,w.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(t,r,B){if(B&&t.intrinsicWidth>0&&t.intrinsicHeight>0){var n=je(t),s=qe(r);this.path(s),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(B,0,0,t.intrinsicWidth,t.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(t){return P(this,void 0,void 0,function(){var r,B,n,s,i,a,F,F,o,Q,g,w,p,f,c,d,C,H,h,F,K,p,d;return _(this,function(l){switch(l.label){case 0:this.applyEffects(t.getEffects(4)),r=t.container,B=t.curves,n=r.styles,s=0,i=r.textNodes,l.label=1;case 1:return s0&&V>0&&(y=n.ctx.createPattern(d,"repeat"),n.renderRepeat(O,y,Y,W))):aa(Q)&&(E=Kr(t,r,[null,null,null]),O=E[0],k=E[1],q=E[2],L=E[3],V=E[4],CA=Q.position.length===0?[$r]:Q.position,Y=b(CA[0],L),W=b(CA[CA.length-1],V),IA=ra(Q,Y,W,L,V),BA=IA[0],uA=IA[1],BA>0&&uA>0&&(vA=n.ctx.createRadialGradient(k+Y,q+W,0,k+Y,q+W,BA),It(Q.stops,BA*2).forEach(function(YA){return vA.addColorStop(YA.stop,R(YA.color))}),n.path(O),n.ctx.fillStyle=vA,BA!==uA?(yA=t.bounds.left+.5*t.bounds.width,iA=t.bounds.top+.5*t.bounds.height,KA=uA/BA,oA=1/KA,n.ctx.save(),n.ctx.translate(yA,iA),n.ctx.transform(1,0,0,KA,0,0),n.ctx.translate(-yA,-iA),n.ctx.fillRect(k,oA*(q-iA)+iA,L,V*oA),n.ctx.restore()):n.ctx.fill())),TA.label=6;case 6:return r--,[2]}})},n=this,s=0,i=t.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return s0?Q.style!==2?[3,5]:[4,this.renderDashedDottedBorder(Q.color,Q.width,i,t.curves,2)]:[3,11]):[3,13];case 4:return w.sent(),[3,11];case 5:return Q.style!==3?[3,7]:[4,this.renderDashedDottedBorder(Q.color,Q.width,i,t.curves,3)];case 6:return w.sent(),[3,11];case 7:return Q.style!==4?[3,9]:[4,this.renderDoubleBorder(Q.color,Q.width,i,t.curves)];case 8:return w.sent(),[3,11];case 9:return[4,this.renderSolidBorder(Q.color,i,t.curves)];case 10:w.sent(),w.label=11;case 11:i++,w.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(t,r,B,n,s){return P(this,void 0,void 0,function(){var i,a,o,Q,g,w,f,c,C,H,h,F,K,p,d,l,d,l;return _(this,function(v){return this.ctx.save(),i=cQ(n,B),a=rB(n,B),s===2&&(this.path(a),this.ctx.clip()),$(a[0])?(o=a[0].start.x,Q=a[0].start.y):(o=a[0].x,Q=a[0].y),$(a[1])?(g=a[1].end.x,w=a[1].end.y):(g=a[1].x,w=a[1].y),B===0||B===2?f=Math.abs(o-g):f=Math.abs(Q-w),this.ctx.beginPath(),s===3?this.formatPath(i):this.formatPath(a.slice(0,2)),c=r<3?r*3:r*2,C=r<3?r*2:r,s===3&&(c=r,C=r),H=!0,f<=c*2?H=!1:f<=c*2+C?(h=f/(2*c+C),c*=h,C*=h):(F=Math.floor((f+C)/(c+C)),K=(f-F*c)/(F-1),p=(f-(F+1)*c)/F,C=p<=0||Math.abs(C-K)span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--public-accent),var(--public-accent-strong))}.public-preview__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}.public-preview__meta-card{padding:1rem;border-radius:1rem;background:#0309126b;border:1px solid rgba(148,163,184,.08)}.public-section{margin-bottom:4.5rem}.public-section__header{max-width:48rem;margin:0 auto 2.5rem;text-align:center}.public-section__title{margin:1rem 0 .75rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.03em}.public-section__copy{margin:0;color:var(--public-muted);font-size:1.05rem;line-height:1.75}.public-features,.public-steps,.public-page__grid{display:grid;gap:1.2rem}.public-features{grid-template-columns:repeat(3,minmax(0,1fr))}.public-card{border-radius:1.5rem;padding:1.5rem}.public-card__icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#60a5fa33,#2563eb29);color:#dbeafe;margin-bottom:1rem}.public-card__title{margin:0 0 .75rem;font-size:1.2rem}.public-card__copy{margin:0;color:var(--public-muted);line-height:1.75}.public-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.public-step{position:relative;padding:1.6rem;border-radius:1.5rem}.public-step__number{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;background:#60a5fa1f;border:1px solid rgba(96,165,250,.32);color:#dbeafe;font-weight:700;margin-bottom:1rem}.public-step__title{margin:0 0 .6rem;font-size:1.15rem}.public-step__copy{margin:0;color:var(--public-muted);line-height:1.7}.public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.public-stats__card{border-radius:1.5rem;padding:1.5rem;text-align:center}.public-stats__value{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.04em}.public-stats__label{margin-top:.5rem;color:var(--public-muted)}.public-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:2rem;border-radius:1.9rem;background:linear-gradient(135deg,#06121ff0,#0b1726c7);border:1px solid var(--public-border);box-shadow:0 28px 60px #0000003d}.public-cta-panel__title{margin:.75rem 0 .55rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1}.public-cta-panel__copy{margin:0;color:var(--public-muted);line-height:1.75}.public-cta-panel__actions{display:flex;flex-wrap:wrap;gap:.9rem}.public-page{padding:3.25rem 0 4rem}.public-page__hero{max-width:54rem;margin-bottom:2rem}.public-page__title{margin:1rem 0 .8rem;font-size:clamp(2.25rem,5vw,4rem);line-height:1.02;letter-spacing:-.04em}.public-page__copy{margin:0;color:var(--public-muted);font-size:1.03rem;line-height:1.8}.public-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-page__card{border-radius:1.5rem;padding:1.5rem}.public-page__card--wide{grid-column:1 / -1}.public-page__card-title{margin:0 0 .8rem;font-size:1.15rem}.public-page__card-copy,.public-page__list{margin:0;color:var(--public-muted);line-height:1.75}.public-page__list{padding-left:1.1rem}.public-page__list li+li{margin-top:.45rem}.public-page__notice{margin-top:1rem;padding:1rem 1.1rem;border-radius:1rem;border:1px solid rgba(245,158,11,.18);background:#f59e0b14;color:#fcd34d;line-height:1.7}.public-site__footer{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 5vw 2.8rem}.public-site__footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding-top:1.5rem;border-top:1px solid rgba(148,163,184,.12)}.public-site__footer-meta{color:var(--public-muted);font-size:.92rem}html:not(.dark) .public-site{--public-bg: #eef4ff;--public-bg-strong: #f8fbff;--public-surface: rgba(255, 255, 255, .88);--public-surface-soft: rgba(255, 255, 255, .74);--public-border: rgba(37, 99, 235, .14);--public-text: #0f172a;--public-muted: #475569;background:radial-gradient(circle at top left,rgba(96,165,250,.2),transparent 28%),radial-gradient(circle at top right,rgba(191,219,254,.44),transparent 24%),radial-gradient(circle at 50% 100%,rgba(245,158,11,.12),transparent 30%),linear-gradient(180deg,var(--public-bg) 0%,var(--public-bg-strong) 48%,#edf5ff 100%)}html:not(.dark) .public-site__backdrop{background:radial-gradient(circle at 18% 18%,rgba(96,165,250,.14),transparent 22%),radial-gradient(circle at 82% 22%,rgba(59,130,246,.12),transparent 18%)}html:not(.dark) .public-site__grid{background-image:linear-gradient(rgba(37,99,235,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.05) 1px,transparent 1px)}html:not(.dark) .public-site__nav{background:#ffffffd6;border-bottom:1px solid rgba(37,99,235,.12)}html:not(.dark) .public-site__brand-mark{box-shadow:0 16px 40px #2563eb29}html:not(.dark) .public-site__button--secondary{background:#ffffffd6;border-color:#2563eb29}html:not(.dark) .public-site__button--secondary:hover{border-color:#2563eb47;background:#fffffff5}html:not(.dark) .public-hero__badge,html:not(.dark) .public-section__tag{color:#1d4ed8;background:#60a5fa1f}html:not(.dark) .public-chip{background:#ffffffc7}html:not(.dark) .public-preview__panel,html:not(.dark) .public-card,html:not(.dark) .public-page__card,html:not(.dark) .public-stats__card{box-shadow:0 24px 52px #2563eb1f}html:not(.dark) .public-preview__card{background:#ffffffd6;border-color:#2563eb1f}html:not(.dark) .public-progress{background:#2563eb1a}html:not(.dark) .public-preview__meta-card{background:#f4f7ffe6;border-color:#2563eb1f}html:not(.dark) .public-cta-panel{background:linear-gradient(135deg,#fffffff2,#eff6ffeb);box-shadow:0 24px 52px #2563eb1f}html:not(.dark) .public-site__footer-inner{border-top:1px solid rgba(37,99,235,.12)}@media (max-width: 1100px){.public-hero{grid-template-columns:1fr}.public-preview__panel{transform:none}.public-features,.public-steps,.public-stats,.public-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-cta-panel{flex-direction:column;align-items:flex-start}}@media (max-width: 780px){.public-site__nav{align-items:flex-start;flex-direction:column}.public-site__nav-links,.public-site__nav-actions,.public-site__footer-inner{width:100%}.public-site__footer-inner{flex-direction:column;align-items:flex-start}.public-preview__grid,.public-preview__meta,.public-features,.public-steps,.public-stats,.public-page__grid{grid-template-columns:1fr}.public-hero__title{font-size:clamp(2.4rem,12vw,4rem)}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-16{height:4rem}.h-28{height:7rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-auto{height:auto}.h-full{height:100%}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-80{width:20rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-12{min-width:3rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[420px\]{max-width:420px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-200\/70{border-color:#fde68ab3}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-200\/60{border-color:#e5e7eb99}.border-gray-200\/70{border-color:#e5e7ebb3}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-900{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-rose-100{--tw-border-opacity: 1;border-color:rgb(255 228 230 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity, 1))}.border-sky-100{--tw-border-opacity: 1;border-color:rgb(224 242 254 / var(--tw-border-opacity, 1))}.border-sky-200\/70{border-color:#bae6fdb3}.border-white\/70{border-color:#ffffffb3}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(147 197 253 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-200\/70{background-color:#a7f3d0b3}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/50{background-color:#ecfdf580}.bg-emerald-50\/60{background-color:#ecfdf599}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-300{--tw-bg-opacity: 1;background-color:rgb(134 239 172 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-pink-400{--tw-bg-opacity: 1;background-color:rgb(244 114 182 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-rose-200\/70{background-color:#fecdd3b3}.bg-rose-50\/60{background-color:#fff1f299}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.bg-sky-50\/60{background-color:#f0f9ff99}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from: #fffbeb var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-50{--tw-gradient-from: #ecfeff var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-100{--tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-50{--tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from: #eef2ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-100{--tw-gradient-from: #e0f2fe var(--tw-gradient-from-position);--tw-gradient-to: rgb(224 242 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-50{--tw-gradient-from: #f0f9ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 249 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-50{--tw-gradient-to: #fffbeb var(--tw-gradient-to-position)}.to-blue-100{--tw-gradient-to: #dbeafe var(--tw-gradient-to-position)}.to-emerald-100{--tw-gradient-to: #d1fae5 var(--tw-gradient-to-position)}.to-emerald-50{--tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to: #059669 var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to: #eef2ff var(--tw-gradient-to-position)}.to-sky-50{--tw-gradient-to: #f0f9ff var(--tw-gradient-to-position)}.fill-gray-200{fill:#e5e7eb}.fill-gray-500{fill:#6b7280}.fill-gray-600{fill:#4b5563}.fill-gray-700{fill:#374151}.fill-indigo-500{fill:#6366f1}.fill-rose-500{fill:#f43f5e}.fill-sky-300\/40{fill:#7dd3fc66}.stroke-gray-300{stroke:#d1d5db}.stroke-indigo-500{stroke:#6366f1}.stroke-sky-600{stroke:#0284c7}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pr-1{padding-right:.25rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-700\/80{color:#b45309cc}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-700\/80{color:#047857cc}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-indigo-700\/80{color:#4338cacc}.text-indigo-900{--tw-text-opacity: 1;color:rgb(49 46 129 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-rose-800{--tw-text-opacity: 1;color:rgb(159 18 57 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-700\/80{color:#0369a1cc}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body{margin:0;font-family:Space Grotesk,Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hover\:-translate-y-\[1px\]:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-700:hover{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:shadow:hover{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-cyan-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(21 94 117 / var(--tw-border-opacity, 1))}.dark\:border-emerald-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity, 1))}.dark\:border-emerald-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(6 95 70 / var(--tw-border-opacity, 1))}.dark\:border-emerald-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(6 78 59 / var(--tw-border-opacity, 1))}.dark\:border-emerald-900\/60:is(.dark *){border-color:#064e3b99}.dark\:border-gray-100:is(.dark *){--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 48 163 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-rose-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(190 18 60 / var(--tw-border-opacity, 1))}.dark\:border-rose-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(136 19 55 / var(--tw-border-opacity, 1))}.dark\:border-rose-900\/60:is(.dark *){border-color:#88133799}.dark\:border-sky-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(7 89 133 / var(--tw-border-opacity, 1))}.dark\:border-sky-900\/60:is(.dark *){border-color:#0c4a6e99}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-cyan-900\/30:is(.dark *){background-color:#164e634d}.dark\:bg-emerald-800\/60:is(.dark *){background-color:#065f4699}.dark\:bg-emerald-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-emerald-900\/40:is(.dark *){background-color:#064e3b66}.dark\:bg-emerald-950\/20:is(.dark *){background-color:#022c2233}.dark\:bg-emerald-950\/40:is(.dark *){background-color:#022c2266}.dark\:bg-gray-100:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/60:is(.dark *){background-color:#1f293799}.dark\:bg-gray-800\/70:is(.dark *){background-color:#1f2937b3}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900\/70:is(.dark *){background-color:#111827b3}.dark\:bg-gray-900\/80:is(.dark *){background-color:#111827cc}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-950\/40:is(.dark *){background-color:#03071266}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-indigo-900\/30:is(.dark *){background-color:#312e814d}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-rose-800\/60:is(.dark *){background-color:#9f123999}.dark\:bg-rose-950\/20:is(.dark *){background-color:#4c051933}.dark\:bg-sky-900\/40:is(.dark *){background-color:#0c4a6e66}.dark\:bg-sky-950\/20:is(.dark *){background-color:#082f4933}.dark\:from-amber-900\/30:is(.dark *){--tw-gradient-from: rgb(120 53 15 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-emerald-900\/30:is(.dark *){--tw-gradient-from: rgb(6 78 59 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-gray-800:is(.dark *){--tw-gradient-from: #1f2937 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-gray-950:is(.dark *){--tw-gradient-from: #030712 var(--tw-gradient-from-position);--tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-indigo-900\/30:is(.dark *){--tw-gradient-from: rgb(49 46 129 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-sky-900\/30:is(.dark *){--tw-gradient-from: rgb(12 74 110 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(12 74 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-gray-900:is(.dark *){--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-gray-950:is(.dark *){--tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #030712 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-amber-900\/20:is(.dark *){--tw-gradient-to: rgb(120 53 15 / .2) var(--tw-gradient-to-position)}.dark\:to-emerald-900\/20:is(.dark *){--tw-gradient-to: rgb(6 78 59 / .2) var(--tw-gradient-to-position)}.dark\:to-gray-700:is(.dark *){--tw-gradient-to: #374151 var(--tw-gradient-to-position)}.dark\:to-gray-900:is(.dark *){--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.dark\:to-gray-950:is(.dark *){--tw-gradient-to: #030712 var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to: rgb(49 46 129 / .2) var(--tw-gradient-to-position)}.dark\:to-sky-900\/20:is(.dark *){--tw-gradient-to: rgb(12 74 110 / .2) var(--tw-gradient-to-position)}.dark\:fill-gray-200:is(.dark *){fill:#e5e7eb}.dark\:fill-gray-300:is(.dark *){fill:#d1d5db}.dark\:fill-gray-400:is(.dark *){fill:#9ca3af}.dark\:fill-gray-800:is(.dark *){fill:#1f2937}.dark\:fill-sky-500\/30:is(.dark *){fill:#0ea5e94d}.dark\:stroke-gray-700:is(.dark *){stroke:#374151}.dark\:stroke-sky-400:is(.dark *){stroke:#38bdf8}.dark\:text-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.dark\:text-amber-200\/70:is(.dark *){color:#fde68ab3}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-cyan-200:is(.dark *){--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity, 1))}.dark\:text-cyan-300:is(.dark *){--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.dark\:text-emerald-100:is(.dark *){--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.dark\:text-emerald-200\/70:is(.dark *){color:#a7f3d0b3}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.dark\:text-gray-900:is(.dark *){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-indigo-100:is(.dark *){--tw-text-opacity: 1;color:rgb(224 231 255 / var(--tw-text-opacity, 1))}.dark\:text-indigo-200:is(.dark *){--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity, 1))}.dark\:text-indigo-200\/70:is(.dark *){color:#c7d2feb3}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-rose-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.dark\:text-rose-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.dark\:text-sky-100:is(.dark *){--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-200\/70:is(.dark *){color:#bae6fdb3}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-emerald-900\/40:hover:is(.dark *){background-color:#064e3b66}.dark\:hover\:bg-gray-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800\/40:hover:is(.dark *){background-color:#1f293766}.dark\:hover\:bg-indigo-900\/40:hover:is(.dark *){background-color:#312e8166}.dark\:hover\:bg-rose-950\/40:hover:is(.dark *){background-color:#4c051966}.dark\:hover\:text-gray-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:self-end{align-self:flex-end}}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/dist/assets/index-DlZengFf.js b/dist/assets/index-DlZengFf.js new file mode 100644 index 0000000..5c6316a --- /dev/null +++ b/dist/assets/index-DlZengFf.js @@ -0,0 +1,84 @@ +function dg(e,t){for(var r=0;rn[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();var Nr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function cd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ls(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:function(){return e[n]}})}),r}var dd={exports:{}},Ki={},hd={exports:{}},B={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var us=Symbol.for("react.element"),hg=Symbol.for("react.portal"),fg=Symbol.for("react.fragment"),pg=Symbol.for("react.strict_mode"),gg=Symbol.for("react.profiler"),mg=Symbol.for("react.provider"),yg=Symbol.for("react.context"),vg=Symbol.for("react.forward_ref"),wg=Symbol.for("react.suspense"),bg=Symbol.for("react.memo"),_g=Symbol.for("react.lazy"),xu=Symbol.iterator;function xg(e){return e===null||typeof e!="object"?null:(e=xu&&e[xu]||e["@@iterator"],typeof e=="function"?e:null)}var fd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pd=Object.assign,gd={};function fn(e,t,r){this.props=e,this.context=t,this.refs=gd,this.updater=r||fd}fn.prototype.isReactComponent={};fn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};fn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function md(){}md.prototype=fn.prototype;function ml(e,t,r){this.props=e,this.context=t,this.refs=gd,this.updater=r||fd}var yl=ml.prototype=new md;yl.constructor=ml;pd(yl,fn.prototype);yl.isPureReactComponent=!0;var ku=Array.isArray,yd=Object.prototype.hasOwnProperty,vl={current:null},vd={key:!0,ref:!0,__self:!0,__source:!0};function wd(e,t,r){var n,s={},i=null,a=null;if(t!=null)for(n in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)yd.call(t,n)&&!vd.hasOwnProperty(n)&&(s[n]=t[n]);var o=arguments.length-2;if(o===1)s.children=r;else if(1>>1,re=A[q];if(0>>1;q<_t;){var tt=2*(q+1)-1,sr=A[tt],Me=tt+1,j=A[Me];if(0>s(sr,L))Mes(j,sr)?(A[q]=j,A[Me]=L,q=Me):(A[q]=sr,A[tt]=L,q=tt);else if(Mes(j,L))A[q]=j,A[Me]=L,q=Me;else break e}}return $}function s(A,$){var L=A.sortIndex-$.sortIndex;return L!==0?L:A.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,o=a.now();e.unstable_now=function(){return a.now()-o}}var l=[],c=[],d=1,h=null,f=3,g=!1,w=!1,v=!1,b=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(A){for(var $=r(c);$!==null;){if($.callback===null)n(c);else if($.startTime<=A)n(c),$.sortIndex=$.expirationTime,t(l,$);else break;$=r(c)}}function _(A){if(v=!1,p(A),!w)if(r(l)!==null)w=!0,Oe(x);else{var $=r(c);$!==null&&bt(_,$.startTime-A)}}function x(A,$){w=!1,v&&(v=!1,y(k),k=-1),g=!0;var L=f;try{for(p($),h=r(l);h!==null&&(!(h.expirationTime>$)||A&&!z());){var q=h.callback;if(typeof q=="function"){h.callback=null,f=h.priorityLevel;var re=q(h.expirationTime<=$);$=e.unstable_now(),typeof re=="function"?h.callback=re:h===r(l)&&n(l),p($)}else n(l);h=r(l)}if(h!==null)var _t=!0;else{var tt=r(c);tt!==null&&bt(_,tt.startTime-$),_t=!1}return _t}finally{h=null,f=L,g=!1}}var S=!1,E=null,k=-1,T=5,C=-1;function z(){return!(e.unstable_now()-CA||125q?(A.sortIndex=L,t(c,A),r(l)===null&&A===r(c)&&(v?(y(k),k=-1):v=!0,bt(_,L-q))):(A.sortIndex=re,t(l,A),w||g||(w=!0,Oe(x))),A},e.unstable_shouldYield=z,e.unstable_wrapCallback=function(A){var $=f;return function(){var L=f;f=$;try{return A.apply(this,arguments)}finally{f=L}}}})(Sd);kd.exports=Sd;var Ig=kd.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var $g=P,He=Ig;function N(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ro=Object.prototype.hasOwnProperty,Dg=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Eu={},ju={};function Lg(e){return ro.call(ju,e)?!0:ro.call(Eu,e)?!1:Dg.test(e)?ju[e]=!0:(Eu[e]=!0,!1)}function zg(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Ug(e,t,r,n){if(t===null||typeof t>"u"||zg(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ae(e,t,r,n,s,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var _e={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_e[e]=new Ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_e[t]=new Ae(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){_e[e]=new Ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_e[e]=new Ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_e[e]=new Ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){_e[e]=new Ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){_e[e]=new Ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){_e[e]=new Ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){_e[e]=new Ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var bl=/[\-:]([a-z])/g;function _l(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(bl,_l);_e[t]=new Ae(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(bl,_l);_e[t]=new Ae(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(bl,_l);_e[t]=new Ae(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){_e[e]=new Ae(e,1,!1,e.toLowerCase(),null,!1,!1)});_e.xlinkHref=new Ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){_e[e]=new Ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function xl(e,t,r,n){var s=_e.hasOwnProperty(t)?_e[t]:null;(s!==null?s.type!==0:n||!(2o||s[a]!==i[o]){var l=` +`+s[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=o);break}}}finally{va=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Nn(e):""}function Mg(e){switch(e.tag){case 5:return Nn(e.type);case 16:return Nn("Lazy");case 13:return Nn("Suspense");case 19:return Nn("SuspenseList");case 0:case 2:case 15:return e=wa(e.type,!1),e;case 11:return e=wa(e.type.render,!1),e;case 1:return e=wa(e.type,!0),e;default:return""}}function ao(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Dr:return"Fragment";case $r:return"Portal";case no:return"Profiler";case kl:return"StrictMode";case so:return"Suspense";case io:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Nd:return(e.displayName||"Context")+".Consumer";case jd:return(e._context.displayName||"Context")+".Provider";case Sl:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case El:return t=e.displayName||null,t!==null?t:ao(e.type)||"Memo";case Dt:t=e._payload,e=e._init;try{return ao(e(t))}catch{}}return null}function Bg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ao(t);case 8:return t===kl?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Xt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Pd(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fg(e){var t=Pd(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var s=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(a){n=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(a){n=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ws(e){e._valueTracker||(e._valueTracker=Fg(e))}function Cd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=Pd(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function ci(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function oo(e,t){var r=t.checked;return ie({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Tu(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Xt(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ad(e,t){t=t.checked,t!=null&&xl(e,"checked",t,!1)}function lo(e,t){Ad(e,t);var r=Xt(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?uo(e,t.type,r):t.hasOwnProperty("defaultValue")&&uo(e,t.type,Xt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Pu(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function uo(e,t,r){(t!=="number"||ci(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Tn=Array.isArray;function Gr(e,t,r,n){if(e=e.options,t){t={};for(var s=0;s"+t.valueOf().toString()+"",t=bs.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Wn(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Rn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Vg=["Webkit","ms","Moz","O"];Object.keys(Rn).forEach(function(e){Vg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Rn[t]=Rn[e]})});function $d(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Rn.hasOwnProperty(e)&&Rn[e]?(""+t).trim():t+"px"}function Dd(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,s=$d(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,s):e[r]=s}}var Wg=ie({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fo(e,t){if(t){if(Wg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function po(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var go=null;function jl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mo=null,Jr=null,Qr=null;function Ou(e){if(e=hs(e)){if(typeof mo!="function")throw Error(N(280));var t=e.stateNode;t&&(t=Yi(t),mo(e.stateNode,e.type,t))}}function Ld(e){Jr?Qr?Qr.push(e):Qr=[e]:Jr=e}function zd(){if(Jr){var e=Jr,t=Qr;if(Qr=Jr=null,Ou(e),t)for(e=0;e>>=0,e===0?32:31-(t0(e)/r0|0)|0}var _s=64,xs=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pi(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,s=e.suspendedLanes,i=e.pingedLanes,a=r&268435455;if(a!==0){var o=a&~s;o!==0?n=Pn(o):(i&=a,i!==0&&(n=Pn(i)))}else a=r&~s,a!==0?n=Pn(a):i!==0&&(n=Pn(i));if(n===0)return 0;if(t!==0&&t!==n&&!(t&s)&&(s=n&-n,i=t&-t,s>=i||s===16&&(i&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function cs(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-dt(t),e[t]=r}function a0(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=$n),Bu=" ",Fu=!1;function sh(e,t){switch(e){case"keyup":return I0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ih(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Lr=!1;function D0(e,t){switch(e){case"compositionend":return ih(t);case"keypress":return t.which!==32?null:(Fu=!0,Bu);case"textInput":return e=t.data,e===Bu&&Fu?null:e;default:return null}}function L0(e,t){if(Lr)return e==="compositionend"||!Il&&sh(e,t)?(e=rh(),Qs=Al=Ft=null,Lr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Ku(r)}}function uh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?uh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ch(){for(var e=window,t=ci();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=ci(e.document)}return t}function $l(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function K0(e){var t=ch(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&uh(r.ownerDocument.documentElement,r)){if(n!==null&&$l(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,i=Math.min(n.start,s);n=n.end===void 0?i:Math.min(n.end,s),!e.extend&&i>n&&(s=n,n=i,i=s),s=qu(r,i);var a=qu(r,n);s&&a&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),i>n?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,zr=null,xo=null,Ln=null,ko=!1;function Gu(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;ko||zr==null||zr!==ci(n)||(n=zr,"selectionStart"in n&&$l(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Ln&&Qn(Ln,n)||(Ln=n,n=yi(xo,"onSelect"),0Br||(e.current=Po[Br],Po[Br]=null,Br--)}function Q(e,t){Br++,Po[Br]=e.current,e.current=t}var Zt={},je=tr(Zt),Le=tr(!1),br=Zt;function nn(e,t){var r=e.type.contextTypes;if(!r)return Zt;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in r)s[i]=t[i];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function ze(e){return e=e.childContextTypes,e!=null}function wi(){Z(Le),Z(je)}function tc(e,t,r){if(je.current!==Zt)throw Error(N(168));Q(je,t),Q(Le,r)}function wh(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var s in n)if(!(s in t))throw Error(N(108,Bg(e)||"Unknown",s));return ie({},r,n)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zt,br=je.current,Q(je,e),Q(Le,Le.current),!0}function rc(e,t,r){var n=e.stateNode;if(!n)throw Error(N(169));r?(e=wh(e,t,br),n.__reactInternalMemoizedMergedChildContext=e,Z(Le),Z(je),Q(je,e)):Z(Le),Q(Le,r)}var St=null,Xi=!1,Ra=!1;function bh(e){St===null?St=[e]:St.push(e)}function sm(e){Xi=!0,bh(e)}function rr(){if(!Ra&&St!==null){Ra=!0;var e=0,t=H;try{var r=St;for(H=1;e>=a,s-=a,Et=1<<32-dt(t)+s|r<k?(T=E,E=null):T=E.sibling;var C=f(y,E,p[k],_);if(C===null){E===null&&(E=T);break}e&&E&&C.alternate===null&&t(y,E),m=i(C,m,k),S===null?x=C:S.sibling=C,S=C,E=T}if(k===p.length)return r(y,E),te&&or(y,k),x;if(E===null){for(;kk?(T=E,E=null):T=E.sibling;var z=f(y,E,C.value,_);if(z===null){E===null&&(E=T);break}e&&E&&z.alternate===null&&t(y,E),m=i(z,m,k),S===null?x=z:S.sibling=z,S=z,E=T}if(C.done)return r(y,E),te&&or(y,k),x;if(E===null){for(;!C.done;k++,C=p.next())C=h(y,C.value,_),C!==null&&(m=i(C,m,k),S===null?x=C:S.sibling=C,S=C);return te&&or(y,k),x}for(E=n(y,E);!C.done;k++,C=p.next())C=g(E,y,k,C.value,_),C!==null&&(e&&C.alternate!==null&&E.delete(C.key===null?k:C.key),m=i(C,m,k),S===null?x=C:S.sibling=C,S=C);return e&&E.forEach(function(K){return t(y,K)}),te&&or(y,k),x}function b(y,m,p,_){if(typeof p=="object"&&p!==null&&p.type===Dr&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case vs:e:{for(var x=p.key,S=m;S!==null;){if(S.key===x){if(x=p.type,x===Dr){if(S.tag===7){r(y,S.sibling),m=s(S,p.props.children),m.return=y,y=m;break e}}else if(S.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===Dt&&ic(x)===S.type){r(y,S.sibling),m=s(S,p.props),m.ref=Sn(y,S,p),m.return=y,y=m;break e}r(y,S);break}else t(y,S);S=S.sibling}p.type===Dr?(m=wr(p.props.children,y.mode,_,p.key),m.return=y,y=m):(_=si(p.type,p.key,p.props,null,y.mode,_),_.ref=Sn(y,m,p),_.return=y,y=_)}return a(y);case $r:e:{for(S=p.key;m!==null;){if(m.key===S)if(m.tag===4&&m.stateNode.containerInfo===p.containerInfo&&m.stateNode.implementation===p.implementation){r(y,m.sibling),m=s(m,p.children||[]),m.return=y,y=m;break e}else{r(y,m);break}else t(y,m);m=m.sibling}m=Ba(p,y.mode,_),m.return=y,y=m}return a(y);case Dt:return S=p._init,b(y,m,S(p._payload),_)}if(Tn(p))return w(y,m,p,_);if(wn(p))return v(y,m,p,_);Ps(y,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,m!==null&&m.tag===6?(r(y,m.sibling),m=s(m,p),m.return=y,y=m):(r(y,m),m=Ma(p,y.mode,_),m.return=y,y=m),a(y)):r(y,m)}return b}var an=Sh(!0),Eh=Sh(!1),ki=tr(null),Si=null,Wr=null,Ul=null;function Ml(){Ul=Wr=Si=null}function Bl(e){var t=ki.current;Z(ki),e._currentValue=t}function Oo(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function Xr(e,t){Si=e,Ul=Wr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(De=!0),e.firstContext=null)}function Ze(e){var t=e._currentValue;if(Ul!==e)if(e={context:e,memoizedValue:t,next:null},Wr===null){if(Si===null)throw Error(N(308));Wr=e,Si.dependencies={lanes:0,firstContext:e}}else Wr=Wr.next=e;return t}var gr=null;function Fl(e){gr===null?gr=[e]:gr.push(e)}function jh(e,t,r,n){var s=t.interleaved;return s===null?(r.next=r,Fl(t)):(r.next=s.next,s.next=r),t.interleaved=r,Ct(e,n)}function Ct(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Lt=!1;function Vl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Nh(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Nt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Gt(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,F&2){var s=n.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),n.pending=t,Ct(e,r)}return s=n.interleaved,s===null?(t.next=t,Fl(n)):(t.next=s.next,s.next=t),n.interleaved=t,Ct(e,r)}function Xs(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Tl(e,r)}}function ac(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var s=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var a={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?s=i=a:i=i.next=a,r=r.next}while(r!==null);i===null?s=i=t:i=i.next=t}else s=i=t;r={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Ei(e,t,r,n){var s=e.updateQueue;Lt=!1;var i=s.firstBaseUpdate,a=s.lastBaseUpdate,o=s.shared.pending;if(o!==null){s.shared.pending=null;var l=o,c=l.next;l.next=null,a===null?i=c:a.next=c,a=l;var d=e.alternate;d!==null&&(d=d.updateQueue,o=d.lastBaseUpdate,o!==a&&(o===null?d.firstBaseUpdate=c:o.next=c,d.lastBaseUpdate=l))}if(i!==null){var h=s.baseState;a=0,d=c=l=null,o=i;do{var f=o.lane,g=o.eventTime;if((n&f)===f){d!==null&&(d=d.next={eventTime:g,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var w=e,v=o;switch(f=t,g=r,v.tag){case 1:if(w=v.payload,typeof w=="function"){h=w.call(g,h,f);break e}h=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=v.payload,f=typeof w=="function"?w.call(g,h,f):w,f==null)break e;h=ie({},h,f);break e;case 2:Lt=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,f=s.effects,f===null?s.effects=[o]:f.push(o))}else g={eventTime:g,lane:f,tag:o.tag,payload:o.payload,callback:o.callback,next:null},d===null?(c=d=g,l=h):d=d.next=g,a|=f;if(o=o.next,o===null){if(o=s.shared.pending,o===null)break;f=o,o=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(d===null&&(l=h),s.baseState=l,s.firstBaseUpdate=c,s.lastBaseUpdate=d,t=s.shared.interleaved,t!==null){s=t;do a|=s.lane,s=s.next;while(s!==t)}else i===null&&(s.shared.lanes=0);kr|=a,e.lanes=a,e.memoizedState=h}}function oc(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=$a.transition;$a.transition={};try{e(!1),t()}finally{H=r,$a.transition=n}}function Wh(){return et().memoizedState}function lm(e,t,r){var n=Qt(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},Hh(e))Kh(t,r);else if(r=jh(e,t,r,n),r!==null){var s=Pe();ht(r,e,n,s),qh(r,t,n)}}function um(e,t,r){var n=Qt(e),s={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(Hh(e))Kh(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,o=i(a,r);if(s.hasEagerState=!0,s.eagerState=o,ft(o,a)){var l=t.interleaved;l===null?(s.next=s,Fl(t)):(s.next=l.next,l.next=s),t.interleaved=s;return}}catch{}finally{}r=jh(e,t,s,n),r!==null&&(s=Pe(),ht(r,e,n,s),qh(r,t,n))}}function Hh(e){var t=e.alternate;return e===se||t!==null&&t===se}function Kh(e,t){zn=Ni=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function qh(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,Tl(e,r)}}var Ti={readContext:Ze,useCallback:xe,useContext:xe,useEffect:xe,useImperativeHandle:xe,useInsertionEffect:xe,useLayoutEffect:xe,useMemo:xe,useReducer:xe,useRef:xe,useState:xe,useDebugValue:xe,useDeferredValue:xe,useTransition:xe,useMutableSource:xe,useSyncExternalStore:xe,useId:xe,unstable_isNewReconciler:!1},cm={readContext:Ze,useCallback:function(e,t){return gt().memoizedState=[e,t===void 0?null:t],e},useContext:Ze,useEffect:uc,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ei(4194308,4,Uh.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ei(4194308,4,e,t)},useInsertionEffect:function(e,t){return ei(4,2,e,t)},useMemo:function(e,t){var r=gt();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=gt();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=lm.bind(null,se,e),[n.memoizedState,e]},useRef:function(e){var t=gt();return e={current:e},t.memoizedState=e},useState:lc,useDebugValue:Yl,useDeferredValue:function(e){return gt().memoizedState=e},useTransition:function(){var e=lc(!1),t=e[0];return e=om.bind(null,e[1]),gt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=se,s=gt();if(te){if(r===void 0)throw Error(N(407));r=r()}else{if(r=t(),ge===null)throw Error(N(349));xr&30||Ah(n,t,r)}s.memoizedState=r;var i={value:r,getSnapshot:t};return s.queue=i,uc(Rh.bind(null,n,i,e),[e]),n.flags|=2048,ss(9,Oh.bind(null,n,i,r,t),void 0,null),r},useId:function(){var e=gt(),t=ge.identifierPrefix;if(te){var r=jt,n=Et;r=(n&~(1<<32-dt(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=rs++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=a.createElement(r,{is:n.is}):(e=a.createElement(r),r==="select"&&(a=e,n.multiple?a.multiple=!0:n.size&&(a.size=n.size))):e=a.createElementNS(e,r),e[yt]=t,e[Zn]=n,nf(e,t,!1,!1),t.stateNode=e;e:{switch(a=po(r,n),r){case"dialog":X("cancel",e),X("close",e),s=n;break;case"iframe":case"object":case"embed":X("load",e),s=n;break;case"video":case"audio":for(s=0;sun&&(t.flags|=128,n=!0,En(i,!1),t.lanes=4194304)}else{if(!n)if(e=ji(a),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),En(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!te)return ke(t),null}else 2*oe()-i.renderingStartTime>un&&r!==1073741824&&(t.flags|=128,n=!0,En(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(r=i.last,r!==null?r.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=oe(),t.sibling=null,r=ne.current,Q(ne,n?r&1|2:r&1),t):(ke(t),null);case 22:case 23:return nu(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?Be&1073741824&&(ke(t),t.subtreeFlags&6&&(t.flags|=8192)):ke(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function vm(e,t){switch(Ll(t),t.tag){case 1:return ze(t.type)&&wi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return on(),Z(Le),Z(je),Kl(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Hl(t),null;case 13:if(Z(ne),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));sn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Z(ne),null;case 4:return on(),null;case 10:return Bl(t.type._context),null;case 22:case 23:return nu(),null;case 24:return null;default:return null}}var As=!1,Se=!1,wm=typeof WeakSet=="function"?WeakSet:Set,O=null;function Hr(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){ae(e,t,n)}else r.current=null}function Bo(e,t,r){try{r()}catch(n){ae(e,t,n)}}var bc=!1;function bm(e,t){if(So=gi,e=ch(),$l(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var s=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var a=0,o=-1,l=-1,c=0,d=0,h=e,f=null;t:for(;;){for(var g;h!==r||s!==0&&h.nodeType!==3||(o=a+s),h!==i||n!==0&&h.nodeType!==3||(l=a+n),h.nodeType===3&&(a+=h.nodeValue.length),(g=h.firstChild)!==null;)f=h,h=g;for(;;){if(h===e)break t;if(f===r&&++c===s&&(o=a),f===i&&++d===n&&(l=a),(g=h.nextSibling)!==null)break;h=f,f=h.parentNode}h=g}r=o===-1||l===-1?null:{start:o,end:l}}else r=null}r=r||{start:0,end:0}}else r=null;for(Eo={focusedElem:e,selectionRange:r},gi=!1,O=t;O!==null;)if(t=O,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,O=e;else for(;O!==null;){t=O;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var v=w.memoizedProps,b=w.memoizedState,y=t.stateNode,m=y.getSnapshotBeforeUpdate(t.elementType===t.type?v:it(t.type,v),b);y.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(_){ae(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,O=e;break}O=t.return}return w=bc,bc=!1,w}function Un(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var s=n=n.next;do{if((s.tag&e)===e){var i=s.destroy;s.destroy=void 0,i!==void 0&&Bo(t,r,i)}s=s.next}while(s!==n)}}function ta(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function Fo(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function of(e){var t=e.alternate;t!==null&&(e.alternate=null,of(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[yt],delete t[Zn],delete t[To],delete t[rm],delete t[nm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function lf(e){return e.tag===5||e.tag===3||e.tag===4}function _c(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||lf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vo(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=vi));else if(n!==4&&(e=e.child,e!==null))for(Vo(e,t,r),e=e.sibling;e!==null;)Vo(e,t,r),e=e.sibling}function Wo(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Wo(e,t,r),e=e.sibling;e!==null;)Wo(e,t,r),e=e.sibling}var ve=null,ot=!1;function $t(e,t,r){for(r=r.child;r!==null;)uf(e,t,r),r=r.sibling}function uf(e,t,r){if(vt&&typeof vt.onCommitFiberUnmount=="function")try{vt.onCommitFiberUnmount(qi,r)}catch{}switch(r.tag){case 5:Se||Hr(r,t);case 6:var n=ve,s=ot;ve=null,$t(e,t,r),ve=n,ot=s,ve!==null&&(ot?(e=ve,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):ve.removeChild(r.stateNode));break;case 18:ve!==null&&(ot?(e=ve,r=r.stateNode,e.nodeType===8?Oa(e.parentNode,r):e.nodeType===1&&Oa(e,r),Gn(e)):Oa(ve,r.stateNode));break;case 4:n=ve,s=ot,ve=r.stateNode.containerInfo,ot=!0,$t(e,t,r),ve=n,ot=s;break;case 0:case 11:case 14:case 15:if(!Se&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){s=n=n.next;do{var i=s,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&Bo(r,t,a),s=s.next}while(s!==n)}$t(e,t,r);break;case 1:if(!Se&&(Hr(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(o){ae(r,t,o)}$t(e,t,r);break;case 21:$t(e,t,r);break;case 22:r.mode&1?(Se=(n=Se)||r.memoizedState!==null,$t(e,t,r),Se=n):$t(e,t,r);break;default:$t(e,t,r)}}function xc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new wm),t.forEach(function(n){var s=Pm.bind(null,e,n);r.has(n)||(r.add(n),n.then(s,s))})}}function nt(e,t){var r=t.deletions;if(r!==null)for(var n=0;ns&&(s=a),n&=~i}if(n=s,n=oe()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*xm(n/1960))-n,10e?16:e,Vt===null)var n=!1;else{if(e=Vt,Vt=null,Ai=0,F&6)throw Error(N(331));var s=F;for(F|=4,O=e.current;O!==null;){var i=O,a=i.child;if(O.flags&16){var o=i.deletions;if(o!==null){for(var l=0;loe()-tu?vr(e,0):eu|=r),Ue(e,t)}function yf(e,t){t===0&&(e.mode&1?(t=xs,xs<<=1,!(xs&130023424)&&(xs=4194304)):t=1);var r=Pe();e=Ct(e,t),e!==null&&(cs(e,t,r),Ue(e,r))}function Tm(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),yf(e,r)}function Pm(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(N(314))}n!==null&&n.delete(t),yf(e,r)}var vf;vf=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Le.current)De=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return De=!1,mm(e,t,r);De=!!(e.flags&131072)}else De=!1,te&&t.flags&1048576&&_h(t,xi,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;ti(e,t),e=t.pendingProps;var s=nn(t,je.current);Xr(t,r),s=Gl(null,t,n,e,s,r);var i=Jl();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ze(n)?(i=!0,bi(t)):i=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Vl(t),s.updater=ea,t.stateNode=s,s._reactInternals=t,Io(t,n,e,r),t=Lo(null,t,n,!0,i,r)):(t.tag=0,te&&i&&Dl(t),Te(null,t,s,r),t=t.child),t;case 16:n=t.elementType;e:{switch(ti(e,t),e=t.pendingProps,s=n._init,n=s(n._payload),t.type=n,s=t.tag=Am(n),e=it(n,e),s){case 0:t=Do(null,t,n,e,r);break e;case 1:t=yc(null,t,n,e,r);break e;case 11:t=gc(null,t,n,e,r);break e;case 14:t=mc(null,t,n,it(n.type,e),r);break e}throw Error(N(306,n,""))}return t;case 0:return n=t.type,s=t.pendingProps,s=t.elementType===n?s:it(n,s),Do(e,t,n,s,r);case 1:return n=t.type,s=t.pendingProps,s=t.elementType===n?s:it(n,s),yc(e,t,n,s,r);case 3:e:{if(ef(t),e===null)throw Error(N(387));n=t.pendingProps,i=t.memoizedState,s=i.element,Nh(e,t),Ei(t,n,null,r);var a=t.memoizedState;if(n=a.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){s=ln(Error(N(423)),t),t=vc(e,t,n,r,s);break e}else if(n!==s){s=ln(Error(N(424)),t),t=vc(e,t,n,r,s);break e}else for(Ve=qt(t.stateNode.containerInfo.firstChild),We=t,te=!0,ut=null,r=Eh(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(sn(),n===s){t=At(e,t,r);break e}Te(e,t,n,r)}t=t.child}return t;case 5:return Th(t),e===null&&Ao(t),n=t.type,s=t.pendingProps,i=e!==null?e.memoizedProps:null,a=s.children,jo(n,s)?a=null:i!==null&&jo(n,i)&&(t.flags|=32),Zh(e,t),Te(e,t,a,r),t.child;case 6:return e===null&&Ao(t),null;case 13:return tf(e,t,r);case 4:return Wl(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=an(t,null,n,r):Te(e,t,n,r),t.child;case 11:return n=t.type,s=t.pendingProps,s=t.elementType===n?s:it(n,s),gc(e,t,n,s,r);case 7:return Te(e,t,t.pendingProps,r),t.child;case 8:return Te(e,t,t.pendingProps.children,r),t.child;case 12:return Te(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,s=t.pendingProps,i=t.memoizedProps,a=s.value,Q(ki,n._currentValue),n._currentValue=a,i!==null)if(ft(i.value,a)){if(i.children===s.children&&!Le.current){t=At(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){a=i.child;for(var l=o.firstContext;l!==null;){if(l.context===n){if(i.tag===1){l=Nt(-1,r&-r),l.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?l.next=l:(l.next=d.next,d.next=l),c.pending=l}}i.lanes|=r,l=i.alternate,l!==null&&(l.lanes|=r),Oo(i.return,r,t),o.lanes|=r;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(N(341));a.lanes|=r,o=a.alternate,o!==null&&(o.lanes|=r),Oo(a,r,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}Te(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,n=t.pendingProps.children,Xr(t,r),s=Ze(s),n=n(s),t.flags|=1,Te(e,t,n,r),t.child;case 14:return n=t.type,s=it(n,t.pendingProps),s=it(n.type,s),mc(e,t,n,s,r);case 15:return Yh(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,s=t.pendingProps,s=t.elementType===n?s:it(n,s),ti(e,t),t.tag=1,ze(n)?(e=!0,bi(t)):e=!1,Xr(t,r),Gh(t,n,s),Io(t,n,s,r),Lo(null,t,n,!0,e,r);case 19:return rf(e,t,r);case 22:return Xh(e,t,r)}throw Error(N(156,t.tag))};function wf(e,t){return Hd(e,t)}function Cm(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ye(e,t,r,n){return new Cm(e,t,r,n)}function iu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Am(e){if(typeof e=="function")return iu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Sl)return 11;if(e===El)return 14}return 2}function Yt(e,t){var r=e.alternate;return r===null?(r=Ye(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function si(e,t,r,n,s,i){var a=2;if(n=e,typeof e=="function")iu(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case Dr:return wr(r.children,s,i,t);case kl:a=8,s|=8;break;case no:return e=Ye(12,r,t,s|2),e.elementType=no,e.lanes=i,e;case so:return e=Ye(13,r,t,s),e.elementType=so,e.lanes=i,e;case io:return e=Ye(19,r,t,s),e.elementType=io,e.lanes=i,e;case Td:return na(r,s,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case jd:a=10;break e;case Nd:a=9;break e;case Sl:a=11;break e;case El:a=14;break e;case Dt:a=16,n=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=Ye(a,r,t,s),t.elementType=e,t.type=n,t.lanes=i,t}function wr(e,t,r,n){return e=Ye(7,e,n,t),e.lanes=r,e}function na(e,t,r,n){return e=Ye(22,e,n,t),e.elementType=Td,e.lanes=r,e.stateNode={isHidden:!1},e}function Ma(e,t,r){return e=Ye(6,e,null,t),e.lanes=r,e}function Ba(e,t,r){return t=Ye(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Om(e,t,r,n,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_a(0),this.expirationTimes=_a(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_a(0),this.identifierPrefix=n,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function au(e,t,r,n,s,i,a,o,l){return e=new Om(e,t,r,o,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ye(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vl(i),e}function Rm(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kf)}catch(e){console.error(e)}}kf(),xd.exports=Ke;var zm=xd.exports,Cc=zm;to.createRoot=Cc.createRoot,to.hydrateRoot=Cc.hydrateRoot;var Um={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Mm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Bm=(e,t)=>{const r=P.forwardRef(({color:n="currentColor",size:s=24,strokeWidth:i=2,absoluteStrokeWidth:a,children:o,...l},c)=>P.createElement("svg",{ref:c,...Um,width:s,height:s,stroke:n,strokeWidth:a?Number(i)*24/Number(s):i,className:`lucide lucide-${Mm(e)}`,...l},[...t.map(([d,h])=>P.createElement(d,h)),...(Array.isArray(o)?o:[o])||[]]));return r.displayName=`${e}`,r};var V=Bm;const Sf=V("Activity",[["path",{d:"M22 12h-4l-3 9L9 3l-3 9H2",key:"d5dnw9"}]]),Fm=V("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Vm=V("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),Ii=V("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),Wm=V("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]),Hm=V("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),Km=V("Brain",[["path",{d:"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z",key:"1mhkh5"}],["path",{d:"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z",key:"1d6s00"}]]),Ac=V("Calendar",[["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",ry:"2",key:"eu3xkr"}],["line",{x1:"16",x2:"16",y1:"2",y2:"6",key:"m3sa8f"}],["line",{x1:"8",x2:"8",y1:"2",y2:"6",key:"18kwsl"}],["line",{x1:"3",x2:"21",y1:"10",y2:"10",key:"xt86sb"}]]),Jo=V("CheckCircle2",[["path",{d:"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z",key:"14v8dr"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),qm=V("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),Gm=V("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),Jm=V("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),Qm=V("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),Ym=V("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),Ef=V("FileDown",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"M12 18v-6",key:"17g6i2"}],["path",{d:"m9 15 3 3 3-3",key:"1npd3o"}]]),Xm=V("FileText",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]]),Zm=V("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),ey=V("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]),ty=V("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),ry=V("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ny=V("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]),sy=V("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),jf=V("ShieldCheck",[["path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",key:"3xmgem"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),iy=V("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]),Nf=V("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]),ay=V("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),Tf=V("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),oy=V("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),Pf=V("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]),ly=V("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),uy=V("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]),cy=["M","D","M","D","F","S","S"],Qo=e=>{const t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${n}`},dy=e=>{if(!e||!e.includes("-"))return null;const[t,r,n]=e.split("-").map(Number);return new Date(t,r-1,n)},hy=e=>{const t=new Date(e.getFullYear(),e.getMonth(),1),r=(t.getDay()+6)%7,n=new Date(t.getFullYear(),t.getMonth(),1-r);return Array.from({length:42},(s,i)=>{const a=new Date(n.getFullYear(),n.getMonth(),n.getDate()+i);return{key:Qo(a),date:a,isoValue:Qo(a),isCurrentMonth:a.getMonth()===e.getMonth()}})},fy=({patTypes:e,assessments:t,overview:r,assessmentShareTokens:n={},onCreate:s,onEdit:i,onDelete:a,getPatTypeColor:o,getAchievement:l})=>{const c=P.useRef(null),[d,h]=P.useState(!1),[f,g]=P.useState(null),[w,v]=P.useState({key:"datum",direction:"desc"}),[b,y]=P.useState({name:"",datum:""}),[m,p]=P.useState(()=>{const j=new Date;return new Date(j.getFullYear(),j.getMonth(),1)}),_=Object.keys(e||{}),x=t.filter(j=>!j.isFinalized),S=t.filter(j=>j.isFinalized),E=j=>j.exercises.reduce((M,U)=>M+(U.points||0),0),k=j=>String(j||"").toLowerCase().trim(),T=j=>{if(!j||!j.includes("-"))return"";const[M,U,fe]=j.split("-");return`${fe}.${U}.${M}`},C=j=>{if(!j||!j.includes("-"))return j||"";const[M,U,fe]=j.split("-");return`${M}.${U}.${fe}`},z=P.useMemo(()=>new Intl.DateTimeFormat("de-DE",{month:"long",year:"numeric"}).format(m),[m]),K=P.useMemo(()=>hy(m),[m]);P.useEffect(()=>{if(!f)return;const j=U=>{c.current&&!c.current.contains(U.target)&&g(null)},M=U=>{U.key==="Escape"&&g(null)};return document.addEventListener("mousedown",j),document.addEventListener("keydown",M),()=>{document.removeEventListener("mousedown",j),document.removeEventListener("keydown",M)}},[f]);const Y=j=>{const M=!b.name||k(j.name).includes(k(b.name)),U=!b.datum||k(j.datum).includes(k(b.datum));return M&&U},Ne=(j,M)=>M==="name"?(j.name||"").toLowerCase():M==="datum"?j.datum||"":M==="result"?E(j):"",It=j=>[...j].sort((M,U)=>{const fe=Ne(M,w.key),Ge=Ne(U,w.key);return feGe?w.direction==="asc"?1:-1:0}),Oe=P.useMemo(()=>It(x.filter(Y)),[x,w,b]),bt=P.useMemo(()=>It(S.filter(Y)),[S,w,b]),A=j=>{v(M=>M.key===j?{key:j,direction:M.direction==="asc"?"desc":"asc"}:{key:j,direction:j==="datum"?"desc":"asc"})},$=j=>w.key!==j?u.jsx(Wm,{className:"w-4 h-4 text-gray-400 dark:text-gray-500","aria-hidden":"true"}):w.direction==="asc"?u.jsx(Qm,{className:"w-4 h-4","aria-hidden":"true"}):u.jsx(qm,{className:"w-4 h-4","aria-hidden":"true"}),L=(j,M)=>{y(U=>({...U,[j]:M}))},q=j=>{const U=dy(j)||new Date;p(new Date(U.getFullYear(),U.getMonth(),1))},re=j=>{g(M=>M!==j?(q(b.datum),j):null)},_t=j=>{L("datum",j),q(j),g(null)},tt=()=>{L("datum",""),q(""),g(null)},sr=()=>{_t(Qo(new Date))},Me=(j,M,U,fe,Ge)=>{const rt=f===j;return u.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg border border-gray-100 dark:border-gray-800 overflow-hidden",children:[u.jsxs("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-800/70",children:[u.jsx("h2",{className:"text-lg font-bold text-gray-800 dark:text-gray-100",children:M}),u.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:["Anzahl: ",U.length,U.length!==fe?` von ${fe}`:""]})]}),fe===0?u.jsx("div",{className:"px-6 py-8 text-sm text-gray-500 dark:text-gray-400",children:Ge}):u.jsx("div",{className:"overflow-x-auto",children:u.jsxs("table",{className:"w-full",children:[u.jsx("thead",{className:"bg-gray-100 dark:bg-gray-800 text-left",children:u.jsxs("tr",{children:[u.jsx("th",{className:"px-6 py-3 text-sm font-semibold text-gray-700 dark:text-gray-200",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsxs("button",{type:"button",onClick:()=>A("name"),className:"inline-flex items-center gap-2 hover:text-gray-900 dark:hover:text-white transition",children:["Name",$("name")]}),u.jsx("input",{type:"text",value:b.name,onChange:G=>L("name",G.target.value),"aria-label":"Nach Name filtern",className:"w-40 rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-950 px-3 py-2 text-sm font-normal text-gray-700 dark:text-gray-200"})]})}),u.jsx("th",{className:"px-6 py-3 text-sm font-semibold text-gray-700 dark:text-gray-200",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsxs("button",{type:"button",onClick:()=>A("datum"),className:"inline-flex items-center gap-2 hover:text-gray-900 dark:hover:text-white transition",children:["Datum",$("datum")]}),u.jsxs("div",{ref:rt?c:null,className:"relative",children:[u.jsxs("button",{type:"button",onClick:()=>re(j),"aria-label":"Nach Datum filtern","aria-expanded":rt,className:"flex w-36 items-center justify-between rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-950 px-3 py-2 text-left text-sm font-normal text-gray-700 dark:text-gray-200",children:[u.jsx("span",{children:T(b.datum)||"tt.mm.jjjj"}),u.jsx(Ac,{className:"h-4 w-4 text-gray-500 dark:text-gray-400","aria-hidden":"true"})]}),rt&&u.jsxs("div",{className:"absolute left-0 top-full z-20 mt-2 w-80 rounded-xl border border-gray-200 bg-white p-3 shadow-2xl dark:border-gray-700 dark:bg-gray-900",children:[u.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[u.jsx("button",{type:"button",onClick:()=>p(G=>new Date(G.getFullYear(),G.getMonth()-1,1)),className:"rounded-lg p-2 text-gray-500 transition hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-white","aria-label":"Vorheriger Monat",children:u.jsx(Gm,{className:"h-4 w-4","aria-hidden":"true"})}),u.jsx("span",{className:"text-sm font-semibold capitalize text-gray-800 dark:text-gray-100",children:z}),u.jsx("button",{type:"button",onClick:()=>p(G=>new Date(G.getFullYear(),G.getMonth()+1,1)),className:"rounded-lg p-2 text-gray-500 transition hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-white","aria-label":"Nächster Monat",children:u.jsx(Jm,{className:"h-4 w-4","aria-hidden":"true"})})]}),u.jsx("div",{className:"grid grid-cols-7 gap-1 text-center text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400",children:cy.map((G,ms)=>u.jsx("span",{children:G},`${G}-${ms}`))}),u.jsx("div",{className:"mt-2 grid grid-cols-7 gap-1",children:K.map(G=>{const ms=G.isoValue===b.datum;return u.jsx("button",{type:"button",onClick:()=>_t(G.isoValue),className:`flex h-10 items-center justify-center rounded-lg text-sm transition ${ms?"bg-indigo-600 text-white":G.isCurrentMonth?"text-gray-800 hover:bg-gray-100 dark:text-gray-100 dark:hover:bg-gray-800":"text-gray-400 hover:bg-gray-100 dark:text-gray-600 dark:hover:bg-gray-800"}`,children:G.date.getDate()},G.key)})}),u.jsxs("div",{className:"mt-3 flex items-center justify-between border-t border-gray-200 pt-3 dark:border-gray-700",children:[u.jsx("button",{type:"button",onClick:sr,className:"rounded-lg bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",children:"Heute"}),u.jsx("button",{type:"button",onClick:tt,className:"rounded-lg bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",children:"Löschen"})]})]})]})]})}),u.jsx("th",{className:"px-6 py-3 text-sm font-semibold text-gray-700 dark:text-gray-200",children:u.jsx("div",{className:"flex items-center gap-3",children:u.jsxs("button",{type:"button",onClick:()=>A("result"),className:"inline-flex items-center gap-2 hover:text-gray-900 dark:hover:text-white transition",children:["Ergebnis",$("result")]})})}),u.jsx("th",{className:"px-6 py-3 text-sm font-semibold text-gray-700 dark:text-gray-200 text-right"})]})}),u.jsx("tbody",{children:U.length===0?u.jsx("tr",{className:"border-t border-gray-200 dark:border-gray-800",children:u.jsx("td",{colSpan:"4",className:"px-6 py-8 text-sm text-gray-500 dark:text-gray-400",children:Ge})}):U.map(G=>{const ug=!!n[G.id],_u=E(G),ga=l(G.patType,_u);return u.jsxs("tr",{className:"border-t border-gray-200 dark:border-gray-800 hover:bg-gray-50 dark:hover:bg-gray-800/40",children:[u.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:u.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[u.jsx("span",{className:"font-semibold text-gray-900 dark:text-gray-100",children:G.name}),u.jsx("span",{className:`px-3 py-1 rounded-full text-xs font-semibold ${o(G.patType)}`,children:G.patType}),ug&&u.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-sky-100 text-sky-800 dark:bg-sky-900/40 dark:text-sky-200",children:"Freigabe aktiv"}),G.isFinalized&&u.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-semibold bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-200",children:"Final abgeschlossen"})]})}),u.jsx("td",{className:"px-6 py-4 text-sm text-gray-600 dark:text-gray-300 whitespace-nowrap",children:u.jsxs("div",{className:"inline-flex items-center gap-2",children:[u.jsx(Ac,{className:"w-4 h-4","aria-hidden":"true"}),C(G.datum)]})}),u.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx("span",{className:"text-xl font-bold text-green-600 dark:text-green-300",children:_u.toFixed(0)}),u.jsx("span",{className:`inline-flex px-2 py-1 rounded text-xs font-semibold ${ga.color} ${ga.text}`,children:ga.name})]})}),u.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:u.jsxs("div",{className:"flex items-center justify-end gap-2",children:[u.jsx("button",{onClick:()=>i(G),className:"bg-indigo-600 text-white px-4 py-2 rounded hover:bg-indigo-700 transition text-sm",children:"Öffnen"}),u.jsx("button",{onClick:cg=>{cg.stopPropagation(),a(G.id)},className:"text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300 p-2",title:"Löschen",children:u.jsx(oy,{className:"w-5 h-5","aria-hidden":"true"})})]})})]},G.id)})})]})})]})};return u.jsx("div",{className:"min-h-screen bg-gradient-to-br from-green-50 to-blue-100 dark:from-gray-950 dark:to-gray-900 p-6 text-gray-900 dark:text-gray-100",children:u.jsxs("div",{className:"max-w-7xl mx-auto",children:[u.jsx("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg p-6 mb-6 border border-gray-100 dark:border-gray-800",children:u.jsxs("div",{className:"flex items-center justify-between mb-6",children:[u.jsx("h1",{className:"text-3xl font-bold text-gray-800 dark:text-gray-100",children:"PAT Test Manager"}),u.jsxs("div",{className:"relative",children:[u.jsxs("button",{onClick:()=>h(j=>!j),className:"bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition flex items-center justify-center gap-2",children:[u.jsx(ry,{className:"w-4 h-4"}),"Neue Bewertung"]}),d&&u.jsx("div",{className:"absolute right-0 top-full mt-2 w-48 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 shadow-lg z-10 overflow-hidden",children:_.map(j=>u.jsx("button",{type:"button",onClick:()=>{h(!1),s(j)},className:"w-full px-4 py-3 text-left text-sm font-medium text-gray-800 dark:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-800 transition",children:j},j))})]})]})}),r&&u.jsx("div",{className:"mt-6",children:r}),t.length>0&&u.jsxs("div",{className:"space-y-6",children:[Me("open","Noch offene Bewertungen",Oe,x.length,"Keine offenen Bewertungen mit den aktuellen Suchfiltern gefunden"),Me("finalized","Abgeschlossene Bewertungen",bt,S.length,"Keine abgeschlossenen Bewertungen mit den aktuellen Suchfiltern gefunden")]}),t.length===0&&u.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg p-12 text-center border border-gray-100 dark:border-gray-800",children:[u.jsx(ly,{className:"w-16 h-16 mx-auto mb-4 text-gray-300 dark:text-gray-700","aria-hidden":"true"}),u.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-4",children:"Noch keine Bewertungen vorhanden"}),u.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Lege oben eine neue Bewertung an und wähle dabei PAT Start, PAT 1, PAT 2 oder PAT 3"})]})]})})},py=e=>String(e||"").replace(/\D/g,""),gy=(e,t=null)=>{var r;return t&&((r=e==null?void 0:e.subValueRanges)!=null&&r[t])?e.subValueRanges[t]:{minValue:e==null?void 0:e.minValue,maxValue:e==null?void 0:e.maxValue}},Cf=(e,t,r=null)=>{const n=py(t);if(!n)return"";const s=Number.parseInt(n,10),i=gy(e,r),a=Number.isFinite(i==null?void 0:i.minValue)?i.minValue:0,o=Number.isFinite(i==null?void 0:i.maxValue)?i.maxValue:null,l=o===null?Math.max(s,a):Math.min(Math.max(s,a),o);return String(l)},Fa=e=>`px-3 py-2 border border-gray-300 dark:border-gray-700 rounded text-center bg-white dark:bg-gray-900 ${e?"opacity-70 cursor-not-allowed bg-gray-100 dark:bg-gray-800":""}`,my=({exercise:e,exIndex:t,onChange:r,disabled:n=!1})=>{const s=(a,o=null)=>l=>{r(t,a,Cf(e,l.target.value,o),o)};if(e.subA&&e.subB){const[a="a)",o="b)"]=e.subLabels||[];return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"grid grid-cols-5 gap-2 mb-2",children:[u.jsx("div",{}),u.jsx("div",{className:"font-semibold",children:a}),e.subA.map((l,c)=>u.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",autoComplete:"off",value:l,onChange:s(c,"a"),disabled:n,className:Fa(n)},`a-${c}`))]}),u.jsxs("div",{className:"grid grid-cols-5 gap-2 mb-2",children:[u.jsx("div",{}),u.jsx("div",{className:"font-semibold",children:o}),e.subB.map((l,c)=>u.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",autoComplete:"off",value:l,onChange:s(c,"b"),disabled:n,className:Fa(n)},`b-${c}`))]})]})}const i=e.values.length===4?"grid-cols-6":e.values.length===5?"grid-cols-7":"grid-cols-5";return u.jsxs("div",{className:`grid ${i} gap-2 mb-2`,children:[u.jsx("div",{}),u.jsx("div",{}),e.values.map((a,o)=>u.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",autoComplete:"off",value:a,onChange:s(o),disabled:n,className:Fa(n)},o))]})},yy=({show:e,onSave:t,onDiscard:r,onCancel:n})=>e?u.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:u.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-xl p-6 max-w-md w-full mx-4 border border-gray-200 dark:border-gray-800",children:[u.jsx("h3",{className:"text-xl font-bold text-gray-800 dark:text-gray-100 mb-4",children:"Ungespeicherte Änderungen"}),u.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-6",children:"Sie haben ungespeicherte Änderungen. Möchten Sie diese speichern?"}),u.jsxs("div",{className:"flex gap-3",children:[u.jsx("button",{onClick:t,className:"flex-1 bg-green-600 text-white px-4 py-3 rounded-lg hover:bg-green-700 transition font-semibold",children:"Ja, speichern"}),u.jsx("button",{onClick:r,className:"flex-1 bg-red-600 text-white px-4 py-3 rounded-lg hover:bg-red-700 transition font-semibold",children:"Nein, verwerfen"}),u.jsx("button",{onClick:n,className:"flex-1 bg-gray-500 dark:bg-gray-700 text-white px-4 py-3 rounded-lg hover:bg-gray-600 dark:hover:bg-gray-600 transition font-semibold",children:"Abbrechen"})]})]})}):null,vy="modulepreload",wy=function(e){return"/"+e},Oc={},Rc=function(t,r,n){let s=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(r.map(l=>{if(l=wy(l),l in Oc)return;Oc[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":vy,c||(h.as="script"),h.crossOrigin="",h.href=l,o&&h.setAttribute("nonce",o),document.head.appendChild(h),c)return new Promise((f,g)=>{h.addEventListener("load",f),h.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return s.then(a=>{for(const o of a||[])o.status==="rejected"&&i(o.reason);return t().catch(i)})},we=14,by=12,ii=22,ct=210-we*2,_y=we+10,Va=10.5,Ic=3,Af=e=>{if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(t)},Wa=e=>(e||"pat-test").toLowerCase().replace(/[^a-z0-9-_]+/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),Fn=e=>e===""||e===null||typeof e>"u"?"—":String(e),Ha=(e,t=26)=>{const r=String(e||"—");return r.length>t?`${r.slice(0,t-1)}…`:r},$c="Versuch",xy=e=>18+(!!(e.subA&&e.subB)?30:21)+21,ky=e=>{var i;if(e.subA&&e.subB){const a=Math.max(e.subA.length,e.subB.length),o=[$c,...Array.from({length:a},(d,h)=>`${h+1}`)],l=32,c=(ct-l)/a;return{head:[o],body:[["a.)",...Array.from({length:a},(d,h)=>Fn(e.subA[h]))],["b.)",...Array.from({length:a},(d,h)=>Fn(e.subB[h]))]],columnStyles:{0:{cellWidth:l,halign:"center"},...Object.fromEntries(Array.from({length:a},(d,h)=>[h+1,{cellWidth:c,halign:"center"}]))}}}const t=((i=e.values)==null?void 0:i.length)||0,r=[$c,...Array.from({length:t},(a,o)=>`${o+1}`)],n=32,s=t>0?(ct-n)/t:ct-n;return{head:[r],body:[["Ist",...(e.values||[]).map(Fn)]],columnStyles:{0:{cellWidth:n,halign:"center"},...Object.fromEntries(Array.from({length:t},(a,o)=>[o+1,{cellWidth:s,halign:"center"}]))}}},Sy=e=>({head:[["Soll","Durchschnitt ist","Faktor","Punkte"]],body:[[Fn(e.soll),(e.durchschnitt||0).toFixed(2),Fn(e.faktor),(e.points||0).toFixed(0)]],columnStyles:{0:{cellWidth:ct/4,halign:"center"},1:{cellWidth:ct/4,halign:"center"},2:{cellWidth:ct/4,halign:"center"},3:{cellWidth:ct/4,halign:"center"}}}),Ey=({assessment:e,totalPoints:t,achievement:r})=>({head:[["Name","PAT Typ","Datum","Gesamtpunkte","Bewertung"]],body:[[e.name||"—",e.patType||"—",Af(e.datum),String(Math.round(t||0)),(r==null?void 0:r.name)||"—"]],columnStyles:{0:{cellWidth:42},1:{cellWidth:28},2:{cellWidth:34},3:{cellWidth:34,halign:"center"},4:{cellWidth:44}}}),jy=({assessment:e,achievement:t,pageNumber:r,pageCount:n})=>[`Name: ${Ha(e==null?void 0:e.name,20)}`,`PAT Typ: ${Ha(e==null?void 0:e.patType,14)}`,`Datum: ${Af(e==null?void 0:e.datum)}`,`Bewertung: ${Ha(t==null?void 0:t.name,18)}`,`Seite ${r}/${n}`],Ny=(e,t,r)=>{const n=e.internal.pageSize.getHeight();return t+r<=n-ii?t:(e.addPage(),_y)},Ty=(e,{assessment:t,achievement:r})=>{const n=e.getNumberOfPages(),s=e.internal.pageSize.getHeight(),i=e.internal.pageSize.getWidth(),a=s-8,o=[we,we+47,we+88,we+130,i-we];for(let l=1;l<=n;l+=1){const[c,d,h,f,g]=jy({assessment:t,achievement:r,pageNumber:l,pageCount:n});e.setPage(l),e.setDrawColor(226,232,240),e.setLineWidth(.3),e.line(we,a-4,i-we,a-4),e.setFont("helvetica","normal"),e.setFontSize(8.5),e.setTextColor(100,116,139),e.text(c,o[0],a),e.text(d,o[1],a),e.text(h,o[2],a),e.text(f,o[3],a),e.text(g,o[4],a,{align:"right"})}},Py=async({assessment:e,totalPoints:t,achievement:r})=>{if(!e)return;const[{jsPDF:n},{default:s}]=await Promise.all([Rc(()=>import("./jspdf.es.min-CzU92G48.js").then(o=>o.j),[]),Rc(()=>import("./jspdf.plugin.autotable-CyVc7Jkq.js"),[])]),i=new n({unit:"mm",format:"a4"});i.setFillColor(16,185,129),i.roundedRect(we,by,ct,18,4,4,"F"),i.setFont("helvetica","bold"),i.setFontSize(20),i.setTextColor(255,255,255),i.text("PAT Test Details",20,24),s(i,{startY:38,margin:{left:we,right:we,bottom:ii},theme:"grid",styles:{font:"helvetica",fontSize:Va,cellPadding:4,textColor:[31,41,55],lineColor:[226,232,240],lineWidth:.3},headStyles:{fillColor:[241,245,249],textColor:[71,85,105],fontStyle:"bold"},bodyStyles:{fillColor:[255,255,255]},tableWidth:ct,...Ey({assessment:e,totalPoints:t,achievement:r})}),(e.exercises||[]).forEach((o,l)=>{var d,h;const c=Ny(i,(((d=i.lastAutoTable)==null?void 0:d.finalY)||38)+8,xy(o));i.setFont("helvetica","bold"),i.setFontSize(14),i.setTextColor(17,24,39),i.text(o.name||`Übung ${l+1}`,we,c),s(i,{startY:c+4,margin:{left:we,right:we,bottom:ii},theme:"grid",styles:{font:"helvetica",fontSize:Va,cellPadding:Ic,halign:"center",textColor:[31,41,55],lineColor:[226,232,240],lineWidth:.3},headStyles:{fillColor:[239,246,255],textColor:[30,64,175],fontStyle:"bold",halign:"center"},bodyStyles:{fillColor:[255,255,255],halign:"center"},tableWidth:ct,pageBreak:"avoid",rowPageBreak:"avoid",...ky(o)}),s(i,{startY:(((h=i.lastAutoTable)==null?void 0:h.finalY)||c+4)+3,margin:{left:we,right:we,bottom:ii},theme:"grid",styles:{font:"helvetica",fontSize:Va,cellPadding:Ic,textColor:[31,41,55],lineColor:[226,232,240],lineWidth:.3},headStyles:{fillColor:[236,253,245],textColor:[6,95,70],fontStyle:"bold"},bodyStyles:{fillColor:[255,255,255],halign:"center"},didParseCell:({section:f,column:g,cell:w})=>{f==="body"&&g.index===3&&(w.styles.fillColor=[241,245,249])},tableWidth:ct,pageBreak:"avoid",rowPageBreak:"avoid",...Sy(o)})});const a=[Wa(e.name),Wa(e.patType),Wa(e.datum)].filter(Boolean).join("_");Ty(i,{assessment:e,achievement:r}),i.save(`${a||"pat-test"}.pdf`)},Cy=({currentAssessment:e,hasUnsavedChanges:t,onBack:r,onSave:n,onAssessmentChange:s,onUpdateExercise:i,onMarkDirty:a,showSaveDialog:o,onSaveAndExit:l,onDiscardAndExit:c,onCancelExit:d,getPatTypeColor:h,getAchievement:f,calculateTotal:g,isReadOnly:w=!1,canFinalize:v=!1,finalizeDisabledReason:b="",onFinalize:y,isShareActive:m=!1,canShare:p=!1,shareDisabledReason:_="",onShare:x,onRevokeShare:S})=>{if(!e)return null;const E=g(),k=f(e==null?void 0:e.patType,E),T=async()=>{await Py({assessment:e,totalPoints:E,achievement:k})};return u.jsx("div",{className:"min-h-screen bg-gray-100 dark:bg-gray-950 p-6 text-gray-900 dark:text-gray-100",children:u.jsxs("div",{className:"max-w-5xl mx-auto",children:[u.jsx(yy,{show:o,onSave:l,onDiscard:c,onCancel:d}),u.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg p-6 border border-gray-200 dark:border-gray-800",children:[u.jsxs("div",{className:"flex justify-between items-center mb-6",children:[u.jsxs("div",{className:"flex items-center gap-4",children:[u.jsx("button",{onClick:r,className:"text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-gray-100 font-medium",children:"← Zurück zur Übersicht"}),t&&u.jsx("span",{className:"text-orange-500 dark:text-orange-300 text-sm font-semibold",children:"● Ungespeicherte Änderungen"}),u.jsx("span",{className:`px-4 py-2 rounded-full text-sm font-semibold ${h(e==null?void 0:e.patType)}`,children:e==null?void 0:e.patType}),m&&u.jsx("span",{className:"px-4 py-2 rounded-full text-sm font-semibold bg-sky-100 text-sky-800 dark:bg-sky-900/40 dark:text-sky-200",children:"Freigabe aktiv"}),(e==null?void 0:e.isFinalized)&&u.jsx("span",{className:"px-4 py-2 rounded-full text-sm font-semibold bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-200",children:"Final abgeschlossen"})]}),u.jsxs("div",{className:"flex gap-2",children:[!w&&u.jsxs(u.Fragment,{children:[u.jsxs("button",{onClick:n,className:"bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition flex items-center gap-2 text-sm",children:[u.jsx(ny,{className:"w-4 h-4","aria-hidden":"true"}),"Speichern"]}),u.jsxs("button",{onClick:y,disabled:!v,title:b||"Test final abschließen",className:`px-4 py-2 rounded-lg transition flex items-center gap-2 text-sm ${v?"bg-emerald-700 text-white hover:bg-emerald-800":"bg-gray-300 dark:bg-gray-700 text-gray-500 dark:text-gray-400 cursor-not-allowed"}`,children:[u.jsx(Jo,{className:"w-4 h-4","aria-hidden":"true"}),"Final Abschließen"]})]}),u.jsxs("button",{onClick:T,className:"bg-amber-600 text-white px-4 py-2 rounded-lg hover:bg-amber-700 transition flex items-center gap-2 text-sm",children:[u.jsx(Ef,{className:"w-4 h-4","aria-hidden":"true"}),"PDF"]}),u.jsxs("button",{onClick:x,disabled:!p,title:_||"Test als Link teilen",className:`px-4 py-2 rounded-lg transition flex items-center gap-2 text-sm ${p?"bg-sky-600 text-white hover:bg-sky-700":"bg-gray-300 dark:bg-gray-700 text-gray-500 dark:text-gray-400 cursor-not-allowed"}`,children:[u.jsx(sy,{className:"w-4 h-4","aria-hidden":"true"}),"Teilen"]}),m&&u.jsx("button",{onClick:S,className:"border border-rose-300 text-rose-700 dark:border-rose-700 dark:text-rose-300 px-4 py-2 rounded-lg hover:bg-rose-50 dark:hover:bg-rose-950/40 transition text-sm",children:"Freigabe aufheben"})]})]}),w&&u.jsxs("div",{className:"mb-6 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3 text-emerald-800 dark:border-emerald-900/60 dark:bg-emerald-950/40 dark:text-emerald-200",children:[u.jsxs("div",{className:"flex items-center gap-2 font-semibold",children:[u.jsx(Zm,{className:"h-4 w-4","aria-hidden":"true"}),"Nur Lese-Modus"]}),u.jsx("p",{className:"mt-1 text-sm",children:"Diese Bewertung wurde final abgeschlossen und kann nicht mehr bearbeitet werden."})]}),u.jsxs("div",{className:"grid grid-cols-4 gap-2 mb-6 bg-gray-50 dark:bg-gray-800 p-4 rounded",children:[u.jsx("div",{className:"font-bold",children:"Datum / Name"}),u.jsx("div",{}),u.jsx("input",{type:"date",value:(e==null?void 0:e.datum)||"",disabled:w,onChange:C=>{s({...e,datum:C.target.value}),a()},className:`px-3 py-2 border border-gray-300 dark:border-gray-700 rounded bg-white dark:bg-gray-900 ${w?"opacity-70 cursor-not-allowed bg-gray-100 dark:bg-gray-800":""}`}),u.jsx("input",{type:"text",value:(e==null?void 0:e.name)||"",disabled:w,onChange:C=>{s({...e,name:C.target.value}),a()},placeholder:"Name",className:`px-3 py-2 border border-gray-300 dark:border-gray-700 rounded bg-white dark:bg-gray-900 ${w?"opacity-70 cursor-not-allowed bg-gray-100 dark:bg-gray-800":""}`})]}),e==null?void 0:e.exercises.map((C,z)=>u.jsxs("div",{className:"mb-6 border-b pb-4 border-gray-200 dark:border-gray-800",children:[u.jsx("div",{className:"font-bold text-lg mb-2 text-gray-700 dark:text-gray-200",children:C.name}),u.jsx(my,{exercise:C,exIndex:z,onChange:i,disabled:w}),u.jsxs("div",{className:"grid grid-cols-5 gap-2 mb-1 bg-blue-50 dark:bg-blue-900/30 p-2 rounded",children:[u.jsxs("div",{className:"font-semibold",children:["Durchschnitt Soll ",C.soll]}),u.jsx("div",{className:"font-semibold",children:"Ist"}),u.jsx("div",{className:"font-bold text-center",children:C.durchschnitt.toFixed(2)})]}),u.jsxs("div",{className:"grid grid-cols-5 gap-2 mb-1",children:[u.jsx("div",{children:"Faktor"}),u.jsx("div",{}),u.jsx("div",{className:"text-center font-semibold",children:C.faktor})]}),u.jsxs("div",{className:"grid grid-cols-5 gap-2 bg-green-50 dark:bg-green-900/30 p-2 rounded",children:[u.jsx("div",{className:"font-bold",children:"Points"}),u.jsx("div",{}),u.jsx("div",{className:"text-center font-bold text-green-600 dark:text-green-300",children:C.points.toFixed(0)})]})]},z)),u.jsxs("div",{className:"mt-6 bg-gradient-to-r from-green-100 to-blue-100 dark:from-gray-800 dark:to-gray-700 p-6 rounded-lg",children:[u.jsxs("div",{className:"flex justify-between items-center mb-4",children:[u.jsx("span",{className:"text-2xl font-bold text-gray-800 dark:text-gray-100",children:"Ergebnis"}),u.jsx("span",{className:"text-4xl font-bold text-green-600 dark:text-green-300",children:E.toFixed(0)})]}),u.jsxs("div",{className:`mt-4 px-6 py-4 rounded-lg ${k.color} ${k.text} text-center`,children:[u.jsx("p",{className:"text-2xl font-bold",children:k.name}),k.subtitle&&u.jsx("p",{className:"text-lg mt-2",children:k.subtitle})]})]})]})]})})},Of=e=>{let t=0,r=0;e.subA&&e.subB?[...e.subA,...e.subB].forEach(i=>{const a=parseFloat(i);isNaN(a)||(t+=a,r++)}):e.values.forEach(i=>{const a=parseFloat(i);isNaN(a)||(t+=a,r++)});const n=r>0?t/r:0,s=n*e.faktor;return{durchschnitt:n,points:s}},la=(e=[])=>e.reduce((t,r)=>t+(r.points||0),0),Yo=e=>({"PAT Start":"bg-green-100 text-green-800","PAT 1":"bg-blue-100 text-blue-800","PAT 2":"bg-purple-100 text-purple-800","PAT 3":"bg-orange-100 text-orange-800"})[e]||"bg-gray-100 text-gray-800",Xo=(e,t)=>{const r={"PAT Start":[{min:1e3,color:"bg-yellow-400",text:"text-black",name:"2. Schwarz-Weiss Sport WPA",subtitle:"Freizeit-Spieler"},{min:800,color:"bg-white",text:"text-black",name:"1. Weiss",subtitle:""},{min:600,color:"bg-gray-200",text:"text-gray-800",name:"PAT Start Teilnahme",subtitle:""},{min:0,color:"bg-gray-100",text:"text-gray-500",name:"Nicht bestanden",subtitle:""}],"PAT 1":[{min:1e3,color:"bg-green-700",text:"text-white",name:"4. Dunkelgrün",subtitle:"ca. Bezirksliga"},{min:800,color:"bg-green-300",text:"text-black",name:"3. Hellgrün",subtitle:"ca. Kreisliga"},{min:600,color:"bg-gray-200",text:"text-gray-800",name:"PAT 1 Teilnahme",subtitle:""},{min:0,color:"bg-gray-100",text:"text-gray-500",name:"Nicht bestanden",subtitle:""}],"PAT 2":[{min:1e3,color:"bg-blue-700",text:"text-white",name:"6. Dunkelblau",subtitle:"ca. Verbandsliga"},{min:800,color:"bg-blue-300",text:"text-black",name:"5. Hellblau",subtitle:"ca. Landesliga"},{min:600,color:"bg-gray-200",text:"text-gray-800",name:"PAT 2 Teilnahme",subtitle:""},{min:0,color:"bg-gray-100",text:"text-gray-500",name:"Nicht bestanden",subtitle:""}],"PAT 3":[{min:1e3,color:"bg-pink-400",text:"text-white",name:"10. Pink",subtitle:"Ein Weltstar!"},{min:850,color:"bg-yellow-400",text:"text-black",name:"9. Gold",subtitle:"internationaler Topsportler"},{min:700,color:"bg-red-600",text:"text-white",name:"8. Rot",subtitle:"ca. 1. Bundesliga"},{min:550,color:"bg-black",text:"text-white",name:"7. Schwarz",subtitle:"ca. 2. Bundesliga"},{min:0,color:"bg-gray-100",text:"text-gray-500",name:"Nicht bestanden",subtitle:""}]},n=r[e]||r["PAT Start"];return n.find(s=>t>=s.min)||n[n.length-1]},Is=(e,t=0)=>{const r=Number(e);return Number.isFinite(r)?r:t},xt=(e,t=4)=>{const r=10**t;return Math.round(e*r)/r},$i=e=>e.length?e.reduce((t,r)=>t+r,0)/e.length:0,Ay=e=>{if(e.length<=1)return 0;const t=$i(e),r=$i(e.map(n=>(n-t)**2));return Math.sqrt(r)},Oy=(e=[])=>[...e].sort((t,r)=>{const n=new Date((t==null?void 0:t.datum)||0).getTime(),s=new Date((r==null?void 0:r.datum)||0).getTime();if(n===s){const i=new Date((t==null?void 0:t.created_at)||0).getTime();return new Date((r==null?void 0:r.created_at)||0).getTime()-i}return s-n}),Ry=e=>!e||typeof e!="object"?[]:Array.isArray(e.subA)||Array.isArray(e.subB)?[...e.subA||[],...e.subB||[]].map(t=>Number(t)).filter(t=>Number.isFinite(t)):(e.values||[]).map(t=>Number(t)).filter(t=>Number.isFinite(t)),Iy=(e,t="zero")=>{if(!e)return t==="zero"?0:null;const r=Number(e.durchschnitt);if(Number.isFinite(r))return r;const n=Ry(e);return n.length?$i(n):t==="zero"?0:null},$y=e=>{if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(t)},Rf=(e=[],t,r={})=>{const n=Is(r.windowSize,5),s=r.missingStrategy||"zero",a=Oy(e.filter(v=>(v==null?void 0:v.patType)===t)).slice(0,n);if(!a.length)return{windowedAssessments:[],exerciseMetrics:[],topWeaknesses:[],topStrengths:[],trendSeries:[],radarSeries:[],isLimitedData:!1,patType:t,windowSize:n};const o=a[0],l=(o==null?void 0:o.exercises)||[],c=Math.max(...l.map(v=>Is(v==null?void 0:v.faktor,0)),1),d=l.map((v,b)=>{const y=a.map(Oe=>{var $;const bt=($=Oe==null?void 0:Oe.exercises)==null?void 0:$[b],A=Iy(bt,s);return A===null?0:A}),m=$i(y),p=Is(v==null?void 0:v.soll,0),_=Is(v==null?void 0:v.faktor,0),x=p>0?p:1,S=Math.max(0,(p-m)/x),E=c>0?_/c:0,k=Math.min(1,Ay(y)/x),T=S*E*(1+k),C=Math.max(0,(m-p)/x),z=1-k,K=C*E*Math.max(z,.1),Y=y[0]||0,Ne=y[y.length-1]||0,It=Y-Ne;return{index:b,name:(v==null?void 0:v.name)||`Übung ${b+1}`,soll:p,factor:_,actualMean:xt(m,4),latestActual:xt(Y,4),trendDelta:xt(It,4),gapScore:xt(S,4),consistencyScore:xt(k,4),priorityScore:xt(T,4),strengthScore:xt(K,4),actualSeries:y.map(Oe=>xt(Oe,4))}}),h=[...d].sort((v,b)=>b.priorityScore-v.priorityScore).slice(0,3),f=[...d].sort((v,b)=>b.strengthScore-v.strengthScore).slice(0,3),g=[...a].reverse().map(v=>({assessmentId:v.id,datum:v.datum,label:$y(v.datum),totalPoints:Math.round(la(v.exercises||[]))})),w=[...d].sort((v,b)=>b.factor-v.factor).slice(0,6).map(v=>({name:v.name,soll:v.soll,actual:v.actualMean,ratio:v.soll>0?xt(Math.min(1.2,v.actualMean/v.soll),4):0,priorityScore:v.priorityScore}));return{windowedAssessments:a,exerciseMetrics:d,topWeaknesses:h,topStrengths:f,trendSeries:g,radarSeries:w,isLimitedData:a.length=0;o--)(a=e[o])&&(i=(s<3?a(i):s>3?a(t,r,i):a(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i}function Df(e,t){return function(r,n){t(r,n,e)}}function Lf(e,t,r,n,s,i){function a(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var o=n.kind,l=o==="getter"?"get":o==="setter"?"set":"value",c=!t&&e?n.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,n.name):{}),h,f=!1,g=r.length-1;g>=0;g--){var w={};for(var v in n)w[v]=v==="access"?{}:n[v];for(var v in n.access)w.access[v]=n.access[v];w.addInitializer=function(y){if(f)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(y||null))};var b=(0,r[g])(o==="accessor"?{get:d.get,set:d.set}:d[l],w);if(o==="accessor"){if(b===void 0)continue;if(b===null||typeof b!="object")throw new TypeError("Object expected");(h=a(b.get))&&(d.get=h),(h=a(b.set))&&(d.set=h),(h=a(b.init))&&s.unshift(h)}else(h=a(b))&&(o==="field"?s.unshift(h):d[l]=h)}c&&Object.defineProperty(c,n.name,d),f=!0}function zf(e,t,r){for(var n=arguments.length>2,s=0;s0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function du(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),s,i=[],a;try{for(;(t===void 0||t-- >0)&&!(s=n.next()).done;)i.push(s.value)}catch(o){a={error:o}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return i}function Wf(){for(var e=[],t=0;t1||l(g,v)})},w&&(s[g]=w(s[g])))}function l(g,w){try{c(n[g](w))}catch(v){f(i[0][3],v)}}function c(g){g.value instanceof cn?Promise.resolve(g.value.v).then(d,h):f(i[0][2],g)}function d(g){l("next",g)}function h(g){l("throw",g)}function f(g,w){g(w),i.shift(),i.length&&l(i[0][0],i[0][1])}}function Gf(e){var t,r;return t={},n("next"),n("throw",function(s){throw s}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(s,i){t[s]=e[s]?function(a){return(r=!r)?{value:cn(e[s](a)),done:!1}:i?i(a):a}:i}}function Jf(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof zi=="function"?zi(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(a){return new Promise(function(o,l){a=e[i](a),s(o,l,a.done,a.value)})}}function s(i,a,o,l){Promise.resolve(l).then(function(c){i({value:c,done:o})},a)}}function Qf(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var Dy=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},el=function(e){return el=Object.getOwnPropertyNames||function(t){var r=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[r.length]=n);return r},el(e)};function Yf(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=el(e),n=0;ne?(...t)=>e(...t):(...t)=>fetch(...t);let ca=class extends Error{constructor(t,r="FunctionsError",n){super(t),this.name=r,this.context=n}},ip=class extends ca{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}},tl=class extends ca{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}},rl=class extends ca{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}};var Ui;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(Ui||(Ui={}));class By{constructor(t,{headers:r={},customFetch:n,region:s=Ui.Any}={}){this.url=t,this.headers=r,this.region=s,this.fetch=My(n)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return R(this,arguments,void 0,function*(r,n={}){var s;let i,a;try{const{headers:o,method:l,body:c,signal:d,timeout:h}=n;let f={},{region:g}=n;g||(g=this.region);const w=new URL(`${this.url}/${r}`);g&&g!=="any"&&(f["x-region"]=g,w.searchParams.set("forceFunctionRegion",g));let v;c&&(o&&!Object.prototype.hasOwnProperty.call(o,"Content-Type")||!o)?typeof Blob<"u"&&c instanceof Blob||c instanceof ArrayBuffer?(f["Content-Type"]="application/octet-stream",v=c):typeof c=="string"?(f["Content-Type"]="text/plain",v=c):typeof FormData<"u"&&c instanceof FormData?v=c:(f["Content-Type"]="application/json",v=JSON.stringify(c)):v=c;let b=d;h&&(a=new AbortController,i=setTimeout(()=>a.abort(),h),d?(b=a.signal,d.addEventListener("abort",()=>a.abort())):b=a.signal);const y=yield this.fetch(w.toString(),{method:l||"POST",headers:Object.assign(Object.assign(Object.assign({},f),this.headers),o),body:v,signal:b}).catch(x=>{throw new ip(x)}),m=y.headers.get("x-relay-error");if(m&&m==="true")throw new tl(y);if(!y.ok)throw new rl(y);let p=((s=y.headers.get("Content-Type"))!==null&&s!==void 0?s:"text/plain").split(";")[0].trim(),_;return p==="application/json"?_=yield y.json():p==="application/octet-stream"||p==="application/pdf"?_=yield y.blob():p==="text/event-stream"?_=y:p==="multipart/form-data"?_=yield y.formData():_=yield y.text(),{data:_,error:null,response:y}}catch(o){return{data:null,error:o,response:o instanceof rl||o instanceof tl?o.context:void 0}}finally{i&&clearTimeout(i)}})}}const Fy=Object.freeze(Object.defineProperty({__proto__:null,get FunctionRegion(){return Ui},FunctionsClient:By,FunctionsError:ca,FunctionsFetchError:ip,FunctionsHttpError:rl,FunctionsRelayError:tl},Symbol.toStringTag,{value:"Module"})),ap=ls(Fy);var Ee={};const yn=ls(Uy);var $s={},Ds={},Ls={},zs={},Us={},Ms={},Dc;function op(){if(Dc)return Ms;Dc=1,Object.defineProperty(Ms,"__esModule",{value:!0});class e extends Error{constructor(r){super(r.message),this.name="PostgrestError",this.details=r.details,this.hint=r.hint,this.code=r.code}}return Ms.default=e,Ms}var Lc;function lp(){if(Lc)return Us;Lc=1,Object.defineProperty(Us,"__esModule",{value:!0});const t=yn.__importDefault(op());let r=class{constructor(s){var i,a;this.shouldThrowOnError=!1,this.method=s.method,this.url=s.url,this.headers=new Headers(s.headers),this.schema=s.schema,this.body=s.body,this.shouldThrowOnError=(i=s.shouldThrowOnError)!==null&&i!==void 0?i:!1,this.signal=s.signal,this.isMaybeSingle=(a=s.isMaybeSingle)!==null&&a!==void 0?a:!1,s.fetch?this.fetch=s.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(s,i){return this.headers=new Headers(this.headers),this.headers.set(s,i),this}then(s,i){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json");const a=this.fetch;let o=a(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async l=>{var c,d,h,f;let g=null,w=null,v=null,b=l.status,y=l.statusText;if(l.ok){if(this.method!=="HEAD"){const x=await l.text();x===""||(this.headers.get("Accept")==="text/csv"||this.headers.get("Accept")&&(!((c=this.headers.get("Accept"))===null||c===void 0)&&c.includes("application/vnd.pgrst.plan+text"))?w=x:w=JSON.parse(x))}const p=(d=this.headers.get("Prefer"))===null||d===void 0?void 0:d.match(/count=(exact|planned|estimated)/),_=(h=l.headers.get("content-range"))===null||h===void 0?void 0:h.split("/");p&&_&&_.length>1&&(v=parseInt(_[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(w)&&(w.length>1?(g={code:"PGRST116",details:`Results contain ${w.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},w=null,v=null,b=406,y="Not Acceptable"):w.length===1?w=w[0]:w=null)}else{const p=await l.text();try{g=JSON.parse(p),Array.isArray(g)&&l.status===404&&(w=[],g=null,b=200,y="OK")}catch{l.status===404&&p===""?(b=204,y="No Content"):g={message:p}}if(g&&this.isMaybeSingle&&(!((f=g==null?void 0:g.details)===null||f===void 0)&&f.includes("0 rows"))&&(g=null,b=200,y="OK"),g&&this.shouldThrowOnError)throw new t.default(g)}return{error:g,data:w,count:v,status:b,statusText:y}});return this.shouldThrowOnError||(o=o.catch(l=>{var c,d,h,f,g,w;let v="";const b=l==null?void 0:l.cause;if(b){const y=(c=b==null?void 0:b.message)!==null&&c!==void 0?c:"",m=(d=b==null?void 0:b.code)!==null&&d!==void 0?d:"";v=`${(h=l==null?void 0:l.name)!==null&&h!==void 0?h:"FetchError"}: ${l==null?void 0:l.message}`,v+=` + +Caused by: ${(f=b==null?void 0:b.name)!==null&&f!==void 0?f:"Error"}: ${y}`,m&&(v+=` (${m})`),b!=null&&b.stack&&(v+=` +${b.stack}`)}else v=(g=l==null?void 0:l.stack)!==null&&g!==void 0?g:"";return{error:{message:`${(w=l==null?void 0:l.name)!==null&&w!==void 0?w:"FetchError"}: ${l==null?void 0:l.message}`,details:v,hint:"",code:""},data:null,count:null,status:0,statusText:""}})),o.then(s,i)}returns(){return this}overrideTypes(){return this}};return Us.default=r,Us}var zc;function up(){if(zc)return zs;zc=1,Object.defineProperty(zs,"__esModule",{value:!0});const t=yn.__importDefault(lp());let r=class extends t.default{select(s){let i=!1;const a=(s??"*").split("").map(o=>/\s/.test(o)&&!i?"":(o==='"'&&(i=!i),o)).join("");return this.url.searchParams.set("select",a),this.headers.append("Prefer","return=representation"),this}order(s,{ascending:i=!0,nullsFirst:a,foreignTable:o,referencedTable:l=o}={}){const c=l?`${l}.order`:"order",d=this.url.searchParams.get(c);return this.url.searchParams.set(c,`${d?`${d},`:""}${s}.${i?"asc":"desc"}${a===void 0?"":a?".nullsfirst":".nullslast"}`),this}limit(s,{foreignTable:i,referencedTable:a=i}={}){const o=typeof a>"u"?"limit":`${a}.limit`;return this.url.searchParams.set(o,`${s}`),this}range(s,i,{foreignTable:a,referencedTable:o=a}={}){const l=typeof o>"u"?"offset":`${o}.offset`,c=typeof o>"u"?"limit":`${o}.limit`;return this.url.searchParams.set(l,`${s}`),this.url.searchParams.set(c,`${i-s+1}`),this}abortSignal(s){return this.signal=s,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.method==="GET"?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:s=!1,verbose:i=!1,settings:a=!1,buffers:o=!1,wal:l=!1,format:c="text"}={}){var d;const h=[s?"analyze":null,i?"verbose":null,a?"settings":null,o?"buffers":null,l?"wal":null].filter(Boolean).join("|"),f=(d=this.headers.get("Accept"))!==null&&d!==void 0?d:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${c}; for="${f}"; options=${h};`),c==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(s){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${s}`),this}};return zs.default=r,zs}var Uc;function hu(){if(Uc)return Ls;Uc=1,Object.defineProperty(Ls,"__esModule",{value:!0});const t=yn.__importDefault(up()),r=new RegExp("[,()]");let n=class extends t.default{eq(i,a){return this.url.searchParams.append(i,`eq.${a}`),this}neq(i,a){return this.url.searchParams.append(i,`neq.${a}`),this}gt(i,a){return this.url.searchParams.append(i,`gt.${a}`),this}gte(i,a){return this.url.searchParams.append(i,`gte.${a}`),this}lt(i,a){return this.url.searchParams.append(i,`lt.${a}`),this}lte(i,a){return this.url.searchParams.append(i,`lte.${a}`),this}like(i,a){return this.url.searchParams.append(i,`like.${a}`),this}likeAllOf(i,a){return this.url.searchParams.append(i,`like(all).{${a.join(",")}}`),this}likeAnyOf(i,a){return this.url.searchParams.append(i,`like(any).{${a.join(",")}}`),this}ilike(i,a){return this.url.searchParams.append(i,`ilike.${a}`),this}ilikeAllOf(i,a){return this.url.searchParams.append(i,`ilike(all).{${a.join(",")}}`),this}ilikeAnyOf(i,a){return this.url.searchParams.append(i,`ilike(any).{${a.join(",")}}`),this}regexMatch(i,a){return this.url.searchParams.append(i,`match.${a}`),this}regexIMatch(i,a){return this.url.searchParams.append(i,`imatch.${a}`),this}is(i,a){return this.url.searchParams.append(i,`is.${a}`),this}isDistinct(i,a){return this.url.searchParams.append(i,`isdistinct.${a}`),this}in(i,a){const o=Array.from(new Set(a)).map(l=>typeof l=="string"&&r.test(l)?`"${l}"`:`${l}`).join(",");return this.url.searchParams.append(i,`in.(${o})`),this}contains(i,a){return typeof a=="string"?this.url.searchParams.append(i,`cs.${a}`):Array.isArray(a)?this.url.searchParams.append(i,`cs.{${a.join(",")}}`):this.url.searchParams.append(i,`cs.${JSON.stringify(a)}`),this}containedBy(i,a){return typeof a=="string"?this.url.searchParams.append(i,`cd.${a}`):Array.isArray(a)?this.url.searchParams.append(i,`cd.{${a.join(",")}}`):this.url.searchParams.append(i,`cd.${JSON.stringify(a)}`),this}rangeGt(i,a){return this.url.searchParams.append(i,`sr.${a}`),this}rangeGte(i,a){return this.url.searchParams.append(i,`nxl.${a}`),this}rangeLt(i,a){return this.url.searchParams.append(i,`sl.${a}`),this}rangeLte(i,a){return this.url.searchParams.append(i,`nxr.${a}`),this}rangeAdjacent(i,a){return this.url.searchParams.append(i,`adj.${a}`),this}overlaps(i,a){return typeof a=="string"?this.url.searchParams.append(i,`ov.${a}`):this.url.searchParams.append(i,`ov.{${a.join(",")}}`),this}textSearch(i,a,{config:o,type:l}={}){let c="";l==="plain"?c="pl":l==="phrase"?c="ph":l==="websearch"&&(c="w");const d=o===void 0?"":`(${o})`;return this.url.searchParams.append(i,`${c}fts${d}.${a}`),this}match(i){return Object.entries(i).forEach(([a,o])=>{this.url.searchParams.append(a,`eq.${o}`)}),this}not(i,a,o){return this.url.searchParams.append(i,`not.${a}.${o}`),this}or(i,{foreignTable:a,referencedTable:o=a}={}){const l=o?`${o}.or`:"or";return this.url.searchParams.append(l,`(${i})`),this}filter(i,a,o){return this.url.searchParams.append(i,`${a}.${o}`),this}};return Ls.default=n,Ls}var Mc;function cp(){if(Mc)return Ds;Mc=1,Object.defineProperty(Ds,"__esModule",{value:!0});const t=yn.__importDefault(hu());let r=class{constructor(s,{headers:i={},schema:a,fetch:o}){this.url=s,this.headers=new Headers(i),this.schema=a,this.fetch=o}select(s,i){const{head:a=!1,count:o}=i??{},l=a?"HEAD":"GET";let c=!1;const d=(s??"*").split("").map(h=>/\s/.test(h)&&!c?"":(h==='"'&&(c=!c),h)).join("");return this.url.searchParams.set("select",d),o&&this.headers.append("Prefer",`count=${o}`),new t.default({method:l,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(s,{count:i,defaultToNull:a=!0}={}){var o;const l="POST";if(i&&this.headers.append("Prefer",`count=${i}`),a||this.headers.append("Prefer","missing=default"),Array.isArray(s)){const c=s.reduce((d,h)=>d.concat(Object.keys(h)),[]);if(c.length>0){const d=[...new Set(c)].map(h=>`"${h}"`);this.url.searchParams.set("columns",d.join(","))}}return new t.default({method:l,url:this.url,headers:this.headers,schema:this.schema,body:s,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch})}upsert(s,{onConflict:i,ignoreDuplicates:a=!1,count:o,defaultToNull:l=!0}={}){var c;const d="POST";if(this.headers.append("Prefer",`resolution=${a?"ignore":"merge"}-duplicates`),i!==void 0&&this.url.searchParams.set("on_conflict",i),o&&this.headers.append("Prefer",`count=${o}`),l||this.headers.append("Prefer","missing=default"),Array.isArray(s)){const h=s.reduce((f,g)=>f.concat(Object.keys(g)),[]);if(h.length>0){const f=[...new Set(h)].map(g=>`"${g}"`);this.url.searchParams.set("columns",f.join(","))}}return new t.default({method:d,url:this.url,headers:this.headers,schema:this.schema,body:s,fetch:(c=this.fetch)!==null&&c!==void 0?c:fetch})}update(s,{count:i}={}){var a;const o="PATCH";return i&&this.headers.append("Prefer",`count=${i}`),new t.default({method:o,url:this.url,headers:this.headers,schema:this.schema,body:s,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch})}delete({count:s}={}){var i;const a="DELETE";return s&&this.headers.append("Prefer",`count=${s}`),new t.default({method:a,url:this.url,headers:this.headers,schema:this.schema,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch})}};return Ds.default=r,Ds}var Bc;function Vy(){if(Bc)return $s;Bc=1,Object.defineProperty($s,"__esModule",{value:!0});const e=yn,t=e.__importDefault(cp()),r=e.__importDefault(hu());let n=class dp{constructor(i,{headers:a={},schema:o,fetch:l}={}){this.url=i,this.headers=new Headers(a),this.schemaName=o,this.fetch=l}from(i){if(!i||typeof i!="string"||i.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");const a=new URL(`${this.url}/${i}`);return new t.default(a,{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(i){return new dp(this.url,{headers:this.headers,schema:i,fetch:this.fetch})}rpc(i,a={},{head:o=!1,get:l=!1,count:c}={}){var d;let h;const f=new URL(`${this.url}/rpc/${i}`);let g;o||l?(h=o?"HEAD":"GET",Object.entries(a).filter(([v,b])=>b!==void 0).map(([v,b])=>[v,Array.isArray(b)?`{${b.join(",")}}`:`${b}`]).forEach(([v,b])=>{f.searchParams.append(v,b)})):(h="POST",g=a);const w=new Headers(this.headers);return c&&w.set("Prefer",`count=${c}`),new r.default({method:h,url:f,headers:w,schema:this.schemaName,body:g,fetch:(d=this.fetch)!==null&&d!==void 0?d:fetch})}};return $s.default=n,$s}Object.defineProperty(Ee,"__esModule",{value:!0});Ee.PostgrestError=Ee.PostgrestBuilder=Ee.PostgrestTransformBuilder=Ee.PostgrestFilterBuilder=Ee.PostgrestQueryBuilder=Ee.PostgrestClient=void 0;const vn=yn,hp=vn.__importDefault(Vy());Ee.PostgrestClient=hp.default;const fp=vn.__importDefault(cp());Ee.PostgrestQueryBuilder=fp.default;const pp=vn.__importDefault(hu());Ee.PostgrestFilterBuilder=pp.default;const gp=vn.__importDefault(up());Ee.PostgrestTransformBuilder=gp.default;const mp=vn.__importDefault(lp());Ee.PostgrestBuilder=mp.default;const yp=vn.__importDefault(op());Ee.PostgrestError=yp.default;Ee.default={PostgrestClient:hp.default,PostgrestQueryBuilder:fp.default,PostgrestFilterBuilder:pp.default,PostgrestTransformBuilder:gp.default,PostgrestBuilder:mp.default,PostgrestError:yp.default};class vp{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if(typeof process<"u"){const r=process.versions;if(r&&r.node){const n=r.node,s=parseInt(n.replace(/^v/,"").split(".")[0]);return s>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${s} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${s} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option: +import ws from "ws" +new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.constructor)return t.constructor;let r=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(r+=` + +Suggested solution: ${t.workaround}`),new Error(r)}static createWebSocket(t,r){const n=this.getWebSocketConstructor();return new n(t,r)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const Wy="2.86.2",Hy=`realtime-js/${Wy}`,wp="1.0.0",Ky="2.0.0",Fc=wp,nl=1e4,qy=1e3,Gy=100;var hr;(function(e){e[e.connecting=0]="connecting",e[e.open=1]="open",e[e.closing=2]="closing",e[e.closed=3]="closed"})(hr||(hr={}));var le;(function(e){e.closed="closed",e.errored="errored",e.joined="joined",e.joining="joining",e.leaving="leaving"})(le||(le={}));var lt;(function(e){e.close="phx_close",e.error="phx_error",e.join="phx_join",e.reply="phx_reply",e.leave="phx_leave",e.access_token="access_token"})(lt||(lt={}));var sl;(function(e){e.websocket="websocket"})(sl||(sl={}));var fr;(function(e){e.Connecting="connecting",e.Open="open",e.Closing="closing",e.Closed="closed"})(fr||(fr={}));class Jy{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,r){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(t));let n=[t.join_ref,t.ref,t.topic,t.event,t.payload];return r(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(t){var r;return this._isArrayBuffer((r=t.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var r,n;const s=(n=(r=t.payload)===null||r===void 0?void 0:r.payload)!==null&&n!==void 0?n:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,s)}_encodeJsonUserBroadcastPush(t){var r,n;const s=(n=(r=t.payload)===null||r===void 0?void 0:r.payload)!==null&&n!==void 0?n:{},a=new TextEncoder().encode(JSON.stringify(s)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,a)}_encodeUserBroadcastPush(t,r,n){var s,i;const a=t.topic,o=(s=t.ref)!==null&&s!==void 0?s:"",l=(i=t.join_ref)!==null&&i!==void 0?i:"",c=t.payload.event,d=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},h=Object.keys(d).length===0?"":JSON.stringify(d);if(l.length>255)throw new Error(`joinRef length ${l.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`ref length ${o.length} exceeds maximum of 255`);if(a.length>255)throw new Error(`topic length ${a.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`userEvent length ${c.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`metadata length ${h.length} exceeds maximum of 255`);const f=this.USER_BROADCAST_PUSH_META_LENGTH+l.length+o.length+a.length+c.length+h.length,g=new ArrayBuffer(this.HEADER_LENGTH+f);let w=new DataView(g),v=0;w.setUint8(v++,this.KINDS.userBroadcastPush),w.setUint8(v++,l.length),w.setUint8(v++,o.length),w.setUint8(v++,a.length),w.setUint8(v++,c.length),w.setUint8(v++,h.length),w.setUint8(v++,r),Array.from(l,y=>w.setUint8(v++,y.charCodeAt(0))),Array.from(o,y=>w.setUint8(v++,y.charCodeAt(0))),Array.from(a,y=>w.setUint8(v++,y.charCodeAt(0))),Array.from(c,y=>w.setUint8(v++,y.charCodeAt(0))),Array.from(h,y=>w.setUint8(v++,y.charCodeAt(0)));var b=new Uint8Array(g.byteLength+n.byteLength);return b.set(new Uint8Array(g),0),b.set(new Uint8Array(n),g.byteLength),b.buffer}decode(t,r){if(this._isArrayBuffer(t)){let n=this._binaryDecode(t);return r(n)}if(typeof t=="string"){const n=JSON.parse(t),[s,i,a,o,l]=n;return r({join_ref:s,ref:i,topic:a,event:o,payload:l})}return r({})}_binaryDecode(t){const r=new DataView(t),n=r.getUint8(0),s=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,r,s)}}_decodeUserBroadcast(t,r,n){const s=r.getUint8(1),i=r.getUint8(2),a=r.getUint8(3),o=r.getUint8(4);let l=this.HEADER_LENGTH+4;const c=n.decode(t.slice(l,l+s));l=l+s;const d=n.decode(t.slice(l,l+i));l=l+i;const h=n.decode(t.slice(l,l+a));l=l+a;const f=t.slice(l,t.byteLength),g=o===this.JSON_ENCODING?JSON.parse(n.decode(f)):f,w={type:this.BROADCAST_EVENT,event:d,payload:g};return a>0&&(w.meta=JSON.parse(h)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:w}}_isArrayBuffer(t){var r;return t instanceof ArrayBuffer||((r=t==null?void 0:t.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(t,r){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([n])=>r.includes(n)))}}class bp{constructor(t,r){this.callback=t,this.timerCalc=r,this.timer=void 0,this.tries=0,this.callback=t,this.timerCalc=r}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var J;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(J||(J={}));const Vc=(e,t,r={})=>{var n;const s=(n=r.skipTypes)!==null&&n!==void 0?n:[];return t?Object.keys(t).reduce((i,a)=>(i[a]=Qy(a,e,t,s),i),{}):{}},Qy=(e,t,r,n)=>{const s=t.find(o=>o.name===e),i=s==null?void 0:s.type,a=r[e];return i&&!n.includes(i)?_p(i,a):il(a)},_p=(e,t)=>{if(e.charAt(0)==="_"){const r=e.slice(1,e.length);return ev(t,r)}switch(e){case J.bool:return Yy(t);case J.float4:case J.float8:case J.int2:case J.int4:case J.int8:case J.numeric:case J.oid:return Xy(t);case J.json:case J.jsonb:return Zy(t);case J.timestamp:return tv(t);case J.abstime:case J.date:case J.daterange:case J.int4range:case J.int8range:case J.money:case J.reltime:case J.text:case J.time:case J.timestamptz:case J.timetz:case J.tsrange:case J.tstzrange:return il(t);default:return il(t)}},il=e=>e,Yy=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},Xy=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},Zy=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch(t){return console.log(`JSON parse error: ${t}`),e}return e},ev=(e,t)=>{if(typeof e!="string")return e;const r=e.length-1,n=e[r];if(e[0]==="{"&&n==="}"){let i;const a=e.slice(1,r);try{i=JSON.parse("["+a+"]")}catch{i=a?a.split(","):[]}return i.map(o=>_p(t,o))}return e},tv=e=>typeof e=="string"?e.replace(" ","T"):e,xp=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};class Ka{constructor(t,r,n={},s=nl){this.channel=t,this.event=r,this.payload=n,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(t){this.timeout=t,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(t){this.payload=Object.assign(Object.assign({},this.payload),t)}receive(t,r){var n;return this._hasReceived(t)&&r((n=this.receivedResp)===null||n===void 0?void 0:n.response),this.recHooks.push({status:t,callback:r}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const t=r=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=r,this._matchReceive(r)};this.channel._on(this.refEvent,{},t),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(t,r){this.refEvent&&this.channel._trigger(this.refEvent,{status:t,response:r})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:t,response:r}){this.recHooks.filter(n=>n.status===t).forEach(n=>n.callback(r))}_hasReceived(t){return this.receivedResp&&this.receivedResp.status===t}}var al;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(al||(al={}));let kp=class ai{constructor(t,r){this.channel=t,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const n=(r==null?void 0:r.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(n.state,{},s=>{const{onJoin:i,onLeave:a,onSync:o}=this.caller;this.joinRef=this.channel._joinRef(),this.state=ai.syncState(this.state,s,i,a),this.pendingDiffs.forEach(l=>{this.state=ai.syncDiff(this.state,l,i,a)}),this.pendingDiffs=[],o()}),this.channel._on(n.diff,{},s=>{const{onJoin:i,onLeave:a,onSync:o}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=ai.syncDiff(this.state,s,i,a),o())}),this.onJoin((s,i,a)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:a})}),this.onLeave((s,i,a)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:a})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(t,r,n,s){const i=this.cloneDeep(t),a=this.transformState(r),o={},l={};return this.map(i,(c,d)=>{a[c]||(l[c]=d)}),this.map(a,(c,d)=>{const h=i[c];if(h){const f=d.map(b=>b.presence_ref),g=h.map(b=>b.presence_ref),w=d.filter(b=>g.indexOf(b.presence_ref)<0),v=h.filter(b=>f.indexOf(b.presence_ref)<0);w.length>0&&(o[c]=w),v.length>0&&(l[c]=v)}else o[c]=d}),this.syncDiff(i,{joins:o,leaves:l},n,s)}static syncDiff(t,r,n,s){const{joins:i,leaves:a}={joins:this.transformState(r.joins),leaves:this.transformState(r.leaves)};return n||(n=()=>{}),s||(s=()=>{}),this.map(i,(o,l)=>{var c;const d=(c=t[o])!==null&&c!==void 0?c:[];if(t[o]=this.cloneDeep(l),d.length>0){const h=t[o].map(g=>g.presence_ref),f=d.filter(g=>h.indexOf(g.presence_ref)<0);t[o].unshift(...f)}n(o,d,l)}),this.map(a,(o,l)=>{let c=t[o];if(!c)return;const d=l.map(h=>h.presence_ref);c=c.filter(h=>d.indexOf(h.presence_ref)<0),t[o]=c,s(o,c,l),c.length===0&&delete t[o]}),t}static map(t,r){return Object.getOwnPropertyNames(t).map(n=>r(n,t[n]))}static transformState(t){return t=this.cloneDeep(t),Object.getOwnPropertyNames(t).reduce((r,n)=>{const s=t[n];return"metas"in s?r[n]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):r[n]=s,r},{})}static cloneDeep(t){return JSON.parse(JSON.stringify(t))}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}};var ol;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(ol||(ol={}));var en;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(en||(en={}));var mt;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(mt||(mt={}));const rv=le;let Sp=class Ep{constructor(t,r={config:{}},n){var s,i;if(this.topic=t,this.params=r,this.socket=n,this.bindings={},this.state=le.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.timeout=this.socket.timeout,this.joinPush=new Ka(this,lt.join,this.params,this.timeout),this.rejoinTimer=new bp(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=le.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(a=>a.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=le.closed,this.socket._remove(this)}),this._onError(a=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,a),this.state=le.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=le.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",a=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,a),this.state=le.errored,this.rejoinTimer.scheduleTimeout())}),this._on(lt.reply,{},(a,o)=>{this._trigger(this._replyEventName(o),a)}),this.presence=new kp(this),this.broadcastEndpointURL=xp(this.socket.endPoint),this.private=this.params.config.private||!1,!this.private&&(!((i=(s=this.params.config)===null||s===void 0?void 0:s.broadcast)===null||i===void 0)&&i.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(t,r=this.timeout){var n,s,i;if(this.socket.isConnected()||this.socket.connect(),this.state==le.closed){const{config:{broadcast:a,presence:o,private:l}}=this.params,c=(s=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(g=>g.filter))!==null&&s!==void 0?s:[],d=!!this.bindings[en.PRESENCE]&&this.bindings[en.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,h={},f={broadcast:a,presence:Object.assign(Object.assign({},o),{enabled:d}),postgres_changes:c,private:l};this.socket.accessTokenValue&&(h.access_token=this.socket.accessTokenValue),this._onError(g=>t==null?void 0:t(mt.CHANNEL_ERROR,g)),this._onClose(()=>t==null?void 0:t(mt.CLOSED)),this.updateJoinPayload(Object.assign({config:f},h)),this.joinedOnce=!0,this._rejoin(r),this.joinPush.receive("ok",async({postgres_changes:g})=>{var w;if(this.socket.setAuth(),g===void 0){t==null||t(mt.SUBSCRIBED);return}else{const v=this.bindings.postgres_changes,b=(w=v==null?void 0:v.length)!==null&&w!==void 0?w:0,y=[];for(let m=0;m{this.state=le.errored,t==null||t(mt.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(g).join(", ")||"error")))}).receive("timeout",()=>{t==null||t(mt.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(t,r={}){return await this.send({type:"presence",event:"track",payload:t},r.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,r,n){return this.state===le.joined&&t===en.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(()=>this.subscribe())),this._on(t,r,n)}async httpSend(t,r,n={}){var s;const i=this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"";if(r==null)return Promise.reject("Payload is required for httpSend()");const a={method:"POST",headers:{Authorization:i,apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:r,private:this.private}]})},o=await this._fetchWithTimeout(this.broadcastEndpointURL,a,(s=n.timeout)!==null&&s!==void 0?s:this.timeout);if(o.status===202)return{success:!0};let l=o.statusText;try{const c=await o.json();l=c.error||c.message||l}catch{}return Promise.reject(new Error(l))}async send(t,r={}){var n,s;if(!this._canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:i,payload:a}=t,l={method:"POST",headers:{Authorization:this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"",apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:a,private:this.private}]})};try{const c=await this._fetchWithTimeout(this.broadcastEndpointURL,l,(n=r.timeout)!==null&&n!==void 0?n:this.timeout);return await((s=c.body)===null||s===void 0?void 0:s.cancel()),c.ok?"ok":"error"}catch(c){return c.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var a,o,l;const c=this._push(t.type,t,r.timeout||this.timeout);t.type==="broadcast"&&!(!((l=(o=(a=this.params)===null||a===void 0?void 0:a.config)===null||o===void 0?void 0:o.broadcast)===null||l===void 0)&&l.ack)&&i("ok"),c.receive("ok",()=>i("ok")),c.receive("error",()=>i("error")),c.receive("timeout",()=>i("timed out"))})}updateJoinPayload(t){this.joinPush.updatePayload(t)}unsubscribe(t=this.timeout){this.state=le.leaving;const r=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(lt.close,"leave",this._joinRef())};this.joinPush.destroy();let n=null;return new Promise(s=>{n=new Ka(this,lt.leave,{},t),n.receive("ok",()=>{r(),s("ok")}).receive("timeout",()=>{r(),s("timed out")}).receive("error",()=>{s("error")}),n.send(),this._canPush()||n.trigger("ok",{})}).finally(()=>{n==null||n.destroy()})}teardown(){this.pushBuffer.forEach(t=>t.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=le.closed,this.bindings={}}async _fetchWithTimeout(t,r,n){const s=new AbortController,i=setTimeout(()=>s.abort(),n),a=await this.socket.fetch(t,Object.assign(Object.assign({},r),{signal:s.signal}));return clearTimeout(i),a}_push(t,r,n=this.timeout){if(!this.joinedOnce)throw`tried to push '${t}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new Ka(this,t,r,n);return this._canPush()?s.send():this._addToPushBuffer(s),s}_addToPushBuffer(t){if(t.startTimeout(),this.pushBuffer.push(t),this.pushBuffer.length>Gy){const r=this.pushBuffer.shift();r&&(r.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${r.event}`,r.payload))}}_onMessage(t,r,n){return r}_isMember(t){return this.topic===t}_joinRef(){return this.joinPush.ref}_trigger(t,r,n){var s,i;const a=t.toLocaleLowerCase(),{close:o,error:l,leave:c,join:d}=lt;if(n&&[o,l,c,d].indexOf(a)>=0&&n!==this._joinRef())return;let f=this._onMessage(a,r,n);if(r&&!f)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(a)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(g=>{var w,v,b;return((w=g.filter)===null||w===void 0?void 0:w.event)==="*"||((b=(v=g.filter)===null||v===void 0?void 0:v.event)===null||b===void 0?void 0:b.toLocaleLowerCase())===a}).map(g=>g.callback(f,n)):(i=this.bindings[a])===null||i===void 0||i.filter(g=>{var w,v,b,y,m,p;if(["broadcast","presence","postgres_changes"].includes(a))if("id"in g){const _=g.id,x=(w=g.filter)===null||w===void 0?void 0:w.event;return _&&((v=r.ids)===null||v===void 0?void 0:v.includes(_))&&(x==="*"||(x==null?void 0:x.toLocaleLowerCase())===((b=r.data)===null||b===void 0?void 0:b.type.toLocaleLowerCase()))}else{const _=(m=(y=g==null?void 0:g.filter)===null||y===void 0?void 0:y.event)===null||m===void 0?void 0:m.toLocaleLowerCase();return _==="*"||_===((p=r==null?void 0:r.event)===null||p===void 0?void 0:p.toLocaleLowerCase())}else return g.type.toLocaleLowerCase()===a}).map(g=>{if(typeof f=="object"&&"ids"in f){const w=f.data,{schema:v,table:b,commit_timestamp:y,type:m,errors:p}=w;f=Object.assign(Object.assign({},{schema:v,table:b,commit_timestamp:y,eventType:m,new:{},old:{},errors:p}),this._getPayloadRecords(w))}g.callback(f,n)})}_isClosed(){return this.state===le.closed}_isJoined(){return this.state===le.joined}_isJoining(){return this.state===le.joining}_isLeaving(){return this.state===le.leaving}_replyEventName(t){return`chan_reply_${t}`}_on(t,r,n){const s=t.toLocaleLowerCase(),i={type:s,filter:r,callback:n};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(t,r){const n=t.toLocaleLowerCase();return this.bindings[n]&&(this.bindings[n]=this.bindings[n].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===n&&Ep.isEqual(s.filter,r))})),this}static isEqual(t,r){if(Object.keys(t).length!==Object.keys(r).length)return!1;for(const n in t)if(t[n]!==r[n])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(t){this._on(lt.close,{},t)}_onError(t){this._on(lt.error,{},r=>t(r))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(t=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=le.joining,this.joinPush.resend(t))}_getPayloadRecords(t){const r={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(r.new=Vc(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(r.old=Vc(t.columns,t.old_record)),r}};const qa=()=>{},Bs={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},nv=[1e3,2e3,5e3,1e4],sv=1e4,iv=` + addEventListener("message", (e) => { + if (e.data.event === "start") { + setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); + } + });`;let av=class{constructor(t,r){var n;if(this.accessTokenValue=null,this.apiKey=null,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=nl,this.transport=null,this.heartbeatIntervalMs=Bs.HEARTBEAT_INTERVAL,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=qa,this.ref=0,this.reconnectTimer=null,this.vsn=Fc,this.logger=qa,this.conn=null,this.sendBuffer=[],this.serializer=new Jy,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._resolveFetch=s=>s?(...i)=>s(...i):(...i)=>fetch(...i),!(!((n=r==null?void 0:r.params)===null||n===void 0)&&n.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey,this.endPoint=`${t}/${sl.websocket}`,this.httpEndpoint=xp(t),this._initializeOptions(r),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(r==null?void 0:r.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.conn!==null&&this.isConnected())){if(this._setConnectionState("connecting"),this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=vp.createWebSocket(this.endpointURL())}catch(t){this._setConnectionState("disconnected");const r=t.message;throw r.includes("Node.js")?new Error(`${r} + +To use Realtime in Node.js, you need to provide a WebSocket implementation: + +Option 1: Use Node.js 22+ which has native WebSocket support +Option 2: Install and provide the "ws" package: + + npm install ws + + import ws from "ws" + const client = new RealtimeClient(url, { + ...options, + transport: ws + })`):new Error(`WebSocket not available: ${r}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:this.vsn}))}disconnect(t,r){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const n=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(n),this._setConnectionState("disconnected")},typeof this.conn.close=="function"&&(t?this.conn.close(t,r??""):this.conn.close()),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(t){const r=await t.unsubscribe();return this.channels.length===0&&this.disconnect(),r}async removeAllChannels(){const t=await Promise.all(this.channels.map(r=>r.unsubscribe()));return this.channels=[],this.disconnect(),t}log(t,r,n){this.logger(t,r,n)}connectionState(){switch(this.conn&&this.conn.readyState){case hr.connecting:return fr.Connecting;case hr.open:return fr.Open;case hr.closing:return fr.Closing;default:return fr.Closed}}isConnected(){return this.connectionState()===fr.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(t,r={config:{}}){const n=`realtime:${t}`,s=this.getChannels().find(i=>i.topic===n);if(s)return s;{const i=new Sp(`realtime:${t}`,r,this);return this.channels.push(i),i}}push(t){const{topic:r,event:n,payload:s,ref:i}=t,a=()=>{this.encode(t,o=>{var l;(l=this.conn)===null||l===void 0||l.send(o)})};this.log("push",`${r} ${n} (${i})`,s),this.isConnected()?a():this.sendBuffer.push(a)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}async sendHeartbeat(){var t;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(r){this.log("error","error in heartbeat callback",r)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(r){this.log("error","error in heartbeat callback",r)}this._wasManualDisconnect=!1,(t=this.conn)===null||t===void 0||t.close(qy,"heartbeat timeout"),setTimeout(()=>{var r;this.isConnected()||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout()},Bs.HEARTBEAT_TIMEOUT_FALLBACK);return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(r){this.log("error","error in heartbeat callback",r)}this._setAuthSafely("heartbeat")}onHeartbeat(t){this.heartbeatCallback=t}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(t=>t()),this.sendBuffer=[])}_makeRef(){let t=this.ref+1;return t===this.ref?this.ref=0:this.ref=t,this.ref.toString()}_leaveOpenTopic(t){let r=this.channels.find(n=>n.topic===t&&(n._isJoined()||n._isJoining()));r&&(this.log("transport",`leaving duplicate topic "${t}"`),r.unsubscribe())}_remove(t){this.channels=this.channels.filter(r=>r.topic!==t.topic)}_onConnMessage(t){this.decode(t.data,r=>{if(r.topic==="phoenix"&&r.event==="phx_reply")try{this.heartbeatCallback(r.payload.status==="ok"?"ok":"error")}catch(c){this.log("error","error in heartbeat callback",c)}r.ref&&r.ref===this.pendingHeartbeatRef&&(this.pendingHeartbeatRef=null);const{topic:n,event:s,payload:i,ref:a}=r,o=a?`(${a})`:"",l=i.status||"";this.log("receive",`${l} ${n} ${s} ${o}`.trim(),i),this.channels.filter(c=>c._isMember(n)).forEach(c=>c._trigger(s,i,a)),this._triggerStateCallbacks("message",r)})}_clearTimer(t){var r;t==="heartbeat"&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):t==="reconnect"&&((r=this.reconnectTimer)===null||r===void 0||r.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=t=>this._onConnError(t),this.conn.onmessage=t=>this._onConnMessage(t),this.conn.onclose=t=>this._onConnClose(t))}_teardownConnection(){if(this.conn){if(this.conn.readyState===hr.open||this.conn.readyState===hr.connecting)try{this.conn.close()}catch(t){this.log("error","Error closing connection",t)}this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null}this._clearAllTimers(),this.channels.forEach(t=>t.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).then(()=>{this.flushSendBuffer()}).catch(r=>{this.log("error","error waiting for auth on connect",r),this.flushSendBuffer()}),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this.workerRef.terminate()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(t){var r;this._setConnectionState("disconnected"),this.log("transport","close",t),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout(),this._triggerStateCallbacks("close",t)}_onConnError(t){this._setConnectionState("disconnected"),this.log("transport",`${t}`),this._triggerChanError(),this._triggerStateCallbacks("error",t)}_triggerChanError(){this.channels.forEach(t=>t._trigger(lt.error))}_appendParams(t,r){if(Object.keys(r).length===0)return t;const n=t.match(/\?/)?"&":"?",s=new URLSearchParams(r);return`${t}${n}${s}`}_workerObjectUrl(t){let r;if(t)r=t;else{const n=new Blob([iv],{type:"application/javascript"});r=URL.createObjectURL(n)}return r}_setConnectionState(t,r=!1){this._connectionState=t,t==="connecting"?this._wasManualDisconnect=!1:t==="disconnecting"&&(this._wasManualDisconnect=r)}async _performAuth(t=null){let r;t?r=t:this.accessToken?r=await this.accessToken():r=this.accessTokenValue,this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(n=>{const s={access_token:r,version:Hy};r&&n.updateJoinPayload(s),n.joinedOnce&&n._isJoined()&&n._push(lt.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this.setAuth().catch(r=>{this.log("error",`error setting auth in ${t}`,r)})}_triggerStateCallbacks(t,r){try{this.stateChangeCallbacks[t].forEach(n=>{try{n(r)}catch(s){this.log("error",`error in ${t} callback`,s)}})}catch(n){this.log("error",`error triggering ${t} callbacks`,n)}}_setupReconnectionTimer(){this.reconnectTimer=new bp(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},Bs.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(t){var r,n,s,i,a,o,l,c,d,h,f,g;switch(this.transport=(r=t==null?void 0:t.transport)!==null&&r!==void 0?r:null,this.timeout=(n=t==null?void 0:t.timeout)!==null&&n!==void 0?n:nl,this.heartbeatIntervalMs=(s=t==null?void 0:t.heartbeatIntervalMs)!==null&&s!==void 0?s:Bs.HEARTBEAT_INTERVAL,this.worker=(i=t==null?void 0:t.worker)!==null&&i!==void 0?i:!1,this.accessToken=(a=t==null?void 0:t.accessToken)!==null&&a!==void 0?a:null,this.heartbeatCallback=(o=t==null?void 0:t.heartbeatCallback)!==null&&o!==void 0?o:qa,this.vsn=(l=t==null?void 0:t.vsn)!==null&&l!==void 0?l:Fc,t!=null&&t.params&&(this.params=t.params),t!=null&&t.logger&&(this.logger=t.logger),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=(c=t==null?void 0:t.reconnectAfterMs)!==null&&c!==void 0?c:w=>nv[w-1]||sv,this.vsn){case wp:this.encode=(d=t==null?void 0:t.encode)!==null&&d!==void 0?d:(w,v)=>v(JSON.stringify(w)),this.decode=(h=t==null?void 0:t.decode)!==null&&h!==void 0?h:(w,v)=>v(JSON.parse(w));break;case Ky:this.encode=(f=t==null?void 0:t.encode)!==null&&f!==void 0?f:this.serializer.encode.bind(this.serializer),this.decode=(g=t==null?void 0:t.decode)!==null&&g!==void 0?g:this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${this.vsn}`)}if(this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl}}};const ov=Object.freeze(Object.defineProperty({__proto__:null,REALTIME_CHANNEL_STATES:rv,get REALTIME_LISTEN_TYPES(){return en},get REALTIME_POSTGRES_CHANGES_LISTEN_EVENT(){return ol},get REALTIME_PRESENCE_LISTEN_EVENTS(){return al},get REALTIME_SUBSCRIBE_STATES(){return mt},RealtimeChannel:Sp,RealtimeClient:av,RealtimePresence:kp,WebSocketFactory:vp},Symbol.toStringTag,{value:"Module"})),jp=ls(ov);class ps extends Error{constructor(t){super(t),this.__isStorageError=!0,this.name="StorageError"}}function ee(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}class Np extends ps{constructor(t,r,n){super(t),this.name="StorageApiError",this.status=r,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class Mi extends ps{constructor(t,r){super(t),this.name="StorageUnknownError",this.originalError=r}}const fu=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),lv=()=>Response,ll=e=>{if(Array.isArray(e))return e.map(r=>ll(r));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([r,n])=>{const s=r.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));t[s]=ll(n)}),t},uv=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},cv=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Ga=e=>{var t;return e.msg||e.message||e.error_description||(typeof e.error=="string"?e.error:(t=e.error)===null||t===void 0?void 0:t.message)||JSON.stringify(e)},dv=(e,t,r)=>R(void 0,void 0,void 0,function*(){const n=yield lv();e instanceof n&&!(r!=null&&r.noResolveJson)?e.json().then(s=>{const i=e.status||500,a=(s==null?void 0:s.statusCode)||i+"";t(new Np(Ga(s),i,a))}).catch(s=>{t(new Mi(Ga(s),s))}):t(new Mi(Ga(e),e))}),hv=(e,t,r,n)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"||!n?s:(uv(n)?(s.headers=Object.assign({"Content-Type":"application/json"},t==null?void 0:t.headers),s.body=JSON.stringify(n)):s.body=n,t!=null&&t.duplex&&(s.duplex=t.duplex),Object.assign(Object.assign({},s),r))};function gs(e,t,r,n,s,i){return R(this,void 0,void 0,function*(){return new Promise((a,o)=>{e(r,hv(t,n,s,i)).then(l=>{if(!l.ok)throw l;return n!=null&&n.noResolveJson?l:l.json()}).then(l=>a(l)).catch(l=>dv(l,o,n))})})}function as(e,t,r,n){return R(this,void 0,void 0,function*(){return gs(e,"GET",t,r,n)})}function at(e,t,r,n,s){return R(this,void 0,void 0,function*(){return gs(e,"POST",t,n,s,r)})}function ul(e,t,r,n,s){return R(this,void 0,void 0,function*(){return gs(e,"PUT",t,n,s,r)})}function fv(e,t,r,n){return R(this,void 0,void 0,function*(){return gs(e,"HEAD",t,Object.assign(Object.assign({},r),{noResolveJson:!0}),n)})}function pu(e,t,r,n,s){return R(this,void 0,void 0,function*(){return gs(e,"DELETE",t,n,s,r)})}class pv{constructor(t,r){this.downloadFn=t,this.shouldThrowOnError=r}then(t,r){return this.execute().then(t,r)}execute(){return R(this,void 0,void 0,function*(){try{return{data:(yield this.downloadFn()).body,error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(ee(t))return{data:null,error:t};throw t}})}}var Tp;class gv{constructor(t,r){this.downloadFn=t,this.shouldThrowOnError=r,this[Tp]="BlobDownloadBuilder",this.promise=null}asStream(){return new pv(this.downloadFn,this.shouldThrowOnError)}then(t,r){return this.getPromise().then(t,r)}catch(t){return this.getPromise().catch(t)}finally(t){return this.getPromise().finally(t)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}execute(){return R(this,void 0,void 0,function*(){try{return{data:yield(yield this.downloadFn()).blob(),error:null}}catch(t){if(this.shouldThrowOnError)throw t;if(ee(t))return{data:null,error:t};throw t}})}}Tp=Symbol.toStringTag;const mv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Wc={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class yv{constructor(t,r={},n,s){this.shouldThrowOnError=!1,this.url=t,this.headers=r,this.bucketId=n,this.fetch=fu(s)}throwOnError(){return this.shouldThrowOnError=!0,this}uploadOrUpdate(t,r,n,s){return R(this,void 0,void 0,function*(){try{let i;const a=Object.assign(Object.assign({},Wc),s);let o=Object.assign(Object.assign({},this.headers),t==="POST"&&{"x-upsert":String(a.upsert)});const l=a.metadata;typeof Blob<"u"&&n instanceof Blob?(i=new FormData,i.append("cacheControl",a.cacheControl),l&&i.append("metadata",this.encodeMetadata(l)),i.append("",n)):typeof FormData<"u"&&n instanceof FormData?(i=n,i.has("cacheControl")||i.append("cacheControl",a.cacheControl),l&&!i.has("metadata")&&i.append("metadata",this.encodeMetadata(l))):(i=n,o["cache-control"]=`max-age=${a.cacheControl}`,o["content-type"]=a.contentType,l&&(o["x-metadata"]=this.toBase64(this.encodeMetadata(l))),(typeof ReadableStream<"u"&&i instanceof ReadableStream||i&&typeof i=="object"&&"pipe"in i&&typeof i.pipe=="function")&&!a.duplex&&(a.duplex="half")),s!=null&&s.headers&&(o=Object.assign(Object.assign({},o),s.headers));const c=this._removeEmptyFolders(r),d=this._getFinalPath(c),h=yield(t=="PUT"?ul:at)(this.fetch,`${this.url}/object/${d}`,i,Object.assign({headers:o},a!=null&&a.duplex?{duplex:a.duplex}:{}));return{data:{path:c,id:h.Id,fullPath:h.Key},error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(ee(i))return{data:null,error:i};throw i}})}upload(t,r,n){return R(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",t,r,n)})}uploadToSignedUrl(t,r,n,s){return R(this,void 0,void 0,function*(){const i=this._removeEmptyFolders(t),a=this._getFinalPath(i),o=new URL(this.url+`/object/upload/sign/${a}`);o.searchParams.set("token",r);try{let l;const c=Object.assign({upsert:Wc.upsert},s),d=Object.assign(Object.assign({},this.headers),{"x-upsert":String(c.upsert)});typeof Blob<"u"&&n instanceof Blob?(l=new FormData,l.append("cacheControl",c.cacheControl),l.append("",n)):typeof FormData<"u"&&n instanceof FormData?(l=n,l.append("cacheControl",c.cacheControl)):(l=n,d["cache-control"]=`max-age=${c.cacheControl}`,d["content-type"]=c.contentType);const h=yield ul(this.fetch,o.toString(),l,{headers:d});return{data:{path:i,fullPath:h.Key},error:null}}catch(l){if(this.shouldThrowOnError)throw l;if(ee(l))return{data:null,error:l};throw l}})}createSignedUploadUrl(t,r){return R(this,void 0,void 0,function*(){try{let n=this._getFinalPath(t);const s=Object.assign({},this.headers);r!=null&&r.upsert&&(s["x-upsert"]="true");const i=yield at(this.fetch,`${this.url}/object/upload/sign/${n}`,{},{headers:s}),a=new URL(this.url+i.url),o=a.searchParams.get("token");if(!o)throw new ps("No token returned by API");return{data:{signedUrl:a.toString(),path:t,token:o},error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(ee(n))return{data:null,error:n};throw n}})}update(t,r,n){return R(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",t,r,n)})}move(t,r,n){return R(this,void 0,void 0,function*(){try{return{data:yield at(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:t,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}copy(t,r,n){return R(this,void 0,void 0,function*(){try{return{data:{path:(yield at(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:t,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers})).Key},error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}createSignedUrl(t,r,n){return R(this,void 0,void 0,function*(){try{let s=this._getFinalPath(t),i=yield at(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:r},n!=null&&n.transform?{transform:n.transform}:{}),{headers:this.headers});const a=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${a}`)},{data:i,error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}createSignedUrls(t,r,n){return R(this,void 0,void 0,function*(){try{const s=yield at(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:r,paths:t},{headers:this.headers}),i=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{data:s.map(a=>Object.assign(Object.assign({},a),{signedUrl:a.signedURL?encodeURI(`${this.url}${a.signedURL}${i}`):null})),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}download(t,r){const s=typeof(r==null?void 0:r.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((r==null?void 0:r.transform)||{}),a=i?`?${i}`:"",o=this._getFinalPath(t),l=()=>as(this.fetch,`${this.url}/${s}/${o}${a}`,{headers:this.headers,noResolveJson:!0});return new gv(l,this.shouldThrowOnError)}info(t){return R(this,void 0,void 0,function*(){const r=this._getFinalPath(t);try{const n=yield as(this.fetch,`${this.url}/object/info/${r}`,{headers:this.headers});return{data:ll(n),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(ee(n))return{data:null,error:n};throw n}})}exists(t){return R(this,void 0,void 0,function*(){const r=this._getFinalPath(t);try{return yield fv(this.fetch,`${this.url}/object/${r}`,{headers:this.headers}),{data:!0,error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(ee(n)&&n instanceof Mi){const s=n.originalError;if([400,404].includes(s==null?void 0:s.status))return{data:!1,error:n}}throw n}})}getPublicUrl(t,r){const n=this._getFinalPath(t),s=[],i=r!=null&&r.download?`download=${r.download===!0?"":r.download}`:"";i!==""&&s.push(i);const o=typeof(r==null?void 0:r.transform)<"u"?"render/image":"object",l=this.transformOptsToQueryString((r==null?void 0:r.transform)||{});l!==""&&s.push(l);let c=s.join("&");return c!==""&&(c=`?${c}`),{data:{publicUrl:encodeURI(`${this.url}/${o}/public/${n}${c}`)}}}remove(t){return R(this,void 0,void 0,function*(){try{return{data:yield pu(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:t},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}list(t,r,n){return R(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},mv),r),{prefix:t||""});return{data:yield at(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},n),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}listV2(t,r){return R(this,void 0,void 0,function*(){try{const n=Object.assign({},t);return{data:yield at(this.fetch,`${this.url}/object/list-v2/${this.bucketId}`,n,{headers:this.headers},r),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(ee(n))return{data:null,error:n};throw n}})}encodeMetadata(t){return JSON.stringify(t)}toBase64(t){return typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t)}_getFinalPath(t){return`${this.bucketId}/${t.replace(/^\/+/,"")}`}_removeEmptyFolders(t){return t.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(t){const r=[];return t.width&&r.push(`width=${t.width}`),t.height&&r.push(`height=${t.height}`),t.resize&&r.push(`resize=${t.resize}`),t.format&&r.push(`format=${t.format}`),t.quality&&r.push(`quality=${t.quality}`),r.join("&")}}const Pp="2.86.2",Cp={"X-Client-Info":`storage-js/${Pp}`};class vv{constructor(t,r={},n,s){this.shouldThrowOnError=!1;const i=new URL(t);s!=null&&s.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes("storage.supabase.")&&(i.hostname=i.hostname.replace("supabase.","storage.supabase.")),this.url=i.href.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},Cp),r),this.fetch=fu(n)}throwOnError(){return this.shouldThrowOnError=!0,this}listBuckets(t){return R(this,void 0,void 0,function*(){try{const r=this.listBucketOptionsToQueryString(t);return{data:yield as(this.fetch,`${this.url}/bucket${r}`,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}getBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield as(this.fetch,`${this.url}/bucket/${t}`,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}createBucket(t){return R(this,arguments,void 0,function*(r,n={public:!1}){try{return{data:yield at(this.fetch,`${this.url}/bucket`,{id:r,name:r,type:n.type,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(ee(s))return{data:null,error:s};throw s}})}updateBucket(t,r){return R(this,void 0,void 0,function*(){try{return{data:yield ul(this.fetch,`${this.url}/bucket/${t}`,{id:t,name:t,public:r.public,file_size_limit:r.fileSizeLimit,allowed_mime_types:r.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(ee(n))return{data:null,error:n};throw n}})}emptyBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield at(this.fetch,`${this.url}/bucket/${t}/empty`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}deleteBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield pu(this.fetch,`${this.url}/bucket/${t}`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}listBucketOptionsToQueryString(t){const r={};return t&&("limit"in t&&(r.limit=String(t.limit)),"offset"in t&&(r.offset=String(t.offset)),t.search&&(r.search=t.search),t.sortColumn&&(r.sortColumn=t.sortColumn),t.sortOrder&&(r.sortOrder=t.sortOrder)),Object.keys(r).length>0?"?"+new URLSearchParams(r).toString():""}}var os=class extends Error{constructor(e,t){var r;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((r=t.icebergType)==null?void 0:r.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function wv(e,t,r){const n=new URL(t,e);if(r)for(const[s,i]of Object.entries(r))i!==void 0&&n.searchParams.set(s,i);return n.toString()}async function bv(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function _v(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:r,path:n,query:s,body:i,headers:a}){const o=wv(e.baseUrl,n,s),l=await bv(e.auth),c=await t(o,{method:r,headers:{...i?{"Content-Type":"application/json"}:{},...l,...a},body:i?JSON.stringify(i):void 0}),d=await c.text(),h=(c.headers.get("content-type")||"").includes("application/json"),f=h&&d?JSON.parse(d):d;if(!c.ok){const g=h?f:void 0,w=g==null?void 0:g.error;throw new os((w==null?void 0:w.message)??`Request failed with status ${c.status}`,{status:c.status,icebergType:w==null?void 0:w.type,icebergCode:w==null?void 0:w.code,details:g})}return{status:c.status,headers:c.headers,data:f}}}}function Fs(e){return e.join("")}var xv=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:Fs(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(n=>({namespace:n}))}async createNamespace(e,t){const r={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Fs(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Fs(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Fs(e.namespace)}`}),!0}catch(t){if(t instanceof os&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(r){if(r instanceof os&&r.status===409)return;throw r}}};function Pr(e){return e.join("")}var kv=class{constructor(e,t="",r){this.client=e,this.prefix=t,this.accessDelegation=r}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables`,body:t,headers:r})).data.metadata}async updateTable(e,t){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Pr(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(r){if(r instanceof os&&r.status===404)return!1;throw r}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(r){if(r instanceof os&&r.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw r}}},Sv=class{constructor(e){var n;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const r=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=_v({baseUrl:r,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(n=e.accessDelegation)==null?void 0:n.join(","),this.namespaceOps=new xv(this.client,t),this.tableOps=new kv(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};class Ap{constructor(t,r={},n){this.shouldThrowOnError=!1,this.url=t.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},Cp),r),this.fetch=fu(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield at(this.fetch,`${this.url}/bucket`,{name:t},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}listBuckets(t){return R(this,void 0,void 0,function*(){try{const r=new URLSearchParams;(t==null?void 0:t.limit)!==void 0&&r.set("limit",t.limit.toString()),(t==null?void 0:t.offset)!==void 0&&r.set("offset",t.offset.toString()),t!=null&&t.sortColumn&&r.set("sortColumn",t.sortColumn),t!=null&&t.sortOrder&&r.set("sortOrder",t.sortOrder),t!=null&&t.search&&r.set("search",t.search);const n=r.toString(),s=n?`${this.url}/bucket?${n}`:`${this.url}/bucket`;return{data:yield as(this.fetch,s,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}deleteBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield pu(this.fetch,`${this.url}/bucket/${t}`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(ee(r))return{data:null,error:r};throw r}})}from(t){if(!cv(t))throw new ps("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");return new Sv({baseUrl:this.url,catalogName:t,auth:{type:"custom",getHeaders:()=>R(this,void 0,void 0,function*(){return this.headers})},fetch:this.fetch})}}const gu={"X-Client-Info":`storage-js/${Pp}`,"Content-Type":"application/json"};class mu extends Error{constructor(t){super(t),this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}}function $e(e){return typeof e=="object"&&e!==null&&"__isStorageVectorsError"in e}class oi extends mu{constructor(t,r,n){super(t),this.name="StorageVectorsApiError",this.status=r,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class Op extends mu{constructor(t,r){super(t),this.name="StorageVectorsUnknownError",this.originalError=r}}var cl;(function(e){e.InternalError="InternalError",e.S3VectorConflictException="S3VectorConflictException",e.S3VectorNotFoundException="S3VectorNotFoundException",e.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",e.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",e.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded"})(cl||(cl={}));const da=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),Ev=()=>Response,Rp=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},jv=e=>Array.from(new Float32Array(e)),Nv=(e,t)=>{if(t!==void 0&&e.float32.length!==t)throw new Error(`Vector dimension mismatch: expected ${t}, got ${e.float32.length}`)},Hc=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),Tv=(e,t,r)=>R(void 0,void 0,void 0,function*(){if(e&&typeof e=="object"&&"status"in e&&"ok"in e&&typeof e.status=="number"&&!(r!=null&&r.noResolveJson)){const s=e.status||500,i=e;if(typeof i.json=="function")i.json().then(a=>{const o=(a==null?void 0:a.statusCode)||(a==null?void 0:a.code)||s+"";t(new oi(Hc(a),s,o))}).catch(()=>{const a=s+"",o=i.statusText||`HTTP ${s} error`;t(new oi(o,s,a))});else{const a=s+"",o=i.statusText||`HTTP ${s} error`;t(new oi(o,s,a))}}else t(new Op(Hc(e),e))}),Pv=(e,t,r,n)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return n?(Rp(n)?(s.headers=Object.assign({"Content-Type":"application/json"},t==null?void 0:t.headers),s.body=JSON.stringify(n)):s.body=n,Object.assign(Object.assign({},s),r)):s};function Cv(e,t,r,n,s,i){return R(this,void 0,void 0,function*(){return new Promise((a,o)=>{e(r,Pv(t,n,s,i)).then(l=>{if(!l.ok)throw l;if(n!=null&&n.noResolveJson)return l;const c=l.headers.get("content-type");return!c||!c.includes("application/json")?{}:l.json()}).then(l=>a(l)).catch(l=>Tv(l,o,n))})})}function Fe(e,t,r,n,s){return R(this,void 0,void 0,function*(){return Cv(e,"POST",t,n,s,r)})}class Ip{constructor(t,r={},n){this.shouldThrowOnError=!1,this.url=t.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},gu),r),this.fetch=da(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createIndex(t){return R(this,void 0,void 0,function*(){try{return{data:(yield Fe(this.fetch,`${this.url}/CreateIndex`,t,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}getIndex(t,r){return R(this,void 0,void 0,function*(){try{return{data:yield Fe(this.fetch,`${this.url}/GetIndex`,{vectorBucketName:t,indexName:r},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if($e(n))return{data:null,error:n};throw n}})}listIndexes(t){return R(this,void 0,void 0,function*(){try{return{data:yield Fe(this.fetch,`${this.url}/ListIndexes`,t,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}deleteIndex(t,r){return R(this,void 0,void 0,function*(){try{return{data:(yield Fe(this.fetch,`${this.url}/DeleteIndex`,{vectorBucketName:t,indexName:r},{headers:this.headers}))||{},error:null}}catch(n){if(this.shouldThrowOnError)throw n;if($e(n))return{data:null,error:n};throw n}})}}class $p{constructor(t,r={},n){this.shouldThrowOnError=!1,this.url=t.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},gu),r),this.fetch=da(n)}throwOnError(){return this.shouldThrowOnError=!0,this}putVectors(t){return R(this,void 0,void 0,function*(){try{if(t.vectors.length<1||t.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return{data:(yield Fe(this.fetch,`${this.url}/PutVectors`,t,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}getVectors(t){return R(this,void 0,void 0,function*(){try{return{data:yield Fe(this.fetch,`${this.url}/GetVectors`,t,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}listVectors(t){return R(this,void 0,void 0,function*(){try{if(t.segmentCount!==void 0){if(t.segmentCount<1||t.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(t.segmentIndex!==void 0&&(t.segmentIndex<0||t.segmentIndex>=t.segmentCount))throw new Error(`segmentIndex must be between 0 and ${t.segmentCount-1}`)}return{data:yield Fe(this.fetch,`${this.url}/ListVectors`,t,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}queryVectors(t){return R(this,void 0,void 0,function*(){try{return{data:yield Fe(this.fetch,`${this.url}/QueryVectors`,t,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}deleteVectors(t){return R(this,void 0,void 0,function*(){try{if(t.keys.length<1||t.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return{data:(yield Fe(this.fetch,`${this.url}/DeleteVectors`,t,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}}class Dp{constructor(t,r={},n){this.shouldThrowOnError=!1,this.url=t.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},gu),r),this.fetch=da(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(t){return R(this,void 0,void 0,function*(){try{return{data:(yield Fe(this.fetch,`${this.url}/CreateVectorBucket`,{vectorBucketName:t},{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}getBucket(t){return R(this,void 0,void 0,function*(){try{return{data:yield Fe(this.fetch,`${this.url}/GetVectorBucket`,{vectorBucketName:t},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}listBuckets(){return R(this,arguments,void 0,function*(t={}){try{return{data:yield Fe(this.fetch,`${this.url}/ListVectorBuckets`,t,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}deleteBucket(t){return R(this,void 0,void 0,function*(){try{return{data:(yield Fe(this.fetch,`${this.url}/DeleteVectorBucket`,{vectorBucketName:t},{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if($e(r))return{data:null,error:r};throw r}})}}class Lp extends Dp{constructor(t,r={}){super(t,r.headers||{},r.fetch)}from(t){return new zp(this.url,this.headers,t,this.fetch)}createBucket(t){const r=Object.create(null,{createBucket:{get:()=>super.createBucket}});return R(this,void 0,void 0,function*(){return r.createBucket.call(this,t)})}getBucket(t){const r=Object.create(null,{getBucket:{get:()=>super.getBucket}});return R(this,void 0,void 0,function*(){return r.getBucket.call(this,t)})}listBuckets(){const t=Object.create(null,{listBuckets:{get:()=>super.listBuckets}});return R(this,arguments,void 0,function*(r={}){return t.listBuckets.call(this,r)})}deleteBucket(t){const r=Object.create(null,{deleteBucket:{get:()=>super.deleteBucket}});return R(this,void 0,void 0,function*(){return r.deleteBucket.call(this,t)})}}class zp extends Ip{constructor(t,r,n,s){super(t,r,s),this.vectorBucketName=n}createIndex(t){const r=Object.create(null,{createIndex:{get:()=>super.createIndex}});return R(this,void 0,void 0,function*(){return r.createIndex.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName}))})}listIndexes(){const t=Object.create(null,{listIndexes:{get:()=>super.listIndexes}});return R(this,arguments,void 0,function*(r={}){return t.listIndexes.call(this,Object.assign(Object.assign({},r),{vectorBucketName:this.vectorBucketName}))})}getIndex(t){const r=Object.create(null,{getIndex:{get:()=>super.getIndex}});return R(this,void 0,void 0,function*(){return r.getIndex.call(this,this.vectorBucketName,t)})}deleteIndex(t){const r=Object.create(null,{deleteIndex:{get:()=>super.deleteIndex}});return R(this,void 0,void 0,function*(){return r.deleteIndex.call(this,this.vectorBucketName,t)})}index(t){return new Up(this.url,this.headers,this.vectorBucketName,t,this.fetch)}}class Up extends $p{constructor(t,r,n,s,i){super(t,r,i),this.vectorBucketName=n,this.indexName=s}putVectors(t){const r=Object.create(null,{putVectors:{get:()=>super.putVectors}});return R(this,void 0,void 0,function*(){return r.putVectors.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}getVectors(t){const r=Object.create(null,{getVectors:{get:()=>super.getVectors}});return R(this,void 0,void 0,function*(){return r.getVectors.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}listVectors(){const t=Object.create(null,{listVectors:{get:()=>super.listVectors}});return R(this,arguments,void 0,function*(r={}){return t.listVectors.call(this,Object.assign(Object.assign({},r),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}queryVectors(t){const r=Object.create(null,{queryVectors:{get:()=>super.queryVectors}});return R(this,void 0,void 0,function*(){return r.queryVectors.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}deleteVectors(t){const r=Object.create(null,{deleteVectors:{get:()=>super.deleteVectors}});return R(this,void 0,void 0,function*(){return r.deleteVectors.call(this,Object.assign(Object.assign({},t),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}}class Av extends vv{constructor(t,r={},n,s){super(t,r,n,s)}from(t){return new yv(this.url,this.headers,t,this.fetch)}get vectors(){return new Lp(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new Ap(this.url+"/iceberg",this.headers,this.fetch)}}const Ov=Object.freeze(Object.defineProperty({__proto__:null,StorageAnalyticsClient:Ap,StorageApiError:Np,StorageClient:Av,StorageError:ps,StorageUnknownError:Mi,StorageVectorsApiError:oi,StorageVectorsClient:Lp,StorageVectorsError:mu,get StorageVectorsErrorCode(){return cl},StorageVectorsUnknownError:Op,VectorBucketApi:Dp,VectorBucketScope:zp,VectorDataApi:$p,VectorIndexApi:Ip,VectorIndexScope:Up,isPlainObject:Rp,isStorageError:ee,isStorageVectorsError:$e,normalizeToFloat32:jv,resolveFetch:da,resolveResponse:Ev,validateVectorDimension:Nv},Symbol.toStringTag,{value:"Module"})),Rv=ls(Ov);var Mp={},ha={};Object.defineProperty(ha,"__esModule",{value:!0});ha.version=void 0;ha.version="2.86.2";(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_REALTIME_OPTIONS=e.DEFAULT_AUTH_OPTIONS=e.DEFAULT_DB_OPTIONS=e.DEFAULT_GLOBAL_OPTIONS=e.DEFAULT_HEADERS=void 0;const t=ha;let r="";typeof Deno<"u"?r="deno":typeof document<"u"?r="web":typeof navigator<"u"&&navigator.product==="ReactNative"?r="react-native":r="node",e.DEFAULT_HEADERS={"X-Client-Info":`supabase-js-${r}/${t.version}`},e.DEFAULT_GLOBAL_OPTIONS={headers:e.DEFAULT_HEADERS},e.DEFAULT_DB_OPTIONS={schema:"public"},e.DEFAULT_AUTH_OPTIONS={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},e.DEFAULT_REALTIME_OPTIONS={}})(Mp);var Bp={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fetchWithAuth=e.resolveHeadersConstructor=e.resolveFetch=void 0;const t=s=>s?(...i)=>s(...i):(...i)=>fetch(...i);e.resolveFetch=t;const r=()=>Headers;e.resolveHeadersConstructor=r;const n=(s,i,a)=>{const o=(0,e.resolveFetch)(a),l=(0,e.resolveHeadersConstructor)();return async(c,d)=>{var h;const f=(h=await i())!==null&&h!==void 0?h:s;let g=new l(d==null?void 0:d.headers);return g.has("apikey")||g.set("apikey",s),g.has("Authorization")||g.set("Authorization",`Bearer ${f}`),o(c,Object.assign(Object.assign({},d),{headers:g}))}};e.fetchWithAuth=n})(Bp);var nr={};Object.defineProperty(nr,"__esModule",{value:!0});nr.isBrowser=void 0;nr.uuid=Iv;nr.ensureTrailingSlash=Fp;nr.applySettingDefaults=Dv;nr.validateSupabaseUrl=Lv;function Iv(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=Math.random()*16|0,r=e=="x"?t:t&3|8;return r.toString(16)})}function Fp(e){return e.endsWith("/")?e:e+"/"}const $v=()=>typeof window<"u";nr.isBrowser=$v;function Dv(e,t){var r,n;const{db:s,auth:i,realtime:a,global:o}=e,{db:l,auth:c,realtime:d,global:h}=t,f={db:Object.assign(Object.assign({},l),s),auth:Object.assign(Object.assign({},c),i),realtime:Object.assign(Object.assign({},d),a),storage:{},global:Object.assign(Object.assign(Object.assign({},h),o),{headers:Object.assign(Object.assign({},(r=h==null?void 0:h.headers)!==null&&r!==void 0?r:{}),(n=o==null?void 0:o.headers)!==null&&n!==void 0?n:{})}),accessToken:async()=>""};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function Lv(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Fp(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fa={};const Vp="2.86.2",Rr=30*1e3,dl=3,Ja=dl*Rr,zv="http://localhost:9999",Uv="supabase.auth.token",Mv={"X-Client-Info":`gotrue-js/${Vp}`},hl="X-Supabase-Api-Version",Wp={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Bv=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Fv=10*60*1e3;let dn=class extends Error{constructor(t,r,n){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=n}};function I(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}let Hp=class extends dn{constructor(t,r,n){super(t,r,n),this.name="AuthApiError",this.status=r,this.code=n}};function Kp(e){return I(e)&&e.name==="AuthApiError"}let Mt=class extends dn{constructor(t,r){super(t),this.name="AuthUnknownError",this.originalError=r}},Rt=class extends dn{constructor(t,r,n,s){super(t,n,s),this.name=r,this.status=n}},Re=class extends Rt{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}};function qp(e){return I(e)&&e.name==="AuthSessionMissingError"}let ur=class extends Rt{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}},An=class extends Rt{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}},On=class extends Rt{constructor(t,r=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}};function Gp(e){return I(e)&&e.name==="AuthImplicitGrantRedirectError"}let fl=class extends Rt{constructor(t,r=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}},Bi=class extends Rt{constructor(t,r){super(t,"AuthRetryableFetchError",r,void 0)}};function li(e){return I(e)&&e.name==="AuthRetryableFetchError"}let pl=class extends Rt{constructor(t,r,n){super(t,"AuthWeakPasswordError",r,"weak_password"),this.reasons=n}};function Vv(e){return I(e)&&e.name==="AuthWeakPasswordError"}let Fi=class extends Rt{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}};const Vi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Kc=` +\r=`.split(""),Wv=(()=>{const e=new Array(128);for(let t=0;t=6;){const n=t.queue>>t.queuedBits-6&63;r(Vi[n]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const n=t.queue>>t.queuedBits-6&63;r(Vi[n]),t.queuedBits-=6}}function Jp(e,t,r){const n=Wv[e];if(n>-1)for(t.queue=t.queue<<6|n,t.queuedBits+=6;t.queuedBits>=8;)r(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(n===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function Gc(e){const t=[],r=a=>{t.push(String.fromCodePoint(a))},n={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},i=a=>{qv(a,n,r)};for(let a=0;a>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function Kv(e,t){for(let r=0;r55295&&n<=56319){const s=(n-55296)*1024&65535;n=(e.charCodeAt(r+1)-56320&65535|s)+65536,r+=1}Hv(n,t)}}function qv(e,t,r){if(t.utf8seq===0){if(e<=127){r(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&r(t.codepoint)}}function tn(e){const t=[],r={queue:0,queuedBits:0},n=s=>{t.push(s)};for(let s=0;st.push(r)),new Uint8Array(t)}function yr(e){const t=[],r={queue:0,queuedBits:0},n=s=>{t.push(s)};return e.forEach(s=>qc(s,r,n)),qc(null,r,n),t.join("")}function Jv(e){return Math.round(Date.now()/1e3)+e}function Qv(){return Symbol("auth-callback")}const ye=()=>typeof window<"u"&&typeof document<"u",ir={tested:!1,writable:!1},Qp=()=>{if(!ye())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(ir.tested)return ir.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),ir.tested=!0,ir.writable=!0}catch{ir.tested=!0,ir.writable=!1}return ir.writable};function Yv(e){const t={},r=new URL(e);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((s,i)=>{t[i]=s})}catch{}return r.searchParams.forEach((n,s)=>{t[s]=n}),t}const Yp=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),Xv=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",Ir=async(e,t,r)=>{await e.setItem(t,JSON.stringify(r))},ar=async(e,t)=>{const r=await e.getItem(t);if(!r)return null;try{return JSON.parse(r)}catch{return r}},me=async(e,t)=>{await e.removeItem(t)};class pa{constructor(){this.promise=new pa.promiseConstructor((t,r)=>{this.resolve=t,this.reject=r})}}pa.promiseConstructor=Promise;function Qa(e){const t=e.split(".");if(t.length!==3)throw new Fi("Invalid JWT structure");for(let n=0;n{setTimeout(()=>t(null),e)})}function ew(e,t){return new Promise((n,s)=>{(async()=>{for(let i=0;i<1/0;i++)try{const a=await e(i);if(!t(i,null,a)){n(a);return}}catch(a){if(!t(i,a)){s(a);return}}})()})}function tw(e){return("0"+e.toString(16)).substr(-2)}function rw(){const t=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=r.length;let s="";for(let i=0;i<56;i++)s+=r.charAt(Math.floor(Math.random()*n));return s}return crypto.getRandomValues(t),Array.from(t,tw).join("")}async function nw(e){const r=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",r),s=new Uint8Array(n);return Array.from(s).map(i=>String.fromCharCode(i)).join("")}async function sw(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const r=await nw(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Cr(e,t,r=!1){const n=rw();let s=n;r&&(s+="/PASSWORD_RECOVERY"),await Ir(e,`${t}-code-verifier`,s);const i=await sw(n);return[i,n===i?"plain":"s256"]}const iw=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function aw(e){const t=e.headers.get(hl);if(!t||!t.match(iw))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function ow(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function lw(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const uw=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ar(e){if(!uw.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Ya(){const e={};return new Proxy(e,{get:(t,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const n=r.toString();if(n==="Symbol(Symbol.toPrimitive)"||n==="Symbol(Symbol.toStringTag)"||n==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function cw(e,t){return new Proxy(e,{get:(r,n,s)=>{if(n==="__isInsecureUserWarningProxy")return!0;if(typeof n=="symbol"){const i=n.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="Symbol(util.inspect.custom)"||i==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(r,n,s)}return!t.value&&typeof n=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(r,n,s)}})}function Jc(e){return JSON.parse(JSON.stringify(e))}const cr=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),dw=[502,503,504];async function Qc(e){var t;if(!Xv(e))throw new Bi(cr(e),0);if(dw.includes(e.status))throw new Bi(cr(e),e.status);let r;try{r=await e.json()}catch(i){throw new Mt(cr(i),i)}let n;const s=aw(e);if(s&&s.getTime()>=Wp["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?n=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(n=r.error_code),n){if(n==="weak_password")throw new pl(cr(r),e.status,((t=r.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(n==="session_not_found")throw new Re}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((i,a)=>i&&typeof a=="string",!0))throw new pl(cr(r),e.status,r.weak_password.reasons);throw new Hp(cr(r),e.status||500,n)}const hw=(e,t,r,n)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),r))};async function D(e,t,r,n){var s;const i=Object.assign({},n==null?void 0:n.headers);i[hl]||(i[hl]=Wp["2024-01-01"].name),n!=null&&n.jwt&&(i.Authorization=`Bearer ${n.jwt}`);const a=(s=n==null?void 0:n.query)!==null&&s!==void 0?s:{};n!=null&&n.redirectTo&&(a.redirect_to=n.redirectTo);const o=Object.keys(a).length?"?"+new URLSearchParams(a).toString():"",l=await fw(e,t,r+o,{headers:i,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(l):{data:Object.assign({},l),error:null}}async function fw(e,t,r,n,s,i){const a=hw(t,n,s,i);let o;try{o=await e(r,Object.assign({},a))}catch(l){throw console.error(l),new Bi(cr(l),0)}if(o.ok||await Qc(o),n!=null&&n.noResolveJson)return o;try{return await o.json()}catch(l){await Qc(l)}}function st(e){var t;let r=null;mw(e)&&(r=Object.assign({},e),e.expires_at||(r.expires_at=Jv(e.expires_in)));const n=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:r,user:n},error:null}}function Yc(e){const t=st(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((r,n)=>r&&typeof n=="string",!0)&&(t.data.weak_password=e.weak_password),t}function Bt(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function pw(e){return{data:e,error:null}}function gw(e){const{action_link:t,email_otp:r,hashed_token:n,redirect_to:s,verification_type:i}=e,a=mn(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),o={action_link:t,email_otp:r,hashed_token:n,redirect_to:s,verification_type:i},l=Object.assign({},a);return{data:{properties:o,user:l},error:null}}function Xc(e){return e}function mw(e){return e.access_token&&e.refresh_token&&e.expires_in}const ui=["global","local","others"];let yu=class{constructor({url:t="",headers:r={},fetch:n}){this.url=t,this.headers=r,this.fetch=Yp(n),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(t,r=ui[0]){if(ui.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${ui.join(", ")}`);try{return await D(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(n){if(I(n))return{data:null,error:n};throw n}}async inviteUserByEmail(t,r={}){try{return await D(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:Bt})}catch(n){if(I(n))return{data:{user:null},error:n};throw n}}async generateLink(t){try{const{options:r}=t,n=mn(t,["options"]),s=Object.assign(Object.assign({},n),r);return"newEmail"in n&&(s.new_email=n==null?void 0:n.newEmail,delete s.newEmail),await D(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:gw,redirectTo:r==null?void 0:r.redirectTo})}catch(r){if(I(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(t){try{return await D(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:Bt})}catch(r){if(I(r))return{data:{user:null},error:r};throw r}}async listUsers(t){var r,n,s,i,a,o,l;try{const c={nextPage:null,lastPage:0,total:0},d=await D(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(r=t==null?void 0:t.page)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Xc});if(d.error)throw d.error;const h=await d.json(),f=(a=d.headers.get("x-total-count"))!==null&&a!==void 0?a:0,g=(l=(o=d.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return g.length>0&&(g.forEach(w=>{const v=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(w.split(";")[1].split("=")[1]);c[`${b}Page`]=v}),c.total=parseInt(f)),{data:Object.assign(Object.assign({},h),c),error:null}}catch(c){if(I(c))return{data:{users:[]},error:c};throw c}}async getUserById(t){Ar(t);try{return await D(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:Bt})}catch(r){if(I(r))return{data:{user:null},error:r};throw r}}async updateUserById(t,r){Ar(t);try{return await D(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:r,headers:this.headers,xform:Bt})}catch(n){if(I(n))return{data:{user:null},error:n};throw n}}async deleteUser(t,r=!1){Ar(t);try{return await D(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:r},xform:Bt})}catch(n){if(I(n))return{data:{user:null},error:n};throw n}}async _listFactors(t){Ar(t.userId);try{const{data:r,error:n}=await D(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:r,error:n}}catch(r){if(I(r))return{data:null,error:r};throw r}}async _deleteFactor(t){Ar(t.userId),Ar(t.id);try{return{data:await D(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(r){if(I(r))return{data:null,error:r};throw r}}async _listOAuthClients(t){var r,n,s,i,a,o,l;try{const c={nextPage:null,lastPage:0,total:0},d=await D(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(r=t==null?void 0:t.page)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:Xc});if(d.error)throw d.error;const h=await d.json(),f=(a=d.headers.get("x-total-count"))!==null&&a!==void 0?a:0,g=(l=(o=d.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return g.length>0&&(g.forEach(w=>{const v=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(w.split(";")[1].split("=")[1]);c[`${b}Page`]=v}),c.total=parseInt(f)),{data:Object.assign(Object.assign({},h),c),error:null}}catch(c){if(I(c))return{data:{clients:[]},error:c};throw c}}async _createOAuthClient(t){try{return await D(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(I(r))return{data:null,error:r};throw r}}async _getOAuthClient(t){try{return await D(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(I(r))return{data:null,error:r};throw r}}async _updateOAuthClient(t,r){try{return await D(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:r,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(I(n))return{data:null,error:n};throw n}}async _deleteOAuthClient(t){try{return await D(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(I(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(t){try{return await D(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(I(r))return{data:null,error:r};throw r}}};function Zc(e={}){return{getItem:t=>e[t]||null,setItem:(t,r)=>{e[t]=r},removeItem:t=>{delete e[t]}}}const dr={debug:!!(globalThis&&Qp()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class vu extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}let Xp=class extends vu{};class yw extends vu{}async function Zp(e,t,r){dr.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const n=new globalThis.AbortController;return t>0&&setTimeout(()=>{n.abort(),dr.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async s=>{if(s){dr.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,s.name);try{return await r()}finally{dr.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,s.name)}}else{if(t===0)throw dr.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new Xp(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(dr.debug)try{const i=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(i,null," "))}catch(i){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",i)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await r()}}))}const ed={};async function vw(e,t,r){var n;const s=(n=ed[e])!==null&&n!==void 0?n:Promise.resolve(),i=Promise.race([s.catch(()=>null),t>=0?new Promise((a,o)=>{setTimeout(()=>{o(new yw(`Acquring process lock with name "${e}" timed out`))},t)}):null].filter(a=>a)).catch(a=>{if(a&&a.isAcquireTimeout)throw a;return null}).then(async()=>await r());return ed[e]=i.catch(async a=>{if(a&&a.isAcquireTimeout)return await s,null;throw a}),await i}function ww(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function eg(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function bw(e){return parseInt(e,16)}function _w(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}function xw(e){var t;const{chainId:r,domain:n,expirationTime:s,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:l,resources:c,scheme:d,uri:h,version:f}=e;{if(!Number.isInteger(r))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${r}`);if(!n)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(a&&a.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!h)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(f!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${f}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(` +`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const g=eg(e.address),w=d?`${d}://${n}`:n,v=e.statement?`${e.statement} +`:"",b=`${w} wants you to sign in with your Ethereum account: +${g} + +${v}`;let y=`URI: ${h} +Version: ${f} +Chain ID: ${r}${a?` +Nonce: ${a}`:""} +Issued At: ${i.toISOString()}`;if(s&&(y+=` +Expiration Time: ${s.toISOString()}`),o&&(y+=` +Not Before: ${o.toISOString()}`),l&&(y+=` +Request ID: ${l}`),c){let m=` +Resources:`;for(const p of c){if(!p||typeof p!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${p}`);m+=` +- ${p}`}y+=m}return`${b} +${y}`}class ue extends Error{constructor({message:t,code:r,cause:n,name:s}){var i;super(t,{cause:n}),this.__isWebAuthnError=!0,this.name=(i=s??(n instanceof Error?n.name:void 0))!==null&&i!==void 0?i:"Unknown Error",this.code=r}}class Wi extends ue{constructor(t,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:t}),this.name="WebAuthnUnknownError",this.originalError=r}}function kw({error:e,options:t}){var r,n,s;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new ue({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((r=i.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new ue({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((n=i.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new ue({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((s=i.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new ue({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new ue({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new ue({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return i.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new ue({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new ue({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const a=window.location.hostname;if(tg(a)){if(i.rp.id!==a)return new ue({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new ue({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new ue({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function Sw({error:e,options:t}){const{publicKey:r}=t;if(!r)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new ue({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new ue({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const n=window.location.hostname;if(tg(n)){if(r.rpId!==n)return new ue({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new ue({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class Ew{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const jw=new Ew;function Nw(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:r,excludeCredentials:n}=e,s=mn(e,["challenge","user","excludeCredentials"]),i=tn(t).buffer,a=Object.assign(Object.assign({},r),{id:tn(r.id).buffer}),o=Object.assign(Object.assign({},s),{challenge:i,user:a});if(n&&n.length>0){o.excludeCredentials=new Array(n.length);for(let l=0;l0){i.allowCredentials=new Array(r.length);for(let a=0;as!==null&&typeof s=="object"&&!Array.isArray(s),r=s=>s instanceof ArrayBuffer||ArrayBuffer.isView(s),n={};for(const s of e)if(s)for(const i in s){const a=s[i];if(a!==void 0)if(Array.isArray(a))n[i]=a;else if(r(a))n[i]=a;else if(t(a)){const o=n[i];t(o)?n[i]=Hi(o,a):n[i]=Hi(a)}else n[i]=a}return n}function $w(e,t){return Hi(Rw,e,t||{})}function Dw(e,t){return Hi(Iw,e,t||{})}class Lw{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:r,friendlyName:n,signal:s},i){try{const{data:a,error:o}=await this.client.mfa.challenge({factorId:t,webauthn:r});if(!a)return{data:null,error:o};const l=s??jw.createNewAbortSignal();if(a.webauthn.type==="create"){const{user:c}=a.webauthn.credential_options.publicKey;c.name||(c.name=`${c.id}:${n}`),c.displayName||(c.displayName=c.name)}switch(a.webauthn.type){case"create":{const c=$w(a.webauthn.credential_options.publicKey,i==null?void 0:i.create),{data:d,error:h}=await Aw({publicKey:c,signal:l});return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}case"request":{const c=Dw(a.webauthn.credential_options.publicKey,i==null?void 0:i.request),{data:d,error:h}=await Ow(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:c,signal:l}));return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}}}catch(a){return I(a)?{data:null,error:a}:{data:null,error:new Mt("Unexpected error in challenge",a)}}}async _verify({challengeId:t,factorId:r,webauthn:n}){return this.client.mfa.verify({factorId:r,challengeId:t,webauthn:n})}async _authenticate({factorId:t,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!r)return{data:null,error:new dn("rpId is required for WebAuthn authentication")};try{if(!td())return{data:null,error:new Mt("Browser does not support WebAuthn",null)};const{data:a,error:o}=await this.challenge({factorId:t,webauthn:{rpId:r,rpOrigins:n},signal:s},{request:i});if(!a)return{data:null,error:o};const{webauthn:l}=a;return this._verify({factorId:t,challengeId:a.challengeId,webauthn:{type:l.type,rpId:r,rpOrigins:n,credential_response:l.credential_response}})}catch(a){return I(a)?{data:null,error:a}:{data:null,error:new Mt("Unexpected error in authenticate",a)}}}async _register({friendlyName:t,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!r)return{data:null,error:new dn("rpId is required for WebAuthn registration")};try{if(!td())return{data:null,error:new Mt("Browser does not support WebAuthn",null)};const{data:a,error:o}=await this._enroll({friendlyName:t});if(!a)return await this.client.mfa.listFactors().then(d=>{var h;return(h=d.data)===null||h===void 0?void 0:h.all.find(f=>f.factor_type==="webauthn"&&f.friendly_name===t&&f.status!=="unverified")}).then(d=>d?this.client.mfa.unenroll({factorId:d==null?void 0:d.id}):void 0),{data:null,error:o};const{data:l,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:r,rpOrigins:n},signal:s},{create:i});return l?this._verify({factorId:a.id,challengeId:l.challengeId,webauthn:{rpId:r,rpOrigins:n,type:l.webauthn.type,credential_response:l.webauthn.credential_response}}):{data:null,error:c}}catch(a){return I(a)?{data:null,error:a}:{data:null,error:new Mt("Unexpected error in register",a)}}}}ww();const zw={url:zv,storageKey:Uv,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Mv,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1};async function rd(e,t,r){return await r()}const Or={};let wu=class gl{get jwks(){var t,r;return(r=(t=Or[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(t){Or[this.storageKey]=Object.assign(Object.assign({},Or[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,r;return(r=(t=Or[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){Or[this.storageKey]=Object.assign(Object.assign({},Or[this.storageKey]),{cachedAt:t})}constructor(t){var r,n,s;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const i=Object.assign(Object.assign({},zw),t);if(this.storageKey=i.storageKey,this.instanceID=(r=gl.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,gl.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!i.debug,typeof i.debug=="function"&&(this.logger=i.debug),this.instanceID>0&&ye()){const a=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(a),this.logDebugMessages&&console.trace(a)}if(this.persistSession=i.persistSession,this.autoRefreshToken=i.autoRefreshToken,this.admin=new yu({url:i.url,headers:i.headers,fetch:i.fetch}),this.url=i.url,this.headers=i.headers,this.fetch=Yp(i.fetch),this.lock=i.lock||rd,this.detectSessionInUrl=i.detectSessionInUrl,this.flowType=i.flowType,this.hasCustomAuthorizationHeader=i.hasCustomAuthorizationHeader,this.throwOnError=i.throwOnError,i.lock?this.lock=i.lock:ye()&&(!((n=globalThis==null?void 0:globalThis.navigator)===null||n===void 0)&&n.locks)?this.lock=Zp:this.lock=rd,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Lw(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(i.storage?this.storage=i.storage:Qp()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Zc(this.memoryStorage)),i.userStorage&&(this.userStorage=i.userStorage)):(this.memoryStorage={},this.storage=Zc(this.memoryStorage)),ye()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(a){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",a)}(s=this.broadcastChannel)===null||s===void 0||s.addEventListener("message",async a=>{this._debug("received broadcast notification from other tab or client",a),await this._notifyAllSubscribers(a.data.event,a.data.session,!1)})}this.initialize()}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Vp}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let r={},n="none";if(ye()&&(r=Yv(window.location.href),this._isImplicitGrantCallback(r)?n="implicit":await this._isPKCECallback(r)&&(n="pkce")),ye()&&this.detectSessionInUrl&&n!=="none"){const{data:s,error:i}=await this._getSessionFromURL(r,n);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),Gp(i)){const l=(t=i.details)===null||t===void 0?void 0:t.code;if(l==="identity_already_exists"||l==="identity_not_found"||l==="single_identity_not_deletable")return{error:i}}return await this._removeSession(),{error:i}}const{session:a,redirectType:o}=s;return this._debug("#_initialize()","detected session in URL",a,"redirect type",o),await this._saveSession(a),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",a):await this._notifyAllSubscribers("SIGNED_IN",a)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return I(r)?this._returnResult({error:r}):this._returnResult({error:new Mt("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var r,n,s;try{const i=await D(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(n=(r=t==null?void 0:t.options)===null||r===void 0?void 0:r.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}},xform:st}),{data:a,error:o}=i;if(o||!a)return this._returnResult({data:{user:null,session:null},error:o});const l=a.session,c=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(I(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signUp(t){var r,n,s;try{let i;if("email"in t){const{email:d,password:h,options:f}=t;let g=null,w=null;this.flowType==="pkce"&&([g,w]=await Cr(this.storage,this.storageKey)),i=await D(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:f==null?void 0:f.emailRedirectTo,body:{email:d,password:h,data:(r=f==null?void 0:f.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken},code_challenge:g,code_challenge_method:w},xform:st})}else if("phone"in t){const{phone:d,password:h,options:f}=t;i=await D(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:d,password:h,data:(n=f==null?void 0:f.data)!==null&&n!==void 0?n:{},channel:(s=f==null?void 0:f.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken}},xform:st})}else throw new An("You must provide either an email or phone number and a password");const{data:a,error:o}=i;if(o||!a)return await me(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:o});const l=a.session,c=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithPassword(t){try{let r;if("email"in t){const{email:i,password:a,options:o}=t;r=await D(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:a,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:Yc})}else if("phone"in t){const{phone:i,password:a,options:o}=t;r=await D(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:a,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:Yc})}else throw new An("You must provide either an email or phone number and a password");const{data:n,error:s}=r;if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!n||!n.session||!n.user){const i=new ur;return this._returnResult({data:{user:null,session:null},error:i})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:s})}catch(r){if(I(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(t){var r,n,s,i;return await this._handleProviderSignIn(t.provider,{redirectTo:(r=t.options)===null||r===void 0?void 0:r.redirectTo,scopes:(n=t.options)===null||n===void 0?void 0:n.scopes,queryParams:(s=t.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=t.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:r}=t;switch(r){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(t){var r,n,s,i,a,o,l,c,d,h,f;let g,w;if("message"in t)g=t.message,w=t.signature;else{const{chain:v,wallet:b,statement:y,options:m}=t;let p;if(ye())if(typeof b=="object")p=b;else{const T=window;if("ethereum"in T&&typeof T.ethereum=="object"&&"request"in T.ethereum&&typeof T.ethereum.request=="function")p=T.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof b!="object"||!(m!=null&&m.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");p=b}const _=new URL((r=m==null?void 0:m.url)!==null&&r!==void 0?r:window.location.href),x=await p.request({method:"eth_requestAccounts"}).then(T=>T).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!x||x.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const S=eg(x[0]);let E=(n=m==null?void 0:m.signInWithEthereum)===null||n===void 0?void 0:n.chainId;if(!E){const T=await p.request({method:"eth_chainId"});E=bw(T)}const k={domain:_.host,address:S,statement:y,uri:_.href,version:"1",chainId:E,nonce:(s=m==null?void 0:m.signInWithEthereum)===null||s===void 0?void 0:s.nonce,issuedAt:(a=(i=m==null?void 0:m.signInWithEthereum)===null||i===void 0?void 0:i.issuedAt)!==null&&a!==void 0?a:new Date,expirationTime:(o=m==null?void 0:m.signInWithEthereum)===null||o===void 0?void 0:o.expirationTime,notBefore:(l=m==null?void 0:m.signInWithEthereum)===null||l===void 0?void 0:l.notBefore,requestId:(c=m==null?void 0:m.signInWithEthereum)===null||c===void 0?void 0:c.requestId,resources:(d=m==null?void 0:m.signInWithEthereum)===null||d===void 0?void 0:d.resources};g=xw(k),w=await p.request({method:"personal_sign",params:[_w(g),S]})}try{const{data:v,error:b}=await D(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:g,signature:w},!((h=t.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(f=t.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:st});if(b)throw b;if(!v||!v.session||!v.user){const y=new ur;return this._returnResult({data:{user:null,session:null},error:y})}return v.session&&(await this._saveSession(v.session),await this._notifyAllSubscribers("SIGNED_IN",v.session)),this._returnResult({data:Object.assign({},v),error:b})}catch(v){if(I(v))return this._returnResult({data:{user:null,session:null},error:v});throw v}}async signInWithSolana(t){var r,n,s,i,a,o,l,c,d,h,f,g;let w,v;if("message"in t)w=t.message,v=t.signature;else{const{chain:b,wallet:y,statement:m,options:p}=t;let _;if(ye())if(typeof y=="object")_=y;else{const S=window;if("solana"in S&&typeof S.solana=="object"&&("signIn"in S.solana&&typeof S.solana.signIn=="function"||"signMessage"in S.solana&&typeof S.solana.signMessage=="function"))_=S.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof y!="object"||!(p!=null&&p.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");_=y}const x=new URL((r=p==null?void 0:p.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in _&&_.signIn){const S=await _.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},p==null?void 0:p.signInWithSolana),{version:"1",domain:x.host,uri:x.href}),m?{statement:m}:null));let E;if(Array.isArray(S)&&S[0]&&typeof S[0]=="object")E=S[0];else if(S&&typeof S=="object"&&"signedMessage"in S&&"signature"in S)E=S;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in E&&"signature"in E&&(typeof E.signedMessage=="string"||E.signedMessage instanceof Uint8Array)&&E.signature instanceof Uint8Array)w=typeof E.signedMessage=="string"?E.signedMessage:new TextDecoder().decode(E.signedMessage),v=E.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in _)||typeof _.signMessage!="function"||!("publicKey"in _)||typeof _!="object"||!_.publicKey||!("toBase58"in _.publicKey)||typeof _.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");w=[`${x.host} wants you to sign in with your Solana account:`,_.publicKey.toBase58(),...m?["",m,""]:[""],"Version: 1",`URI: ${x.href}`,`Issued At: ${(s=(n=p==null?void 0:p.signInWithSolana)===null||n===void 0?void 0:n.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((i=p==null?void 0:p.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${p.signInWithSolana.notBefore}`]:[],...!((a=p==null?void 0:p.signInWithSolana)===null||a===void 0)&&a.expirationTime?[`Expiration Time: ${p.signInWithSolana.expirationTime}`]:[],...!((o=p==null?void 0:p.signInWithSolana)===null||o===void 0)&&o.chainId?[`Chain ID: ${p.signInWithSolana.chainId}`]:[],...!((l=p==null?void 0:p.signInWithSolana)===null||l===void 0)&&l.nonce?[`Nonce: ${p.signInWithSolana.nonce}`]:[],...!((c=p==null?void 0:p.signInWithSolana)===null||c===void 0)&&c.requestId?[`Request ID: ${p.signInWithSolana.requestId}`]:[],...!((h=(d=p==null?void 0:p.signInWithSolana)===null||d===void 0?void 0:d.resources)===null||h===void 0)&&h.length?["Resources",...p.signInWithSolana.resources.map(E=>`- ${E}`)]:[]].join(` +`);const S=await _.signMessage(new TextEncoder().encode(w),"utf8");if(!S||!(S instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");v=S}}try{const{data:b,error:y}=await D(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:w,signature:yr(v)},!((f=t.options)===null||f===void 0)&&f.captchaToken?{gotrue_meta_security:{captcha_token:(g=t.options)===null||g===void 0?void 0:g.captchaToken}}:null),xform:st});if(y)throw y;if(!b||!b.session||!b.user){const m=new ur;return this._returnResult({data:{user:null,session:null},error:m})}return b.session&&(await this._saveSession(b.session),await this._notifyAllSubscribers("SIGNED_IN",b.session)),this._returnResult({data:Object.assign({},b),error:y})}catch(b){if(I(b))return this._returnResult({data:{user:null,session:null},error:b});throw b}}async _exchangeCodeForSession(t){const r=await ar(this.storage,`${this.storageKey}-code-verifier`),[n,s]=(r??"").split("/");try{const{data:i,error:a}=await D(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:n},xform:st});if(await me(this.storage,`${this.storageKey}-code-verifier`),a)throw a;if(!i||!i.session||!i.user){const o=new ur;return this._returnResult({data:{user:null,session:null,redirectType:null},error:o})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:Object.assign(Object.assign({},i),{redirectType:s??null}),error:a})}catch(i){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(i))return this._returnResult({data:{user:null,session:null,redirectType:null},error:i});throw i}}async signInWithIdToken(t){try{const{options:r,provider:n,token:s,access_token:i,nonce:a}=t,o=await D(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:s,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:r==null?void 0:r.captchaToken}},xform:st}),{data:l,error:c}=o;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const d=new ur;return this._returnResult({data:{user:null,session:null},error:d})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:l,error:c})}catch(r){if(I(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(t){var r,n,s,i,a;try{if("email"in t){const{email:o,options:l}=t;let c=null,d=null;this.flowType==="pkce"&&([c,d]=await Cr(this.storage,this.storageKey));const{error:h}=await D(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:o,data:(r=l==null?void 0:l.data)!==null&&r!==void 0?r:{},create_user:(n=l==null?void 0:l.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},code_challenge:c,code_challenge_method:d},redirectTo:l==null?void 0:l.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:h})}if("phone"in t){const{phone:o,options:l}=t,{data:c,error:d}=await D(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:o,data:(s=l==null?void 0:l.data)!==null&&s!==void 0?s:{},create_user:(i=l==null?void 0:l.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},channel:(a=l==null?void 0:l.channel)!==null&&a!==void 0?a:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:d})}throw new An("You must provide either an email or phone number.")}catch(o){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async verifyOtp(t){var r,n;try{let s,i;"options"in t&&(s=(r=t.options)===null||r===void 0?void 0:r.redirectTo,i=(n=t.options)===null||n===void 0?void 0:n.captchaToken);const{data:a,error:o}=await D(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:i}}),redirectTo:s,xform:st});if(o)throw o;if(!a)throw new Error("An error occurred on token verification.");const l=a.session,c=a.user;return l!=null&&l.access_token&&(await this._saveSession(l),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(I(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithSSO(t){var r,n,s,i,a;try{let o=null,l=null;this.flowType==="pkce"&&([o,l]=await Cr(this.storage,this.storageKey));const c=await D(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(n=(r=t.options)===null||r===void 0?void 0:r.redirectTo)!==null&&n!==void 0?n:void 0}),!((s=t==null?void 0:t.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:l}),headers:this.headers,xform:pw});return!((i=c.data)===null||i===void 0)&&i.url&&ye()&&!(!((a=t.options)===null||a===void 0)&&a.skipBrowserRedirect)&&window.location.assign(c.data.url),this._returnResult(c)}catch(o){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(o))return this._returnResult({data:null,error:o});throw o}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)throw n;if(!r)throw new Re;const{error:s}=await D(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:s})})}catch(t){if(I(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const r=`${this.url}/resend`;if("email"in t){const{email:n,type:s,options:i}=t,{error:a}=await D(this.fetch,"POST",r,{headers:this.headers,body:{email:n,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:a})}else if("phone"in t){const{phone:n,type:s,options:i}=t,{data:a,error:o}=await D(this.fetch,"POST",r,{headers:this.headers,body:{phone:n,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a==null?void 0:a.message_id},error:o})}throw new An("You must provide either an email or phone number and a type")}catch(r){if(I(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>this._useSession(async r=>r))}async _acquireLock(t,r){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await n,await r()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=r();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await t(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const r=await ar(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?t=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!t)return{data:{session:null},error:null};const n=t.expires_at?t.expires_at*1e3-Date.now()await this._getUser());return r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(t){try{return t?await D(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:Bt}):await this._useSession(async r=>{var n,s,i;const{data:a,error:o}=r;if(o)throw o;return!(!((n=a.session)===null||n===void 0)&&n.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Re}:await D(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(s=a.session)===null||s===void 0?void 0:s.access_token)!==null&&i!==void 0?i:void 0,xform:Bt})})}catch(r){if(I(r))return qp(r)&&(await this._removeSession(),await me(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(t,r={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(t,r))}async _updateUser(t,r={}){try{return await this._useSession(async n=>{const{data:s,error:i}=n;if(i)throw i;if(!s.session)throw new Re;const a=s.session;let o=null,l=null;this.flowType==="pkce"&&t.email!=null&&([o,l]=await Cr(this.storage,this.storageKey));const{data:c,error:d}=await D(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r==null?void 0:r.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:o,code_challenge_method:l}),jwt:a.access_token,xform:Bt});if(d)throw d;return a.user=c.user,await this._saveSession(a),await this._notifyAllSubscribers("USER_UPDATED",a),this._returnResult({data:{user:a.user},error:null})})}catch(n){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(n))return this._returnResult({data:{user:null},error:n});throw n}}async setSession(t){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new Re;const r=Date.now()/1e3;let n=r,s=!0,i=null;const{payload:a}=Qa(t.access_token);if(a.exp&&(n=a.exp,s=n<=r),s){const{data:o,error:l}=await this._callRefreshToken(t.refresh_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!o)return{data:{user:null,session:null},error:null};i=o}else{const{data:o,error:l}=await this._getUser(t.access_token);if(l)throw l;i={access_token:t.access_token,refresh_token:t.refresh_token,user:o.user,token_type:"bearer",expires_in:n-r,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(r){if(I(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async r=>{var n;if(!t){const{data:a,error:o}=r;if(o)throw o;t=(n=a.session)!==null&&n!==void 0?n:void 0}if(!(t!=null&&t.refresh_token))throw new Re;const{data:s,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{user:null,session:null},error:i}):s?this._returnResult({data:{user:s.user,session:s},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(I(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async _getSessionFromURL(t,r){try{if(!ye())throw new On("No browser detected.");if(t.error||t.error_description||t.error_code)throw new On(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new fl("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new On("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new fl("No code detected.");const{data:m,error:p}=await this._exchangeCodeForSession(t.code);if(p)throw p;const _=new URL(window.location.href);return _.searchParams.delete("code"),window.history.replaceState(window.history.state,"",_.toString()),{data:{session:m.session,redirectType:null},error:null}}const{provider_token:n,provider_refresh_token:s,access_token:i,refresh_token:a,expires_in:o,expires_at:l,token_type:c}=t;if(!i||!o||!a||!c)throw new On("No session defined in URL");const d=Math.round(Date.now()/1e3),h=parseInt(o);let f=d+h;l&&(f=parseInt(l));const g=f-d;g*1e3<=Rr&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${g}s, should have been closer to ${h}s`);const w=f-h;d-w>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",w,f,d):d-w<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",w,f,d);const{data:v,error:b}=await this._getUser(i);if(b)throw b;const y={provider_token:n,provider_refresh_token:s,access_token:i,expires_in:h,expires_at:f,refresh_token:a,token_type:c,user:v.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:y,redirectType:t.type},error:null})}catch(n){if(I(n))return this._returnResult({data:{session:null,redirectType:null},error:n});throw n}}_isImplicitGrantCallback(t){return!!(t.access_token||t.error_description)}async _isPKCECallback(t){const r=await ar(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&r)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async r=>{var n;const{data:s,error:i}=r;if(i)return this._returnResult({error:i});const a=(n=s.session)===null||n===void 0?void 0:n.access_token;if(a){const{error:o}=await this.admin.signOut(a,t);if(o&&!(Kp(o)&&(o.status===404||o.status===401||o.status===403)))return this._returnResult({error:o})}return t!=="others"&&(await this._removeSession(),await me(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const r=Qv(),n={id:r,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,n),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(r)})))(),{data:{subscription:n}}}async _emitInitialSession(t){return await this._useSession(async r=>{var n,s;try{const{data:{session:i},error:a}=r;if(a)throw a;await((n=this.stateChangeEmitters.get(t))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",t,"session",i)}catch(i){await((s=this.stateChangeEmitters.get(t))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",i),console.error(i)}})}async resetPasswordForEmail(t,r={}){let n=null,s=null;this.flowType==="pkce"&&([n,s]=await Cr(this.storage,this.storageKey,!0));try{return await D(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:n,code_challenge_method:s,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(i){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(i))return this._returnResult({data:null,error:i});throw i}}async getUserIdentities(){var t;try{const{data:r,error:n}=await this.getUser();if(n)throw n;return this._returnResult({data:{identities:(t=r.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var r;try{const{data:n,error:s}=await this._useSession(async i=>{var a,o,l,c,d;const{data:h,error:f}=i;if(f)throw f;const g=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(a=t.options)===null||a===void 0?void 0:a.redirectTo,scopes:(o=t.options)===null||o===void 0?void 0:o.scopes,queryParams:(l=t.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:!0});return await D(this.fetch,"GET",g,{headers:this.headers,jwt:(d=(c=h.session)===null||c===void 0?void 0:c.access_token)!==null&&d!==void 0?d:void 0})});if(s)throw s;return ye()&&!(!((r=t.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),this._returnResult({data:{provider:t.provider,url:n==null?void 0:n.url},error:null})}catch(n){if(I(n))return this._returnResult({data:{provider:t.provider,url:null},error:n});throw n}}async linkIdentityIdToken(t){return await this._useSession(async r=>{var n;try{const{error:s,data:{session:i}}=r;if(s)throw s;const{options:a,provider:o,token:l,access_token:c,nonce:d}=t,h=await D(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(n=i==null?void 0:i.access_token)!==null&&n!==void 0?n:void 0,body:{provider:o,id_token:l,access_token:c,nonce:d,link_identity:!0,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:st}),{data:f,error:g}=h;return g?this._returnResult({data:{user:null,session:null},error:g}):!f||!f.session||!f.user?this._returnResult({data:{user:null,session:null},error:new ur}):(f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("USER_UPDATED",f.session)),this._returnResult({data:f,error:g}))}catch(s){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}})}async unlinkIdentity(t){try{return await this._useSession(async r=>{var n,s;const{data:i,error:a}=r;if(a)throw a;return await D(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(s=(n=i.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0})})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(t){const r=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(r,"begin");try{const n=Date.now();return await ew(async s=>(s>0&&await Zv(200*Math.pow(2,s-1)),this._debug(r,"refreshing attempt",s),await D(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:st})),(s,i)=>{const a=200*Math.pow(2,s);return i&&li(i)&&Date.now()+a-n{try{await o.callback(t,r)}catch(l){i.push(l)}});if(await Promise.all(a),i.length>0){for(let o=0;othis._autoRefreshTokenTick(),Rr);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async r=>{const{data:{session:n}}=r;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((n.expires_at*1e3-t)/Rr);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${Rr}ms, refresh threshold is ${dl} ticks`),s<=dl&&await this._callRefreshToken(n.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t.isAcquireTimeout||t instanceof vu)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!ye()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const r=`#_onVisibilityChanged(${t})`;this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,r,n){const s=[`provider=${encodeURIComponent(r)}`];if(n!=null&&n.redirectTo&&s.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const[i,a]=await Cr(this.storage,this.storageKey),o=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(o.toString())}if(n!=null&&n.queryParams){const i=new URLSearchParams(n.queryParams);s.push(i.toString())}return n!=null&&n.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${t}?${s.join("&")}`}async _unenroll(t){try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;return i?this._returnResult({data:null,error:i}):await D(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(t){try{return await this._useSession(async r=>{var n,s;const{data:i,error:a}=r;if(a)return this._returnResult({data:null,error:a});const o=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:l,error:c}=await D(this.fetch,"POST",`${this.url}/factors`,{body:o,headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token});return c?this._returnResult({data:null,error:c}):(t.factorType==="totp"&&l.type==="totp"&&(!((s=l==null?void 0:l.totp)===null||s===void 0)&&s.qr_code)&&(l.totp.qr_code=`data:image/svg+xml;utf-8,${l.totp.qr_code}`),this._returnResult({data:l,error:null}))})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async _verify(t){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;if(i)return this._returnResult({data:null,error:i});const a=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?Pw(t.webauthn.credential_response):Cw(t.webauthn.credential_response)})}:{code:t.code}),{data:o,error:l}=await D(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:a,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return l?this._returnResult({data:null,error:l}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+o.expires_in},o)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",o),this._returnResult({data:o,error:l}))})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}})}async _challenge(t){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;if(i)return this._returnResult({data:null,error:i});const a=await D(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});if(a.error)return a;const{data:o}=a;if(o.type!=="webauthn")return{data:o,error:null};switch(o.webauthn.type){case"create":return{data:Object.assign(Object.assign({},o),{webauthn:Object.assign(Object.assign({},o.webauthn),{credential_options:Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:Nw(o.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},o),{webauthn:Object.assign(Object.assign({},o.webauthn),{credential_options:Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:Tw(o.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}})}async _challengeAndVerify(t){const{data:r,error:n}=await this._challenge({factorId:t.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:t.factorId,challengeId:r.id,code:t.code})}async _listFactors(){var t;const{data:{user:r},error:n}=await this.getUser();if(n)return{data:null,error:n};const s={all:[],phone:[],totp:[],webauthn:[]};for(const i of(t=r==null?void 0:r.factors)!==null&&t!==void 0?t:[])s.all.push(i),i.status==="verified"&&s[i.factor_type].push(i);return{data:s,error:null}}async _getAuthenticatorAssuranceLevel(){var t,r;const{data:{session:n},error:s}=await this.getSession();if(s)return this._returnResult({data:null,error:s});if(!n)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:i}=Qa(n.access_token);let a=null;i.aal&&(a=i.aal);let o=a;((r=(t=n.user.factors)===null||t===void 0?void 0:t.filter(d=>d.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(o="aal2");const c=i.amr||[];return{data:{currentLevel:a,nextLevel:o,currentAuthenticationMethods:c},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;return s?this._returnResult({data:null,error:s}):n?await D(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:n.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new Re})})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(t,r){try{return await this._useSession(async n=>{const{data:{session:s},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new Re});const a=await D(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"approve"},xform:o=>({data:o,error:null})});return a.data&&a.data.redirect_url&&ye()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(n){if(I(n))return this._returnResult({data:null,error:n});throw n}}async _denyAuthorization(t,r){try{return await this._useSession(async n=>{const{data:{session:s},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new Re});const a=await D(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"deny"},xform:o=>({data:o,error:null})});return a.data&&a.data.redirect_url&&ye()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(n){if(I(n))return this._returnResult({data:null,error:n});throw n}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;return n?this._returnResult({data:null,error:n}):r?await D(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new Re})})}catch(t){if(I(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;return s?this._returnResult({data:null,error:s}):n?(await D(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Re})})}catch(r){if(I(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(t,r={keys:[]}){let n=r.keys.find(o=>o.kid===t);if(n)return n;const s=Date.now();if(n=this.jwks.keys.find(o=>o.kid===t),n&&this.jwks_cached_at+Fv>s)return n;const{data:i,error:a}=await D(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=s,n=i.keys.find(o=>o.kid===t),!n)?null:n}async getClaims(t,r={}){try{let n=t;if(!n){const{data:g,error:w}=await this.getSession();if(w||!g.session)return this._returnResult({data:null,error:w});n=g.session.access_token}const{header:s,payload:i,signature:a,raw:{header:o,payload:l}}=Qa(n);r!=null&&r.allowExpired||ow(i.exp);const c=!s.alg||s.alg.startsWith("HS")||!s.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(s.kid,r!=null&&r.keys?{keys:r.keys}:r==null?void 0:r.jwks);if(!c){const{error:g}=await this.getUser(n);if(g)throw g;return{data:{claims:i,header:s,signature:a},error:null}}const d=lw(s.alg),h=await crypto.subtle.importKey("jwk",c,d,!0,["verify"]);if(!await crypto.subtle.verify(d,h,a,Gv(`${o}.${l}`)))throw new Fi("Invalid JWT signature");return{data:{claims:i,header:s,signature:a},error:null}}catch(n){if(I(n))return this._returnResult({data:null,error:n});throw n}}};wu.nextInstanceID={};const Uw=yu,Mw=wu,Bw=Object.freeze(Object.defineProperty({__proto__:null,AuthAdminApi:Uw,AuthApiError:Hp,AuthClient:Mw,AuthError:dn,AuthImplicitGrantRedirectError:On,AuthInvalidCredentialsError:An,AuthInvalidJwtError:Fi,AuthInvalidTokenResponseError:ur,AuthPKCEGrantCodeExchangeError:fl,AuthRetryableFetchError:Bi,AuthSessionMissingError:Re,AuthUnknownError:Mt,AuthWeakPasswordError:pl,CustomAuthError:Rt,GoTrueAdminApi:yu,GoTrueClient:wu,NavigatorLockAcquireTimeoutError:Xp,SIGN_OUT_SCOPES:ui,isAuthApiError:Kp,isAuthError:I,isAuthImplicitGrantRedirectError:Gp,isAuthRetryableFetchError:li,isAuthSessionMissingError:qp,isAuthWeakPasswordError:Vv,lockInternals:dr,navigatorLock:Zp,processLock:vw},Symbol.toStringTag,{value:"Module"})),rg=ls(Bw);Object.defineProperty(fa,"__esModule",{value:!0});fa.SupabaseAuthClient=void 0;const Fw=rg;class Vw extends Fw.AuthClient{constructor(t){super(t)}}fa.SupabaseAuthClient=Vw;Object.defineProperty(Di,"__esModule",{value:!0});const Ww=ap,Hw=Ee,Kw=jp,qw=Rv,Vs=Mp,Gw=Bp,nd=nr,Jw=fa;let Qw=class{constructor(t,r,n){var s,i,a;this.supabaseUrl=t,this.supabaseKey=r;const o=(0,nd.validateSupabaseUrl)(t);if(!r)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",o),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",o),this.storageUrl=new URL("storage/v1",o),this.functionsUrl=new URL("functions/v1",o);const l=`sb-${o.hostname.split(".")[0]}-auth-token`,c={db:Vs.DEFAULT_DB_OPTIONS,realtime:Vs.DEFAULT_REALTIME_OPTIONS,auth:Object.assign(Object.assign({},Vs.DEFAULT_AUTH_OPTIONS),{storageKey:l}),global:Vs.DEFAULT_GLOBAL_OPTIONS},d=(0,nd.applySettingDefaults)(n??{},c);this.storageKey=(s=d.auth.storageKey)!==null&&s!==void 0?s:"",this.headers=(i=d.global.headers)!==null&&i!==void 0?i:{},d.accessToken?(this.accessToken=d.accessToken,this.auth=new Proxy({},{get:(h,f)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(f)} is not possible`)}})):this.auth=this._initSupabaseAuthClient((a=d.auth)!==null&&a!==void 0?a:{},this.headers,d.global.fetch),this.fetch=(0,Gw.fetchWithAuth)(r,this._getAccessToken.bind(this),d.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},d.realtime)),this.accessToken&&this.accessToken().then(h=>this.realtime.setAuth(h)).catch(h=>console.warn("Failed to set initial Realtime auth token:",h)),this.rest=new Hw.PostgrestClient(new URL("rest/v1",o).href,{headers:this.headers,schema:d.db.schema,fetch:this.fetch}),this.storage=new qw.StorageClient(this.storageUrl.href,this.headers,this.fetch,n==null?void 0:n.storage),d.accessToken||this._listenForAuthEvents()}get functions(){return new Ww.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(t){return this.rest.from(t)}schema(t){return this.rest.schema(t)}rpc(t,r={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(t,r,n)}channel(t,r={config:{}}){return this.realtime.channel(t,r)}getChannels(){return this.realtime.getChannels()}removeChannel(t){return this.realtime.removeChannel(t)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var t,r;if(this.accessToken)return await this.accessToken();const{data:n}=await this.auth.getSession();return(r=(t=n.session)===null||t===void 0?void 0:t.access_token)!==null&&r!==void 0?r:this.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:t,persistSession:r,detectSessionInUrl:n,storage:s,userStorage:i,storageKey:a,flowType:o,lock:l,debug:c,throwOnError:d},h,f){const g={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Jw.SupabaseAuthClient({url:this.authUrl.href,headers:Object.assign(Object.assign({},g),h),storageKey:a,autoRefreshToken:t,persistSession:r,detectSessionInUrl:n,storage:s,userStorage:i,flowType:o,lock:l,debug:c,throwOnError:d,fetch:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(w=>w.toLowerCase()==="authorization")})}_initRealtimeClient(t){return new Kw.RealtimeClient(this.realtimeUrl.href,Object.assign(Object.assign({},t),{params:Object.assign({apikey:this.supabaseKey},t==null?void 0:t.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((r,n)=>{this._handleTokenChanged(r,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(t,r,n){(t==="TOKEN_REFRESHED"||t==="SIGNED_IN")&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):t==="SIGNED_OUT"&&(this.realtime.setAuth(),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};Di.default=Qw;(function(e){var t=Nr&&Nr.__createBinding||(Object.create?function(d,h,f,g){g===void 0&&(g=f);var w=Object.getOwnPropertyDescriptor(h,f);(!w||("get"in w?!h.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return h[f]}}),Object.defineProperty(d,g,w)}:function(d,h,f,g){g===void 0&&(g=f),d[g]=h[f]}),r=Nr&&Nr.__exportStar||function(d,h){for(var f in d)f!=="default"&&!Object.prototype.hasOwnProperty.call(h,f)&&t(h,d,f)},n=Nr&&Nr.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.createClient=e.SupabaseClient=e.FunctionRegion=e.FunctionsError=e.FunctionsRelayError=e.FunctionsFetchError=e.FunctionsHttpError=e.PostgrestError=void 0;const s=n(Di);r(rg,e);var i=Ee;Object.defineProperty(e,"PostgrestError",{enumerable:!0,get:function(){return i.PostgrestError}});var a=ap;Object.defineProperty(e,"FunctionsHttpError",{enumerable:!0,get:function(){return a.FunctionsHttpError}}),Object.defineProperty(e,"FunctionsFetchError",{enumerable:!0,get:function(){return a.FunctionsFetchError}}),Object.defineProperty(e,"FunctionsRelayError",{enumerable:!0,get:function(){return a.FunctionsRelayError}}),Object.defineProperty(e,"FunctionsError",{enumerable:!0,get:function(){return a.FunctionsError}}),Object.defineProperty(e,"FunctionRegion",{enumerable:!0,get:function(){return a.FunctionRegion}}),r(jp,e);var o=Di;Object.defineProperty(e,"SupabaseClient",{enumerable:!0,get:function(){return n(o).default}});const l=(d,h,f)=>new s.default(d,h,f);e.createClient=l;function c(){if(typeof window<"u"||typeof process>"u")return!1;const d=process.version;if(d==null)return!1;const h=d.match(/^v(\d+)\./);return h?parseInt(h[1],10)<=18:!1}c()&&console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217")})(cu);const ng=cd(cu),Yw=dg({__proto__:null,default:ng},[cu]),{PostgrestError:S_,FunctionsHttpError:E_,FunctionsFetchError:j_,FunctionsRelayError:N_,FunctionsError:T_,FunctionRegion:P_,SupabaseClient:C_,createClient:Xw,GoTrueAdminApi:A_,GoTrueClient:O_,AuthAdminApi:R_,AuthClient:I_,navigatorLock:$_,NavigatorLockAcquireTimeoutError:D_,lockInternals:L_,processLock:z_,SIGN_OUT_SCOPES:U_,AuthError:M_,AuthApiError:B_,AuthUnknownError:F_,CustomAuthError:V_,AuthSessionMissingError:W_,AuthInvalidTokenResponseError:H_,AuthInvalidCredentialsError:K_,AuthImplicitGrantRedirectError:q_,AuthPKCEGrantCodeExchangeError:G_,AuthRetryableFetchError:J_,AuthWeakPasswordError:Q_,AuthInvalidJwtError:Y_,isAuthError:X_,isAuthApiError:Z_,isAuthSessionMissingError:ex,isAuthImplicitGrantRedirectError:tx,isAuthRetryableFetchError:rx,isAuthWeakPasswordError:nx,RealtimePresence:sx,RealtimeChannel:ix,RealtimeClient:ax,REALTIME_LISTEN_TYPES:ox,REALTIME_POSTGRES_CHANGES_LISTEN_EVENT:lx,REALTIME_PRESENCE_LISTEN_EVENTS:ux,REALTIME_SUBSCRIBE_STATES:cx,REALTIME_CHANNEL_STATES:dx}=ng||Yw,Zw="https://vzudjibddwcvfdnyvhhs.supabase.co",eb="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZ6dWRqaWJkZHdjdmZkbnl2aGhzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjUwMjk4MDksImV4cCI6MjA4MDYwNTgwOX0.wE8R1mpd2FY6m6d5-Hf3hlCG8OfeCkra6SjUvbt1mD0",W=Xw(Zw,eb),tb=e=>Array.isArray(e)?e.map(t=>({type:(t==null?void 0:t.type)||"task",title:(t==null?void 0:t.title)||"",durationMin:Number((t==null?void 0:t.durationMin)||0),repetitions:(t==null?void 0:t.repetitions)??null,intensity:(t==null?void 0:t.intensity)||null,instructions:(t==null?void 0:t.instructions)||""})):[],rb=e=>({weekNo:Number((e==null?void 0:e.weekNo)||(e==null?void 0:e.week_no)||1),sessionNo:Number((e==null?void 0:e.sessionNo)||(e==null?void 0:e.session_no)||1),mainExercise:(e==null?void 0:e.mainExercise)||(e==null?void 0:e.main_exercise)||"Basistechnik",secondaryExercises:Array.isArray(e==null?void 0:e.secondaryExercises)?e.secondaryExercises:Array.isArray(e==null?void 0:e.secondary_exercises)?e.secondary_exercises:[],tasks:tb(e==null?void 0:e.tasks),state:(e==null?void 0:e.state)||"open",notes:(e==null?void 0:e.notes)||""}),sg=async({patType:e,analysisSnapshot:t,durationWeeks:r,sessionsPerWeek:n,sessions:s})=>{if(!W)return{ok:!1,error:new Error("Supabase ist nicht konfiguriert.")};try{const i={p_pat_type:e,p_analysis_snapshot:t,p_duration_weeks:Number(r),p_sessions_per_week:Number(n),p_sessions:(s||[]).map(rb)},{data:a,error:o}=await W.rpc("create_training_plan_with_sessions",i);if(o)throw o;return{ok:!0,planId:a}}catch(i){return{ok:!1,error:i}}},sd=[0,1,0,2,0,1,0,1,2,0],id=(e,t,r)=>t.includes(e)?e:r,nb=e=>e>=.7?"hoch":e>=.4?"mittel":"leicht",sb=()=>({type:"warmup",title:"Warm-up",durationMin:10,instructions:"Lockere Stoßserie, Fokus auf saubere Ansprechposition und Rhythmus."}),ib=(e,t)=>{const r={hoch:24,mittel:18,leicht:12};return{type:"main",title:`Hauptblock: ${e}`,durationMin:t==="hoch"?35:28,repetitions:r[t],intensity:t,instructions:"Dokumentiere Trefferquote pro Serie und halte Pausen kurz (30-45 Sek.)."}},ad=(e,t)=>({type:"secondary",title:`Nebenblock ${t}: ${e}`,durationMin:18,repetitions:10,intensity:"mittel",instructions:"Konstanter Ablauf, Fokus auf Präzision statt Tempo."}),ab=()=>({type:"cooldown",title:"Cool-down",durationMin:8,instructions:"Kurze Reflexion: 2 Dinge die gut liefen, 1 Punkt für den nächsten Tag."}),ob=(e,t)=>{if(!t.length)return{name:"Generelle Basistechnik",gapScore:.3,priorityScore:.3};const n=sd[e%sd.length]%t.length;return t[n]},lb=(e,t,r)=>{const n=[...t.map(i=>i==null?void 0:i.name),...r.map(i=>i==null?void 0:i.name)].filter(Boolean),s=[...new Set(n)].filter(i=>i!==e);return s.length>=2?s.slice(0,2):s.length===1?[s[0],"Positionsspiel Basis"]:["Positionsspiel Basis","Stoßroutine Stabilisierung"]},bu=({topWeaknesses:e=[],topStrengths:t=[],durationWeeks:r=4,sessionsPerWeek:n=3,sessionMix:s="1-main-2-secondary"}={})=>{const i=id(Number(r),[2,4,6],4),a=id(Number(n),[2,3,4],3),o=i*a,l=Array.from({length:o},(c,d)=>{const h=Math.floor(d/a)+1,f=d%a+1,g=ob(d,e),w=nb(Number((g==null?void 0:g.gapScore)||0)),v=lb(g==null?void 0:g.name,e,t),b=[sb(),ib((g==null?void 0:g.name)||"Basistechnik",w),ad(v[0],1),ad(v[1],2),ab()];return{weekNo:h,sessionNo:f,mainExercise:(g==null?void 0:g.name)||"Basistechnik",secondaryExercises:v,sessionMix:s,intensity:w,state:"open",notes:"",tasks:b,meta:{gapScore:Number((g==null?void 0:g.gapScore)||0),priorityScore:Number((g==null?void 0:g.priorityScore)||0)}}});return{durationWeeks:i,sessionsPerWeek:a,sessions:l}},ub=e=>({id:e.id,patType:e.pat_type,status:e.status,analysisSnapshot:e.analysis_snapshot||{},durationWeeks:e.duration_weeks,sessionsPerWeek:e.sessions_per_week,generatedAt:e.generated_at,archivedAt:e.archived_at,createdAt:e.created_at,updatedAt:e.updated_at,sessions:[]}),cb=e=>({id:e.id,planId:e.plan_id,weekNo:e.week_no,sessionNo:e.session_no,mainExercise:e.main_exercise,secondaryExercises:e.secondary_exercises||[],tasks:e.tasks||[],state:e.state||"open",notes:e.notes||"",completedAt:e.completed_at,createdAt:e.created_at,updatedAt:e.updated_at}),Ws=(e,t,r)=>!e||!e.sessions.some(s=>s.id===t)?e:{...e,sessions:e.sessions.map(s=>s.id===t?{...s,...r}:s)},db=({user:e,patType:t})=>{const[r,n]=P.useState(null),[s,i]=P.useState([]),[a,o]=P.useState(!1),[l,c]=P.useState(!1),[d,h]=P.useState(""),f=P.useMemo(()=>!!(W&&(e!=null&&e.id)),[e]),g=P.useCallback(async()=>{if(!f||!t){n(null),i([]);return}o(!0),h("");try{const{data:y,error:m}=await W.from("training_plans").select("*").eq("user_id",e.id).eq("pat_type",t).order("generated_at",{ascending:!1});if(m)throw m;const p=(y||[]).map(ub),_=p.map(T=>T.id);let x=new Map;if(_.length){const{data:T,error:C}=await W.from("training_plan_sessions").select("*").in("plan_id",_).order("week_no",{ascending:!0}).order("session_no",{ascending:!0});if(C)throw C;x=(T||[]).reduce((z,K)=>{const Y=cb(K),Ne=z.get(Y.planId)||[];return Ne.push(Y),z.set(Y.planId,Ne),z},new Map)}const S=p.map(T=>({...T,sessions:x.get(T.id)||[]})),E=S.find(T=>T.status==="active")||S[0]||null,k=S.filter(T=>!E||T.id!==E.id);n(E),i(k)}catch(y){h(y.message||"Fehler beim Laden der Trainingspläne.")}finally{o(!1)}},[f,t,e==null?void 0:e.id]);P.useEffect(()=>{g()},[g]);const w=P.useCallback(async({analysis:y,durationWeeks:m=4,sessionsPerWeek:p=3,sessions:_=null})=>{if(!f||!t)return{ok:!1,error:new Error("Supabase oder PAT-Typ nicht verfügbar.")};c(!0),h("");try{const x=_||bu({topWeaknesses:(y==null?void 0:y.topWeaknesses)||[],topStrengths:(y==null?void 0:y.topStrengths)||[],durationWeeks:m,sessionsPerWeek:p}).sessions,S=await sg({patType:t,analysisSnapshot:y,durationWeeks:m,sessionsPerWeek:p,sessions:x});if(!S.ok)throw S.error;return await g(),{ok:!0,planId:S.planId}}catch(x){return h(x.message||"Fehler beim Speichern des Trainingsplans."),{ok:!1,error:x}}finally{c(!1)}},[f,g,t]),v=P.useCallback(async(y,m)=>{if(!f)return{ok:!1};const p=m==="done"?new Date().toISOString():null,_=r,x=s;n(E=>Ws(E,y,{state:m,completedAt:p})),i(E=>E.map(k=>Ws(k,y,{state:m,completedAt:p})));const{error:S}=await W.from("training_plan_sessions").update({state:m,completed_at:p}).eq("id",y);return S?(n(_),i(x),h(S.message||"Session-Status konnte nicht gespeichert werden."),{ok:!1,error:S}):{ok:!0}},[r,f,s]),b=P.useCallback(async(y,m)=>{if(!f)return{ok:!1};const p={...m},_=r,x=s;n(k=>Ws(k,y,p)),i(k=>k.map(T=>Ws(T,y,p)));const S={};Object.prototype.hasOwnProperty.call(p,"mainExercise")&&(S.main_exercise=p.mainExercise),Object.prototype.hasOwnProperty.call(p,"secondaryExercises")&&(S.secondary_exercises=p.secondaryExercises),Object.prototype.hasOwnProperty.call(p,"tasks")&&(S.tasks=p.tasks),Object.prototype.hasOwnProperty.call(p,"notes")&&(S.notes=p.notes);const{error:E}=await W.from("training_plan_sessions").update(S).eq("id",y);return E?(n(_),i(x),h(E.message||"Session-Änderung konnte nicht gespeichert werden."),{ok:!1,error:E}):{ok:!0}},[r,f,s]);return{activePlan:r,historyPlans:s,loading:a,saving:l,error:d,loadPlans:g,saveGeneratedPlan:w,updateSessionState:v,updateSessionPartial:b}},hb=(e,t=26)=>e.length>t?`${e.slice(0,t-1)}…`:e;function fb({metrics:e=[]}){const t=[...e].sort((h,f)=>f.priorityScore-h.priorityScore).slice(0,8);if(!t.length)return u.jsx("div",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/70 dark:bg-gray-900/70 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Kein Gap-Chart verfügbar."});const r=760,n=220,s=24,i=38,a=20,l=a+24+i*t.length,c=Math.max(...t.map(h=>h.priorityScore),.01),d=r-n-s;return u.jsxs("div",{className:"rounded-2xl border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-4 shadow-sm h-full flex flex-col",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-800 dark:text-gray-100 mb-3",children:"Gap-Bar-Chart (Priorität)"}),u.jsx("svg",{viewBox:`0 0 ${r} ${l}`,className:"w-full h-auto",role:"img","aria-label":"Gap-Balkendiagramm",children:t.map((h,f)=>{const g=a+f*i,w=h.priorityScore/c*d;return u.jsxs("g",{children:[u.jsx("text",{x:10,y:g+20,className:"fill-gray-700 dark:fill-gray-200",style:{fontSize:12,fontWeight:500},children:hb(h.name)}),u.jsx("rect",{x:n,y:g+8,width:d,height:16,rx:8,className:"fill-gray-200 dark:fill-gray-800"}),u.jsx("rect",{x:n,y:g+8,width:Math.max(3,w),height:16,rx:8,className:"fill-rose-500"}),u.jsx("text",{x:n+Math.max(8,w)+8,y:g+20,className:"fill-gray-700 dark:fill-gray-300",style:{fontSize:11,fontWeight:600},children:h.priorityScore.toFixed(2)})]},h.name)})})]})}const Hs=(e,t,r,n)=>({x:e+r*Math.cos(n),y:t+r*Math.sin(n)}),pb=(e,t=16)=>e.length>t?`${e.slice(0,t-1)}…`:e;function gb({radarSeries:e=[]}){const t=e.slice(0,6);if(!t.length)return u.jsx("div",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/70 dark:bg-gray-900/70 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Kein Radarprofil verfügbar."});const r=420,n=320,s=r/2,i=n/2,a=105,o=Math.PI*2/t.length,l=(d,h)=>{const f=-Math.PI/2+h*o;return Hs(s,i,a*(Math.max(0,Math.min(1.2,d))/1.2),f)},c=t.map((d,h)=>{const f=l(d.ratio,h);return`${f.x},${f.y}`}).join(" ");return u.jsxs("div",{className:"rounded-2xl border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-4 shadow-sm h-full flex flex-col",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-800 dark:text-gray-100 mb-3",children:"Radar-Profil (Ist/Soll)"}),u.jsxs("svg",{viewBox:`0 0 ${r} ${n}`,className:"w-full h-auto max-w-[420px] mx-auto",role:"img","aria-label":"Radarprofil",children:[[.25,.5,.75,1].map(d=>u.jsx("polygon",{points:t.map((h,f)=>{const g=-Math.PI/2+f*o,w=Hs(s,i,a*d,g);return`${w.x},${w.y}`}).join(" "),fill:"none",className:"stroke-gray-300 dark:stroke-gray-700",strokeWidth:"1"},d)),t.map((d,h)=>{const f=-Math.PI/2+h*o,g=Hs(s,i,a+16,f),w=Hs(s,i,a,f);return u.jsxs("g",{children:[u.jsx("line",{x1:s,y1:i,x2:w.x,y2:w.y,className:"stroke-gray-300 dark:stroke-gray-700",strokeWidth:"1"}),u.jsx("text",{x:g.x,y:g.y,textAnchor:"middle",className:"fill-gray-600 dark:fill-gray-300",style:{fontSize:10},children:pb(d.name)})]},d.name)}),u.jsx("polygon",{points:c,className:"fill-sky-300/40 dark:fill-sky-500/30 stroke-sky-600 dark:stroke-sky-400",strokeWidth:"2"})]})]})}const mb=e=>Math.round(Math.max(0,Math.min(1.5,e))*100);function yb({strengths:e=[]}){return e.length?u.jsxs("div",{className:"rounded-2xl border border-emerald-200 dark:border-emerald-900 bg-white dark:bg-gray-900 p-5 shadow-sm",children:[u.jsx("h3",{className:"text-lg font-semibold text-emerald-700 dark:text-emerald-300 mb-4",children:"Top-3 Stärken"}),u.jsx("div",{className:"space-y-3",children:e.map((t,r)=>u.jsxs("div",{className:"rounded-xl border border-emerald-100 dark:border-emerald-900/60 bg-emerald-50/60 dark:bg-emerald-950/20 p-3",children:[u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("p",{className:"font-semibold text-gray-900 dark:text-gray-100",children:[r+1,". ",t.name]}),u.jsx("span",{className:"text-xs px-2 py-1 rounded-full bg-emerald-200/70 dark:bg-emerald-800/60 text-emerald-800 dark:text-emerald-200 font-semibold",children:mb(t.strengthScore)})]}),u.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-2 text-xs text-gray-600 dark:text-gray-300",children:[u.jsxs("p",{children:["Ist: ",t.actualMean.toFixed(2)]}),u.jsxs("p",{children:["Soll: ",t.soll.toFixed(2)]}),u.jsxs("p",{children:["Trend: ",t.trendDelta.toFixed(2)]})]})]},t.name))})]}):u.jsx("div",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/70 dark:bg-gray-900/70 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Keine Stärken-Daten verfügbar."})}const od=e=>{if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(t)},vb=(e,t)=>e.type!=="main"?e:{...e,intensity:t,repetitions:{hoch:24,mittel:18,leicht:12}[t]||18},wb=e=>e?"bg-indigo-600 text-white border-indigo-600":"bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200 border-gray-300 dark:border-gray-700";function bb({patType:e,analysis:t,activePlan:r,historyPlans:n,loading:s,saving:i,error:a,onSavePlan:o,onUpdateSessionState:l,onUpdateSessionPartial:c,onReload:d}){const[h,f]=P.useState(4),[g,w]=P.useState(3),[v,b]=P.useState([]),[y,m]=P.useState(""),p=P.useMemo(()=>{const k=v.length,T=v.filter(K=>K.intensity==="hoch").length,C=v.filter(K=>K.intensity==="mittel").length,z=v.filter(K=>K.intensity==="leicht").length;return{total:k,high:T,medium:C,low:z}},[v]),_=()=>{const k=bu({topWeaknesses:(t==null?void 0:t.topWeaknesses)||[],topStrengths:(t==null?void 0:t.topStrengths)||[],durationWeeks:h,sessionsPerWeek:g,sessionMix:"1-main-2-secondary"});b(k.sessions),m("Neuer Entwurf erstellt. Du kannst jetzt Intensität und Übungen je Session anpassen.")},x=(k,T)=>{b(C=>C.map((z,K)=>{if(K!==k)return z;const Y={...z,...T};return Object.prototype.hasOwnProperty.call(T,"intensity")&&(Y.tasks=Y.tasks.map(Ne=>vb(Ne,T.intensity))),Y}))},S=async()=>{var T;if(!v.length){m("Erstelle zuerst einen Entwurf.");return}const k=await o({analysis:t,durationWeeks:h,sessionsPerWeek:g,sessions:v});if(!(k!=null&&k.ok)){m(((T=k==null?void 0:k.error)==null?void 0:T.message)||"Trainingsplan konnte nicht gespeichert werden.");return}m("Trainingsplan gespeichert. Der vorherige aktive Plan wurde archiviert."),b([])},E=(k,T)=>{const C=k.secondaryExercises.join(", ");return u.jsxs("div",{className:"rounded-xl border border-sky-100 dark:border-sky-900/60 bg-sky-50/60 dark:bg-sky-950/20 p-3",children:[u.jsxs("div",{className:"flex items-center justify-between mb-2",children:[u.jsxs("p",{className:"text-sm font-semibold text-sky-800 dark:text-sky-200",children:["Woche ",k.weekNo," · Einheit ",k.sessionNo]}),u.jsx("span",{className:"text-xs text-sky-700 dark:text-sky-300",children:k.intensity})]}),u.jsxs("div",{className:"grid md:grid-cols-3 gap-2 text-sm",children:[u.jsx("input",{value:k.mainExercise,onChange:z=>x(T,{mainExercise:z.target.value}),className:"px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",placeholder:"Hauptübung"}),u.jsx("input",{value:C,onChange:z=>{const K=z.target.value.split(",").map(Y=>Y.trim()).filter(Boolean).slice(0,2);x(T,{secondaryExercises:K.length===2?K:[...K,"Positionsspiel Basis"].slice(0,2)})},className:"px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",placeholder:"Nebenübungen, getrennt mit Komma"}),u.jsxs("select",{value:k.intensity,onChange:z=>x(T,{intensity:z.target.value}),className:"px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",children:[u.jsx("option",{value:"hoch",children:"hoch"}),u.jsx("option",{value:"mittel",children:"mittel"}),u.jsx("option",{value:"leicht",children:"leicht"})]})]})]},`draft-${T}`)};return u.jsxs("section",{className:"rounded-2xl border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-5 shadow-sm",children:[u.jsxs("div",{className:"flex items-start justify-between flex-wrap gap-3 mb-4",children:[u.jsxs("div",{children:[u.jsxs("h3",{className:"text-xl font-semibold text-gray-900 dark:text-gray-100",children:["Trainingsplan (",e,")"]}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:"1 aktiver Plan + Historie, Session-Status: offen / erledigt / übersprungen."})]}),u.jsx("button",{onClick:d,type:"button",className:"px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800",children:"Neu laden"})]}),a&&u.jsx("div",{className:"mb-3 rounded-lg border border-red-300 dark:border-red-800 bg-red-50 dark:bg-red-900/30 p-3 text-sm text-red-700 dark:text-red-200",children:a}),u.jsxs("div",{className:"grid md:grid-cols-4 gap-3 mb-4",children:[u.jsxs("label",{className:"text-sm text-gray-700 dark:text-gray-200",children:["Dauer",u.jsxs("select",{value:h,onChange:k=>f(Number(k.target.value)),className:"mt-1 w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",children:[u.jsx("option",{value:2,children:"2 Wochen"}),u.jsx("option",{value:4,children:"4 Wochen"}),u.jsx("option",{value:6,children:"6 Wochen"})]})]}),u.jsxs("label",{className:"text-sm text-gray-700 dark:text-gray-200",children:["Einheiten/Woche",u.jsxs("select",{value:g,onChange:k=>w(Number(k.target.value)),className:"mt-1 w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",children:[u.jsx("option",{value:2,children:"2"}),u.jsx("option",{value:3,children:"3"}),u.jsx("option",{value:4,children:"4"})]})]}),u.jsx("button",{onClick:_,type:"button",className:"md:self-end px-4 py-2 rounded-lg bg-indigo-600 text-white hover:bg-indigo-700",children:"Plan (neu) generieren"}),u.jsx("button",{onClick:S,type:"button",disabled:i||!v.length,className:"md:self-end px-4 py-2 rounded-lg bg-emerald-600 text-white hover:bg-emerald-700 disabled:opacity-60",children:i?"Speichert…":"Entwurf speichern"})]}),y&&u.jsx("div",{className:"mb-4 rounded-lg border border-indigo-200 dark:border-indigo-800 bg-indigo-50 dark:bg-indigo-900/30 p-3 text-sm text-indigo-700 dark:text-indigo-200",children:y}),v.length>0&&u.jsxs("div",{className:"mb-6",children:[u.jsxs("div",{className:"flex items-center justify-between mb-2",children:[u.jsx("h4",{className:"text-sm font-semibold text-gray-900 dark:text-gray-100",children:"Entwurf (teilweise editierbar)"}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:["Sessions: ",p.total," · hoch ",p.high," · mittel ",p.medium," · leicht ",p.low]})]}),u.jsx("div",{className:"max-h-80 overflow-y-auto space-y-2 pr-1",children:v.map(E)})]}),u.jsxs("div",{className:"grid lg:grid-cols-2 gap-4",children:[u.jsxs("div",{className:"rounded-xl border border-emerald-100 dark:border-emerald-900/60 p-3 bg-emerald-50/50 dark:bg-emerald-950/20",children:[u.jsx("h4",{className:"font-semibold text-emerald-800 dark:text-emerald-200 mb-2",children:"Aktiver Plan"}),s?u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:"Lädt…"}):r?u.jsxs(u.Fragment,{children:[u.jsxs("p",{className:"text-xs text-gray-600 dark:text-gray-300 mb-2",children:["Generiert: ",od(r.generatedAt)," · ",r.durationWeeks," Wochen · ",r.sessionsPerWeek," Einheiten/Woche"]}),u.jsx("div",{className:"max-h-80 overflow-y-auto space-y-2 pr-1",children:r.sessions.map(k=>u.jsxs("div",{className:"rounded-lg border border-emerald-200/70 dark:border-emerald-800 bg-white dark:bg-gray-900 p-3",children:[u.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[u.jsxs("p",{className:"text-sm font-semibold text-gray-900 dark:text-gray-100",children:["W",k.weekNo," · E",k.sessionNo]}),u.jsx("div",{className:"flex gap-1",children:["open","done","skipped"].map(T=>u.jsx("button",{type:"button",onClick:()=>l(k.id,T),className:`text-xs px-2 py-1 border rounded ${wb(k.state===T)}`,children:T==="open"?"offen":T==="done"?"erledigt":"übersprungen"},T))})]}),u.jsx("input",{defaultValue:k.mainExercise,onBlur:T=>c(k.id,{mainExercise:T.target.value}),className:"w-full mb-2 px-3 py-2 text-sm rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900"}),u.jsx("input",{defaultValue:k.secondaryExercises.join(", "),onBlur:T=>c(k.id,{secondaryExercises:T.target.value.split(",").map(C=>C.trim()).filter(Boolean).slice(0,2)}),className:"w-full mb-2 px-3 py-2 text-sm rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900"}),u.jsx("textarea",{defaultValue:k.notes||"",onBlur:T=>c(k.id,{notes:T.target.value}),placeholder:"Notiz",className:"w-full px-3 py-2 text-sm rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900",rows:2})]},k.id))})]}):u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:"Noch kein aktiver Trainingsplan vorhanden."})]}),u.jsxs("div",{className:"rounded-xl border border-gray-200 dark:border-gray-800 p-3 bg-gray-50 dark:bg-gray-950/40",children:[u.jsx("h4",{className:"font-semibold text-gray-900 dark:text-gray-100 mb-2",children:"Plan-Historie"}),n.length?u.jsx("div",{className:"space-y-2 max-h-80 overflow-y-auto pr-1",children:n.map(k=>u.jsxs("div",{className:"rounded-lg border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-3",children:[u.jsx("p",{className:"text-sm font-semibold text-gray-800 dark:text-gray-100",children:od(k.generatedAt)}),u.jsxs("p",{className:"text-xs text-gray-600 dark:text-gray-300",children:[k.durationWeeks," Wochen · ",k.sessionsPerWeek," Einheiten/Woche · ",k.sessions.length," Sessions"]})]},k.id))}):u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:"Keine archivierten Pläne vorhanden."})]})]})]})}function _b({trendSeries:e=[]}){if(e.length<2)return u.jsx("div",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/70 dark:bg-gray-900/70 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Für den Trend werden mindestens 2 Assessments benötigt."});const t=760,r=280,n=50,s=20,i=16,a=52,o=e.map(v=>v.totalPoints),l=Math.min(...o),d=Math.max(...o)-l||1,h=t-n-s,f=r-i-a,g=e.map((v,b)=>{const y=n+b/(e.length-1)*h,m=(v.totalPoints-l)/d,p=i+f-m*f;return{...v,x:y,y:p}}),w=g.map((v,b)=>`${b===0?"M":"L"}${v.x},${v.y}`).join(" ");return u.jsxs("div",{className:"rounded-2xl border border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900 p-4 shadow-sm",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-800 dark:text-gray-100 mb-3",children:"Trend (Gesamtpunkte)"}),u.jsxs("svg",{viewBox:`0 0 ${t} ${r}`,className:"w-full h-auto",role:"img","aria-label":"Trenddiagramm",children:[u.jsx("line",{x1:n,y1:i,x2:n,y2:i+f,className:"stroke-gray-300 dark:stroke-gray-700",strokeWidth:"1"}),u.jsx("line",{x1:n,y1:i+f,x2:n+h,y2:i+f,className:"stroke-gray-300 dark:stroke-gray-700",strokeWidth:"1"}),u.jsx("path",{d:w,fill:"none",className:"stroke-indigo-500",strokeWidth:"3",strokeLinecap:"round"}),g.map(v=>u.jsxs("g",{children:[u.jsx("circle",{cx:v.x,cy:v.y,r:"4",className:"fill-indigo-500"}),u.jsx("text",{x:v.x,y:v.y-10,textAnchor:"middle",className:"fill-gray-700 dark:fill-gray-200",style:{fontSize:11,fontWeight:600},children:v.totalPoints}),u.jsx("text",{x:v.x,y:r-18,textAnchor:"middle",className:"fill-gray-500 dark:fill-gray-400",style:{fontSize:10},children:v.label})]},v.assessmentId))]})]})}const xb=e=>Math.round(Math.max(0,Math.min(1.5,e))*100);function kb({weaknesses:e=[]}){return e.length?u.jsxs("div",{className:"rounded-2xl border border-rose-200 dark:border-rose-900 bg-white dark:bg-gray-900 p-5 shadow-sm",children:[u.jsx("h3",{className:"text-lg font-semibold text-rose-700 dark:text-rose-300 mb-4",children:"Top-3 Schwächen"}),u.jsx("div",{className:"space-y-3",children:e.map((t,r)=>u.jsxs("div",{className:"rounded-xl border border-rose-100 dark:border-rose-900/60 bg-rose-50/60 dark:bg-rose-950/20 p-3",children:[u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("p",{className:"font-semibold text-gray-900 dark:text-gray-100",children:[r+1,". ",t.name]}),u.jsx("span",{className:"text-xs px-2 py-1 rounded-full bg-rose-200/70 dark:bg-rose-800/60 text-rose-800 dark:text-rose-200 font-semibold",children:xb(t.priorityScore)})]}),u.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-2 text-xs text-gray-600 dark:text-gray-300",children:[u.jsxs("p",{children:["Gap: ",t.gapScore.toFixed(2)]}),u.jsxs("p",{children:["Konstanz: ",t.consistencyScore.toFixed(2)]}),u.jsxs("p",{children:["Trend: ",t.trendDelta.toFixed(2)]})]})]},t.name))})]}):u.jsx("div",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/70 dark:bg-gray-900/70 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Keine Schwächen-Daten verfügbar."})}function Sb({assessments:e,selectedPatType:t,onPatTypeChange:r,patTypes:n,user:s}){const i=Object.keys(n||{});P.useEffect(()=>{!t&&i.length&&r(i[0])},[r,i,t]);const a=P.useMemo(()=>Rf(e,t,{windowSize:5,missingStrategy:"zero"}),[e,t]),o=e.filter(p=>p.patType===t),l=e.length>0,{activePlan:c,historyPlans:d,loading:h,saving:f,error:g,saveGeneratedPlan:w,updateSessionState:v,updateSessionPartial:b,loadPlans:y}=db({user:s,patType:t}),m=({durationWeeks:p,sessionsPerWeek:_,sessions:x})=>w({analysis:a,durationWeeks:p,sessionsPerWeek:_,sessions:x});return u.jsx("div",{className:"min-h-screen bg-gradient-to-br from-cyan-50 via-white to-emerald-50 dark:from-gray-950 dark:via-gray-950 dark:to-gray-900 p-6 text-gray-900 dark:text-gray-100",children:u.jsxs("div",{className:"max-w-7xl mx-auto space-y-6",children:[u.jsxs("section",{className:"rounded-2xl border border-gray-200 dark:border-gray-800 bg-white/90 dark:bg-gray-900/80 backdrop-blur p-5 shadow-sm",children:[u.jsx("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-cyan-700 dark:text-cyan-300",children:"Analyse"}),u.jsx("h1",{className:"text-2xl font-bold text-gray-900 dark:text-gray-100",children:"Wo solltest du besser werden?"}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-1",children:"Priorisierung nach Gap × Faktor × Konstanz basierend auf den letzten 5 Assessments."})]})}),u.jsx("div",{className:"mt-4 flex flex-wrap gap-2",children:i.map(p=>{const _=p===t;return u.jsx("button",{type:"button",onClick:()=>r(p),className:`px-4 py-2 rounded-lg border text-sm font-semibold transition ${_?"bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 border-gray-900 dark:border-gray-100":"bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200 border-gray-300 dark:border-gray-700 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:p},p)})}),u.jsxs("div",{className:"mt-4 flex flex-wrap gap-2 text-xs",children:[u.jsxs("span",{className:"px-3 py-1 rounded-full border border-cyan-200 dark:border-cyan-800 bg-cyan-50 dark:bg-cyan-900/30 text-cyan-700 dark:text-cyan-200 font-semibold",children:[u.jsx(Sf,{className:"w-3 h-3 inline-block mr-1"}),"Assessments: ",o.length]}),u.jsxs("span",{className:"px-3 py-1 rounded-full border border-indigo-200 dark:border-indigo-800 bg-indigo-50 dark:bg-indigo-900/30 text-indigo-700 dark:text-indigo-200 font-semibold",children:[u.jsx(Tf,{className:"w-3 h-3 inline-block mr-1"}),"Analysefenster: ",a.windowedAssessments.length,"/5"]}),a.isLimitedData&&u.jsxs("span",{className:"px-3 py-1 rounded-full border border-amber-200 dark:border-amber-800 bg-amber-50 dark:bg-amber-900/30 text-amber-700 dark:text-amber-200 font-semibold",children:[u.jsx(Fm,{className:"w-3 h-3 inline-block mr-1"}),"Begrenzte Datenbasis"]})]})]}),l?o.length===0?u.jsxs("section",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/80 dark:bg-gray-900/70 p-6 text-center",children:[u.jsxs("h2",{className:"text-xl font-semibold text-gray-900 dark:text-gray-100 mb-1",children:["Keine Bewertungen für ",t]}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:"Wähle einen anderen PAT-Typ oder erstelle eine neue Bewertung."})]}):u.jsxs(u.Fragment,{children:[u.jsxs("section",{className:"grid lg:grid-cols-2 gap-4",children:[u.jsx("div",{className:"h-full",children:u.jsx(fb,{metrics:a.exerciseMetrics})}),u.jsx("div",{className:"h-full",children:u.jsx(gb,{radarSeries:a.radarSeries})}),u.jsx("div",{className:"lg:col-span-2",children:u.jsx(_b,{trendSeries:a.trendSeries})})]}),u.jsxs("section",{className:"grid lg:grid-cols-2 gap-4",children:[u.jsx(kb,{weaknesses:a.topWeaknesses}),u.jsx(yb,{strengths:a.topStrengths})]}),u.jsx(bb,{patType:t,analysis:a,activePlan:c,historyPlans:d,loading:h,saving:f,error:g,onSavePlan:m,onUpdateSessionState:v,onUpdateSessionPartial:b,onReload:y})]}):u.jsxs("section",{className:"rounded-2xl border border-dashed border-gray-300 dark:border-gray-700 bg-white/80 dark:bg-gray-900/70 p-6 text-center",children:[u.jsx(Km,{className:"w-10 h-10 mx-auto mb-3 text-gray-400 dark:text-gray-500"}),u.jsx("h2",{className:"text-xl font-semibold text-gray-900 dark:text-gray-100 mb-1",children:"Noch keine Daten für die Analyse"}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300",children:'Lege zuerst eine Bewertung im Bereich "Bewertungen" an.'})]})]})})}const Eb={"PAT Start":[{name:"1) Stoß-Geschwindigkeit",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"2) Stoß-Gradlinigkeit",values:["","","",""],soll:2,durchschnitt:0,faktor:50,points:0},{name:"3) Winkelbälle",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"4) Nachlauf Wirkung",values:["","",""],soll:9,durchschnitt:0,faktor:11.11,points:0},{name:"5) Rücklauf-Wirkung",values:["","",""],soll:7,durchschnitt:0,faktor:14.29,points:0},{name:"6) Kl. Positions-Spiel",subA:["","",""],subB:["","",""],soll:4,durchschnitt:0,faktor:25,points:0},{name:"7) Gr. Pos. Bereich",subA:["","",""],subB:["","",""],soll:5,durchschnitt:0,faktor:20,points:0},{name:"8) Press Bande",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"9) Standardbälle",values:["","","","",""],soll:2,durchschnitt:0,faktor:50,points:0},{name:"10) 8-Ball Situation",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0}],"PAT 1":[{name:"1) Geschwindigkeit",values:["","",""],soll:3.33,durchschnitt:0,faktor:30,points:0,minValue:0,maxValue:4},{name:"2) Geradlinigkeit (Speed 2)",values:["","","",""],soll:2.5,durchschnitt:0,faktor:40,points:0,minValue:0,maxValue:3},{name:"3) Nachlauf",values:["","",""],soll:11,durchschnitt:0,faktor:9.1,points:0,minValue:0,maxValue:12},{name:"4) Rücklauf",values:["","",""],soll:10,durchschnitt:0,faktor:10,points:0,minValue:0,maxValue:12},{name:"5) Kl. Pos.-Bereich",subA:["","",""],subB:["","",""],subLabels:["1","2"],soll:3.33,durchschnitt:0,faktor:30,points:0,minValue:0,maxValue:5},{name:"6) Gr. Pos.-Bereich",subA:["","",""],subB:["","",""],subLabels:["1","2"],soll:3.33,durchschnitt:0,faktor:30,points:0,minValue:0,maxValue:6},{name:"7) Press Bande",subA:["","",""],subB:["","",""],subLabels:["1","2"],soll:4,durchschnitt:0,faktor:25,points:0,subValueRanges:{a:{minValue:0,maxValue:6},b:{minValue:0,maxValue:10}}},{name:"8) Endlos-Übung (Max: 9)",values:["","",""],soll:4.5,durchschnitt:0,faktor:22.22,points:0,minValue:0,maxValue:9},{name:"9) Standardbälle",values:["","","","",""],soll:2,durchschnitt:0,faktor:50,points:0,minValue:0,maxValue:3},{name:"10) 9-Ball Situation 5",values:["","",""],soll:4.5,durchschnitt:0,faktor:22.22,points:0,minValue:0,maxValue:9}],"PAT 2":[{name:"1) Übung PAT 2-1",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"2) Übung PAT 2-2",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"3) Übung PAT 2-3",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0}],"PAT 3":[{name:"1) Übung PAT 3-1",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"2) Übung PAT 3-2",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0},{name:"3) Übung PAT 3-3",values:["","",""],soll:3,durchschnitt:0,faktor:33.33,points:0}]},qr=e=>e?JSON.parse(JSON.stringify(e)):null,hn=e=>e===null||typeof e>"u"?!1:typeof e=="string"?e.trim()!=="":!0,jb=(e={})=>e.subA&&e.subB?[...e.subA||[],...e.subB||[]].every(hn):(e.values||[]).every(hn),ig=e=>{if(!e||!hn(e.name)||!hn(e.datum))return!1;const t=e.exercises||[];return t.length?t.every(jb):!1},ag=e=>e?e.isFinalized?"Dieser Test wurde bereits final abgeschlossen":!hn(e.name)||!hn(e.datum)?"Bitte zuerst Name und Datum ausfüllen":ig(e)?"":"Bitte alle Übungsfelder ausfüllen, bevor du final abschließt":"Kein Test geöffnet",Nb=()=>typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Date.now().toString(),Xa=e=>({id:e.id,patType:e.pat_type,datum:e.datum,name:e.name,exercises:qr(e.exercises||[]),isFinalized:!!e.is_finalized,finalizedAt:e.finalized_at||null,finalizationReminderSentAt:e.finalization_reminder_sent_at||null}),Tb=(e,t)=>({id:e.id,user_id:t,pat_type:e.patType,datum:e.datum,name:e.name,exercises:qr(e.exercises),is_finalized:!!e.isFinalized,finalized_at:e.finalizedAt||null,finalization_reminder_sent_at:e.finalizationReminderSentAt||null}),Pb=(e,t,r={})=>{const{onAfterSave:n}=r,[s,i]=P.useState([]),[a,o]=P.useState(null),[l,c]=P.useState(!1),d=P.useMemo(()=>!!W&&!!(t!=null&&t.id),[t]);P.useEffect(()=>{d&&h()},[d]);const h=async()=>{if(d)try{const{data:p,error:_}=await W.from("assessments").select("*").eq("user_id",t.id).order("created_at",{ascending:!1});if(_)throw _;i((p||[]).map(Xa))}catch(p){console.error("Fehler beim Laden:",p),alert("Fehler beim Laden der Daten aus Supabase: "+p.message)}},f=p=>{const _={id:Nb(),patType:p,datum:new Date().toISOString().split("T")[0],name:"",exercises:qr(e[p]),isFinalized:!1,finalizedAt:null,finalizationReminderSentAt:null};o(_),c(!1)},g=p=>{o(qr(p)),c(!1)},w=async({finalize:p=!1}={})=>{if(!(a!=null&&a.name)||!(a!=null&&a.datum))return alert("Bitte Name und Datum ausfüllen"),{ok:!1};if(a!=null&&a.isFinalized&&!p)return alert("Final abgeschlossene Bewertungen können nicht mehr geändert werden."),{ok:!1};if(p){const x=ag(a);if(x||!ig(a))return alert(x||"Bitte alle Felder ausfüllen, bevor du final abschließt."),{ok:!1}}if(!d)return alert("Supabase ist nicht konfiguriert. Bitte .env prüfen."),{ok:!1};const _=s.find(x=>x.id===a.id);try{const x=qr(a);x.name=x.name.trim(),p&&(x.isFinalized=!0,x.finalizedAt=new Date().toISOString(),x.finalizationReminderSentAt=null);const S=Tb(x,t.id);let E=null,k=[];if(_){const{data:T,error:C}=await W.from("assessments").update(S).eq("id",a.id).eq("user_id",t.id).select().single();if(C)throw C;E=Xa(T),k=s.map(z=>z.id===E.id?E:z),i(k),o(E)}else{const{data:T,error:C}=await W.from("assessments").insert(S).select().single();if(C)throw C;E=Xa(T),k=[E,...s.filter(z=>z.id!==E.id)],i(k),o(E)}if(typeof n=="function")try{await n({savedAssessment:E,assessments:k})}catch(T){console.warn("Post-save hook failed:",T)}return c(!1),{ok:!0,assessment:E,assessments:k}}catch(x){return alert("Fehler beim Speichern in Supabase: "+x.message),{ok:!1,error:x}}};return{assessments:s,currentAssessment:a,setCurrentAssessment:o,hasUnsavedChanges:l,setHasUnsavedChanges:c,createNewAssessment:f,openAssessment:g,handleSave:async()=>w(),finalizeAssessment:async()=>w({finalize:!0}),deleteAssessment:async p=>{if(!confirm("Möchten Sie diese Bewertung wirklich löschen?"))return;if(!d){alert("Supabase ist nicht konfiguriert. Bitte .env prüfen.");return}const{error:_}=await W.from("assessments").delete().eq("id",p).eq("user_id",t.id);if(_){alert("Fehler beim Löschen: "+_.message);return}i(x=>x.filter(S=>S.id!==p))},updateExerciseValue:(p,_,x,S=null)=>{if(!a||a.isFinalized)return;const E=qr(a),k=Cf(E.exercises[p],x,S);S==="a"?E.exercises[p].subA[_]=k:S==="b"?E.exercises[p].subB[_]=k:E.exercises[p].values[_]=k;const{durchschnitt:T,points:C}=Of(E.exercises[p]);E.exercises[p].durchschnitt=T,E.exercises[p].points=C,o(E),c(!0)},calculateTotal:()=>la((a==null?void 0:a.exercises)||[])}},Cb=e=>{if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(t)};function Ab({assessments:e,loading:t=!1,error:r}){var s,i,a,o,l,c,d,h;const n=P.useMemo(()=>{if(t||!e)return{total:0,average:0,latest:null,best:null};if(!(e!=null&&e.length))return{total:0,average:0,latest:null,best:null};const f=e.map(b=>({...b,totalPoints:Math.round(la(b.exercises||[]))})),g=f.reduce((b,y)=>b+(y.totalPoints||0),0)/(f.length||1),w=f[0],v=f.reduce((b,y)=>!b||(y.totalPoints||0)>(b.totalPoints||0)?y:b,null);return{total:f.length,average:Math.round(g),latest:w,best:v}},[e]);return u.jsxs("div",{className:"bg-white/90 dark:bg-gray-900/80 border border-gray-100 dark:border-gray-800 rounded-2xl shadow-lg p-6 mb-6",children:[u.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-3 mb-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-emerald-600 dark:text-emerald-300",children:"Live Übersicht"}),u.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-gray-100",children:"Aktuelle Statistik"}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:"Basis: alle Bewertungen, geladen beim Seitenaufruf"})]}),u.jsx("span",{className:"rounded-full border border-emerald-200/70 dark:border-emerald-700 px-3 py-1 text-xs font-semibold text-emerald-700 dark:text-emerald-200 bg-emerald-50 dark:bg-emerald-900/40",children:t?"Lädt…":"Stand: jetzt"})]}),r&&u.jsx("div",{className:"mb-3 rounded-lg border border-red-200 dark:border-red-800 bg-red-50 dark:bg-red-900/30 p-3 text-sm text-red-700 dark:text-red-200",children:r}),t?u.jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:[1,2,3,4].map(f=>u.jsx("div",{className:"h-28 rounded-2xl border border-gray-200/60 dark:border-gray-800 bg-gray-100 dark:bg-gray-800 animate-pulse"},f))}):n.total===0?u.jsx("div",{className:"rounded-xl border border-dashed border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-800/60 p-4 text-sm text-gray-600 dark:text-gray-300",children:"Noch keine Bewertungen vorhanden. Lege eine neue Bewertung an, um hier Live-Werte zu sehen."}):u.jsxs("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:[u.jsxs("div",{className:"rounded-2xl border border-emerald-200/70 dark:border-emerald-800 bg-gradient-to-br from-emerald-50 via-white to-emerald-50 dark:from-emerald-900/30 dark:via-gray-900 dark:to-emerald-900/20 p-4 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("p",{className:"text-sm font-semibold text-emerald-700 dark:text-emerald-200",children:"Bewertungen"}),u.jsx(Sf,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300","aria-hidden":"true"})]}),u.jsx("p",{className:"mt-3 text-3xl font-bold text-emerald-800 dark:text-emerald-100",children:n.total}),u.jsx("p",{className:"text-xs text-emerald-700/80 dark:text-emerald-200/70",children:"In der PAT Datenbank hinterlegt"})]}),u.jsxs("div",{className:"rounded-2xl border border-sky-200/70 dark:border-sky-800 bg-gradient-to-br from-sky-50 via-white to-sky-50 dark:from-sky-900/30 dark:via-gray-900 dark:to-sky-900/20 p-4 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("p",{className:"text-sm font-semibold text-sky-700 dark:text-sky-200",children:"Ø Gesamtpunkte"}),u.jsx(Pf,{className:"h-4 w-4 text-sky-600 dark:text-sky-300","aria-hidden":"true"})]}),u.jsx("p",{className:"mt-3 text-3xl font-bold text-sky-800 dark:text-sky-100",children:n.average}),u.jsx("p",{className:"text-xs text-sky-700/80 dark:text-sky-200/70",children:"Durchschnitt aller Assessments"})]}),u.jsxs("div",{className:"rounded-2xl border border-indigo-200/70 dark:border-indigo-800 bg-gradient-to-br from-indigo-50 via-white to-indigo-50 dark:from-indigo-900/30 dark:via-gray-900 dark:to-indigo-900/20 p-4 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("p",{className:"text-sm font-semibold text-indigo-700 dark:text-indigo-200",children:"Letzte Bewertung"}),u.jsx(Ym,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300","aria-hidden":"true"})]}),u.jsx("p",{className:"mt-3 text-lg font-semibold text-indigo-900 dark:text-indigo-100",children:((s=n.latest)==null?void 0:s.name)||((i=n.latest)==null?void 0:i.patType)||"Unbenannt"}),u.jsxs("p",{className:"text-xs text-indigo-700/80 dark:text-indigo-200/70",children:[Cb((a=n.latest)==null?void 0:a.datum)," · ",((o=n.latest)==null?void 0:o.patType)||"PAT"]})]}),u.jsxs("div",{className:"rounded-2xl border border-amber-200/70 dark:border-amber-800 bg-gradient-to-br from-amber-50 via-white to-amber-50 dark:from-amber-900/30 dark:via-gray-900 dark:to-amber-900/20 p-4 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("p",{className:"text-sm font-semibold text-amber-700 dark:text-amber-200",children:"Top Ergebnis"}),u.jsx(Hm,{className:"h-4 w-4 text-amber-600 dark:text-amber-300","aria-hidden":"true"})]}),u.jsx("p",{className:"mt-3 text-3xl font-bold text-amber-800 dark:text-amber-100",children:((l=n.best)==null?void 0:l.totalPoints)??0}),u.jsxs("p",{className:"text-xs text-amber-700/80 dark:text-amber-200/70",children:[((c=n.best)==null?void 0:c.name)||((d=n.best)==null?void 0:d.patType)||"—"," · ",((h=n.best)==null?void 0:h.patType)||"PAT"]})]})]})]})}const Ob=(e={})=>{const t={name:e.name||"",soll:e.soll??0,faktor:e.faktor??0};e.subA&&e.subB?(t.subA=e.subA,t.subB=e.subB,e.subLabels&&(t.subLabels=e.subLabels)):t.values=e.values||[];const{durchschnitt:r,points:n}=Of({...t,values:t.values||[]});return{...t,durchschnitt:r,points:n}},Rb=e=>({id:e.id,patType:e.pat_type,datum:e.datum,name:e.name,exercises:(e.exercises||[]).map(Ob)}),og=e=>Array.isArray(e)?e[0]||null:e||null,Ib=e=>{if(typeof window>"u")return`?share=${e}`;const t=new URL(window.location.origin+window.location.pathname);return t.searchParams.set("share",e),t.toString()},$b=async e=>{if(!e)throw new Error("Kein Test zum Teilen gefunden.");if(!W)throw new Error("Supabase ist nicht konfiguriert.");const{data:t,error:r}=await W.rpc("create_or_get_assessment_share",{p_assessment_id:e.id});if(r)throw r;const n=og(t);if(!(n!=null&&n.share_token))throw new Error("Kein Freigabetoken erhalten.");return{token:n.share_token,url:Ib(n.share_token)}},Db=async(e=[])=>{if(!W)throw new Error("Supabase ist nicht konfiguriert.");if(!e.length)return{};const{data:t,error:r}=await W.from("assessment_shares").select("assessment_id, share_token").in("assessment_id",e);if(r)throw r;return(t||[]).reduce((n,s)=>(n[s.assessment_id]=s.share_token,n),{})},Lb=async e=>{if(!W)throw new Error("Supabase ist nicht konfiguriert.");const{error:t}=await W.from("assessment_shares").delete().eq("assessment_id",e);if(t)throw t},zb=async e=>{if(!W)throw new Error("Supabase ist nicht konfiguriert.");const{data:t,error:r}=await W.rpc("get_shared_assessment",{p_share_token:e});if(r)throw r;const n=og(t);return n?Rb(n):null},Ub=async e=>{var t;return typeof navigator>"u"||!((t=navigator.clipboard)!=null&&t.writeText)?!1:(await navigator.clipboard.writeText(e),!0)},Mb=()=>typeof window<"u"&&["localhost","127.0.0.1"].includes(window.location.hostname);function Bb({user:e,activeTab:t="assessments",onEditingStateChange:r}){const n=P.useMemo(()=>Eb||{},[]),s=Object.keys(n),[i,a]=P.useState(!0),[o,l]=P.useState(()=>s[0]||""),[c,d]=P.useState(!1),[h,f]=P.useState({});P.useEffect(()=>{r==null||r(!i)},[r,i]),P.useEffect(()=>{s.length&&(!o||!s.includes(o))&&l(s[0])},[s,o]);const g=P.useCallback(async({savedAssessment:j,assessments:M})=>{var rt;if(!(j!=null&&j.patType)||!(M!=null&&M.length))return;const U=Rf(M,j.patType,{windowSize:5,missingStrategy:"zero"});if(!U.windowedAssessments.length)return;const fe=bu({topWeaknesses:U.topWeaknesses,topStrengths:U.topStrengths,durationWeeks:4,sessionsPerWeek:3,sessionMix:"1-main-2-secondary"}),Ge=await sg({patType:j.patType,analysisSnapshot:U,durationWeeks:4,sessionsPerWeek:3,sessions:fe.sessions});Ge.ok||console.warn("Automatische Plan-Neugenerierung fehlgeschlagen:",((rt=Ge.error)==null?void 0:rt.message)||Ge.error)},[]),{assessments:w,currentAssessment:v,setCurrentAssessment:b,hasUnsavedChanges:y,setHasUnsavedChanges:m,createNewAssessment:p,openAssessment:_,handleSave:x,finalizeAssessment:S,deleteAssessment:E,updateExerciseValue:k,calculateTotal:T}=Pb(n,e,{onAfterSave:g}),C=w,z=P.useMemo(()=>C.map(j=>j.id),[C]),K=P.useMemo(()=>w.some(j=>j.id===(v==null?void 0:v.id)),[w,v==null?void 0:v.id]),Y=!!(v!=null&&v.id&&h[v.id]),Ne=!!(v!=null&&v.isFinalized);P.useEffect(()=>{let j=!1;return(async()=>{if(!(e!=null&&e.id)||!z.length){f({});return}try{const U=await Db(z);j||f(U)}catch(U){console.warn("Freigaben konnten nicht geladen werden:",U),j||f({})}})(),()=>{j=!0}},[e==null?void 0:e.id,z]);const It=()=>{y&&!Ne?d(!0):a(!0)},Oe=async()=>{const j=await x();return j!=null&&j.ok&&alert("Erfolgreich gespeichert!"),j},bt=P.useCallback(async()=>{const j=await S();j!=null&&j.ok&&alert("Bewertung wurde final abgeschlossen und ist jetzt nur noch lesbar.")},[S]),A=async()=>{if(!(v!=null&&v.name)||!(v!=null&&v.datum)){alert("Bitte Name und Datum ausfüllen bevor Sie speichern");return}const j=await Oe();j!=null&&j.ok&&(d(!1),a(!0))},$=()=>{d(!1),m(!1),a(!0)},L=()=>{d(!1)},q=P.useCallback(async j=>{try{const{token:M,url:U}=await $b(j),fe=(j==null?void 0:j.name)||(j==null?void 0:j.patType)||"dieser Test",Ge=Mb()?` + +Hinweis: Der Link zeigt aktuell auf localhost und ist nur erreichbar, wenn die App von außen erreichbar ist.`:"";f(rt=>({...rt,[j.id]:M}));try{if(await Ub(U)){alert(`Freigabelink für "${fe}" wurde in die Zwischenablage kopiert.${Ge}`);return}}catch(rt){console.warn("Kopieren in die Zwischenablage fehlgeschlagen:",rt)}window.prompt(`Freigabelink für "${fe}"${Ge}`,U)}catch(M){alert(`Freigabelink konnte nicht erstellt werden: ${M.message||M}`)}},[]),re=P.useCallback(async j=>{const M=(j==null?void 0:j.name)||(j==null?void 0:j.patType)||"dieser Test";try{await Lb(j.id),f(U=>{const fe={...U};return delete fe[j.id],fe}),alert(`Freigabe für "${M}" wurde aufgehoben.`)}catch(U){alert(`Freigabe konnte nicht aufgehoben werden: ${U.message||U}`)}},[]),_t=P.useCallback(()=>{if(v){if(!K){alert("Bitte den Test zuerst speichern, bevor du ihn teilen kannst.");return}if(y){alert("Bitte erst speichern, damit der aktuelle Stand geteilt wird.");return}q(v)}},[v,q,y,K]),tt=P.useCallback(()=>{!v||!Y||re(v)},[v,re,Y]),sr=K?y?"Bitte erst speichern, damit der aktuelle Stand geteilt wird":"":"Bitte zuerst speichern",Me=ag(v);return i?t==="analysis"?u.jsx(Sb,{assessments:C,selectedPatType:o,onPatTypeChange:l,patTypes:n,user:e}):u.jsx(fy,{patTypes:n,assessments:C,overview:u.jsx(Ab,{assessments:C}),assessmentShareTokens:h,selectedPatType:o,onPatTypeChange:l,onCreate:j=>{p(j),a(!1)},onEdit:j=>{_(j),a(!1)},onDelete:E,getPatTypeColor:Yo,getAchievement:Xo}):u.jsx(Cy,{currentAssessment:v,hasUnsavedChanges:y,onBack:It,onSave:Oe,onAssessmentChange:b,onUpdateExercise:k,onMarkDirty:()=>m(!0),showSaveDialog:c,onSaveAndExit:A,onDiscardAndExit:$,onCancelExit:L,getPatTypeColor:Yo,getAchievement:Xo,calculateTotal:T,isReadOnly:Ne,canFinalize:!Me,finalizeDisabledReason:Me,onFinalize:bt,isShareActive:Y,canShare:K&&!y,shareDisabledReason:sr,onShare:_t,onRevokeShare:tt})}function Fb({onAuth:e,themeToggle:t,onBack:r}){const[n,s]=P.useState("login"),[i,a]=P.useState(""),[o,l]=P.useState(""),[c,d]=P.useState(""),[h,f]=P.useState(""),[g,w]=P.useState(!1),v=async b=>{if(b.preventDefault(),!!W){w(!0),f(""),d("");try{if(n==="login"){const{data:y,error:m}=await W.auth.signInWithPassword({email:i,password:o});m?f(m.message):(d("Erfolgreich angemeldet"),e==null||e(y.session))}else{const{data:y,error:m}=await W.auth.signUp({email:i,password:o});m?f(m.message):y.session?e==null||e(y.session):d("Registrierung abgeschlossen. Prüfe dein Postfach zur Bestätigung.")}}catch(y){f(y.message)}finally{w(!1)}}};return u.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-sky-100 via-blue-50 to-emerald-100 dark:from-gray-950 dark:via-gray-900 dark:to-gray-950 flex items-center justify-center p-6 text-gray-900 dark:text-gray-100",children:[u.jsx("div",{className:"absolute top-4 left-4 flex items-center gap-3",children:r&&u.jsxs("button",{type:"button",onClick:r,className:"inline-flex items-center gap-2 rounded-full border border-gray-200/70 bg-white/70 px-3 py-2 text-sm font-medium text-gray-800 shadow-sm backdrop-blur transition hover:-translate-y-[1px] hover:shadow-md dark:border-gray-800 dark:bg-gray-900/70 dark:text-gray-100",children:[u.jsx(Vm,{className:"h-4 w-4"}),"Zurück"]})}),u.jsx("div",{className:"absolute top-4 right-4",children:t}),u.jsxs("div",{className:"w-full max-w-lg bg-white/90 dark:bg-gray-900/80 backdrop-blur rounded-2xl shadow-xl border border-white/70 dark:border-gray-800",children:[u.jsxs("div",{className:"px-8 py-6 border-b border-gray-100 dark:border-gray-800",children:[u.jsx("p",{className:"text-sm uppercase tracking-wide text-indigo-600 dark:text-indigo-300 font-semibold",children:"PAT Stats"}),u.jsx("h1",{className:"text-3xl font-bold text-gray-900 dark:text-gray-100 mt-1",children:"Anmelden oder registrieren"}),u.jsx("p",{className:"text-gray-600 dark:text-gray-300 mt-2",children:"Melde dich mit deinem PAT-Test Konto an, um deine Bewertungen sicher zu verwalten."})]}),u.jsxs("form",{onSubmit:v,className:"px-8 py-6 space-y-4",children:[u.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium",children:[u.jsx("button",{type:"button",onClick:()=>s("login"),className:`px-4 py-2 rounded-full transition ${n==="login"?"bg-indigo-600 text-white":"text-gray-600 dark:text-gray-300 hover:bg-indigo-50 dark:hover:bg-indigo-900/40"}`,children:"Login"}),u.jsx("button",{type:"button",onClick:()=>s("register"),className:`px-4 py-2 rounded-full transition ${n==="register"?"bg-emerald-600 text-white":"text-gray-600 dark:text-gray-300 hover:bg-emerald-50 dark:hover:bg-emerald-900/40"}`,children:"Registrieren"})]}),u.jsxs("label",{className:"block",children:[u.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-200",children:"E-Mail"}),u.jsx("input",{type:"email",value:i,onChange:b=>a(b.target.value),required:!0,className:"mt-1 w-full px-4 py-3 rounded-lg border border-gray-200 dark:border-gray-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 bg-white dark:bg-gray-800 dark:text-gray-100",placeholder:"you@example.com"})]}),u.jsxs("label",{className:"block",children:[u.jsx("span",{className:"text-sm font-semibold text-gray-700 dark:text-gray-200",children:"Passwort"}),u.jsx("input",{type:"password",value:o,onChange:b=>l(b.target.value),required:!0,className:"mt-1 w-full px-4 py-3 rounded-lg border border-gray-200 dark:border-gray-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 bg-white dark:bg-gray-800 dark:text-gray-100",placeholder:"••••••••"})]}),h&&u.jsx("div",{className:"p-3 rounded-lg bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 text-red-700 dark:text-red-200 text-sm",children:h}),c&&u.jsx("div",{className:"p-3 rounded-lg bg-emerald-50 dark:bg-emerald-900/30 border border-emerald-200 dark:border-emerald-800 text-emerald-700 dark:text-emerald-200 text-sm",children:c}),u.jsx("button",{type:"submit",disabled:g,className:"w-full py-3 rounded-lg font-semibold text-white bg-gradient-to-r from-indigo-600 to-emerald-600 shadow-md hover:shadow-lg transition disabled:opacity-60 disabled:cursor-not-allowed",children:g?"Wird gesendet...":n==="login"?"Einloggen":"Konto erstellen"})]})]})]})}const Vb=[{label:"Datenschutz",path:"/datenschutz"},{label:"Impressum",path:"/impressum"},{label:"Kontakt",path:"/kontakt"}];function lg({children:e,themeToggle:t,onGetStarted:r,onNavigate:n,navLinks:s=[],currentPath:i="/"}){return u.jsxs("div",{className:"public-site",children:[u.jsx("div",{className:"public-site__backdrop"}),u.jsx("div",{className:"public-site__grid"}),u.jsxs("header",{className:"public-site__nav",children:[u.jsxs("button",{type:"button",className:"public-site__brand",onClick:()=>n("/"),children:[u.jsx("span",{className:"public-site__brand-mark",children:u.jsx(Tf,{className:"h-5 w-5","aria-hidden":"true"})}),u.jsxs("span",{className:"public-site__brand-copy",children:[u.jsx("span",{className:"public-site__brand-title",children:"PAT Manager"}),u.jsx("span",{className:"public-site__brand-subtitle",children:"Digitale Leistungsdiagnostik für Billard"})]})]}),u.jsx("nav",{className:"public-site__nav-links","aria-label":"Öffentliche Navigation",children:s.map(a=>u.jsx("button",{type:"button",className:`public-site__nav-link${a.active?" is-active":""}`,onClick:a.onClick,children:a.label},a.label))}),u.jsxs("div",{className:"public-site__nav-actions",children:[t&&u.jsx("div",{className:"public-site__theme-toggle",children:t}),u.jsxs("button",{type:"button",className:"public-site__cta public-site__cta--nav",onClick:r,children:["Anmelden",u.jsx(Ii,{className:"h-4 w-4","aria-hidden":"true"})]})]})]}),u.jsx("main",{className:"public-site__main",children:e}),u.jsx("footer",{className:"public-site__footer",children:u.jsxs("div",{className:"public-site__footer-inner",children:[u.jsxs("div",{className:"public-site__footer-links",children:[u.jsx("button",{type:"button",className:"public-site__footer-link",onClick:r,children:"Anmelden"}),Vb.map(a=>u.jsx("button",{type:"button",className:`public-site__footer-link${i===a.path?" is-active":""}`,onClick:()=>n(a.path),children:a.label},a.path))]}),u.jsx("p",{className:"public-site__footer-meta",children:"PAT Manager · Öffentliche Seiten"})]})})]})}const Wb=[{title:"Smarte Auswertungen",body:"Automatische Berechnungen für jede PAT-Kategorie mit klaren Kennzahlen, Trends und Fortschrittsbildern.",icon:Nf},{title:"Sichere Speicherung",body:"Nutzergebundene Datenhaltung, finale Abschlüsse und kontrollierte Freigaben für Trainer, Verein und Staff.",icon:jf},{title:"Team-ready",body:"Bewertungen erfassen, öffnen, teilen und wieder sperren, ohne Excel-Chaos oder doppelte Listen.",icon:uy},{title:"Performance-Insights",body:"Schwächen erkennen, Entwicklung verfolgen und Training gezielt auf die kritischen Übungen ausrichten.",icon:Pf},{title:"Mobile Erfassung",body:"Direkte Eingabe am Tisch mit klaren Grenzen pro Übung und sofortiger Berechnung der Punkte.",icon:iy},{title:"Export & Reports",body:"Saubere PDF-Ausgabe, öffentliche Freigabelinks und strukturierte Ergebnisansichten für Athleten und Staff.",icon:Ef}],Hb=[{title:"Vorlage wählen",body:"PAT Start, PAT 1, PAT 2 oder PAT 3 auswählen und die Bewertung sofort anlegen."},{title:"Werte erfassen",body:"Einzelwerte direkt eingeben, automatisch begrenzen lassen und live berechnen."},{title:"Abschließen & teilen",body:"Bewertung final abschließen, als PDF exportieren oder per Link freigeben."}],Kb=[{value:"100%",label:"Digitaler Ablauf"},{value:"0€",label:"Kostenlos starten"},{value:"SSL",label:"Verschlüsselte Übertragung"},{value:"24/7",label:"Jederzeit verfügbar"}],Ks=e=>{if(typeof document>"u")return;const t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth",block:"start"})};function qb({onGetStarted:e,onNavigate:t,themeToggle:r}){return u.jsxs(lg,{themeToggle:r,onGetStarted:e,onNavigate:t,currentPath:"/",navLinks:[{label:"Features",onClick:()=>Ks("features")},{label:"So funktioniert es",onClick:()=>Ks("how-it-works")},{label:"Statistiken",onClick:()=>Ks("stats")}],children:[u.jsxs("section",{className:"public-hero",children:[u.jsxs("div",{children:[u.jsxs("span",{className:"public-hero__badge",children:[u.jsx(Nf,{className:"h-4 w-4","aria-hidden":"true"}),"Jetzt live verfügbar"]}),u.jsxs("h1",{className:"public-hero__title",children:["Professionelle",u.jsx("span",{className:"public-hero__title-accent",children:" PAT-Test Verwaltung"})]}),u.jsx("p",{className:"public-hero__copy",children:"Erfasse, analysiere und verfolge Pool Ability Tests digital. Von der Eingabe bis zum Report läuft alles in einer klaren Oberfläche für Trainer, Vereine und Spieler."}),u.jsxs("div",{className:"public-hero__actions",children:[u.jsxs("button",{type:"button",className:"public-site__button",onClick:e,children:["Kostenlos testen",u.jsx(Ii,{className:"h-4 w-4","aria-hidden":"true"})]}),u.jsx("button",{type:"button",className:"public-site__button--secondary",onClick:()=>Ks("features"),children:"Mehr erfahren"})]}),u.jsxs("div",{className:"public-hero__meta",children:[u.jsxs("span",{className:"public-chip",children:[u.jsx(Jo,{className:"h-4 w-4 text-blue-300","aria-hidden":"true"}),"PAT Start bis PAT 3"]}),u.jsxs("span",{className:"public-chip",children:[u.jsx(Jo,{className:"h-4 w-4 text-blue-300","aria-hidden":"true"}),"Teilen, PDF und Finalisierung"]})]})]}),u.jsxs("div",{className:"public-preview__panel",children:[u.jsxs("div",{className:"public-preview__head",children:[u.jsx("strong",{children:"Live Übersicht"}),u.jsx("span",{className:"public-preview__status",children:"Online"})]}),u.jsxs("div",{className:"public-preview__grid",children:[u.jsxs("div",{className:"public-preview__card",children:[u.jsx("div",{className:"public-preview__label",children:"PAT 1 · Übung 1"}),u.jsx("div",{className:"public-preview__value public-preview__value--accent",children:"4 / 4"}),u.jsx("div",{className:"public-progress",children:u.jsx("span",{style:{width:"100%"}})})]}),u.jsxs("div",{className:"public-preview__card",children:[u.jsx("div",{className:"public-preview__label",children:"Gesamtpunktzahl"}),u.jsx("div",{className:"public-preview__value public-preview__value--success",children:"87%"}),u.jsx("div",{className:"public-progress",children:u.jsx("span",{style:{width:"87%"}})})]})]}),u.jsxs("div",{className:"public-preview__meta",children:[u.jsxs("div",{className:"public-preview__meta-card",children:[u.jsx("div",{className:"public-preview__label",children:"Aktive Bewertung"}),u.jsx("strong",{children:"Stefan · PAT 1"})]}),u.jsxs("div",{className:"public-preview__meta-card",children:[u.jsx("div",{className:"public-preview__label",children:"Status"}),u.jsx("strong",{children:"Freigabe aktiv"})]}),u.jsxs("div",{className:"public-preview__meta-card",children:[u.jsx("div",{className:"public-preview__label",children:"Workflow"}),u.jsx("strong",{children:"Erfassen · Finalisieren"})]}),u.jsxs("div",{className:"public-preview__meta-card",children:[u.jsx("div",{className:"public-preview__label",children:"Auswertung"}),u.jsx("strong",{children:"PDF & Analyse"})]})]})]})]}),u.jsxs("section",{className:"public-section",id:"features",children:[u.jsxs("div",{className:"public-section__header",children:[u.jsx("span",{className:"public-section__tag",children:"Funktionen"}),u.jsx("h2",{className:"public-section__title",children:"Alles, was du für PAT-Tests brauchst"}),u.jsx("p",{className:"public-section__copy",children:"Von der digitalen Erfassung bis zur teamweiten Auswertung. Die neue Startseite orientiert sich an deiner Vorlage, sitzt aber sauber im bestehenden Produktstil."})]}),u.jsx("div",{className:"public-features",children:Wb.map(({title:n,body:s,icon:i})=>u.jsxs("article",{className:"public-card",children:[u.jsx("span",{className:"public-card__icon",children:u.jsx(i,{className:"h-5 w-5","aria-hidden":"true"})}),u.jsx("h3",{className:"public-card__title",children:n}),u.jsx("p",{className:"public-card__copy",children:s})]},n))})]}),u.jsxs("section",{className:"public-section",id:"how-it-works",children:[u.jsxs("div",{className:"public-section__header",children:[u.jsx("span",{className:"public-section__tag",children:"Prozess"}),u.jsx("h2",{className:"public-section__title",children:"So läuft PAT mit uns"}),u.jsx("p",{className:"public-section__copy",children:"Von der Testvorlage bis zum Report bleibt der Ablauf kurz, klar und sicher."})]}),u.jsx("div",{className:"public-steps",children:Hb.map((n,s)=>u.jsxs("article",{className:"public-card public-step",children:[u.jsx("span",{className:"public-step__number",children:s+1}),u.jsx("h3",{className:"public-step__title",children:n.title}),u.jsx("p",{className:"public-step__copy",children:n.body})]},n.title))})]}),u.jsxs("section",{className:"public-section",id:"stats",children:[u.jsxs("div",{className:"public-section__header",children:[u.jsx("span",{className:"public-section__tag",children:"Statistiken"}),u.jsx("h2",{className:"public-section__title",children:"Klare Vorteile für den Alltag am Tisch"}),u.jsx("p",{className:"public-section__copy",children:"Weniger Listenpflege, weniger Medienbrüche und deutlich schneller von der Eingabe zur Auswertung."})]}),u.jsx("div",{className:"public-stats",children:Kb.map(n=>u.jsxs("article",{className:"public-stats__card",children:[u.jsx("div",{className:"public-stats__value",children:n.value}),u.jsx("div",{className:"public-stats__label",children:n.label})]},n.label))})]}),u.jsx("section",{className:"public-section",children:u.jsxs("div",{className:"public-cta-panel",children:[u.jsxs("div",{children:[u.jsx("span",{className:"public-section__tag",children:"Bereit?"}),u.jsx("h2",{className:"public-cta-panel__title",children:"Starte deine nächste PAT-Bewertung ohne Tabellenchaos."}),u.jsx("p",{className:"public-cta-panel__copy",children:"Login öffnen, Bewertung anlegen, Werte eintragen und Ergebnisse direkt sauber speichern oder teilen."})]}),u.jsxs("div",{className:"public-cta-panel__actions",children:[u.jsxs("button",{type:"button",className:"public-site__button",onClick:e,children:["Jetzt kostenlos ausprobieren",u.jsx(Ii,{className:"h-4 w-4","aria-hidden":"true"})]}),u.jsx("button",{type:"button",className:"public-site__button--secondary",onClick:()=>t("/kontakt"),children:"Kontakt öffnen"})]})]})})]})}const Gb=e=>{if(!e)return"—";const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(t)},Jb=e=>e===""||e===null||typeof e>"u"?"—":e,Za=({label:e,values:t=[]})=>u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx("span",{className:"min-w-10 text-sm font-semibold text-gray-600 dark:text-gray-300",children:e}),t.map((r,n)=>u.jsx("span",{className:"min-w-12 rounded-md border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 px-3 py-2 text-center text-sm font-medium text-gray-800 dark:text-gray-100",children:Jb(r)},`${e}-${n}`))]});function Qb({assessment:e}){if(!e)return null;const t=la(e.exercises||[]),r=Xo(e.patType,t);return u.jsx("div",{className:"min-h-screen bg-gray-100 dark:bg-gray-950 p-6 text-gray-900 dark:text-gray-100",children:u.jsx("div",{className:"max-w-5xl mx-auto",children:u.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-lg p-6 border border-gray-200 dark:border-gray-800",children:[u.jsxs("div",{className:"flex justify-between items-start gap-4 mb-6 flex-wrap",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-sky-700 dark:text-sky-300",children:"Geteilter Test"}),u.jsx("h1",{className:"text-3xl font-bold text-gray-800 dark:text-gray-100 mt-2",children:e.name||"PAT Test"}),u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 mt-2",children:"Dieser Link zeigt nur diesen einen Test im Nur-Lesen-Modus."})]}),u.jsx("span",{className:`px-4 py-2 rounded-full text-sm font-semibold ${Yo(e.patType)}`,children:e.patType})]}),u.jsxs("div",{className:"grid md:grid-cols-3 gap-3 mb-6 bg-gray-50 dark:bg-gray-800 p-4 rounded-lg",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Datum"}),u.jsx("p",{className:"mt-1 text-lg font-semibold",children:Gb(e.datum)})]}),u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Gesamtpunkte"}),u.jsx("p",{className:"mt-1 text-lg font-semibold text-green-600 dark:text-green-300",children:t.toFixed(0)})]}),u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Bewertung"}),u.jsx("p",{className:"mt-1 text-lg font-semibold",children:r.name})]})]}),(e.exercises||[]).map((n,s)=>{var i,a;return u.jsxs("div",{className:"mb-6 border-b pb-4 border-gray-200 dark:border-gray-800",children:[u.jsxs("div",{className:"flex items-start justify-between gap-3 mb-3 flex-wrap",children:[u.jsxs("div",{children:[u.jsx("h2",{className:"font-bold text-lg text-gray-700 dark:text-gray-200",children:n.name}),u.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:["Soll ",n.soll," · Faktor ",n.faktor]})]}),u.jsxs("div",{className:"rounded-lg bg-green-50 dark:bg-green-900/30 px-4 py-2",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-green-700 dark:text-green-300",children:"Points"}),u.jsx("p",{className:"text-xl font-bold text-green-700 dark:text-green-200",children:(n.points||0).toFixed(0)})]})]}),u.jsx("div",{className:"space-y-3",children:n.subA&&n.subB?u.jsxs(u.Fragment,{children:[u.jsx(Za,{label:((i=n.subLabels)==null?void 0:i[0])||"a)",values:n.subA}),u.jsx(Za,{label:((a=n.subLabels)==null?void 0:a[1])||"b)",values:n.subB})]}):u.jsx(Za,{label:"Werte",values:n.values||[]})}),u.jsxs("div",{className:"grid md:grid-cols-3 gap-3 mt-4",children:[u.jsxs("div",{className:"rounded-lg bg-blue-50 dark:bg-blue-900/30 px-4 py-3",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-blue-700 dark:text-blue-300",children:"Durchschnitt"}),u.jsx("p",{className:"text-lg font-semibold text-blue-700 dark:text-blue-200",children:(n.durchschnitt||0).toFixed(2)})]}),u.jsxs("div",{className:"rounded-lg bg-gray-50 dark:bg-gray-800 px-4 py-3",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Soll"}),u.jsx("p",{className:"text-lg font-semibold",children:n.soll})]}),u.jsxs("div",{className:"rounded-lg bg-gray-50 dark:bg-gray-800 px-4 py-3",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Faktor"}),u.jsx("p",{className:"text-lg font-semibold",children:n.faktor})]})]})]},`${n.name}-${s}`)}),u.jsxs("div",{className:"mt-6 bg-gradient-to-r from-green-100 to-blue-100 dark:from-gray-800 dark:to-gray-700 p-6 rounded-lg",children:[u.jsxs("div",{className:"flex justify-between items-center gap-4 flex-wrap mb-4",children:[u.jsx("span",{className:"text-2xl font-bold text-gray-800 dark:text-gray-100",children:"Ergebnis"}),u.jsx("span",{className:"text-4xl font-bold text-green-600 dark:text-green-300",children:t.toFixed(0)})]}),u.jsxs("div",{className:`mt-4 px-6 py-4 rounded-lg ${r.color} ${r.text} text-center`,children:[u.jsx("p",{className:"text-2xl font-bold",children:r.name}),r.subtitle&&u.jsx("p",{className:"text-lg mt-2",children:r.subtitle})]})]})]})})})}function Yb({shareToken:e,themeToggle:t}){const[r,n]=P.useState(null),[s,i]=P.useState(!0),[a,o]=P.useState("");return P.useEffect(()=>{let l=!1;return(async()=>{if(!e){o("Freigabelink fehlt."),i(!1);return}i(!0),o("");try{const d=await zb(e);if(l)return;if(!d){n(null),o("Dieser Freigabelink ist ungültig oder nicht mehr verfügbar.");return}n(d)}catch(d){if(l)return;n(null),o(d.message||"Geteilter Test konnte nicht geladen werden.")}finally{l||i(!1)}})(),()=>{l=!0}},[e]),u.jsxs("div",{className:"min-h-screen bg-gray-100 dark:bg-gray-950 text-gray-900 dark:text-gray-100",children:[u.jsx("div",{className:"absolute top-4 right-4 z-20",children:t}),s?u.jsx("div",{className:"min-h-screen flex items-center justify-center p-6",children:u.jsx("div",{className:"bg-white dark:bg-gray-900 rounded-xl border border-gray-200 dark:border-gray-800 shadow-sm p-6",children:"Geteilter Test wird geladen..."})}):a?u.jsx("div",{className:"min-h-screen flex items-center justify-center p-6",children:u.jsxs("div",{className:"max-w-xl w-full bg-white dark:bg-gray-900 rounded-xl border border-gray-200 dark:border-gray-800 shadow-sm p-6",children:[u.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-rose-600 dark:text-rose-300",children:"Freigabe"}),u.jsx("h1",{className:"text-2xl font-bold mt-2",children:"Geteilter Test nicht verfügbar"}),u.jsx("p",{className:"text-gray-600 dark:text-gray-300 mt-3",children:a})]})}):u.jsx(Qb,{assessment:r})]})}const ld={"/datenschutz":{tag:"Datenschutz",title:"Datenschutzhinweise für PAT Manager",intro:"Diese Seite ist als saubere öffentliche Datenschutzansicht angelegt. Inhaltlich solltest du sie vor dem Livegang noch mit deinen finalen Verantwortlichen, Kontaktdaten und juristisch geprüften Angaben vervollständigen.",cards:[{title:"Verantwortliche Stelle",body:"Trage hier den Vereinsnamen, die verantwortliche Person oder das Unternehmen ein, das PAT Manager betreibt. Ergänze außerdem Anschrift und eine echte Kontaktmöglichkeit."},{title:"Welche Daten verarbeitet werden",body:"Je nach Nutzung können Anmeldedaten, Bewertungsdaten, Freigaben, PDF-Exporte und technische Zugriffsdaten verarbeitet werden. Bei geteilten Bewertungen sehen anonyme Nutzer nur die explizit freigegebene Ansicht."},{title:"Zweck der Verarbeitung",body:"Die Verarbeitung dient der Durchführung von PAT-Bewertungen, der Auswertung von Leistungsdaten, der Teamorganisation sowie dem sicheren Speichern und Teilen einzelner Testergebnisse."},{title:"Speicherung und Dienstleister",body:"Die Anwendung nutzt Supabase als technische Datenbasis. Prüfe vor dem produktiven Einsatz die Auftragsverarbeitung, Speicherregion und die tatsächlich eingesetzten Zusatzdienste."},{title:"Rechte der betroffenen Personen",items:["Auskunft über gespeicherte Daten","Berichtigung unrichtiger Daten","Löschung oder Einschränkung der Verarbeitung","Widerspruch gegen einzelne Verarbeitungen","Beschwerde bei der zuständigen Aufsichtsbehörde"]},{title:"Wichtiger Hinweis",wide:!0,notice:"Diese Datenschutzseite ist eine strukturierte Vorlage. Vor der Veröffentlichung müssen echte Kontaktdaten, Rechtsgrundlagen, Speicherfristen und Dienstleisterangaben ergänzt und geprüft werden."}]},"/impressum":{tag:"Impressum",title:"Impressum für PAT Manager",intro:"Die Seite ist technisch fertig eingebunden, damit deine Footer- und Navigationslinks nicht mehr ins Leere laufen. Die konkreten Pflichtangaben musst du jetzt noch mit deinen echten Daten ergänzen.",cards:[{title:"Angaben gemäß § 5 TMG",body:"Ergänze hier Betreibername, Rechtsform, vertretungsberechtigte Person sowie die vollständige ladungsfähige Anschrift."},{title:"Kontakt",body:"Trage hier eine echte E-Mail-Adresse, optional Telefonnummer und weitere Kommunikationswege ein, unter denen Nutzer dich rechtssicher erreichen können."},{title:"Verantwortlich für den Inhalt",body:"Wenn erforderlich, ergänze die verantwortliche Person nach § 18 Abs. 2 MStV mit Name und Anschrift."},{title:"Haftungs- und Linkhinweise",body:"Wenn du externe Dienste, Inhalte oder Verlinkungen nutzt, prüfe bitte deine endgültigen Texte zu Haftung, Urheberrecht und externen Verweisen."},{title:"Wichtiger Hinweis",wide:!0,notice:"Dieses Impressum enthält absichtlich keine erfundenen Unternehmensdaten. Bitte ersetze die Platzhalter vor Veröffentlichung durch deine echten Pflichtangaben."}]},"/kontakt":{tag:"Kontakt",title:"Kontakt und Rückfragen",intro:"Hier ist eine öffentliche Kontaktseite im Stil der neuen Startseite eingebunden. Wenn du reale Ansprechpartner und Kanäle ergänzt, kannst du sie direkt produktiv nutzen.",cards:[{title:"Produkt & Demo",body:"Nutze diesen Bereich für Anfragen zu PAT Manager, Demos, Vereinsnutzung oder Einführung im Trainingsalltag."},{title:"Technischer Support",body:"Hier kannst du später Support-Zeiten, E-Mail-Adresse, Reaktionszeiten oder einen Helpdesk-Link ergänzen."},{title:"Kooperationen",body:"Platz für Kontakte zu Vereinen, Trainern, Leistungszentren oder Partnern, die das System einsetzen oder testen möchten."},{title:"Empfohlene nächste Ergänzungen",items:["Echte Support-E-Mail oder Kontaktformular verknüpfen","Antwortzeiten und Zuständigkeiten ergänzen","Optional Telefonnummer oder Vereinsanschrift angeben"]},{title:"Schnellzugriff",wide:!0,action:!0,body:"Wenn du direkt in die Anwendung wechseln willst, kannst du von hier aus sofort den Login öffnen und weiterarbeiten."}]}};function Xb({path:e,onGetStarted:t,onNavigate:r,themeToggle:n}){const s=ld[e]||ld["/kontakt"];return u.jsx(lg,{themeToggle:n,onGetStarted:t,onNavigate:r,currentPath:e,navLinks:[{label:"Startseite",onClick:()=>r("/")},{label:"Datenschutz",onClick:()=>r("/datenschutz"),active:e==="/datenschutz"},{label:"Impressum",onClick:()=>r("/impressum"),active:e==="/impressum"},{label:"Kontakt",onClick:()=>r("/kontakt"),active:e==="/kontakt"}],children:u.jsxs("section",{className:"public-page",children:[u.jsxs("div",{className:"public-page__hero",children:[u.jsxs("span",{className:"public-section__tag",children:[e==="/kontakt"?u.jsx(ey,{className:"h-4 w-4","aria-hidden":"true"}):u.jsx(Xm,{className:"h-4 w-4","aria-hidden":"true"}),s.tag]}),u.jsx("h1",{className:"public-page__title",children:s.title}),u.jsx("p",{className:"public-page__copy",children:s.intro})]}),u.jsx("div",{className:"public-page__grid",children:s.cards.map(i=>u.jsxs("article",{className:`public-page__card${i.wide?" public-page__card--wide":""}`,children:[u.jsx("h2",{className:"public-page__card-title",children:i.title}),i.body&&u.jsx("p",{className:"public-page__card-copy",children:i.body}),i.items&&u.jsx("ul",{className:"public-page__list",children:i.items.map(a=>u.jsx("li",{children:a},a))}),i.notice&&u.jsx("div",{className:"public-page__notice",children:i.notice}),i.action&&u.jsxs("div",{className:"public-hero__actions",children:[u.jsxs("button",{type:"button",className:"public-site__button",onClick:t,children:["Login öffnen",u.jsx(Ii,{className:"h-4 w-4","aria-hidden":"true"})]}),u.jsx("button",{type:"button",className:"public-site__button--secondary",onClick:()=>r("/"),children:"Zur Startseite"})]})]},i.title))}),u.jsx("section",{className:"public-section",children:u.jsxs("div",{className:"public-cta-panel",children:[u.jsxs("div",{children:[u.jsxs("span",{className:"public-section__tag",children:[u.jsx(jf,{className:"h-4 w-4","aria-hidden":"true"}),"Öffentliche Seiten fertig"]}),u.jsx("h2",{className:"public-cta-panel__title",children:"Die verlinkten Info-Seiten sind jetzt Bestandteil der App."}),u.jsx("p",{className:"public-cta-panel__copy",children:"Ergänze jetzt noch deine echten Vereins-, Kontakt- und Rechtstexte. Danach laufen Navigation und Footer sauber ohne Platzhalterlinks."})]}),u.jsxs("div",{className:"public-cta-panel__actions",children:[u.jsx("button",{type:"button",className:"public-site__button",onClick:()=>r("/"),children:"Zur Startseite"}),u.jsx("button",{type:"button",className:"public-site__button--secondary",onClick:t,children:"App öffnen"})]})]})})]})})}const eo=()=>typeof window>"u"?"":new URLSearchParams(window.location.search).get("share")||"",ud=()=>{if(typeof window>"u")return"/";const e=window.location.hash||"";return e.startsWith("#/")?e.slice(1):"/"};function Zb(){var _;const[e,t]=P.useState(null),[r,n]=P.useState(!0),[s,i]=P.useState(!1),[a,o]=P.useState("assessments"),[l,c]=P.useState(!1),[d,h]=P.useState(()=>eo()),[f,g]=P.useState(()=>ud()),[w,v]=P.useState(()=>{if(typeof window>"u")return"light";const x=localStorage.getItem("theme");return x==="light"||x==="dark"?x:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"});P.useEffect(()=>{const x=document.documentElement;w==="dark"?x.classList.add("dark"):x.classList.remove("dark"),localStorage.setItem("theme",w)},[w]),P.useEffect(()=>{const x=()=>{h(eo()),g(ud())};return window.addEventListener("popstate",x),window.addEventListener("hashchange",x),()=>{window.removeEventListener("popstate",x),window.removeEventListener("hashchange",x)}},[]),P.useEffect(()=>{if(d){n(!1);return}if(!W){n(!1);return}(async()=>{const{data:E,error:k}=await W.auth.getSession();k||t(E.session),n(!1)})();const{data:S}=W.auth.onAuthStateChange((E,k)=>{t(k)});return()=>{S==null||S.subscription.unsubscribe()}},[d]),P.useEffect(()=>{l&&a==="analysis"&&o("assessments")},[a,l]);const b=async()=>{W&&(await W.auth.signOut(),t(null),i(!1),o("assessments"),c(!1),m("/"))},y=()=>v(x=>x==="dark"?"light":"dark"),m=x=>{if(typeof window>"u")return;const S=x||"/",E=S==="/"?"":`#${S}`;if(window.location.hash===E){g(S),window.scrollTo({top:0,behavior:"smooth"});return}const k=`${window.location.pathname}${window.location.search}${E}`;window.history.pushState({},"",k),g(S),h(eo()),window.scrollTo({top:0,behavior:"smooth"})},p=()=>u.jsxs("button",{onClick:y,className:"flex items-center gap-2 px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-100 shadow-sm hover:shadow transition","aria-label":"Darstellung wechseln",type:"button",children:[w==="dark"?u.jsx(ay,{className:"w-4 h-4"}):u.jsx(ty,{className:"w-4 h-4"}),u.jsx("span",{className:"text-sm font-medium",children:w==="dark"?"Light Mode":"Dark Mode"})]});return d?u.jsx(Yb,{shareToken:d,themeToggle:p()}):W?r?u.jsxs("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-950 text-gray-600 dark:text-gray-300",children:[u.jsx("div",{className:"absolute top-4 right-4",children:p()}),u.jsx("span",{children:"Auth wird geladen..."})]}):e?u.jsxs("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-950 text-gray-900 dark:text-gray-100",children:[u.jsx("header",{className:"bg-white/80 dark:bg-gray-900/70 backdrop-blur border-b border-gray-200 dark:border-gray-800",children:u.jsxs("div",{className:"max-w-7xl mx-auto px-6 py-3 flex items-center justify-between gap-3 flex-wrap",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-gray-500 dark:text-gray-400",children:"Angemeldet"}),u.jsx("p",{className:"text-sm font-semibold text-gray-800 dark:text-gray-100",children:(_=e==null?void 0:e.user)==null?void 0:_.email})]}),u.jsxs("nav",{className:"flex items-center gap-2",children:[u.jsx("button",{type:"button",onClick:()=>o("assessments"),className:`px-4 py-2 rounded-lg border text-sm font-semibold transition ${a==="assessments"?"bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 border-gray-900 dark:border-gray-100":"bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200 border-gray-300 dark:border-gray-700 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:"Bewertungen"}),u.jsx("button",{type:"button",onClick:()=>o("analysis"),disabled:l,className:`px-4 py-2 rounded-lg border text-sm font-semibold transition ${a==="analysis"?"bg-gray-900 text-white dark:bg-gray-100 dark:text-gray-900 border-gray-900 dark:border-gray-100":"bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200 border-gray-300 dark:border-gray-700 hover:bg-gray-100 dark:hover:bg-gray-800"} ${l?"opacity-50 cursor-not-allowed":""}`,title:l?"Analyse ist während der Bearbeitung deaktiviert":"Analyse öffnen",children:"Analyse"})]}),u.jsxs("div",{className:"flex items-center gap-3",children:[p(),u.jsx("button",{onClick:b,className:"px-4 py-2 bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-lg hover:bg-gray-800 dark:hover:bg-gray-200 transition",children:"Abmelden"})]})]})}),u.jsx(Bb,{user:e==null?void 0:e.user,activeTab:a,onEditingStateChange:c})]}):s?u.jsx(Fb,{onAuth:t,themeToggle:p(),onBack:()=>i(!1)}):f==="/datenschutz"||f==="/impressum"||f==="/kontakt"?u.jsx(Xb,{path:f,onGetStarted:()=>i(!0),onNavigate:m,themeToggle:p()}):u.jsx(qb,{onGetStarted:()=>i(!0),onNavigate:m,themeToggle:p()}):u.jsxs("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-950 text-gray-900 dark:text-gray-100 flex items-center justify-center p-6",children:[u.jsx("div",{className:"absolute top-4 right-4",children:p()}),u.jsxs("div",{className:"max-w-xl w-full bg-white/90 dark:bg-gray-900/80 border border-dashed border-gray-300 dark:border-gray-700 rounded-xl shadow-sm p-6",children:[u.jsx("h2",{className:"text-2xl font-bold text-gray-800 dark:text-gray-100 mb-2",children:"Supabase noch nicht konfiguriert"}),u.jsxs("p",{className:"text-gray-600 dark:text-gray-300",children:["Lege eine ",u.jsx("code",{children:".env"})," an (siehe ",u.jsx("code",{children:".env.example"}),") und trage",u.jsx("code",{children:" VITE_SUPABASE_URL "})," sowie ",u.jsx("code",{children:"VITE_SUPABASE_ANON_KEY"})," ein, um Login und Registrierung zu aktivieren."]}),u.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-3",children:"Anschließend Vite neu starten, damit die Variablen geladen werden."})]})]})}to.createRoot(document.getElementById("root")).render(u.jsx(Ng.StrictMode,{children:u.jsx(Zb,{})}));export{Rc as _,Nr as c,cd as g}; diff --git a/dist/assets/index.es-UMgmYbRN.js b/dist/assets/index.es-UMgmYbRN.js new file mode 100644 index 0000000..697c168 --- /dev/null +++ b/dist/assets/index.es-UMgmYbRN.js @@ -0,0 +1,18 @@ +import{c as Ke,g as Do}from"./index-DlZengFf.js";import{_ as Xa}from"./jspdf.es.min-CzU92G48.js";var vt=function(a){return a&&a.Math===Math&&a},_=vt(typeof globalThis=="object"&&globalThis)||vt(typeof window=="object"&&window)||vt(typeof self=="object"&&self)||vt(typeof Ke=="object"&&Ke)||vt(typeof Ke=="object"&&Ke)||function(){return this}()||Function("return this")(),$t={},D=function(a){try{return!!a()}catch{return!0}},Al=D,he=!Al(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Pl=D,xr=!Pl(function(){var a=(function(){}).bind();return typeof a!="function"||a.hasOwnProperty("prototype")}),Rl=xr,Ut=Function.prototype.call,Y=Rl?Ut.bind(Ut):function(){return Ut.apply(Ut,arguments)},Lo={},ko={}.propertyIsEnumerable,Bo=Object.getOwnPropertyDescriptor,Nl=Bo&&!ko.call({1:2},1);Lo.f=Nl?function(e){var t=Bo(this,e);return!!t&&t.enumerable}:ko;var Si=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}},jo=xr,Fo=Function.prototype,Wa=Fo.call,Il=jo&&Fo.bind.bind(Wa,Wa),L=jo?Il:function(a){return function(){return Wa.apply(a,arguments)}},Uo=L,Ml=Uo({}.toString),_l=Uo("".slice),je=function(a){return _l(Ml(a),8,-1)},Vl=L,Dl=D,Ll=je,ea=Object,kl=Vl("".split),Go=Dl(function(){return!ea("z").propertyIsEnumerable(0)})?function(a){return Ll(a)==="String"?kl(a,""):ea(a)}:ea,Tr=function(a){return a==null},Bl=Tr,jl=TypeError,ve=function(a){if(Bl(a))throw new jl("Can't call method on "+a);return a},Fl=Go,Ul=ve,wt=function(a){return Fl(Ul(a))},ta=typeof document=="object"&&document.all,B=typeof ta>"u"&&ta!==void 0?function(a){return typeof a=="function"||a===ta}:function(a){return typeof a=="function"},Gl=B,ae=function(a){return typeof a=="object"?a!==null:Gl(a)},ra=_,zl=B,Hl=function(a){return zl(a)?a:void 0},Fe=function(a,e){return arguments.length<2?Hl(ra[a]):ra[a]&&ra[a][e]},Yl=L,Or=Yl({}.isPrototypeOf),Xl=_,yn=Xl.navigator,mn=yn&&yn.userAgent,Ct=mn?String(mn):"",zo=_,aa=Ct,bn=zo.process,xn=zo.Deno,Tn=bn&&bn.versions||xn&&xn.version,On=Tn&&Tn.v8,le,gr;On&&(le=On.split("."),gr=le[0]>0&&le[0]<4?1:+(le[0]+le[1]));!gr&&aa&&(le=aa.match(/Edge\/(\d+)/),(!le||le[1]>=74)&&(le=aa.match(/Chrome\/(\d+)/),le&&(gr=+le[1])));var Ei=gr,Sn=Ei,Wl=D,ql=_,Ql=ql.String,Ho=!!Object.getOwnPropertySymbols&&!Wl(function(){var a=Symbol("symbol detection");return!Ql(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Sn&&Sn<41}),Kl=Ho,Yo=Kl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Zl=Fe,Jl=B,eh=Or,th=Yo,rh=Object,Xo=th?function(a){return typeof a=="symbol"}:function(a){var e=Zl("Symbol");return Jl(e)&&eh(e.prototype,rh(a))},ah=String,Sr=function(a){try{return ah(a)}catch{return"Object"}},ih=B,nh=Sr,sh=TypeError,Te=function(a){if(ih(a))return a;throw new sh(nh(a)+" is not a function")},oh=Te,uh=Tr,ot=function(a,e){var t=a[e];return uh(t)?void 0:oh(t)},ia=Y,na=B,sa=ae,lh=TypeError,hh=function(a,e){var t,r;if(e==="string"&&na(t=a.toString)&&!sa(r=ia(t,a))||na(t=a.valueOf)&&!sa(r=ia(t,a))||e!=="string"&&na(t=a.toString)&&!sa(r=ia(t,a)))return r;throw new lh("Can't convert object to primitive value")},Wo={exports:{}},En=_,vh=Object.defineProperty,$i=function(a,e){try{vh(En,a,{value:e,configurable:!0,writable:!0})}catch{En[a]=e}return e},fh=_,ch=$i,$n="__core-js_shared__",wn=Wo.exports=fh[$n]||ch($n,{});(wn.versions||(wn.versions=[])).push({version:"3.49.0",mode:"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE",source:"https://github.com/zloirock/core-js"});var wi=Wo.exports,Cn=wi,Ci=function(a,e){return Cn[a]||(Cn[a]=e||{})},gh=ve,dh=Object,Er=function(a){return dh(gh(a))},ph=L,yh=Er,mh=ph({}.hasOwnProperty),fe=Object.hasOwn||function(e,t){return mh(yh(e),t)},bh=L,xh=0,Th=Math.random(),Oh=bh(1.1.toString),qo=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Oh(++xh+Th,36)},Sh=_,Eh=Ci,An=fe,$h=qo,wh=Ho,Ch=Yo,Ze=Sh.Symbol,oa=Eh("wks"),Ah=Ch?Ze.for||Ze:Ze&&Ze.withoutSetter||$h,z=function(a){return An(oa,a)||(oa[a]=wh&&An(Ze,a)?Ze[a]:Ah("Symbol."+a)),oa[a]},Ph=Y,Pn=ae,Rn=Xo,Rh=ot,Nh=hh,Ih=z,Mh=TypeError,_h=Ih("toPrimitive"),Vh=function(a,e){if(!Pn(a)||Rn(a))return a;var t=Rh(a,_h),r;if(t){if(e===void 0&&(e="default"),r=Ph(t,a,e),!Pn(r)||Rn(r))return r;throw new Mh("Can't convert object to primitive value")}return e===void 0&&(e="number"),Nh(a,e)},Dh=Vh,Lh=Xo,Qo=function(a){var e=Dh(a,"string");return Lh(e)?e:e+""},kh=_,Nn=ae,qa=kh.document,Bh=Nn(qa)&&Nn(qa.createElement),$r=function(a){return Bh?qa.createElement(a):{}},jh=he,Fh=D,Uh=$r,Ko=!jh&&!Fh(function(){return Object.defineProperty(Uh("div"),"a",{get:function(){return 7}}).a!==7}),Gh=he,zh=Y,Hh=Lo,Yh=Si,Xh=wt,Wh=Qo,qh=fe,Qh=Ko,In=Object.getOwnPropertyDescriptor;$t.f=Gh?In:function(e,t){if(e=Xh(e),t=Wh(t),Qh)try{return In(e,t)}catch{}if(qh(e,t))return Yh(!zh(Hh.f,e,t),e[t])};var Oe={},Kh=he,Zh=D,Zo=Kh&&Zh(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),Jh=ae,ev=String,tv=TypeError,J=function(a){if(Jh(a))return a;throw new tv(ev(a)+" is not an object")},rv=he,av=Ko,iv=Zo,Gt=J,Mn=Qo,nv=TypeError,ua=Object.defineProperty,sv=Object.getOwnPropertyDescriptor,la="enumerable",ha="configurable",va="writable";Oe.f=rv?iv?function(e,t,r){if(Gt(e),t=Mn(t),Gt(r),typeof e=="function"&&t==="prototype"&&"value"in r&&va in r&&!r[va]){var i=sv(e,t);i&&i[va]&&(e[t]=r.value,r={configurable:ha in r?r[ha]:i[ha],enumerable:la in r?r[la]:i[la],writable:!1})}return ua(e,t,r)}:ua:function(e,t,r){if(Gt(e),t=Mn(t),Gt(r),av)try{return ua(e,t,r)}catch{}if("get"in r||"set"in r)throw new nv("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var ov=he,uv=Oe,lv=Si,At=ov?function(a,e,t){return uv.f(a,e,lv(1,t))}:function(a,e,t){return a[e]=t,a},Jo={exports:{}},Qa=he,hv=fe,eu=Function.prototype,vv=Qa&&Object.getOwnPropertyDescriptor,tu=hv(eu,"name"),fv=tu&&(function(){}).name==="something",cv=tu&&(!Qa||Qa&&vv(eu,"name").configurable),wr={PROPER:fv,CONFIGURABLE:cv},gv=L,dv=B,Ka=wi,pv=gv(Function.toString);dv(Ka.inspectSource)||(Ka.inspectSource=function(a){return pv(a)});var Ai=Ka.inspectSource,yv=_,mv=B,_n=yv.WeakMap,bv=mv(_n)&&/native code/.test(String(_n)),xv=Ci,Tv=qo,Vn=xv("keys"),Pi=function(a){return Vn[a]||(Vn[a]=Tv(a))},Ri={},Ov=bv,ru=_,Sv=ae,Ev=At,fa=fe,ca=wi,$v=Pi,wv=Ri,Dn="Object already initialized",Za=ru.TypeError,Cv=ru.WeakMap,dr,Ot,pr,Av=function(a){return pr(a)?Ot(a):dr(a,{})},Pv=function(a){return function(e){var t;if(!Sv(e)||(t=Ot(e)).type!==a)throw new Za("Incompatible receiver, "+a+" required");return t}};if(Ov||ca.state){var de=ca.state||(ca.state=new Cv);de.get=de.get,de.has=de.has,de.set=de.set,dr=function(a,e){if(de.has(a))throw new Za(Dn);return e.facade=a,de.set(a,e),e},Ot=function(a){return de.get(a)||{}},pr=function(a){return de.has(a)}}else{var Ye=$v("state");wv[Ye]=!0,dr=function(a,e){if(fa(a,Ye))throw new Za(Dn);return e.facade=a,Ev(a,Ye,e),e},Ot=function(a){return fa(a,Ye)?a[Ye]:{}},pr=function(a){return fa(a,Ye)}}var Cr={set:dr,get:Ot,has:pr,enforce:Av,getterFor:Pv},Ni=L,Rv=D,Nv=B,zt=fe,Ja=he,Iv=wr.CONFIGURABLE,Mv=Ai,au=Cr,_v=au.enforce,Vv=au.get,Ln=String,ur=Object.defineProperty,Dv=Ni("".slice),Lv=Ni("".replace),kv=Ni([].join),Bv=Ja&&!Rv(function(){return ur(function(){},"length",{value:8}).length!==8}),jv=String(String).split("String"),Fv=Jo.exports=function(a,e,t){Dv(Ln(e),0,7)==="Symbol("&&(e="["+Lv(Ln(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!zt(a,"name")||Iv&&a.name!==e)&&(Ja?ur(a,"name",{value:e,configurable:!0}):a.name=e),Bv&&t&&zt(t,"arity")&&a.length!==t.arity&&ur(a,"length",{value:t.arity});try{t&&zt(t,"constructor")&&t.constructor?Ja&&ur(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var r=_v(a);return zt(r,"source")||(r.source=kv(jv,typeof e=="string"?e:"")),a};Function.prototype.toString=Fv(function(){return Nv(this)&&Vv(this).source||Mv(this)},"toString");var iu=Jo.exports,Uv=B,Gv=Oe,zv=iu,Hv=$i,Ue=function(a,e,t,r){r||(r={});var i=r.enumerable,n=r.name!==void 0?r.name:e;if(Uv(t)&&zv(t,n,r),r.global)i?a[e]=t:Hv(e,t);else{try{r.unsafe?a[e]&&(i=!0):delete a[e]}catch{}i?a[e]=t:Gv.f(a,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return a},nu={},Yv=Math.ceil,Xv=Math.floor,Wv=Math.trunc||function(e){var t=+e;return(t>0?Xv:Yv)(t)},qv=Wv,Ar=function(a){var e=+a;return e!==e||e===0?0:qv(e)},Qv=Ar,Kv=Math.max,Zv=Math.min,Jv=function(a,e){var t=Qv(a);return t<0?Kv(t+e,0):Zv(t,e)},ef=Ar,tf=Math.min,ut=function(a){var e=ef(a);return e>0?tf(e,9007199254740991):0},rf=ut,Ii=function(a){return rf(a.length)},af=wt,nf=Jv,sf=Ii,of=function(a){return function(e,t,r){var i=af(e),n=sf(i);if(n===0)return!a&&-1;var o=nf(r,n),s;if(a&&t!==t){for(;n>o;)if(s=i[o++],s!==s)return!0}else for(;n>o;o++)if((a||o in i)&&i[o]===t)return a||o||0;return!a&&-1}},su={indexOf:of(!1)},uf=L,ga=fe,lf=wt,hf=su.indexOf,vf=Ri,kn=uf([].push),ou=function(a,e){var t=lf(a),r=0,i=[],n;for(n in t)!ga(vf,n)&&ga(t,n)&&kn(i,n);for(;e.length>r;)ga(t,n=e[r++])&&(~hf(i,n)||kn(i,n));return i},Mi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ff=ou,cf=Mi,gf=cf.concat("length","prototype");nu.f=Object.getOwnPropertyNames||function(e){return ff(e,gf)};var uu={};uu.f=Object.getOwnPropertySymbols;var df=Fe,pf=L,yf=nu,mf=uu,bf=J,xf=pf([].concat),Tf=df("Reflect","ownKeys")||function(e){var t=yf.f(bf(e)),r=mf.f;return r?xf(t,r(e)):t},Bn=fe,Of=Tf,Sf=$t,Ef=Oe,$f=function(a,e,t){for(var r=Of(e),i=Ef.f,n=Sf.f,o=0;of;f++)if(v=y(a[f]),v&&ms(xs,v))return v;return new vr(!1)}l=$d(a,h)}for(g=n?a.next:l.next;!(d=xd(g,l)).done;){var T=d.value;try{v=y(T)}catch(b){if(l)bs(l,"throw",b);else throw b}if(typeof v=="object"&&v&&ms(xs,v))return v}return new vr(!1)},Ad=z,Uu=Ad("iterator"),Gu=!1;try{var Pd=0,Ts={next:function(){return{done:!!Pd++}},return:function(){Gu=!0}};Ts[Uu]=function(){return this},Array.from(Ts,function(){throw 2})}catch{}var Rd=function(a,e){try{if(!e&&!Gu)return!1}catch{return!1}var t=!1;try{var r={};r[Uu]=function(){return{next:function(){return{done:t=!0}}}},a(r)}catch{}return t},Nd=Ir,Id=Rd,Md=Rt.CONSTRUCTOR,zu=Md||!Id(function(a){Nd.all(a).then(void 0,function(){})}),_d=ee,Vd=Y,Dd=Te,Ld=lt,kd=ki,Bd=Fu,jd=zu;_d({target:"Promise",stat:!0,forced:jd},{all:function(e){var t=this,r=Ld.f(t),i=r.resolve,n=r.reject,o=kd(function(){var s=Dd(t.resolve),u=[],l=0,h=1;Bd(e,function(f){var c=l++,v=!1;h++,Vd(s,t,f).then(function(g){v||(v=!0,u[c]=g,--h||i(u))},n)}),--h||i(u)});return o.error&&n(o.value),r.promise}});var Fd=ee,Ud=Rt.CONSTRUCTOR,si=Ir,Gd=Fe,zd=B,Hd=Ue,Os=si&&si.prototype;Fd({target:"Promise",proto:!0,forced:Ud,real:!0},{catch:function(a){return this.then(void 0,a)}});if(zd(si)){var Ss=Gd("Promise").prototype.catch;Os.catch!==Ss&&Hd(Os,"catch",Ss,{unsafe:!0})}var Yd=ee,Xd=Y,Wd=Te,qd=lt,Qd=ki,Kd=Fu,Zd=zu;Yd({target:"Promise",stat:!0,forced:Zd},{race:function(e){var t=this,r=qd.f(t),i=r.reject,n=Qd(function(){var o=Wd(t.resolve);Kd(e,function(s){Xd(o,t,s).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Jd=ee,ep=lt,tp=Rt.CONSTRUCTOR;Jd({target:"Promise",stat:!0,forced:tp},{reject:function(e){var t=ep.f(this),r=t.reject;return r(e),t.promise}});var rp=J,ap=ae,ip=lt,np=function(a,e){if(rp(a),ap(e)&&e.constructor===a)return e;var t=ip.f(a),r=t.resolve;return r(e),t.promise},sp=ee,op=Fe,up=Rt.CONSTRUCTOR,lp=np;op("Promise");sp({target:"Promise",stat:!0,forced:up},{resolve:function(e){return lp(this,e)}});function Es(a,e,t,r,i,n,o){try{var s=a[n](o),u=s.value}catch(l){return void t(l)}s.done?e(u):Promise.resolve(u).then(r,i)}function xe(a){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=a.apply(e,t);function o(u){Es(n,r,i,o,s,"next",u)}function s(u){Es(n,r,i,o,s,"throw",u)}o(void 0)})}}var hp=_i,vp=String,pe=function(a){if(hp(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return vp(a)},fp=J,Hu=function(){var a=fp(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e},Gi=D,cp=_,zi=cp.RegExp,Hi=Gi(function(){var a=zi("a","y");return a.lastIndex=2,a.exec("abcd")!==null});Hi||Gi(function(){return!zi("a","y").sticky});var gp=Hi||Gi(function(){var a=zi("^r","gy");return a.lastIndex=2,a.exec("str")!==null}),Yu={BROKEN_CARET:gp,UNSUPPORTED_Y:Hi},Xu={},dp=ou,pp=Mi,yp=Object.keys||function(e){return dp(e,pp)},mp=he,bp=Zo,xp=Oe,Tp=J,Op=wt,Sp=yp;Xu.f=mp&&!bp?Object.defineProperties:function(e,t){Tp(e);for(var r=Op(t),i=Sp(t),n=i.length,o=0,s;n>o;)xp.f(e,s=i[o++],r[s]);return e};var Ep=J,$p=Xu,$s=Mi,wp=Ri,Cp=xu,Ap=$r,Pp=Pi,ws=">",Cs="<",oi="prototype",ui="script",Wu=Pp("IE_PROTO"),wa=function(){},qu=function(a){return Cs+ui+ws+a+Cs+"/"+ui+ws},As=function(a){a.write(qu("")),a.close();var e=a.parentWindow.Object;return a=null,e},Rp=function(){var a=Ap("iframe"),e="java"+ui+":",t;return a.style.display="none",Cp.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(qu("document.F=Object")),t.close(),t.F},Jt,fr=function(){try{Jt=new ActiveXObject("htmlfile")}catch{}fr=typeof document<"u"?document.domain&&Jt?As(Jt):Rp():As(Jt);for(var a=$s.length;a--;)delete fr[oi][$s[a]];return fr()};wp[Wu]=!0;var Yi=Object.create||function(e,t){var r;return e!==null?(wa[oi]=Ep(e),r=new wa,wa[oi]=null,r[Wu]=e):r=fr(),t===void 0?r:$p.f(r,t)},Np=D,Ip=_,Mp=Ip.RegExp,_p=Np(function(){var a=Mp(".","s");return!(a.dotAll&&a.test(` +`)&&a.flags==="s")}),Vp=D,Dp=_,Lp=Dp.RegExp,kp=Vp(function(){var a=Lp("(?b)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$c")!=="bc"}),et=Y,_r=L,Bp=pe,jp=Hu,Fp=Yu,Up=Ci,Gp=Yi,zp=Cr.get,Hp=_p,Yp=kp,Xp=Up("native-string-replace",String.prototype.replace),br=RegExp.prototype.exec,li=br,Wp=_r("".charAt),qp=_r("".indexOf),Qp=_r("".replace),Ps=_r("".slice),hi=function(){var a=/a/,e=/b*/g;return et(br,a,"a"),et(br,e,"a"),a.lastIndex!==0||e.lastIndex!==0}(),Qu=Fp.BROKEN_CARET,vi=/()??/.exec("")[1]!==void 0,Kp=hi||vi||Qu||Hp||Yp,Rs=function(a,e){for(var t=a.groups=Gp(null),r=0;r0&&Wp(i,t.lastIndex-1);t.lastIndex>0&&(!t.multiline||t.multiline&&d!==` +`&&d!=="\r"&&d!=="\u2028"&&d!=="\u2029")&&(c="(?: (?:"+c+"))",g=" "+g,v++),s=new RegExp("^(?:"+c+")",f)}vi&&(s=new RegExp("^"+c+"$(?!\\s)",f)),hi&&(u=t.lastIndex);var p=et(br,h?s:t,g);return h?p?(p.input=i,p[0]=Ps(p[0],v),p.index=t.lastIndex,t.lastIndex+=p[0].length):t.lastIndex=0:hi&&p&&(t.lastIndex=t.global?p.index+p[0].length:u),vi&&p&&p.length>1&&et(Xp,p[0],s,function(){for(var y=1;y=n?a?"":void 0:(o=Vs(r,i),o<55296||o>56319||i+1===n||(s=Vs(r,i+1))<56320||s>57343?a?ny(r,i):o:a?sy(r,i,i+2):(o-55296<<10)+(s-56320)+65536)}},uy={charAt:oy(!0)},ly=uy.charAt,Qi=function(a,e,t){return e+(t&&ly(a,e).length||1)},hy=_,vy=D,Ds=hy.RegExp,fy=!vy(function(){var a=!0;try{Ds(".","d")}catch{a=!1}var e={},t="",r=a?"dgimsy":"gimsy",i=function(u,l){Object.defineProperty(e,u,{get:function(){return t+=l,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(n.hasIndices="d");for(var o in n)i(o,n[o]);var s=Object.getOwnPropertyDescriptor(Ds.prototype,"flags").get.call(e);return s!==r||t!==r}),cy={correct:fy},gy=Y,dy=fe,py=Or,Ls=cy,yy=Hu,my=RegExp.prototype,Vr=Ls.correct?function(a){return a.flags}:function(a){return!Ls.correct&&py(my,a)&&!dy(a,"flags")?gy(yy,a):a.flags},ks=Y,by=J,xy=B,Ty=je,Oy=Xi,Sy=TypeError,Ki=function(a,e){var t=a.exec;if(xy(t)){var r=ks(t,a,e);return r!==null&&by(r),r}if(Ty(a)==="RegExp")return ks(Oy,a,e);throw new Sy("RegExp#exec called on incompatible receiver")},Ey=Y,$y=L,wy=Wi,Cy=J,Ay=ae,Py=ut,er=pe,Ry=ve,Ny=ot,Iy=Qi,My=Vr,Bs=Ki,Aa=$y("".indexOf);wy("match",function(a,e,t){return[function(i){var n=Ry(this),o=Ay(i)?Ny(i,a):void 0;return o?Ey(o,i,n):new RegExp(i)[a](er(n))},function(r){var i=Cy(this),n=er(r),o=t(e,i,n);if(o.done)return o.value;var s=er(My(i));if(!~Aa(s,"g"))return Bs(i,n);var u=!!~Aa(s,"u")||!!~Aa(s,"v");i.lastIndex=0;for(var l=[],h=0,f;(f=Bs(i,n))!==null;){var c=er(f[0]);l[h]=c,c===""&&(i.lastIndex=Iy(n,Py(i.lastIndex),u)),h++}return h===0?null:l}]});var Zi=L,_y=Er,Vy=Math.floor,Pa=Zi("".charAt),Dy=Zi("".replace),Ra=Zi("".slice),Ly=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,ky=/\$([$&'`]|\d{1,2})/g,By=function(a,e,t,r,i,n){var o=t+a.length,s=r.length,u=ky;return i!==void 0&&(i=_y(i),u=Ly),Dy(n,u,function(l,h){var f;switch(Pa(h,0)){case"$":return"$";case"&":return a;case"`":return Ra(e,0,t);case"'":return Ra(e,o);case"<":f=i[Ra(h,1,-1)];break;default:var c=+h;if(c===0)return l;if(c>s){var v=Vy(c/10);return v===0?l:v<=s?r[v-1]===void 0?Pa(h,1):r[v-1]+Pa(h,1):l}f=r[c-1]}return f===void 0?"":f})},jy=bu,js=Y,Dr=L,Fy=Wi,Uy=D,Gy=J,zy=B,Hy=ae,Yy=Ar,Xy=ut,Me=pe,Wy=ve,qy=Qi,Qy=ot,Ky=By,Zy=Vr,Jy=Ki,em=z,fi=em("replace"),tm=Math.max,rm=Math.min,am=Dr([].concat),Na=Dr([].push),We=Dr("".indexOf),Fs=Dr("".slice),im=function(a){return a===void 0?a:String(a)},nm=function(){return"a".replace(/./,"$0")==="$0"}(),Us=function(){return/./[fi]?/./[fi]("a","$0")==="":!1}(),sm=!Uy(function(){var a=/./;return a.exec=function(){var e=[];return e.groups={a:"7"},e},"".replace(a,"$")!=="7"});Fy("replace",function(a,e,t){var r=Us?"$":"$0";return[function(n,o){var s=Wy(this),u=Hy(n)?Qy(n,fi):void 0;return u?js(u,n,s,o):js(e,Me(s),n,o)},function(i,n){var o=Gy(this),s=Me(i),u=zy(n);u||(n=Me(n));var l=Me(Zy(o));if(typeof n=="string"&&!~We(n,r)&&!~We(n,"$<")&&!~We(l,"y")){var h=t(e,o,s,n);if(h.done)return h.value}var f=!!~We(l,"g"),c;f&&(c=!!~We(l,"u")||!!~We(l,"v"),o.lastIndex=0);for(var v=[],g;g=Jy(o,s),!(g===null||(Na(v,g),!f));){var d=Me(g[0]);d===""&&(o.lastIndex=qy(s,Xy(o.lastIndex),c))}for(var p="",y=0,T=0;T=y&&(p+=Fs(s,y,x)+E,y=x+b.length)}return p+Fs(s,y)}]},!sm||!nm||Us);var om=ae,um=je,lm=z,hm=lm("match"),vm=function(a){var e;return om(a)&&((e=a[hm])!==void 0?!!e:um(a)==="RegExp")},fm=vm,cm=TypeError,Ji=function(a){if(fm(a))throw new cm("The method doesn't accept regular expressions");return a},gm=z,dm=gm("match"),en=function(a){var e=/./;try{"/./"[a](e)}catch{try{return e[dm]=!1,"/./"[a](e)}catch{}}return!1},pm=ee,ym=Nr,mm=$t.f,bm=ut,Gs=pe,xm=Ji,Tm=ve,Om=en,Sm=ym("".slice),Em=Math.min,Zu=Om("startsWith"),$m=!Zu&&!!function(){var a=mm(String.prototype,"startsWith");return a&&!a.writable}();pm({target:"String",proto:!0,forced:!$m&&!Zu},{startsWith:function(e){var t=Gs(Tm(this));xm(e);var r=Gs(e),i=bm(Em(arguments.length>1?arguments[1]:void 0,t.length));return Sm(t,i,i+r.length)===r}});var wm=z,Cm=Yi,Am=Oe.f,ci=wm("unscopables"),gi=Array.prototype;gi[ci]===void 0&&Am(gi,ci,{configurable:!0,value:Cm(null)});var Pm=function(a){gi[ci][a]=!0},Rm=D,Nm=!Rm(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype}),Im=fe,Mm=B,_m=Er,Vm=Pi,Dm=Nm,zs=Vm("IE_PROTO"),di=Object,Lm=di.prototype,Ju=Dm?di.getPrototypeOf:function(a){var e=_m(a);if(Im(e,zs))return e[zs];var t=e.constructor;return Mm(t)&&e instanceof t?t.prototype:e instanceof di?Lm:null},km=D,Bm=B,jm=ae,Hs=Ju,Fm=Ue,Um=z,pi=Um("iterator"),el=!1,ke,Ia,Ma;[].keys&&(Ma=[].keys(),"next"in Ma?(Ia=Hs(Hs(Ma)),Ia!==Object.prototype&&(ke=Ia)):el=!0);var Gm=!jm(ke)||km(function(){var a={};return ke[pi].call(a)!==a});Gm&&(ke={});Bm(ke[pi])||Fm(ke,pi,function(){return this});var tl={IteratorPrototype:ke,BUGGY_SAFARI_ITERATORS:el},zm=tl.IteratorPrototype,Hm=Yi,Ym=Si,Xm=Rr,Wm=Nt,qm=function(){return this},Qm=function(a,e,t,r){var i=e+" Iterator";return a.prototype=Hm(zm,{next:Ym(+!r,t)}),Xm(a,i,!1),Wm[i]=qm,a},Km=ee,Zm=Y,rl=wr,Jm=B,e0=Qm,Ys=Ju,Xs=vu,t0=Rr,r0=At,_a=Ue,a0=z,i0=Nt,al=tl,n0=rl.PROPER,s0=rl.CONFIGURABLE,Ws=al.IteratorPrototype,tr=al.BUGGY_SAFARI_ITERATORS,gt=a0("iterator"),qs="keys",dt="values",Qs="entries",o0=function(){return this},u0=function(a,e,t,r,i,n,o){e0(t,e,r);var s=function(y){if(y===i&&c)return c;if(!tr&&y&&y in h)return h[y];switch(y){case qs:return function(){return new t(this,y)};case dt:return function(){return new t(this,y)};case Qs:return function(){return new t(this,y)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,h=a.prototype,f=h[gt]||h["@@iterator"]||i&&h[i],c=!tr&&f||s(i),v=e==="Array"&&h.entries||f,g,d,p;if(v&&(g=Ys(v.call(new a)),g!==Object.prototype&&g.next&&(Ys(g)!==Ws&&(Xs?Xs(g,Ws):Jm(g[gt])||_a(g,gt,o0)),t0(g,u,!0))),n0&&i===dt&&f&&f.name!==dt&&(s0?r0(h,"name",dt):(l=!0,c=function(){return Zm(f,this)})),i)if(d={values:s(dt),keys:n?c:s(qs),entries:s(Qs)},o)for(p in d)(tr||l||!(p in h))&&_a(h,p,d[p]);else Km({target:e,proto:!0,forced:tr||l},d);return h[gt]!==c&&_a(h,gt,c,{name:i}),i0[e]=c,d},l0=function(a,e){return{value:a,done:e}},h0=wt,tn=Pm,Ks=Nt,il=Cr,v0=Oe.f,f0=u0,rr=l0,c0=he,nl="Array Iterator",g0=il.set,d0=il.getterFor(nl),p0=f0(Array,"Array",function(a,e){g0(this,{type:nl,target:h0(a),index:0,kind:e})},function(){var a=d0(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,rr(void 0,!0);switch(a.kind){case"keys":return rr(t,!1);case"values":return rr(e[t],!1)}return rr([t,e[t]],!1)},"values"),Zs=Ks.Arguments=Ks.Array;tn("keys");tn("values");tn("entries");if(c0&&Zs.name!=="values")try{v0(Zs,"name",{value:"values"})}catch{}var y0={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},m0=$r,Va=m0("span").classList,Js=Va&&Va.constructor&&Va.constructor.prototype,b0=Js===Object.prototype?void 0:Js,eo=_,sl=y0,x0=b0,yt=p0,to=At,T0=Rr,O0=z,Da=O0("iterator"),La=yt.values,ol=function(a,e){if(a){if(a[Da]!==La)try{to(a,Da,La)}catch{a[Da]=La}if(T0(a,e,!0),sl[e]){for(var t in yt)if(a[t]!==yt[t])try{to(a,t,yt[t])}catch{a[t]=yt[t]}}}};for(var ka in sl)ol(eo[ka]&&eo[ka].prototype,ka);ol(x0,"DOMTokenList");function S0(a,e){if(Xa(a)!="object"||!a)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var r=t.call(a,e);if(Xa(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function E0(a){var e=S0(a,"string");return Xa(e)=="symbol"?e:e+""}function rn(a,e,t){return(e=E0(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var $0=Te,w0=Er,C0=Go,A0=Ii,ro=TypeError,ao="Reduce of empty array with no initial value",P0=function(a){return function(e,t,r,i){var n=w0(e),o=C0(n),s=A0(n);if($0(t),s===0&&r<2)throw new ro(ao);var u=a?s-1:0,l=a?-1:1;if(r<2)for(;;){if(u in o){i=o[u],u+=l;break}if(u+=l,a?u<0:s<=u)throw new ro(ao)}for(;a?u>=0:s>u;u+=l)u in o&&(i=t(i,o[u],u,n));return i}},R0={left:P0(!1)},N0=D,ul=function(a,e){var t=[][a];return!!t&&N0(function(){t.call(null,e||function(){return 1},1)})},I0=ee,M0=R0.left,_0=ul,io=Ei,V0=Pr,D0=!V0&&io>79&&io<83,L0=D0||!_0("reduce");I0({target:"Array",proto:!0,forced:L0},{reduce:function(e){var t=arguments.length;return M0(this,e,t,t>1?arguments[1]:void 0)}});var k0=ee,B0=Nr,j0=$t.f,F0=ut,no=pe,U0=Ji,G0=ve,z0=en,H0=B0("".slice),Y0=Math.min,ll=z0("endsWith"),X0=!ll&&!!function(){var a=j0(String.prototype,"endsWith");return a&&!a.writable}();k0({target:"String",proto:!0,forced:!X0&&!ll},{endsWith:function(e){var t=no(G0(this));U0(e);var r=no(e),i=arguments.length>1?arguments[1]:void 0,n=t.length,o=i===void 0?n:Y0(F0(i),n);return H0(t,o-r.length,o)===r}});var Ba=Y,an=L,W0=Wi,q0=J,Q0=ae,K0=ve,Z0=yu,J0=Qi,eb=ut,ja=pe,tb=ot,rb=Vr,so=Ki,ab=Yu,ib=D,qe=ab.UNSUPPORTED_Y,nb=4294967295,sb=Math.min,Fa=an([].push),Ua=an("".slice),ar=an("".indexOf),ob=!ib(function(){var a=/(?:)/,e=a.exec;a.exec=function(){return e.apply(this,arguments)};var t="ab".split(a);return t.length!==2||t[0]!=="a"||t[1]!=="b"}),oo="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;W0("split",function(a,e,t){var r="0".split(void 0,0).length?function(i,n){return i===void 0&&n===0?[]:Ba(e,this,i,n)}:e;return[function(n,o){var s=K0(this),u=Q0(n)?tb(n,a):void 0;return u?Ba(u,n,s,o):Ba(r,ja(s),n,o)},function(i,n){var o=q0(this),s=ja(i);if(!oo){var u=t(r,o,s,n,r!==e);if(u.done)return u.value}var l=Z0(o,RegExp),h=ja(rb(o)),f=!!~ar(h,"u")||!!~ar(h,"v");qe?~ar(h,"g")||(h+="g"):~ar(h,"y")||(h+="y");var c=new l(qe?"^(?:"+o.source+")":o,h),v=n===void 0?nb:n>>>0;if(v===0)return[];if(s.length===0)return so(c,s)===null?[s]:[];for(var g=0,d=0,p=[];d"u"?Ke:window,ir=["moz","webkit"],rt="AnimationFrame",st=be["request"+rt],Et=be["cancel"+rt]||be["cancelRequest"+rt];for(var pt=0;!st&&pt3&&(this.alpha=s[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var u=this.r.toString(16),l=this.g.toString(16),h=this.b.toString(16);return u.length==1&&(u="0"+u),l.length==1&&(l="0"+l),h.length==1&&(h="0"+h),"#"+u+l+h},this.getHelpXML=function(){for(var u=new Array,l=0;l "+d.toRGB()+" -> "+d.toHex());g.appendChild(p),g.appendChild(y),v.appendChild(g)}catch{}return v}};const mi=Do($b);var wb=ee,Cb=Nr,Ab=su.indexOf,Pb=ul,bi=Cb([].indexOf),vl=!!bi&&1/bi([1],1,-0)<0,Rb=vl||!Pb("indexOf");wb({target:"Array",proto:!0,forced:Rb},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return vl?bi(this,e,t)||0:Ab(this,e,t)}});var Nb=ee,Ib=L,Mb=Ji,_b=ve,fo=pe,Vb=en,Db=Ib("".indexOf);Nb({target:"String",proto:!0,forced:!Vb("includes")},{includes:function(e){return!!~Db(fo(_b(this)),fo(Mb(e)),arguments.length>1?arguments[1]:void 0)}});var Lb=je,kb=Array.isArray||function(e){return Lb(e)==="Array"},Bb=ee,jb=L,Fb=kb,Ub=jb([].reverse),co=[1,2];Bb({target:"Array",proto:!0,forced:String(co)===String(co.reverse())},{reverse:function(){return Fb(this)&&(this.length=this.length),Ub(this)}});/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var fl=function(a,e){return(fl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])})(a,e)};function cl(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=a}fl(a,e),a.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Gb(a){var e="";Array.isArray(a)||(a=[a]);for(var t=0;ta.phi1&&(a.phi2-=2*Ee),a.sweepFlag===1&&a.phi2r)return[];if(r===0)return[[a*t/(a*a+e*e),e*t/(a*a+e*e)]];var i=Math.sqrt(r);return[[(a*t+e*i)/(a*a+e*e),(e*t-a*i)/(a*a+e*e)],[(a*t-e*i)/(a*a+e*e),(e*t+a*i)/(a*a+e*e)]]}var U,ye=Math.PI/180;function po(a,e,t){return(1-t)*a+t*e}function yo(a,e,t,r){return a+Math.cos(r/180*Ee)*e+Math.sin(r/180*Ee)*t}function mo(a,e,t,r){var i=1e-6,n=e-a,o=t-e,s=3*n+3*(r-t)-6*o,u=6*(o-n),l=3*n;return Math.abs(s)O&&(v.sweepFlag=+!v.sweepFlag),v})}function o(){return function(s){var u={};for(var l in s)u[l]=s[l];return u}}a.ROUND=function(s){function u(l){return Math.round(l*s)/s}return s===void 0&&(s=1e13),ue(s),function(l){return l.x1!==void 0&&(l.x1=u(l.x1)),l.y1!==void 0&&(l.y1=u(l.y1)),l.x2!==void 0&&(l.x2=u(l.x2)),l.y2!==void 0&&(l.y2=u(l.y2)),l.x!==void 0&&(l.x=u(l.x)),l.y!==void 0&&(l.y=u(l.y)),l.rX!==void 0&&(l.rX=u(l.rX)),l.rY!==void 0&&(l.rY=u(l.rY)),l}},a.TO_ABS=e,a.TO_REL=function(){return i(function(s,u,l){return s.relative||(s.x1!==void 0&&(s.x1-=u),s.y1!==void 0&&(s.y1-=l),s.x2!==void 0&&(s.x2-=u),s.y2!==void 0&&(s.y2-=l),s.x!==void 0&&(s.x-=u),s.y!==void 0&&(s.y-=l),s.relative=!0),s})},a.NORMALIZE_HVZ=function(s,u,l){return s===void 0&&(s=!0),u===void 0&&(u=!0),l===void 0&&(l=!0),i(function(h,f,c,v,g){if(isNaN(v)&&!(h.type&m.MOVE_TO))throw new Error("path must start with moveto");return u&&h.type&m.HORIZ_LINE_TO&&(h.type=m.LINE_TO,h.y=h.relative?0:c),l&&h.type&m.VERT_LINE_TO&&(h.type=m.LINE_TO,h.x=h.relative?0:f),s&&h.type&m.CLOSE_PATH&&(h.type=m.LINE_TO,h.x=h.relative?v-f:v,h.y=h.relative?g-c:g),h.type&m.ARC&&(h.rX===0||h.rY===0)&&(h.type=m.LINE_TO,delete h.rX,delete h.rY,delete h.xRot,delete h.lArcFlag,delete h.sweepFlag),h})},a.NORMALIZE_ST=t,a.QT_TO_C=r,a.INFO=i,a.SANITIZE=function(s){s===void 0&&(s=0),ue(s);var u=NaN,l=NaN,h=NaN,f=NaN;return i(function(c,v,g,d,p){var y=Math.abs,T=!1,b=0,x=0;if(c.type&m.SMOOTH_CURVE_TO&&(b=isNaN(u)?0:v-u,x=isNaN(l)?0:g-l),c.type&(m.CURVE_TO|m.SMOOTH_CURVE_TO)?(u=c.relative?v+c.x2:c.x2,l=c.relative?g+c.y2:c.y2):(u=NaN,l=NaN),c.type&m.SMOOTH_QUAD_TO?(h=isNaN(h)?v:2*v-h,f=isNaN(f)?g:2*g-f):c.type&m.QUAD_TO?(h=c.relative?v+c.x1:c.x1,f=c.relative?g+c.y1:c.y2):(h=NaN,f=NaN),c.type&m.LINE_COMMANDS||c.type&m.ARC&&(c.rX===0||c.rY===0||!c.lArcFlag)||c.type&m.CURVE_TO||c.type&m.SMOOTH_CURVE_TO||c.type&m.QUAD_TO||c.type&m.SMOOTH_QUAD_TO){var $=c.x===void 0?0:c.relative?c.x:c.x-v,E=c.y===void 0?0:c.relative?c.y:c.y-g;b=isNaN(h)?c.x1===void 0?b:c.relative?c.x:c.x1-v:h-v,x=isNaN(f)?c.y1===void 0?x:c.relative?c.y:c.y1-g:f-g;var O=c.x2===void 0?0:c.relative?c.x:c.x2-v,C=c.y2===void 0?0:c.relative?c.y:c.y2-g;y($)<=s&&y(E)<=s&&y(b)<=s&&y(x)<=s&&y(O)<=s&&y(C)<=s&&(T=!0)}return c.type&m.CLOSE_PATH&&y(v-d)<=s&&y(g-p)<=s&&(T=!0),T?[]:c})},a.MATRIX=n,a.ROTATE=function(s,u,l){u===void 0&&(u=0),l===void 0&&(l=0),ue(s,u,l);var h=Math.sin(s),f=Math.cos(s);return n(f,h,-h,f,u-u*f+l*h,l-u*h-l*f)},a.TRANSLATE=function(s,u){return u===void 0&&(u=0),ue(s,u),n(1,0,0,1,s,u)},a.SCALE=function(s,u){return u===void 0&&(u=s),ue(s,u),n(s,0,0,u,0,0)},a.SKEW_X=function(s){return ue(s),n(1,0,Math.atan(s),1,0,0)},a.SKEW_Y=function(s){return ue(s),n(1,Math.atan(s),0,1,0,0)},a.X_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),ue(s),n(-1,0,0,1,s,0)},a.Y_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),ue(s),n(1,0,0,-1,0,s)},a.A_TO_C=function(){return i(function(s,u,l){return m.ARC===s.type?function(h,f,c){var v,g,d,p;h.cX||Ha(h,f,c);for(var y=Math.min(h.phi1,h.phi2),T=Math.max(h.phi1,h.phi2)-y,b=Math.ceil(T/90),x=new Array(b),$=f,E=c,O=0;Of.maxX&&(f.maxX=M),Mf.maxY&&(f.maxY=M),MN&&p(bo(v,d.x1,d.x2,d.x,N));for(var x=0,$=mo(g,d.y1,d.y2,d.y);x<$.length;x++)0<(N=$[x])&&1>N&&y(bo(g,d.y1,d.y2,d.y,N))}if(d.type&m.ARC){p(d.x),y(d.y),Ha(d,v,g);for(var E=d.xRot/180*Math.PI,O=Math.cos(E)*d.rX,C=Math.sin(E)*d.rX,P=-Math.sin(E)*d.rY,V=Math.cos(E)*d.rY,j=d.phi1d.phi2?[d.phi2+360,d.phi1+360]:[d.phi2,d.phi1],R=j[0],X=j[1],W=function(M){var K=M[0],se=M[1],ge=180*Math.atan2(se,K)/Math.PI;return geR&&NR&&Nh)throw new SyntaxError('Expected positive number, got "'+h+'" at index "'+o+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+o+'"')}this.curArgs.push(h),this.curArgs.length===Yb[this.curCommandType]&&(m.HORIZ_LINE_TO===this.curCommandType?n({type:m.HORIZ_LINE_TO,relative:this.curCommandRelative,x:h}):m.VERT_LINE_TO===this.curCommandType?n({type:m.VERT_LINE_TO,relative:this.curCommandRelative,y:h}):this.curCommandType===m.MOVE_TO||this.curCommandType===m.LINE_TO||this.curCommandType===m.SMOOTH_QUAD_TO?(n({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),m.MOVE_TO===this.curCommandType&&(this.curCommandType=m.LINE_TO)):this.curCommandType===m.CURVE_TO?n({type:m.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===m.SMOOTH_CURVE_TO?n({type:m.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===m.QUAD_TO?n({type:m.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===m.ARC&&n({type:m.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!zb(s))if(s===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(s!=="+"&&s!=="-"&&s!==".")if(l)this.curNumber=s,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+o+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+s+'" at index '+o+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,s!=="z"&&s!=="Z")if(s==="h"||s==="H")this.curCommandType=m.HORIZ_LINE_TO,this.curCommandRelative=s==="h";else if(s==="v"||s==="V")this.curCommandType=m.VERT_LINE_TO,this.curCommandRelative=s==="v";else if(s==="m"||s==="M")this.curCommandType=m.MOVE_TO,this.curCommandRelative=s==="m";else if(s==="l"||s==="L")this.curCommandType=m.LINE_TO,this.curCommandRelative=s==="l";else if(s==="c"||s==="C")this.curCommandType=m.CURVE_TO,this.curCommandRelative=s==="c";else if(s==="s"||s==="S")this.curCommandType=m.SMOOTH_CURVE_TO,this.curCommandRelative=s==="s";else if(s==="q"||s==="Q")this.curCommandType=m.QUAD_TO,this.curCommandRelative=s==="q";else if(s==="t"||s==="T")this.curCommandType=m.SMOOTH_QUAD_TO,this.curCommandRelative=s==="t";else{if(s!=="a"&&s!=="A")throw new SyntaxError('Unexpected character "'+s+'" at index '+o+".");this.curCommandType=m.ARC,this.curCommandRelative=s==="a"}else r.push({type:m.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=s,this.curNumberHasDecimal=s==="."}else this.curNumber+=s,this.curNumberHasDecimal=!0;else this.curNumber+=s;else this.curNumber+=s,this.curNumberHasExp=!0;else this.curNumber+=s,this.curNumberHasExpDigits=this.curNumberHasExp}return r},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(r,i){i===void 0&&(i=[]);for(var n=0,o=Object.getPrototypeOf(this).parse.call(this,r);n>>$;if(o[b+3]=Gr,Gr!==0){var zr=255/Gr;o[b]=(M*x>>>$)*zr,o[b+1]=(K*x>>>$)*zr,o[b+2]=(se*x>>>$)*zr}else o[b]=o[b+1]=o[b+2]=0;M-=q,K-=H,se-=Q,ge-=N,q-=p.r,H-=p.g,Q-=p.b,N-=p.a;var Ae=Ur+n+1;Ae=T+(Ae>>$,te>0?(te=255/te,o[re]=(Dt*x>>>$)*te,o[re+1]=(Lt*x>>>$)*te,o[re+2]=(kt*x>>>$)*te):o[re]=o[re+1]=o[re+2]=0,Dt-=Hr,Lt-=Yr,kt-=Xr,Bt-=Wr,Hr-=p.r,Yr-=p.g,Xr-=p.b,Wr-=p.a,re=He+((re=Jr+h)0&&arguments[0]!==void 0?arguments[0]:{},e={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:a,createCanvas(t,r){return new OffscreenCanvas(t,r)},createImage(t){return xe(function*(){var r=yield fetch(t),i=yield r.blob(),n=yield createImageBitmap(i);return n})()}};return(typeof DOMParser<"u"||typeof a>"u")&&Reflect.deleteProperty(e,"DOMParser"),e}function o1(a){var{DOMParser:e,canvas:t,fetch:r}=a;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:e,fetch:r,createCanvas:t.createCanvas,createImage:t.loadImage}}var x2=Object.freeze({__proto__:null,offscreen:s1,node:o1});function ht(a){return a.replace(/(?!\u3000)\s+/gm," ")}function u1(a){return a.replace(/^[\n \t]+/,"")}function l1(a){return a.replace(/[\n \t]+$/,"")}function ne(a){var e=(a||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[];return e.map(parseFloat)}var h1=/^[A-Z-]+$/;function v1(a){return h1.test(a)?a.toLowerCase():a}function yl(a){var e=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(a)||[];return e[2]||e[3]||e[4]}function f1(a){if(!a.startsWith("rgb"))return a;var e=3,t=a.replace(/\d+(\.\d+)?/g,(r,i)=>e--&&i?String(Math.round(parseFloat(r))):r);return t}var c1=/(\[[^\]]+\])/g,g1=/(#[^\s+>~.[:]+)/g,d1=/(\.[^\s+>~.[:]+)/g,p1=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,y1=/(:[\w-]+\([^)]*\))/gi,m1=/(:[^\s+>~.[:]+)/g,b1=/([^\s+>~.[:]+)/g;function Ve(a,e){var t=e.exec(a);return t?[a.replace(e," "),t.length]:[a,0]}function x1(a){var e=[0,0,0],t=a.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[t,r]=Ve(t,c1),e[1]+=r,[t,r]=Ve(t,g1),e[0]+=r,[t,r]=Ve(t,d1),e[1]+=r,[t,r]=Ve(t,p1),e[2]+=r,[t,r]=Ve(t,y1),e[1]+=r,[t,r]=Ve(t,m1),e[1]+=r,t=t.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[t,r]=Ve(t,b1),e[2]+=r,e.join("")}var at=1e-8;function So(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2))}function Ti(a,e){return(a[0]*e[0]+a[1]*e[1])/(So(a)*So(e))}function Eo(a,e){return(a[0]*e[1]0&&arguments[0]!==void 0?arguments[0]:" ",{document:t,name:r}=this;return ht(this.getString()).trim().split(e).map(i=>new S(t,r,i))}hasValue(e){var{value:t}=this;return t!==null&&t!==""&&(e||t!==0)&&typeof t<"u"}isString(e){var{value:t}=this,r=typeof t=="string";return!r||!e?r:e.test(t)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;var e=this.getString();switch(!0){case e.endsWith("px"):case/^[0-9]+$/.test(e):return!0;default:return!1}}setValue(e){return this.value=e,this}getValue(e){return typeof e>"u"||this.hasValue()?this.value:e}getNumber(e){if(!this.hasValue())return typeof e>"u"?0:parseFloat(e);var{value:t}=this,r=parseFloat(t);return this.isString(/%$/)&&(r/=100),r}getString(e){return typeof e>"u"||this.hasValue()?typeof this.value>"u"?"":String(this.value):String(e)}getColor(e){var t=this.getString(e);return this.isNormalizedColor||(this.isNormalizedColor=!0,t=f1(t),this.value=t),t}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!this.hasValue())return 0;var[r,i]=typeof e=="boolean"?[void 0,e]:[e],{viewPort:n}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(n.computeSize("x"),n.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(n.computeSize("x"),n.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*n.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*n.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&i):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*n.computeSize(r);default:{var o=this.getNumber();return t&&o<1?o*n.computeSize(r):o}}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():this.getNumber()*1e3:0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){var e=this.getString(),t=/#([^)'"]+)/.exec(e);return t&&(t=t[1]),t||(t=e),this.document.definitions[t]}getFillStyleDefinition(e,t){var r=this.getDefinition();if(!r)return null;if(typeof r.createGradient=="function")return r.createGradient(this.document.ctx,e,t);if(typeof r.createPattern=="function"){if(r.getHrefAttribute().hasValue()){var i=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),i.hasValue()&&r.getAttribute("patternTransform",!0).setValue(i.value)}return r.createPattern(this.document.ctx,e,t)}return null}getTextBaseline(){return this.hasValue()?S.textBaselineMapping[this.getString()]:null}addOpacity(e){for(var t=this.getColor(),r=t.length,i=0,n=0;n1&&arguments[1]!==void 0?arguments[1]:0,[r=t,i=t]=ne(e);return new k(r,i)}static parseScale(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,[r=t,i=r]=ne(e);return new k(r,i)}static parsePath(e){for(var t=ne(e),r=t.length,i=[],n=0;n0}runEvents(){if(this.working){var{screen:e,events:t,eventElements:r}=this,{style:i}=e.ctx.canvas;i&&(i.cursor=""),t.forEach((n,o)=>{for(var{run:s}=n,u=r[o];u;)s(u),u=u.parent}),this.events=[],this.eventElements=[]}}checkPath(e,t){if(!(!this.working||!t)){var{events:r,eventElements:i}=this;r.forEach((n,o)=>{var{x:s,y:u}=n;!i[o]&&t.isPointInPath&&t.isPointInPath(s,u)&&(i[o]=e)})}}checkBoundingBox(e,t){if(!(!this.working||!t)){var{events:r,eventElements:i}=this;r.forEach((n,o)=>{var{x:s,y:u}=n;!i[o]&&t.isPointInBox(s,u)&&(i[o]=e)})}}mapXY(e,t){for(var{window:r,ctx:i}=this.screen,n=new k(e,t),o=i.canvas;o;)n.x-=o.offsetLeft,n.y-=o.offsetTop,o=o.offsetParent;return r.scrollX&&(n.x+=r.scrollX),r.scrollY&&(n.y+=r.scrollY),n}onClick(e){var{x:t,y:r}=this.mapXY(e.clientX,e.clientY);this.events.push({type:"onclick",x:t,y:r,run(i){i.onClick&&i.onClick()}})}onMouseMove(e){var{x:t,y:r}=this.mapXY(e.clientX,e.clientY);this.events.push({type:"onmousemove",x:t,y:r,run(i){i.onMouseMove&&i.onMouseMove()}})}}var ml=typeof window<"u"?window:null,bl=typeof fetch<"u"?fetch.bind(void 0):null;class kr{constructor(e){var{fetch:t=bl,window:r=ml}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.ctx=e,this.FRAMERATE=30,this.MAX_VIRTUAL_PIXELS=3e4,this.CLIENT_WIDTH=800,this.CLIENT_HEIGHT=600,this.viewPort=new T1,this.mouse=new O1(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=r,this.fetch=t}wait(e){this.waits.push(e)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;var e=this.waits.every(t=>t());return e&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=e,e}setDefaults(e){e.strokeStyle="rgba(0,0,0,0)",e.lineCap="butt",e.lineJoin="miter",e.miterLimit=4}setViewBox(e){var{document:t,ctx:r,aspectRatio:i,width:n,desiredWidth:o,height:s,desiredHeight:u,minX:l=0,minY:h=0,refX:f,refY:c,clip:v=!1,clipX:g=0,clipY:d=0}=e,p=ht(i).replace(/^defer\s/,""),[y,T]=p.split(" "),b=y||"xMidYMid",x=T||"meet",$=n/o,E=s/u,O=Math.min($,E),C=Math.max($,E),P=o,V=u;x==="meet"&&(P*=O,V*=O),x==="slice"&&(P*=C,V*=C);var j=new S(t,"refX",f),R=new S(t,"refY",c),X=j.hasValue()&&R.hasValue();if(X&&r.translate(-O*j.getPixels("x"),-O*R.getPixels("y")),v){var W=O*g,G=O*d;r.beginPath(),r.moveTo(W,G),r.lineTo(n,G),r.lineTo(n,s),r.lineTo(W,s),r.closePath(),r.clip()}if(!X){var q=x==="meet"&&O===E,H=x==="slice"&&C===E,Q=x==="meet"&&O===$,N=x==="slice"&&C===$;b.startsWith("xMid")&&(q||H)&&r.translate(n/2-P/2,0),b.endsWith("YMid")&&(Q||N)&&r.translate(0,s/2-V/2),b.startsWith("xMax")&&(q||H)&&r.translate(n-P,0),b.endsWith("YMax")&&(Q||N)&&r.translate(0,s-V)}switch(!0){case b==="none":r.scale($,E);break;case x==="meet":r.scale(O,O);break;case x==="slice":r.scale(C,C);break}r.translate(-l,-h)}start(e){var{enableRedraw:t=!1,ignoreMouse:r=!1,ignoreAnimation:i=!1,ignoreDimensions:n=!1,ignoreClear:o=!1,forceRedraw:s,scaleWidth:u,scaleHeight:l,offsetX:h,offsetY:f}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{FRAMERATE:c,mouse:v}=this,g=1e3/c;if(this.frameDuration=g,this.readyPromise=new Promise(b=>{this.resolveReady=b}),this.isReady()&&this.render(e,n,o,u,l,h,f),!!t){var d=Date.now(),p=d,y=0,T=()=>{d=Date.now(),y=d-p,y>=g&&(p=d-y%g,this.shouldUpdate(i,s)&&(this.render(e,n,o,u,l,h,f),v.runEvents())),this.intervalId=za(T)};r||v.start(),this.intervalId=za(T)}}stop(){this.intervalId&&(za.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(e,t){if(!e){var{frameDuration:r}=this,i=this.animations.reduce((n,o)=>o.update(r)||n,!1);if(i)return!0}return!!(typeof t=="function"&&t()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(e,t,r,i,n,o,s){var{CLIENT_WIDTH:u,CLIENT_HEIGHT:l,viewPort:h,ctx:f,isFirstRender:c}=this,v=f.canvas;h.clear(),v.width&&v.height?h.setCurrent(v.width,v.height):h.setCurrent(u,l);var g=e.getStyle("width"),d=e.getStyle("height");!t&&(c||typeof i!="number"&&typeof n!="number")&&(g.hasValue()&&(v.width=g.getPixels("x"),v.style&&(v.style.width="".concat(v.width,"px"))),d.hasValue()&&(v.height=d.getPixels("y"),v.style&&(v.style.height="".concat(v.height,"px"))));var p=v.clientWidth||v.width,y=v.clientHeight||v.height;if(t&&g.hasValue()&&d.hasValue()&&(p=g.getPixels("x"),y=d.getPixels("y")),h.setCurrent(p,y),typeof o=="number"&&e.getAttribute("x",!0).setValue(o),typeof s=="number"&&e.getAttribute("y",!0).setValue(s),typeof i=="number"||typeof n=="number"){var T=ne(e.getAttribute("viewBox").getString()),b=0,x=0;if(typeof i=="number"){var $=e.getStyle("width");$.hasValue()?b=$.getPixels("x")/i:isNaN(T[2])||(b=T[2]/i)}if(typeof n=="number"){var E=e.getStyle("height");E.hasValue()?x=E.getPixels("y")/n:isNaN(T[3])||(x=T[3]/n)}b||(b=x),x||(x=b),e.getAttribute("width",!0).setValue(i),e.getAttribute("height",!0).setValue(n);var O=e.getStyle("transform",!0,!0);O.setValue("".concat(O.getString()," scale(").concat(1/b,", ").concat(1/x,")"))}r||f.clearRect(0,0,p,y),e.render(f),c&&(this.isFirstRender=!1)}}kr.defaultWindow=ml;kr.defaultFetch=bl;var{defaultFetch:S1}=kr,E1=typeof DOMParser<"u"?DOMParser:null;class Ya{constructor(){var{fetch:e=S1,DOMParser:t=E1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.fetch=e,this.DOMParser=t}parse(e){var t=this;return xe(function*(){return e.startsWith("<")?t.parseFromString(e):t.load(e)})()}parseFromString(e){var t=new this.DOMParser;try{return this.checkDocument(t.parseFromString(e,"image/svg+xml"))}catch{return this.checkDocument(t.parseFromString(e,"text/xml"))}}checkDocument(e){var t=e.getElementsByTagName("parsererror")[0];if(t)throw new Error(t.textContent);return e}load(e){var t=this;return xe(function*(){var r=yield t.fetch(e),i=yield r.text();return t.parseFromString(i)})()}}class $1{constructor(e,t){this.type="translate",this.point=null,this.point=k.parse(t)}apply(e){var{x:t,y:r}=this.point;e.translate(t||0,r||0)}unapply(e){var{x:t,y:r}=this.point;e.translate(-1*t||0,-1*r||0)}applyToPoint(e){var{x:t,y:r}=this.point;e.applyTransform([1,0,0,1,t||0,r||0])}}class w1{constructor(e,t,r){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var i=ne(t);this.angle=new S(e,"angle",i[0]),this.originX=r[0],this.originY=r[1],this.cx=i[1]||0,this.cy=i[2]||0}apply(e){var{cx:t,cy:r,originX:i,originY:n,angle:o}=this,s=t+i.getPixels("x"),u=r+n.getPixels("y");e.translate(s,u),e.rotate(o.getRadians()),e.translate(-s,-u)}unapply(e){var{cx:t,cy:r,originX:i,originY:n,angle:o}=this,s=t+i.getPixels("x"),u=r+n.getPixels("y");e.translate(s,u),e.rotate(-1*o.getRadians()),e.translate(-s,-u)}applyToPoint(e){var{cx:t,cy:r,angle:i}=this,n=i.getRadians();e.applyTransform([1,0,0,1,t||0,r||0]),e.applyTransform([Math.cos(n),Math.sin(n),-Math.sin(n),Math.cos(n),0,0]),e.applyTransform([1,0,0,1,-t||0,-r||0])}}class C1{constructor(e,t,r){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var i=k.parseScale(t);(i.x===0||i.y===0)&&(i.x=at,i.y=at),this.scale=i,this.originX=r[0],this.originY=r[1]}apply(e){var{scale:{x:t,y:r},originX:i,originY:n}=this,o=i.getPixels("x"),s=n.getPixels("y");e.translate(o,s),e.scale(t,r||t),e.translate(-o,-s)}unapply(e){var{scale:{x:t,y:r},originX:i,originY:n}=this,o=i.getPixels("x"),s=n.getPixels("y");e.translate(o,s),e.scale(1/t,1/r||t),e.translate(-o,-s)}applyToPoint(e){var{x:t,y:r}=this.scale;e.applyTransform([t||0,0,0,r||0,0,0])}}class xl{constructor(e,t,r){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=ne(t),this.originX=r[0],this.originY=r[1]}apply(e){var{originX:t,originY:r,matrix:i}=this,n=t.getPixels("x"),o=r.getPixels("y");e.translate(n,o),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),e.translate(-n,-o)}unapply(e){var{originX:t,originY:r,matrix:i}=this,n=i[0],o=i[2],s=i[4],u=i[1],l=i[3],h=i[5],f=0,c=0,v=1,g=1/(n*(l*v-h*c)-o*(u*v-h*f)+s*(u*c-l*f)),d=t.getPixels("x"),p=r.getPixels("y");e.translate(d,p),e.transform(g*(l*v-h*c),g*(h*f-u*v),g*(s*c-o*v),g*(n*v-s*f),g*(o*h-s*l),g*(s*u-n*h)),e.translate(-d,-p)}applyToPoint(e){e.applyTransform(this.matrix)}}class Tl extends xl{constructor(e,t,r){super(e,t,r),this.type="skew",this.angle=null,this.angle=new S(e,"angle",t)}}class A1 extends Tl{constructor(e,t,r){super(e,t,r),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class P1 extends Tl{constructor(e,t,r){super(e,t,r),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function R1(a){return ht(a).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function N1(a){var[e,t]=a.split("(");return[e.trim(),t.trim().replace(")","")]}class Be{constructor(e,t,r){this.document=e,this.transforms=[];var i=R1(t);i.forEach(n=>{if(n!=="none"){var[o,s]=N1(n),u=Be.transformTypes[o];typeof u<"u"&&this.transforms.push(new u(this.document,s,r))}})}static fromElement(e,t){var r=t.getStyle("transform",!1,!0),[i,n=i]=t.getStyle("transform-origin",!1,!0).split(),o=[i,n];return r.hasValue()?new Be(e,r.getString(),o):null}apply(e){for(var{transforms:t}=this,r=t.length,i=0;i=0;i--)t[i].unapply(e)}applyToPoint(e){for(var{transforms:t}=this,r=t.length,i=0;i2&&arguments[2]!==void 0?arguments[2]:!1;if(this.document=e,this.node=t,this.captureTextNodes=r,this.attributes=Object.create(null),this.styles=Object.create(null),this.stylesSpecificity=Object.create(null),this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],!(!t||t.nodeType!==1)){if(Array.from(t.attributes).forEach(s=>{var u=v1(s.nodeName);this.attributes[u]=new S(e,u,s.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()){var i=this.getAttribute("style").getString().split(";").map(s=>s.trim());i.forEach(s=>{if(s){var[u,l]=s.split(":").map(h=>h.trim());this.styles[u]=new S(e,u,l)}})}var{definitions:n}=e,o=this.getAttribute("id");o.hasValue()&&(n[o.getString()]||(n[o.getString()]=this)),Array.from(t.childNodes).forEach(s=>{if(s.nodeType===1)this.addChild(s);else if(r&&(s.nodeType===3||s.nodeType===4)){var u=e.createTextNode(s);u.getText().length>0&&this.addChild(u)}})}}getAttribute(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.attributes[e];if(!r&&t){var i=new S(this.document,e,"");return this.attributes[e]=i,i}return r||S.empty(this.document)}getHrefAttribute(){for(var e in this.attributes)if(e==="href"||e.endsWith(":href"))return this.attributes[e];return S.empty(this.document)}getStyle(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=this.styles[e];if(i)return i;var n=this.getAttribute(e);if(n!=null&&n.hasValue())return this.styles[e]=n,n;if(!r){var{parent:o}=this;if(o){var s=o.getStyle(e);if(s!=null&&s.hasValue())return s}}if(t){var u=new S(this.document,e,"");return this.styles[e]=u,u}return i||S.empty(this.document)}render(e){if(!(this.getStyle("display").getString()==="none"||this.getStyle("visibility").getString()==="hidden")){if(e.save(),this.getStyle("mask").hasValue()){var t=this.getStyle("mask").getDefinition();t&&(this.applyEffects(e),t.apply(e,this))}else if(this.getStyle("filter").getValue("none")!=="none"){var r=this.getStyle("filter").getDefinition();r&&(this.applyEffects(e),r.apply(e,this))}else this.setContext(e),this.renderChildren(e),this.clearContext(e);e.restore()}}setContext(e){}applyEffects(e){var t=Be.fromElement(this.document,this);t&&t.apply(e);var r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){var i=r.getDefinition();i&&i.apply(e)}}clearContext(e){}renderChildren(e){this.children.forEach(t=>{t.render(e)})}addChild(e){var t=e instanceof I?e:this.document.createElement(e);t.parent=this,I.ignoreChildTypes.includes(t.type)||this.children.push(t)}matchesSelector(e){var t,{node:r}=this;if(typeof r.matches=="function")return r.matches(e);var i=(t=r.getAttribute)===null||t===void 0?void 0:t.call(r,"class");return!i||i===""?!1:i.split(" ").some(n=>".".concat(n)===e)}addStylesFromStyleDefinition(){var{styles:e,stylesSpecificity:t}=this.document;for(var r in e)if(!r.startsWith("@")&&this.matchesSelector(r)){var i=e[r],n=t[r];if(i)for(var o in i){var s=this.stylesSpecificity[o];typeof s>"u"&&(s="000"),n>=s&&(this.styles[o]=i[o],this.stylesSpecificity[o]=n)}}}removeStyles(e,t){var r=t.reduce((i,n)=>{var o=e.getStyle(n);if(!o.hasValue())return i;var s=o.getString();return o.setValue(""),[...i,[n,s]]},[]);return r}restoreStyles(e,t){t.forEach(r=>{var[i,n]=r;e.getStyle(i,!0).setValue(n)})}isFirstChild(){var e;return((e=this.parent)===null||e===void 0?void 0:e.children.indexOf(this))===0}}I.ignoreChildTypes=["title"];class I1 extends I{constructor(e,t,r){super(e,t,r)}}function M1(a){var e=a.trim();return/^('|")/.test(e)?e:'"'.concat(e,'"')}function _1(a){return typeof process>"u"?a:a.trim().split(",").map(M1).join(",")}function V1(a){if(!a)return"";var e=a.trim().toLowerCase();switch(e){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return e;default:return/^oblique\s+(-|)\d+deg$/.test(e)?e:""}}function D1(a){if(!a)return"";var e=a.trim().toLowerCase();switch(e){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return e;default:return/^[\d.]+$/.test(e)?e:""}}class Z{constructor(e,t,r,i,n,o){var s=o?typeof o=="string"?Z.parse(o):o:{};this.fontFamily=n||s.fontFamily,this.fontSize=i||s.fontSize,this.fontStyle=e||s.fontStyle,this.fontWeight=r||s.fontWeight,this.fontVariant=t||s.fontVariant}static parse(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,r="",i="",n="",o="",s="",u=ht(e).trim().split(" "),l={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return u.forEach(h=>{switch(!0){case(!l.fontStyle&&Z.styles.includes(h)):h!=="inherit"&&(r=h),l.fontStyle=!0;break;case(!l.fontVariant&&Z.variants.includes(h)):h!=="inherit"&&(i=h),l.fontStyle=!0,l.fontVariant=!0;break;case(!l.fontWeight&&Z.weights.includes(h)):h!=="inherit"&&(n=h),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0;break;case!l.fontSize:h!=="inherit"&&([o]=h.split("/")),l.fontStyle=!0,l.fontVariant=!0,l.fontWeight=!0,l.fontSize=!0;break;default:h!=="inherit"&&(s+=h)}}),new Z(r,i,n,o,s,t)}toString(){return[V1(this.fontStyle),this.fontVariant,D1(this.fontWeight),this.fontSize,_1(this.fontFamily)].join(" ").trim()}}Z.styles="normal|italic|oblique|inherit";Z.variants="normal|small-caps|inherit";Z.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class ce{constructor(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.NaN,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.NaN,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Number.NaN,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Number.NaN;this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.addPoint(e,t),this.addPoint(r,i)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(e,t){typeof e<"u"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),ethis.x2&&(this.x2=e)),typeof t<"u"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))}addX(e){this.addPoint(e,null)}addY(e){this.addPoint(null,e)}addBoundingBox(e){if(e){var{x1:t,y1:r,x2:i,y2:n}=e;this.addPoint(t,r),this.addPoint(i,n)}}sumCubic(e,t,r,i,n){return Math.pow(1-e,3)*t+3*Math.pow(1-e,2)*e*r+3*(1-e)*Math.pow(e,2)*i+Math.pow(e,3)*n}bezierCurveAdd(e,t,r,i,n){var o=6*t-12*r+6*i,s=-3*t+9*r-9*i+3*n,u=3*r-3*t;if(s===0){if(o===0)return;var l=-u/o;0=t.length-1}next(){var e=this.commands[++this.i];return this.previousCommand=this.command,this.command=e,e}getPoint(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"x",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y",r=new k(this.command[e],this.command[t]);return this.makeAbsolute(r)}getAsControlPoint(e,t){var r=this.getPoint(e,t);return this.control=r,r}getAsCurrentPoint(e,t){var r=this.getPoint(e,t);return this.current=r,r}getReflectedControlPoint(){var e=this.previousCommand.type;if(e!==m.CURVE_TO&&e!==m.SMOOTH_CURVE_TO&&e!==m.QUAD_TO&&e!==m.SMOOTH_QUAD_TO)return this.current;var{current:{x:t,y:r},control:{x:i,y:n}}=this,o=new k(2*t-i,2*r-n);return o}makeAbsolute(e){if(this.command.relative){var{x:t,y:r}=this.current;e.x+=t,e.y+=r}return e}addMarker(e,t,r){var{points:i,angles:n}=this;r&&n.length>0&&!n[n.length-1]&&(n[n.length-1]=i[i.length-1].angleTo(r)),this.addMarkerAngle(e,t?t.angleTo(e):null)}addMarkerAngle(e,t){this.points.push(e),this.angles.push(t)}getMarkerPoints(){return this.points}getMarkerAngles(){for(var{angles:e}=this,t=e.length,r=0;r1&&arguments[1]!==void 0?arguments[1]:!1;if(!t){var r=this.getStyle("fill"),i=this.getStyle("fill-opacity"),n=this.getStyle("stroke"),o=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){var s=r.getFillStyleDefinition(this,i);s&&(e.fillStyle=s)}else if(r.hasValue()){r.getString()==="currentColor"&&r.setValue(this.getStyle("color").getColor());var u=r.getColor();u!=="inherit"&&(e.fillStyle=u==="none"?"rgba(0,0,0,0)":u)}if(i.hasValue()){var l=new S(this.document,"fill",e.fillStyle).addOpacity(i).getColor();e.fillStyle=l}if(n.isUrlDefinition()){var h=n.getFillStyleDefinition(this,o);h&&(e.strokeStyle=h)}else if(n.hasValue()){n.getString()==="currentColor"&&n.setValue(this.getStyle("color").getColor());var f=n.getString();f!=="inherit"&&(e.strokeStyle=f==="none"?"rgba(0,0,0,0)":f)}if(o.hasValue()){var c=new S(this.document,"stroke",e.strokeStyle).addOpacity(o).getString();e.strokeStyle=c}var v=this.getStyle("stroke-width");if(v.hasValue()){var g=v.getPixels();e.lineWidth=g||at}var d=this.getStyle("stroke-linecap"),p=this.getStyle("stroke-linejoin"),y=this.getStyle("stroke-miterlimit"),T=this.getStyle("stroke-dasharray"),b=this.getStyle("stroke-dashoffset");if(d.hasValue()&&(e.lineCap=d.getString()),p.hasValue()&&(e.lineJoin=p.getString()),y.hasValue()&&(e.miterLimit=y.getNumber()),T.hasValue()&&T.getString()!=="none"){var x=ne(T.getString());typeof e.setLineDash<"u"?e.setLineDash(x):typeof e.webkitLineDash<"u"?e.webkitLineDash=x:typeof e.mozDash<"u"&&!(x.length===1&&x[0]===0)&&(e.mozDash=x);var $=b.getPixels();typeof e.lineDashOffset<"u"?e.lineDashOffset=$:typeof e.webkitLineDashOffset<"u"?e.webkitLineDashOffset=$:typeof e.mozDashOffset<"u"&&(e.mozDashOffset=$)}}if(this.modifiedEmSizeStack=!1,typeof e.font<"u"){var E=this.getStyle("font"),O=this.getStyle("font-style"),C=this.getStyle("font-variant"),P=this.getStyle("font-weight"),V=this.getStyle("font-size"),j=this.getStyle("font-family"),R=new Z(O.getString(),C.getString(),P.getString(),V.hasValue()?"".concat(V.getPixels(!0),"px"):"",j.getString(),Z.parse(E.getString(),e.font));O.setValue(R.fontStyle),C.setValue(R.fontVariant),P.setValue(R.fontWeight),V.setValue(R.fontSize),j.setValue(R.fontFamily),e.font=R.toString(),V.isPixels()&&(this.document.emSize=V.getPixels(),this.modifiedEmSizeStack=!0)}t||(this.applyEffects(e),e.globalAlpha=this.calculateOpacity())}clearContext(e){super.clearContext(e),this.modifiedEmSizeStack&&this.document.popEmSize()}}class A extends Ge{constructor(e,t,r){super(e,t,r),this.type="path",this.pathParser=null,this.pathParser=new w(this.getAttribute("d").getString())}path(e){var{pathParser:t}=this,r=new ce;for(t.reset(),e&&e.beginPath();!t.isEnd();)switch(t.next().type){case w.MOVE_TO:this.pathM(e,r);break;case w.LINE_TO:this.pathL(e,r);break;case w.HORIZ_LINE_TO:this.pathH(e,r);break;case w.VERT_LINE_TO:this.pathV(e,r);break;case w.CURVE_TO:this.pathC(e,r);break;case w.SMOOTH_CURVE_TO:this.pathS(e,r);break;case w.QUAD_TO:this.pathQ(e,r);break;case w.SMOOTH_QUAD_TO:this.pathT(e,r);break;case w.ARC:this.pathA(e,r);break;case w.CLOSE_PATH:this.pathZ(e,r);break}return r}getBoundingBox(e){return this.path()}getMarkers(){var{pathParser:e}=this,t=e.getMarkerPoints(),r=e.getMarkerAngles(),i=t.map((n,o)=>[n,r[o]]);return i}renderChildren(e){this.path(e),this.document.screen.mouse.checkPath(this,e);var t=this.getStyle("fill-rule");e.fillStyle!==""&&(t.getString("inherit")!=="inherit"?e.fill(t.getString()):e.fill()),e.strokeStyle!==""&&(this.getAttribute("vector-effect").getString()==="non-scaling-stroke"?(e.save(),e.setTransform(1,0,0,1,0,0),e.stroke(),e.restore()):e.stroke());var r=this.getMarkers();if(r){var i=r.length-1,n=this.getStyle("marker-start"),o=this.getStyle("marker-mid"),s=this.getStyle("marker-end");if(n.isUrlDefinition()){var u=n.getDefinition(),[l,h]=r[0];u.render(e,l,h)}if(o.isUrlDefinition())for(var f=o.getDefinition(),c=1;c1&&(i*=Math.sqrt(c),n*=Math.sqrt(c));var v=(s===u?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(n,2)-Math.pow(i,2)*Math.pow(f.y,2)-Math.pow(n,2)*Math.pow(f.x,2))/(Math.pow(i,2)*Math.pow(f.y,2)+Math.pow(n,2)*Math.pow(f.x,2)));isNaN(v)&&(v=0);var g=new k(v*i*f.y/n,v*-n*f.x/i),d=new k((t.x+h.x)/2+Math.cos(l)*g.x-Math.sin(l)*g.y,(t.y+h.y)/2+Math.sin(l)*g.x+Math.cos(l)*g.y),p=Eo([1,0],[(f.x-g.x)/i,(f.y-g.y)/n]),y=[(f.x-g.x)/i,(f.y-g.y)/n],T=[(-f.x-g.x)/i,(-f.y-g.y)/n],b=Eo(y,T);return Ti(y,T)<=-1&&(b=Math.PI),Ti(y,T)>=1&&(b=0),{currentPoint:h,rX:i,rY:n,sweepFlag:u,xAxisRotation:l,centp:d,a1:p,ad:b}}pathA(e,t){var{pathParser:r}=this,{currentPoint:i,rX:n,rY:o,sweepFlag:s,xAxisRotation:u,centp:l,a1:h,ad:f}=A.pathA(r),c=1-s?1:-1,v=h+c*(f/2),g=new k(l.x+n*Math.cos(v),l.y+o*Math.sin(v));if(r.addMarkerAngle(g,v-c*Math.PI/2),r.addMarkerAngle(i,v-c*Math.PI),t.addPoint(i.x,i.y),e&&!isNaN(h)&&!isNaN(f)){var d=n>o?n:o,p=n>o?1:n/o,y=n>o?o/n:1;e.translate(l.x,l.y),e.rotate(u),e.scale(p,y),e.arc(0,0,d,h,h+f,!!(1-s)),e.scale(1/p,1/y),e.rotate(-u),e.translate(-l.x,-l.y)}}static pathZ(e){e.current=e.start}pathZ(e,t){A.pathZ(this.pathParser),e&&t.x1!==t.x2&&t.y1!==t.y2&&e.closePath()}}class Ol extends A{constructor(e,t,r){super(e,t,r),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class Ce extends Ge{constructor(e,t,r){super(e,t,new.target===Ce?!0:r),this.type="text",this.x=0,this.y=0,this.measureCache=-1}setContext(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super.setContext(e,t);var r=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();r&&(e.textBaseline=r)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(e){if(this.type!=="text")return this.getTElementBoundingBox(e);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(e);var t=null;return this.children.forEach((r,i)=>{var n=this.getChildBoundingBox(e,this,this,i);t?t.addBoundingBox(n):t=n}),t}getFontSize(){var{document:e,parent:t}=this,r=Z.parse(e.ctx.font).fontSize,i=t.getStyle("font-size").getNumber(r);return i}getTElementBoundingBox(e){var t=this.getFontSize();return new ce(this.x,this.y-t,this.x+this.measureText(e),this.y)}getGlyph(e,t,r){var i=t[r],n=null;if(e.isArabic){var o=t.length,s=t[r-1],u=t[r+1],l="isolated";if((r===0||s===" ")&&r0&&s!==" "&&r0&&s!==" "&&(r===o-1||u===" ")&&(l="initial"),typeof e.glyphs[i]<"u"){var h=e.glyphs[i];n=h instanceof Ol?h:h[l]}}else n=e.glyphs[i];return n||(n=e.missingGlyph),n}getText(){return""}getTextFromNode(e){var t=e||this.node,r=Array.from(t.parentNode.childNodes),i=r.indexOf(t),n=r.length-1,o=ht(t.textContent||"");return i===0&&(o=u1(o)),i===n&&(o=l1(o)),o}renderChildren(e){if(this.type!=="text"){this.renderTElementChildren(e);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(e),this.children.forEach((r,i)=>{this.renderChild(e,this,this,i)});var{mouse:t}=this.document.screen;t.isWorking()&&t.checkBoundingBox(this,this.getBoundingBox(e))}renderTElementChildren(e){var{document:t,parent:r}=this,i=this.getText(),n=r.getStyle("font-family").getDefinition();if(n){for(var{unitsPerEm:o}=n.fontFace,s=Z.parse(t.ctx.font),u=r.getStyle("font-size").getNumber(s.fontSize),l=r.getStyle("font-style").getString(s.fontStyle),h=u/o,f=n.isRTL?i.split("").reverse().join(""):i,c=ne(r.getAttribute("dx").getString()),v=f.length,g=0;g=this.leafTexts.length)){var e=this.leafTexts[this.textChunkStart],t=e.getStyle("text-anchor").getString("start"),r=!1,i=0;t==="start"&&!r||t==="end"&&r?i=e.x-this.minX:t==="end"&&!r||t==="start"&&r?i=e.x-this.maxX:i=e.x-(this.minX+this.maxX)/2;for(var n=this.textChunkStart;n{this.adjustChildCoordinatesRecursiveCore(e,this,this,r)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(e,t,r,i){var n=r.children[i];n.children.length>0?n.children.forEach((o,s)=>{t.adjustChildCoordinatesRecursiveCore(e,t,n,s)}):this.adjustChildCoordinates(e,t,r,i)}adjustChildCoordinates(e,t,r,i){var n=r.children[i];if(typeof n.measureText!="function")return n;e.save(),n.setContext(e,!0);var o=n.getAttribute("x"),s=n.getAttribute("y"),u=n.getAttribute("dx"),l=n.getAttribute("dy"),h=n.getStyle("font-family").getDefinition(),f=!!h&&h.isRTL;i===0&&(o.hasValue()||o.setValue(n.getInheritedAttribute("x")),s.hasValue()||s.setValue(n.getInheritedAttribute("y")),u.hasValue()||u.setValue(n.getInheritedAttribute("dx")),l.hasValue()||l.setValue(n.getInheritedAttribute("dy")));var c=n.measureText(e);return f&&(t.x-=c),o.hasValue()?(t.applyAnchoring(),n.x=o.getPixels("x"),u.hasValue()&&(n.x+=u.getPixels("x"))):(u.hasValue()&&(t.x+=u.getPixels("x")),n.x=t.x),t.x=n.x,f||(t.x+=c),s.hasValue()?(n.y=s.getPixels("y"),l.hasValue()&&(n.y+=l.getPixels("y"))):(l.hasValue()&&(t.y+=l.getPixels("y")),n.y=t.y),t.y=n.y,t.leafTexts.push(n),t.minX=Math.min(t.minX,n.x,n.x+c),t.maxX=Math.max(t.maxX,n.x,n.x+c),n.clearContext(e),e.restore(),n}getChildBoundingBox(e,t,r,i){var n=r.children[i];if(typeof n.getBoundingBox!="function")return null;var o=n.getBoundingBox(e);return o?(n.children.forEach((s,u)=>{var l=t.getChildBoundingBox(e,t,n,u);o.addBoundingBox(l)}),o):null}renderChild(e,t,r,i){var n=r.children[i];n.render(e),n.children.forEach((o,s)=>{t.renderChild(e,t,n,s)})}measureText(e){var{measureCache:t}=this;if(~t)return t;var r=this.getText(),i=this.measureTargetText(e,r);return this.measureCache=i,i}measureTargetText(e,t){if(!t.length)return 0;var{parent:r}=this,i=r.getStyle("font-family").getDefinition();if(i){for(var n=this.getFontSize(),o=i.isRTL?t.split("").reverse().join(""):t,s=ne(r.getAttribute("dx").getString()),u=o.length,l=0,h=0;h0?"":this.getTextFromNode()}getText(){return this.text}}class L1 extends Br{constructor(){super(...arguments),this.type="textNode"}}class It extends Ge{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(e){var t,{document:r}=this,{screen:i,window:n}=r,o=e.canvas;if(i.setDefaults(e),o.style&&typeof e.font<"u"&&n&&typeof n.getComputedStyle<"u"){e.font=n.getComputedStyle(o).getPropertyValue("font");var s=new S(r,"fontSize",Z.parse(e.font).fontSize);s.hasValue()&&(r.rootEmSize=s.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);var{width:u,height:l}=i.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");var h=this.getAttribute("refX"),f=this.getAttribute("refY"),c=this.getAttribute("viewBox"),v=c.hasValue()?ne(c.getString()):null,g=!this.root&&this.getStyle("overflow").getValue("hidden")!=="visible",d=0,p=0,y=0,T=0;v&&(d=v[0],p=v[1]),this.root||(u=this.getStyle("width").getPixels("x"),l=this.getStyle("height").getPixels("y"),this.type==="marker"&&(y=d,T=p,d=0,p=0)),i.viewPort.setCurrent(u,l),this.node&&(!this.parent||((t=this.node.parentNode)===null||t===void 0?void 0:t.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(e),e.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),v&&(u=v[2],l=v[3]),r.setViewBox({ctx:e,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:i.viewPort.width,desiredWidth:u,height:i.viewPort.height,desiredHeight:l,minX:d,minY:p,refX:h.getValue(),refY:f.getValue(),clip:g,clipX:y,clipY:T}),v&&(i.viewPort.removeCurrent(),i.viewPort.setCurrent(u,l))}clearContext(e){super.clearContext(e),this.document.screen.viewPort.removeCurrent()}resize(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=this.getAttribute("width",!0),n=this.getAttribute("height",!0),o=this.getAttribute("viewBox"),s=this.getAttribute("style"),u=i.getNumber(0),l=n.getNumber(0);if(r)if(typeof r=="string")this.getAttribute("preserveAspectRatio",!0).setValue(r);else{var h=this.getAttribute("preserveAspectRatio");h.hasValue()&&h.setValue(h.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(i.setValue(e),n.setValue(t),o.hasValue()||o.setValue("0 0 ".concat(u||e," ").concat(l||t)),s.hasValue()){var f=this.getStyle("width"),c=this.getStyle("height");f.hasValue()&&f.setValue("".concat(e,"px")),c.hasValue()&&c.setValue("".concat(t,"px"))}}}class Sl extends A{constructor(){super(...arguments),this.type="rect"}path(e){var t=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),i=this.getStyle("width",!1,!0).getPixels("x"),n=this.getStyle("height",!1,!0).getPixels("y"),o=this.getAttribute("rx"),s=this.getAttribute("ry"),u=o.getPixels("x"),l=s.getPixels("y");if(o.hasValue()&&!s.hasValue()&&(l=u),s.hasValue()&&!o.hasValue()&&(u=l),u=Math.min(u,i/2),l=Math.min(l,n/2),e){var h=4*((Math.sqrt(2)-1)/3);e.beginPath(),n>0&&i>0&&(e.moveTo(t+u,r),e.lineTo(t+i-u,r),e.bezierCurveTo(t+i-u+h*u,r,t+i,r+l-h*l,t+i,r+l),e.lineTo(t+i,r+n-l),e.bezierCurveTo(t+i,r+n-l+h*l,t+i-u+h*u,r+n,t+i-u,r+n),e.lineTo(t+u,r+n),e.bezierCurveTo(t+u-h*u,r+n,t,r+n-l+h*l,t,r+n-l),e.lineTo(t,r+l),e.bezierCurveTo(t,r+l-h*l,t+u-h*u,r,t+u,r),e.closePath())}return new ce(t,r,t+i,r+n)}getMarkers(){return null}}class k1 extends A{constructor(){super(...arguments),this.type="circle"}path(e){var t=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),i=this.getAttribute("r").getPixels();return e&&i>0&&(e.beginPath(),e.arc(t,r,i,0,Math.PI*2,!1),e.closePath()),new ce(t-i,r-i,t+i,r+i)}getMarkers(){return null}}class B1 extends A{constructor(){super(...arguments),this.type="ellipse"}path(e){var t=4*((Math.sqrt(2)-1)/3),r=this.getAttribute("rx").getPixels("x"),i=this.getAttribute("ry").getPixels("y"),n=this.getAttribute("cx").getPixels("x"),o=this.getAttribute("cy").getPixels("y");return e&&r>0&&i>0&&(e.beginPath(),e.moveTo(n+r,o),e.bezierCurveTo(n+r,o+t*i,n+t*r,o+i,n,o+i),e.bezierCurveTo(n-t*r,o+i,n-r,o+t*i,n-r,o),e.bezierCurveTo(n-r,o-t*i,n-t*r,o-i,n,o-i),e.bezierCurveTo(n+t*r,o-i,n+r,o-t*i,n+r,o),e.closePath()),new ce(n-r,o-i,n+r,o+i)}getMarkers(){return null}}class j1 extends A{constructor(){super(...arguments),this.type="line"}getPoints(){return[new k(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new k(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(e){var[{x:t,y:r},{x:i,y:n}]=this.getPoints();return e&&(e.beginPath(),e.moveTo(t,r),e.lineTo(i,n)),new ce(t,r,i,n)}getMarkers(){var[e,t]=this.getPoints(),r=e.angleTo(t);return[[e,r],[t,r]]}}class El extends A{constructor(e,t,r){super(e,t,r),this.type="polyline",this.points=[],this.points=k.parsePath(this.getAttribute("points").getString())}path(e){var{points:t}=this,[{x:r,y:i}]=t,n=new ce(r,i);return e&&(e.beginPath(),e.moveTo(r,i)),t.forEach(o=>{var{x:s,y:u}=o;n.addPoint(s,u),e&&e.lineTo(s,u)}),n}getMarkers(){var{points:e}=this,t=e.length-1,r=[];return e.forEach((i,n)=>{n!==t&&r.push([i,i.angleTo(e[n+1])])}),r.length>0&&r.push([e[e.length-1],r[r.length-1][1]]),r}}class F1 extends El{constructor(){super(...arguments),this.type="polygon"}path(e){var t=super.path(e),[{x:r,y:i}]=this.points;return e&&(e.lineTo(r,i),e.closePath()),t}}class U1 extends I{constructor(){super(...arguments),this.type="pattern"}createPattern(e,t,r){var i=this.getStyle("width").getPixels("x",!0),n=this.getStyle("height").getPixels("y",!0),o=new It(this.document,null);o.attributes.viewBox=new S(this.document,"viewBox",this.getAttribute("viewBox").getValue()),o.attributes.width=new S(this.document,"width","".concat(i,"px")),o.attributes.height=new S(this.document,"height","".concat(n,"px")),o.attributes.transform=new S(this.document,"transform",this.getAttribute("patternTransform").getValue()),o.children=this.children;var s=this.document.createCanvas(i,n),u=s.getContext("2d"),l=this.getAttribute("x"),h=this.getAttribute("y");l.hasValue()&&h.hasValue()&&u.translate(l.getPixels("x",!0),h.getPixels("y",!0)),r.hasValue()?this.styles["fill-opacity"]=r:Reflect.deleteProperty(this.styles,"fill-opacity");for(var f=-1;f<=1;f++)for(var c=-1;c<=1;c++)u.save(),o.attributes.x=new S(this.document,"x",f*s.width),o.attributes.y=new S(this.document,"y",c*s.height),o.render(u),u.restore();var v=e.createPattern(s,"repeat");return v}}class G1 extends I{constructor(){super(...arguments),this.type="marker"}render(e,t,r){if(t){var{x:i,y:n}=t,o=this.getAttribute("orient").getString("auto"),s=this.getAttribute("markerUnits").getString("strokeWidth");e.translate(i,n),o==="auto"&&e.rotate(r),s==="strokeWidth"&&e.scale(e.lineWidth,e.lineWidth),e.save();var u=new It(this.document,null);u.type=this.type,u.attributes.viewBox=new S(this.document,"viewBox",this.getAttribute("viewBox").getValue()),u.attributes.refX=new S(this.document,"refX",this.getAttribute("refX").getValue()),u.attributes.refY=new S(this.document,"refY",this.getAttribute("refY").getValue()),u.attributes.width=new S(this.document,"width",this.getAttribute("markerWidth").getValue()),u.attributes.height=new S(this.document,"height",this.getAttribute("markerHeight").getValue()),u.attributes.overflow=new S(this.document,"overflow",this.getAttribute("overflow").getValue()),u.attributes.fill=new S(this.document,"fill",this.getAttribute("fill").getColor("black")),u.attributes.stroke=new S(this.document,"stroke",this.getAttribute("stroke").getValue("none")),u.children=this.children,u.render(e),e.restore(),s==="strokeWidth"&&e.scale(1/e.lineWidth,1/e.lineWidth),o==="auto"&&e.rotate(-r),e.translate(-i,-n)}}}class z1 extends I{constructor(){super(...arguments),this.type="defs"}render(){}}class sn extends Ge{constructor(){super(...arguments),this.type="g"}getBoundingBox(e){var t=new ce;return this.children.forEach(r=>{t.addBoundingBox(r.getBoundingBox(e))}),t}}class $l extends I{constructor(e,t,r){super(e,t,r),this.attributesToInherit=["gradientUnits"],this.stops=[];var{stops:i,children:n}=this;n.forEach(o=>{o.type==="stop"&&i.push(o)})}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(e,t,r){var i=this;this.getHrefAttribute().hasValue()&&(i=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(i));var{stops:n}=i,o=this.getGradient(e,t);if(!o)return this.addParentOpacity(r,n[n.length-1].color);if(n.forEach(p=>{o.addColorStop(p.offset,this.addParentOpacity(r,p.color))}),this.getAttribute("gradientTransform").hasValue()){var{document:s}=this,{MAX_VIRTUAL_PIXELS:u,viewPort:l}=s.screen,[h]=l.viewPorts,f=new Sl(s,null);f.attributes.x=new S(s,"x",-u/3),f.attributes.y=new S(s,"y",-u/3),f.attributes.width=new S(s,"width",u),f.attributes.height=new S(s,"height",u);var c=new sn(s,null);c.attributes.transform=new S(s,"transform",this.getAttribute("gradientTransform").getValue()),c.children=[f];var v=new It(s,null);v.attributes.x=new S(s,"x",0),v.attributes.y=new S(s,"y",0),v.attributes.width=new S(s,"width",h.width),v.attributes.height=new S(s,"height",h.height),v.children=[c];var g=s.createCanvas(h.width,h.height),d=g.getContext("2d");return d.fillStyle=o,v.render(d),d.createPattern(g,"no-repeat")}return o}inheritStopContainer(e){this.attributesToInherit.forEach(t=>{!this.getAttribute(t).hasValue()&&e.getAttribute(t).hasValue()&&this.getAttribute(t,!0).setValue(e.getAttribute(t).getValue())})}addParentOpacity(e,t){if(e.hasValue()){var r=new S(this.document,"color",t);return r.addOpacity(e).getColor()}return t}}class H1 extends $l{constructor(e,t,r){super(e,t,r),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(e,t){var r=this.getGradientUnits()==="objectBoundingBox",i=r?t.getBoundingBox(e):null;if(r&&!i)return null;!this.getAttribute("x1").hasValue()&&!this.getAttribute("y1").hasValue()&&!this.getAttribute("x2").hasValue()&&!this.getAttribute("y2").hasValue()&&(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));var n=r?i.x+i.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),o=r?i.y+i.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),s=r?i.x+i.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),u=r?i.y+i.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return n===s&&o===u?null:e.createLinearGradient(n,o,s,u)}}class Y1 extends $l{constructor(e,t,r){super(e,t,r),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(e,t){var r=this.getGradientUnits()==="objectBoundingBox",i=t.getBoundingBox(e);if(r&&!i)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");var n=r?i.x+i.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),o=r?i.y+i.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y"),s=n,u=o;this.getAttribute("fx").hasValue()&&(s=r?i.x+i.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(u=r?i.y+i.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));var l=r?(i.width+i.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),h=this.getAttribute("fr").getPixels();return e.createRadialGradient(s,u,h,n,o,l)}}class X1 extends I{constructor(e,t,r){super(e,t,r),this.type="stop";var i=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),n=this.getStyle("stop-opacity"),o=this.getStyle("stop-color",!0);o.getString()===""&&o.setValue("#000"),n.hasValue()&&(o=o.addOpacity(n)),this.offset=i,this.color=o.getColor()}}class on extends I{constructor(e,t,r){super(e,t,r),this.type="animate",this.duration=0,this.initialValue=null,this.initialUnits="",this.removed=!1,this.frozen=!1,e.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new S(e,"values",null);var i=this.getAttribute("values");i.hasValue()&&this.values.setValue(i.getString().split(";"))}getProperty(){var e=this.getAttribute("attributeType").getString(),t=this.getAttribute("attributeName").getString();return e==="CSS"?this.parent.getStyle(t,!0):this.parent.getAttribute(t,!0)}calcValue(){var{initialUnits:e}=this,{progress:t,from:r,to:i}=this.getProgress(),n=r.getNumber()+(i.getNumber()-r.getNumber())*t;return e==="%"&&(n*=100),"".concat(n).concat(e)}update(e){var{parent:t}=this,r=this.getProperty();if(this.initialValue||(this.initialValue=r.getString(),this.initialUnits=r.getUnits()),this.duration>this.maxDuration){var i=this.getAttribute("fill").getString("remove");if(this.getAttribute("repeatCount").getString()==="indefinite"||this.getAttribute("repeatDur").getString()==="indefinite")this.duration=0;else if(i==="freeze"&&!this.frozen)this.frozen=!0,t.animationFrozen=!0,t.animationFrozenValue=r.getString();else if(i==="remove"&&!this.removed)return this.removed=!0,r.setValue(t.animationFrozen?t.animationFrozenValue:this.initialValue),!0;return!1}this.duration+=e;var n=!1;if(this.begin{var l=n[u];return s+(l-s)*e}).join(" ");return o}}class Q1 extends I{constructor(e,t,r){super(e,t,r),this.type="font",this.glyphs=Object.create(null),this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();var{definitions:i}=e,{children:n}=this;for(var o of n)switch(o.type){case"font-face":{this.fontFace=o;var s=o.getStyle("font-family");s.hasValue()&&(i[s.getString()]=this);break}case"missing-glyph":this.missingGlyph=o;break;case"glyph":{var u=o;u.arabicForm?(this.isRTL=!0,this.isArabic=!0,typeof this.glyphs[u.unicode]>"u"&&(this.glyphs[u.unicode]=Object.create(null)),this.glyphs[u.unicode][u.arabicForm]=u):this.glyphs[u.unicode]=u;break}}}render(){}}class K1 extends I{constructor(e,t,r){super(e,t,r),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class Z1 extends A{constructor(){super(...arguments),this.type="missing-glyph",this.horizAdvX=0}}class J1 extends Ce{constructor(){super(...arguments),this.type="tref"}getText(){var e=this.getHrefAttribute().getDefinition();if(e){var t=e.children[0];if(t)return t.getText()}return""}}class e2 extends Ce{constructor(e,t,r){super(e,t,r),this.type="a";var{childNodes:i}=t,n=i[0],o=i.length>0&&Array.from(i).every(s=>s.nodeType===3);this.hasText=o,this.text=o?this.getTextFromNode(n):""}getText(){return this.text}renderChildren(e){if(this.hasText){super.renderChildren(e);var{document:t,x:r,y:i}=this,{mouse:n}=t.screen,o=new S(t,"fontSize",Z.parse(t.ctx.font).fontSize);n.isWorking()&&n.checkBoundingBox(this,new ce(r,i-o.getPixels("y"),r+this.measureText(e),i))}else if(this.children.length>0){var s=new sn(this.document,null);s.children=this.children,s.parent=this,s.render(e)}}onClick(){var{window:e}=this.document;e&&e.open(this.getHrefAttribute().getString())}onMouseMove(){var e=this.document.ctx;e.canvas.style.cursor="pointer"}}function Io(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,r)}return t}function nr(a){for(var e=1;e{var{type:i,points:n}=r;switch(i){case w.LINE_TO:e&&e.lineTo(n[0],n[1]);break;case w.MOVE_TO:e&&e.moveTo(n[0],n[1]);break;case w.CURVE_TO:e&&e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);break;case w.QUAD_TO:e&&e.quadraticCurveTo(n[0],n[1],n[2],n[3]);break;case w.ARC:{var[o,s,u,l,h,f,c,v]=n,g=u>l?u:l,d=u>l?1:u/l,p=u>l?l/u:1;e&&(e.translate(o,s),e.rotate(c),e.scale(d,p),e.arc(0,0,g,h,h+f,!!(1-v)),e.scale(1/d,1/p),e.rotate(-c),e.translate(-o,-s));break}case w.CLOSE_PATH:e&&e.closePath();break}})}renderChildren(e){this.setTextData(e),e.save();var t=this.parent.getStyle("text-decoration").getString(),r=this.getFontSize(),{glyphInfo:i}=this,n=e.fillStyle;t==="underline"&&e.beginPath(),i.forEach((o,s)=>{var{p0:u,p1:l,rotation:h,text:f}=o;e.save(),e.translate(u.x,u.y),e.rotate(h),e.fillStyle&&e.fillText(f,0,0),e.strokeStyle&&e.strokeText(f,0,0),e.restore(),t==="underline"&&(s===0&&e.moveTo(u.x,u.y+r/8),e.lineTo(l.x,l.y+r/5))}),t==="underline"&&(e.lineWidth=r/20,e.strokeStyle=n,e.stroke(),e.closePath()),e.restore()}getLetterSpacingAt(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.letterSpacingCache[e]||0}findSegmentToFitChar(e,t,r,i,n,o,s,u,l){var h=o,f=this.measureText(e,u);u===" "&&t==="justify"&&r-1&&(h+=this.getLetterSpacingAt(l));var c=this.textHeight/20,v=this.getEquidistantPointOnPath(h,c,0),g=this.getEquidistantPointOnPath(h+f,c,0),d={p0:v,p1:g},p=v&&g?Math.atan2(g.y-v.y,g.x-v.x):0;if(s){var y=Math.cos(Math.PI/2+p)*s,T=Math.cos(-p)*s;d.p0=nr(nr({},v),{},{x:v.x+y,y:v.y+T}),d.p1=nr(nr({},g),{},{x:g.x+y,y:g.y+T})}return h+=f,{offset:h,segment:d,rotation:p}}measureText(e,t){var{measuresCache:r}=this,i=t||this.getText();if(r.has(i))return r.get(i);var n=this.measureTargetText(e,i);return r.set(i,n),n}setTextData(e){if(!this.glyphInfo){var t=this.getText(),r=t.split(""),i=t.split(" ").length-1,n=this.parent.getAttribute("dx").split().map(x=>x.getPixels("x")),o=this.parent.getAttribute("dy").getPixels("y"),s=this.parent.getStyle("text-anchor").getString("start"),u=this.getStyle("letter-spacing"),l=this.parent.getStyle("letter-spacing"),h=0;!u.hasValue()||u.getValue()==="inherit"?h=l.getPixels():u.hasValue()&&u.getValue()!=="initial"&&u.getValue()!=="unset"&&(h=u.getPixels());var f=[],c=t.length;this.letterSpacingCache=f;for(var v=0;vE===0?0:x+$||0,0),d=this.measureText(e),p=Math.max(d+g,0);this.textWidth=d,this.textHeight=this.getFontSize(),this.glyphInfo=[];var y=this.getPathLength(),T=this.getStyle("startOffset").getNumber(0)*y,b=0;(s==="middle"||s==="center")&&(b=-p/2),(s==="end"||s==="right")&&(b=-p),b+=T,r.forEach((x,$)=>{var{offset:E,segment:O,rotation:C}=this.findSegmentToFitChar(e,s,p,y,i,b,o,x,$);b=E,!(!O.p0||!O.p1)&&this.glyphInfo.push({text:r[$],p0:O.p0,p1:O.p1,rotation:C})})}}parsePathData(e){if(this.pathLength=-1,!e)return[];var t=[],{pathParser:r}=e;for(r.reset();!r.isEnd();){var{current:i}=r,n=i?i.x:0,o=i?i.y:0,s=r.next(),u=s.type,l=[];switch(s.type){case w.MOVE_TO:this.pathM(r,l);break;case w.LINE_TO:u=this.pathL(r,l);break;case w.HORIZ_LINE_TO:u=this.pathH(r,l);break;case w.VERT_LINE_TO:u=this.pathV(r,l);break;case w.CURVE_TO:this.pathC(r,l);break;case w.SMOOTH_CURVE_TO:u=this.pathS(r,l);break;case w.QUAD_TO:this.pathQ(r,l);break;case w.SMOOTH_QUAD_TO:u=this.pathT(r,l);break;case w.ARC:l=this.pathA(r);break;case w.CLOSE_PATH:A.pathZ(r);break}s.type!==w.CLOSE_PATH?t.push({type:u,points:l,start:{x:n,y:o},pathLength:this.calcLength(n,o,u,l)}):t.push({type:w.CLOSE_PATH,points:[],pathLength:0})}return t}pathM(e,t){var{x:r,y:i}=A.pathM(e).point;t.push(r,i)}pathL(e,t){var{x:r,y:i}=A.pathL(e).point;return t.push(r,i),w.LINE_TO}pathH(e,t){var{x:r,y:i}=A.pathH(e).point;return t.push(r,i),w.LINE_TO}pathV(e,t){var{x:r,y:i}=A.pathV(e).point;return t.push(r,i),w.LINE_TO}pathC(e,t){var{point:r,controlPoint:i,currentPoint:n}=A.pathC(e);t.push(r.x,r.y,i.x,i.y,n.x,n.y)}pathS(e,t){var{point:r,controlPoint:i,currentPoint:n}=A.pathS(e);return t.push(r.x,r.y,i.x,i.y,n.x,n.y),w.CURVE_TO}pathQ(e,t){var{controlPoint:r,currentPoint:i}=A.pathQ(e);t.push(r.x,r.y,i.x,i.y)}pathT(e,t){var{controlPoint:r,currentPoint:i}=A.pathT(e);return t.push(r.x,r.y,i.x,i.y),w.QUAD_TO}pathA(e){var{rX:t,rY:r,sweepFlag:i,xAxisRotation:n,centp:o,a1:s,ad:u}=A.pathA(e);return i===0&&u>0&&(u-=2*Math.PI),i===1&&u<0&&(u+=2*Math.PI),[o.x,o.y,t,r,s,u,n,i]}calcLength(e,t,r,i){var n=0,o=null,s=null,u=0;switch(r){case w.LINE_TO:return this.getLineLength(e,t,i[0],i[1]);case w.CURVE_TO:for(n=0,o=this.getPointOnCubicBezier(0,e,t,i[0],i[1],i[2],i[3],i[4],i[5]),u=.01;u<=1;u+=.01)s=this.getPointOnCubicBezier(u,e,t,i[0],i[1],i[2],i[3],i[4],i[5]),n+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return n;case w.QUAD_TO:for(n=0,o=this.getPointOnQuadraticBezier(0,e,t,i[0],i[1],i[2],i[3]),u=.01;u<=1;u+=.01)s=this.getPointOnQuadraticBezier(u,e,t,i[0],i[1],i[2],i[3]),n+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return n;case w.ARC:{n=0;var l=i[4],h=i[5],f=i[4]+h,c=Math.PI/180;if(Math.abs(l-f)f;u-=c)s=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),n+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(u=l+c;u5&&arguments[5]!==void 0?arguments[5]:t,s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:r,u=(n-r)/(i-t+at),l=Math.sqrt(e*e/(1+u*u));it)return null;var{dataArray:n}=this;for(var o of n){if(o&&(o.pathLength<5e-5||r+o.pathLength+5e-5=0&&u>f)break;i=this.getPointOnEllipticalArc(o.points[0],o.points[1],o.points[2],o.points[3],u,o.points[6]);break}case w.CURVE_TO:u=s/o.pathLength,u>1&&(u=1),i=this.getPointOnCubicBezier(u,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3],o.points[4],o.points[5]);break;case w.QUAD_TO:u=s/o.pathLength,u>1&&(u=1),i=this.getPointOnQuadraticBezier(u,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3]);break}if(i)return i;break}return null}getLineLength(e,t,r,i){return Math.sqrt((r-e)*(r-e)+(i-t)*(i-t))}getPathLength(){return this.pathLength===-1&&(this.pathLength=this.dataArray.reduce((e,t)=>t.pathLength>0?e+t.pathLength:e,0)),this.pathLength}getPointOnCubicBezier(e,t,r,i,n,o,s,u,l){var h=u*$o(e)+o*wo(e)+i*Co(e)+t*Ao(e),f=l*$o(e)+s*wo(e)+n*Co(e)+r*Ao(e);return{x:h,y:f}}getPointOnQuadraticBezier(e,t,r,i,n,o,s){var u=o*Po(e)+i*Ro(e)+t*No(e),l=s*Po(e)+n*Ro(e)+r*No(e);return{x:u,y:l}}getPointOnEllipticalArc(e,t,r,i,n,o){var s=Math.cos(o),u=Math.sin(o),l={x:r*Math.cos(n),y:i*Math.sin(n)};return{x:e+(l.x*s-l.y*u),y:t+(l.x*u+l.y*s)}}buildEquidistantCache(e,t){var r=this.getPathLength(),i=t||.25,n=e||r/100;if(!this.equidistantCache||this.equidistantCache.step!==n||this.equidistantCache.precision!==i){this.equidistantCache={step:n,precision:i,points:[]};for(var o=0,s=0;s<=r;s+=i){var u=this.getPointOnPath(s),l=this.getPointOnPath(s+i);!u||!l||(o+=this.getLineLength(u.x,u.y,l.x,l.y),o>=n&&(this.equidistantCache.points.push({x:u.x,y:u.y,distance:s}),o-=n))}}}getEquidistantPointOnPath(e,t,r){if(this.buildEquidistantCache(t,r),e<0||e-this.getPathLength()>5e-5)return null;var i=Math.round(e/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[i]||null}}var r2=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class a2 extends Ge{constructor(e,t,r){super(e,t,r),this.type="image",this.loaded=!1;var i=this.getHrefAttribute().getString();if(i){var n=i.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(i);e.images.push(this),n?this.loadSvg(i):this.loadImage(i),this.isSvg=n}}loadImage(e){var t=this;return xe(function*(){try{var r=yield t.document.createImage(e);t.image=r}catch(i){console.error('Error while loading image "'.concat(e,'":'),i)}t.loaded=!0})()}loadSvg(e){var t=this;return xe(function*(){var r=r2.exec(e);if(r){var i=r[5];r[4]==="base64"?t.image=atob(i):t.image=decodeURIComponent(i)}else try{var n=yield t.document.fetch(e),o=yield n.text();t.image=o}catch(s){console.error('Error while loading image "'.concat(e,'":'),s)}t.loaded=!0})()}renderChildren(e){var{document:t,image:r,loaded:i}=this,n=this.getAttribute("x").getPixels("x"),o=this.getAttribute("y").getPixels("y"),s=this.getStyle("width").getPixels("x"),u=this.getStyle("height").getPixels("y");if(!(!i||!r||!s||!u)){if(e.save(),e.translate(n,o),this.isSvg){var l=t.canvg.forkString(e,this.image,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:s,scaleHeight:u});l.document.documentElement.parent=this,l.render()}else{var h=this.image;t.setViewBox({ctx:e,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:s,desiredWidth:h.width,height:u,desiredHeight:h.height}),this.loaded&&(typeof h.complete>"u"||h.complete)&&e.drawImage(h,0,0)}e.restore()}}getBoundingBox(){var e=this.getAttribute("x").getPixels("x"),t=this.getAttribute("y").getPixels("y"),r=this.getStyle("width").getPixels("x"),i=this.getStyle("height").getPixels("y");return new ce(e,t,e+r,t+i)}}class i2 extends Ge{constructor(){super(...arguments),this.type="symbol"}render(e){}}class n2{constructor(e){this.document=e,this.loaded=!1,e.fonts.push(this)}load(e,t){var r=this;return xe(function*(){try{var{document:i}=r,n=yield i.canvg.parser.load(t),o=n.getElementsByTagName("font");Array.from(o).forEach(s=>{var u=i.createElement(s);i.definitions[e]=u})}catch(s){console.error('Error while loading font "'.concat(t,'":'),s)}r.loaded=!0})()}}class wl extends I{constructor(e,t,r){super(e,t,r),this.type="style";var i=ht(Array.from(t.childNodes).map(o=>o.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")),n=i.split("}");n.forEach(o=>{var s=o.trim();if(s){var u=s.split("{"),l=u[0].split(","),h=u[1].split(";");l.forEach(f=>{var c=f.trim();if(c){var v=e.styles[c]||{};if(h.forEach(p=>{var y=p.indexOf(":"),T=p.substr(0,y).trim(),b=p.substr(y+1,p.length-y).trim();T&&b&&(v[T]=new S(e,T,b))}),e.styles[c]=v,e.stylesSpecificity[c]=x1(c),c==="@font-face"){var g=v["font-family"].getString().replace(/"|'/g,""),d=v.src.getString().split(",");d.forEach(p=>{if(p.indexOf('format("svg")')>0){var y=yl(p);y&&new n2(e).load(g,y)}})}}})}})}}wl.parseExternalUrl=yl;class s2 extends Ge{constructor(){super(...arguments),this.type="use"}setContext(e){super.setContext(e);var t=this.getAttribute("x"),r=this.getAttribute("y");t.hasValue()&&e.translate(t.getPixels("x"),0),r.hasValue()&&e.translate(0,r.getPixels("y"))}path(e){var{element:t}=this;t&&t.path(e)}renderChildren(e){var{document:t,element:r}=this;if(r){var i=r;if(r.type==="symbol"&&(i=new It(t,null),i.attributes.viewBox=new S(t,"viewBox",r.getAttribute("viewBox").getString()),i.attributes.preserveAspectRatio=new S(t,"preserveAspectRatio",r.getAttribute("preserveAspectRatio").getString()),i.attributes.overflow=new S(t,"overflow",r.getAttribute("overflow").getString()),i.children=r.children,r.styles.opacity=new S(t,"opacity",this.calculateOpacity())),i.type==="svg"){var n=this.getStyle("width",!1,!0),o=this.getStyle("height",!1,!0);n.hasValue()&&(i.attributes.width=new S(t,"width",n.getString())),o.hasValue()&&(i.attributes.height=new S(t,"height",o.getString()))}var s=i.parent;i.parent=this,i.render(e),i.parent=s}}getBoundingBox(e){var{element:t}=this;return t?t.getBoundingBox(e):null}elementTransform(){var{document:e,element:t}=this;return Be.fromElement(e,t)}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function sr(a,e,t,r,i,n){return a[t*r*4+e*4+n]}function or(a,e,t,r,i,n,o){a[t*r*4+e*4+n]=o}function F(a,e,t){var r=a[e];return r*t}function me(a,e,t,r){return e+Math.cos(a)*t+Math.sin(a)*r}class Cl extends I{constructor(e,t,r){super(e,t,r),this.type="feColorMatrix";var i=ne(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":{var n=i[0];i=[.213+.787*n,.715-.715*n,.072-.072*n,0,0,.213-.213*n,.715+.285*n,.072-.072*n,0,0,.213-.213*n,.715-.715*n,.072+.928*n,0,0,0,0,0,1,0,0,0,0,0,1];break}case"hueRotate":{var o=i[0]*Math.PI/180;i=[me(o,.213,.787,-.213),me(o,.715,-.715,-.715),me(o,.072,-.072,.928),0,0,me(o,.213,-.213,.143),me(o,.715,.285,.14),me(o,.072,-.072,-.283),0,0,me(o,.213,-.213,-.787),me(o,.715,-.715,.715),me(o,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break}case"luminanceToAlpha":i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1];break}this.matrix=i,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(e,t,r,i,n){for(var{includeOpacity:o,matrix:s}=this,u=e.getImageData(0,0,i,n),l=0;l{u.addBoundingBox(g.getBoundingBox(e))}),i=Math.floor(u.x1),n=Math.floor(u.y1),o=Math.floor(u.width),s=Math.floor(u.height)}var l=this.removeStyles(t,jr.ignoreStyles),h=r.createCanvas(i+o,n+s),f=h.getContext("2d");r.screen.setDefaults(f),this.renderChildren(f),new Cl(r,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(f,0,0,i+o,n+s);var c=r.createCanvas(i+o,n+s),v=c.getContext("2d");r.screen.setDefaults(v),t.render(v),v.globalCompositeOperation="destination-in",v.fillStyle=f.createPattern(h,"no-repeat"),v.fillRect(0,0,i+o,n+s),e.fillStyle=v.createPattern(c,"no-repeat"),e.fillRect(0,0,i+o,n+s),this.restoreStyles(t,l)}render(e){}}jr.ignoreStyles=["mask","transform","clip-path"];var Mo=()=>{};class o2 extends I{constructor(){super(...arguments),this.type="clipPath"}apply(e){var{document:t}=this,r=Reflect.getPrototypeOf(e),{beginPath:i,closePath:n}=e;r&&(r.beginPath=Mo,r.closePath=Mo),Reflect.apply(i,e,[]),this.children.forEach(o=>{if(!(typeof o.path>"u")){var s=typeof o.elementTransform<"u"?o.elementTransform():null;s||(s=Be.fromElement(t,o)),s&&s.apply(e),o.path(e),r&&(r.closePath=n),s&&s.unapply(e)}}),Reflect.apply(n,e,[]),e.clip(),r&&(r.beginPath=i,r.closePath=n)}render(e){}}class Fr extends I{constructor(){super(...arguments),this.type="filter"}apply(e,t){var{document:r,children:i}=this,n=t.getBoundingBox(e);if(n){var o=0,s=0;i.forEach(y=>{var T=y.extraFilterDistance||0;o=Math.max(o,T),s=Math.max(s,T)});var u=Math.floor(n.width),l=Math.floor(n.height),h=u+2*o,f=l+2*s;if(!(h<1||f<1)){var c=Math.floor(n.x),v=Math.floor(n.y),g=this.removeStyles(t,Fr.ignoreStyles),d=r.createCanvas(h,f),p=d.getContext("2d");r.screen.setDefaults(p),p.translate(-c+o,-v+s),t.render(p),i.forEach(y=>{typeof y.apply=="function"&&y.apply(p,0,0,h,f)}),e.drawImage(d,0,0,h,f,c-o,v-s,h,f),this.restoreStyles(t,g)}}}render(e){}}Fr.ignoreStyles=["filter","transform","clip-path"];class u2 extends I{constructor(e,t,r){super(e,t,r),this.type="feDropShadow",this.addStylesFromStyleDefinition()}apply(e,t,r,i,n){}}class l2 extends I{constructor(){super(...arguments),this.type="feMorphology"}apply(e,t,r,i,n){}}class h2 extends I{constructor(){super(...arguments),this.type="feComposite"}apply(e,t,r,i,n){}}class v2 extends I{constructor(e,t,r){super(e,t,r),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(e,t,r,i,n){var{document:o,blurRadius:s}=this,u=o.window?o.window.document.body:null,l=e.canvas;l.id=o.getUniqueId(),u&&(l.style.display="none",u.appendChild(l)),i1(l,t,r,i,n,s),u&&u.removeChild(l)}}class f2 extends I{constructor(){super(...arguments),this.type="title"}}class c2 extends I{constructor(){super(...arguments),this.type="desc"}}var g2={svg:It,rect:Sl,circle:k1,ellipse:B1,line:j1,polyline:El,polygon:F1,path:A,pattern:U1,marker:G1,defs:z1,linearGradient:H1,radialGradient:Y1,stop:X1,animate:on,animateColor:W1,animateTransform:q1,font:Q1,"font-face":K1,"missing-glyph":Z1,glyph:Ol,text:Ce,tspan:Br,tref:J1,a:e2,textPath:t2,image:a2,g:sn,symbol:i2,style:wl,use:s2,mask:jr,clipPath:o2,filter:Fr,feDropShadow:u2,feMorphology:l2,feComposite:h2,feColorMatrix:Cl,feGaussianBlur:v2,title:f2,desc:c2};function _o(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,r)}return t}function d2(a){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:!1,t=document.createElement("img");return e&&(t.crossOrigin="Anonymous"),new Promise((r,i)=>{t.onload=()=>{r(t)},t.onerror=(n,o,s,u,l)=>{i(l)},t.src=a})}),Oi.apply(this,arguments)}class $e{constructor(e){var{rootEmSize:t=12,emSize:r=12,createCanvas:i=$e.createCanvas,createImage:n=$e.createImage,anonymousCrossOrigin:o}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.canvg=e,this.definitions=Object.create(null),this.styles=Object.create(null),this.stylesSpecificity=Object.create(null),this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=e.screen,this.rootEmSize=t,this.emSize=r,this.createCanvas=i,this.createImage=this.bindCreateImage(n,o),this.screen.wait(this.isImagesLoaded.bind(this)),this.screen.wait(this.isFontsLoaded.bind(this))}bindCreateImage(e,t){return typeof t=="boolean"?(r,i)=>e(r,typeof i=="boolean"?i:t):e}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){var{emSizeStack:e}=this;return e[e.length-1]}set emSize(e){var{emSizeStack:t}=this;t.push(e)}popEmSize(){var{emSizeStack:e}=this;e.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every(e=>e.loaded)}isFontsLoaded(){return this.fonts.every(e=>e.loaded)}createDocumentElement(e){var t=this.createElement(e.documentElement);return t.root=!0,t.addStylesFromStyleDefinition(),this.documentElement=t,t}createElement(e){var t=e.nodeName.replace(/^[^:]+:/,""),r=$e.elementTypes[t];return typeof r<"u"?new r(this,e):new I1(this,e)}createTextNode(e){return new L1(this,e)}setViewBox(e){this.screen.setViewBox(d2({document:this},e))}}$e.createCanvas=p2;$e.createImage=y2;$e.elementTypes=g2;function Vo(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,r)}return t}function De(a){for(var e=1;e2&&arguments[2]!==void 0?arguments[2]:{};this.parser=new Ya(r),this.screen=new kr(e,r),this.options=r;var i=new $e(this,r),n=i.createDocumentElement(t);this.document=i,this.documentElement=n}static from(e,t){var r=arguments;return xe(function*(){var i=r.length>2&&r[2]!==void 0?r[2]:{},n=new Ya(i),o=yield n.parse(t);return new bt(e,o,i)})()}static fromString(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=new Ya(r),n=i.parseFromString(t);return new bt(e,n,r)}fork(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return bt.from(e,t,De(De({},this.options),r))}forkString(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return bt.fromString(e,t,De(De({},this.options),r))}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}render(){var e=arguments,t=this;return xe(function*(){var r=e.length>0&&e[0]!==void 0?e[0]:{};t.start(De({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0},r)),yield t.ready(),t.stop()})()}start(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{documentElement:t,screen:r,options:i}=this;r.start(t,De(De({enableRedraw:!0},i),e))}stop(){this.screen.stop()}resize(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.documentElement.resize(e,t,r)}}export{e2 as AElement,W1 as AnimateColorElement,on as AnimateElement,q1 as AnimateTransformElement,ce as BoundingBox,$o as CB1,wo as CB2,Co as CB3,Ao as CB4,bt as Canvg,k1 as CircleElement,o2 as ClipPathElement,z1 as DefsElement,c2 as DescElement,$e as Document,I as Element,B1 as EllipseElement,Cl as FeColorMatrixElement,h2 as FeCompositeElement,u2 as FeDropShadowElement,v2 as FeGaussianBlurElement,l2 as FeMorphologyElement,Fr as FilterElement,Z as Font,Q1 as FontElement,K1 as FontFaceElement,sn as GElement,Ol as GlyphElement,$l as GradientElement,a2 as ImageElement,j1 as LineElement,H1 as LinearGradientElement,G1 as MarkerElement,jr as MaskElement,xl as Matrix,Z1 as MissingGlyphElement,O1 as Mouse,at as PSEUDO_ZERO,Ya as Parser,A as PathElement,w as PathParser,U1 as PatternElement,k as Point,F1 as PolygonElement,El as PolylineElement,S as Property,Po as QB1,Ro as QB2,No as QB3,Y1 as RadialGradientElement,Sl as RectElement,Ge as RenderedElement,w1 as Rotate,It as SVGElement,n2 as SVGFontLoader,C1 as Scale,kr as Screen,Tl as Skew,A1 as SkewX,P1 as SkewY,X1 as StopElement,wl as StyleElement,i2 as SymbolElement,J1 as TRefElement,Br as TSpanElement,Ce as TextElement,t2 as TextPathElement,f2 as TitleElement,Be as Transform,$1 as Translate,I1 as UnknownElement,s2 as UseElement,T1 as ViewPort,ht as compressSpaces,bt as default,x1 as getSelectorSpecificity,v1 as normalizeAttributeName,f1 as normalizeColor,yl as parseExternalUrl,x2 as presets,ne as toNumbers,u1 as trimLeft,l1 as trimRight,So as vectorMagnitude,Eo as vectorsAngle,Ti as vectorsRatio}; diff --git a/dist/assets/jspdf.es.min-CzU92G48.js b/dist/assets/jspdf.es.min-CzU92G48.js new file mode 100644 index 0000000..b1daccc --- /dev/null +++ b/dist/assets/jspdf.es.min-CzU92G48.js @@ -0,0 +1,170 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es-UMgmYbRN.js","assets/index-DlZengFf.js","assets/index-BQ19ytI3.css"])))=>i.map(i=>d[i]); +var Ah=Object.defineProperty;var Nh=(n,e,t)=>e in n?Ah(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var xe=(n,e,t)=>Nh(n,typeof e!="symbol"?e+"":e,t);import{_ as vo}from"./index-DlZengFf.js";function _e(n){"@babel/helpers - typeof";return _e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_e(n)}var tr=Uint8Array,Rn=Uint16Array,Xo=Int32Array,$o=new tr([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Zo=new tr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ml=new tr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ju=function(n,e){for(var t=new Rn(31),i=0;i<31;++i)t[i]=e+=1<>1|(Oe&21845)<<1;Kr=(Kr&52428)>>2|(Kr&13107)<<2,Kr=(Kr&61680)>>4|(Kr&3855)<<4,qo[Oe]=((Kr&65280)>>8|(Kr&255)<<8)>>1}var Ca=function(n,e,t){for(var i=n.length,s=0,a=new Rn(e);s>h]=d}else for(l=new Rn(i),s=0;s>15-n[s]);return l},Si=new tr(288);for(var Oe=0;Oe<144;++Oe)Si[Oe]=8;for(var Oe=144;Oe<256;++Oe)Si[Oe]=9;for(var Oe=256;Oe<280;++Oe)Si[Oe]=7;for(var Oe=280;Oe<288;++Oe)Si[Oe]=8;var Cs=new tr(32);for(var Oe=0;Oe<32;++Oe)Cs[Oe]=5;var kh=Ca(Si,9,0),Ph=Ca(Cs,5,0),Xu=function(n){return(n+7)/8|0},Ih=function(n,e,t){return(t==null||t>n.length)&&(t=n.length),new tr(n.subarray(e,t))},Fr=function(n,e,t){t<<=e&7;var i=e/8|0;n[i]|=t,n[i+1]|=t>>8},Pa=function(n,e,t){t<<=e&7;var i=e/8|0;n[i]|=t,n[i+1]|=t>>8,n[i+2]|=t>>16},bo=function(n,e){for(var t=[],i=0;ik&&(k=a[i].s);var p=new Rn(k+1),j=Uo(t[m-1],p,0);if(j>e){var i=0,O=0,M=j-e,S=1<e)O+=S-(1<>=M;O>0;){var G=a[i].s;p[G]=0&&O;--i){var q=a[i].s;p[q]==e&&(--p[q],++O)}j=e}return{t:new tr(p),l:j}},Uo=function(n,e,t){return n.s==-1?Math.max(Uo(n.l,e,t+1),Uo(n.r,e,t+1)):e[n.s]=t},Tl=function(n){for(var e=n.length;e&&!n[--e];);for(var t=new Rn(++e),i=0,s=n[0],a=1,c=function(h){t[i++]=h},l=1;l<=e;++l)if(n[l]==s&&l!=e)++a;else{if(!s&&a>2){for(;a>138;a-=138)c(32754);a>2&&(c(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(c(s),--a;a>6;a-=6)c(8304);a>2&&(c(a-3<<5|8208),a=0)}for(;a--;)c(s);a=1,s=n[l]}return{c:t.subarray(0,i),n:e}},Ia=function(n,e){for(var t=0,i=0;i>8,n[s+2]=n[s]^255,n[s+3]=n[s+1]^255;for(var a=0;a4&&!tt[Ml[E-1]];--E);var z=d+5<<3,U=Ia(s,Si)+Ia(a,Cs)+c,rt=Ia(s,k)+Ia(a,O)+c+14+3*E+Ia(dt,tt)+2*dt[16]+3*dt[17]+7*dt[18];if(h>=0&&z<=U&&z<=rt)return $u(e,m,n.subarray(h,h+d));var ot,ft,nt,ct;if(Fr(e,m,1+(rt15&&(Fr(e,m,B[X]>>5&127),m+=B[X]>>12)}}else ot=kh,ft=Si,nt=Ph,ct=Cs;for(var X=0;X255){var T=H>>18&31;Pa(e,m,ot[T+257]),m+=ft[T+257],T>7&&(Fr(e,m,H>>23&31),m+=$o[T]);var J=H&31;Pa(e,m,nt[J]),m+=ct[J],J>3&&(Pa(e,m,H>>5&8191),m+=Zo[J])}else Pa(e,m,ot[H]),m+=ft[H]}return Pa(e,m,ot[256]),m+ft[256]},Ch=new Xo([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Zu=new tr(0),Fh=function(n,e,t,i,s,a){var c=a.z||n.length,l=new tr(i+c+5*(1+Math.ceil(c/7e3))+s),h=l.subarray(i,l.length-s),d=a.l,m=(a.r||0)&7;if(e){m&&(h[0]=a.r>>3);for(var _=Ch[e-1],k=_>>13,p=_&8191,j=(1<7e3||tt>24576)&&(ot>423||!d)){m=Dl(n,h,0,q,it,vt,X,tt,E,R-E,m),tt=dt=X=0,E=R;for(var ft=0;ft<286;++ft)it[ft]=0;for(var ft=0;ft<30;++ft)vt[ft]=0}var nt=2,ct=0,At=p,wt=U-rt&32767;if(ot>2&&z==G(R-wt))for(var x=Math.min(k,ot)-1,B=Math.min(32767,R),T=Math.min(258,ot);wt<=B&&--At&&U!=rt;){if(n[R+nt]==n[R+nt-wt]){for(var H=0;Hnt){if(nt=H,ct=wt,H>x)break;for(var J=Math.min(wt,H-2),Z=0,ft=0;ftZ&&(Z=gt,rt=at)}}}U=rt,rt=O[U],wt+=U-rt&32767}if(ct){q[tt++]=268435456|Do[nt]<<18|Rl[ct];var _t=Do[nt]&31,kt=Rl[ct]&31;X+=$o[_t]+Zo[kt],++it[257+_t],++vt[kt],N=R+nt,++dt}else q[tt++]=n[R],++it[n[R]]}}for(R=Math.max(R,N);R=c&&(h[m/8|0]=d,St=c),m=$u(h,m+1,n.subarray(R,St))}a.i=c}return Ih(l,0,i+Xu(m)+s)},Qu=function(){var n=1,e=0;return{p:function(t){for(var i=n,s=e,a=t.length|0,c=0;c!=a;){for(var l=Math.min(c+2655,a);c>16),s=(s&65535)+15*(s>>16)}n=i,e=s},d:function(){return n%=65521,e%=65521,(n&255)<<24|(n&65280)<<8|(e&255)<<8|e>>8}}},Eh=function(n,e,t,i,s){if(!s&&(s={l:1},e.dictionary)){var a=e.dictionary.subarray(-32768),c=new tr(a.length+n.length);c.set(a),c.set(n,a.length),n=c,s.w=a.length}return Fh(n,e.level==null?6:e.level,e.mem==null?s.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+e.mem,t,i,s)},tf=function(n,e,t){for(;t;++e)n[e]=t,t>>>=8},Oh=function(n,e){var t=e.level,i=t==0?0:t<6?1:t==9?3:2;if(n[0]=120,n[1]=i<<6|(e.dictionary&&32),n[1]|=31-(n[0]<<8|n[1])%31,e.dictionary){var s=Qu();s.p(e.dictionary),tf(n,2,s.d())}};function zo(n,e){e||(e={});var t=Qu();t.p(n);var i=Eh(n,e,e.dictionary?6:2,4);return Oh(i,e),tf(i,i.length-4,t.d()),i}var jh=typeof TextDecoder<"u"&&new TextDecoder,Bh=0;try{jh.decode(Zu,{stream:!0}),Bh=1}catch{}function Mh(n){if(Array.isArray(n))return n}function Rh(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,s,a,c,l=[],h=!0,d=!1;try{if(a=(t=t.call(n)).next,e!==0)for(;!(h=(i=a.call(t)).done)&&(l.push(i.value),l.length!==e);h=!0);}catch(m){d=!0,s=m}finally{try{if(!h&&t.return!=null&&(c=t.return(),Object(c)!==c))return}finally{if(d)throw s}}return l}}function ql(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t{const n=new Uint8Array(4),e=new Uint32Array(n.buffer);return!((e[0]=1)&n[0])})(),wo={int8:globalThis.Int8Array,uint8:globalThis.Uint8Array,int16:globalThis.Int16Array,uint16:globalThis.Uint16Array,int32:globalThis.Int32Array,uint32:globalThis.Uint32Array,uint64:globalThis.BigUint64Array,int64:globalThis.BigInt64Array,float32:globalThis.Float32Array,float64:globalThis.Float64Array};class Qo{constructor(e=zh,t={}){xe(this,"buffer");xe(this,"byteLength");xe(this,"byteOffset");xe(this,"length");xe(this,"offset");xe(this,"lastWrittenByte");xe(this,"littleEndian");xe(this,"_data");xe(this,"_mark");xe(this,"_marks");let i=!1;typeof e=="number"?e=new ArrayBuffer(e):(i=!0,this.lastWrittenByte=e.byteLength);const s=t.offset?t.offset>>>0:0,a=e.byteLength-s;let c=s;(ArrayBuffer.isView(e)||e instanceof Qo)&&(e.byteLength!==e.buffer.byteLength&&(c=e.byteOffset+s),e=e.buffer),i?this.lastWrittenByte=a:this.lastWrittenByte=0,this.buffer=e,this.length=a,this.byteLength=a,this.byteOffset=c,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,c,a),this._mark=0,this._marks=[]}available(e=1){return this.offset+e<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(e=1){return this.offset+=e,this}back(e=1){return this.offset-=e,this}seek(e){return this.offset=e,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const e=this._marks.pop();if(e===void 0)throw new Error("Mark stack empty");return this.seek(e),this}rewind(){return this.offset=0,this}ensureAvailable(e=1){if(!this.available(e)){const i=(this.offset+e)*2,s=new Uint8Array(i);s.set(new Uint8Array(this.buffer)),this.buffer=s.buffer,this.length=i,this.byteLength=i,this._data=new DataView(this.buffer)}return this}readBoolean(){return this.readUint8()!==0}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(e=1){return this.readArray(e,"uint8")}readArray(e,t){const i=wo[t].BYTES_PER_ELEMENT*e,s=this.byteOffset+this.offset,a=this.buffer.slice(s,s+i);if(this.littleEndian===Hh&&t!=="uint8"&&t!=="int8"){const l=new Uint8Array(this.buffer.slice(s,s+i));l.reverse();const h=new wo[t](l.buffer);return this.offset+=i,h.reverse(),h}const c=new wo[t](a);return this.offset+=i,c}readInt16(){const e=this._data.getInt16(this.offset,this.littleEndian);return this.offset+=2,e}readUint16(){const e=this._data.getUint16(this.offset,this.littleEndian);return this.offset+=2,e}readInt32(){const e=this._data.getInt32(this.offset,this.littleEndian);return this.offset+=4,e}readUint32(){const e=this._data.getUint32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat32(){const e=this._data.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat64(){const e=this._data.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e}readBigInt64(){const e=this._data.getBigInt64(this.offset,this.littleEndian);return this.offset+=8,e}readBigUint64(){const e=this._data.getBigUint64(this.offset,this.littleEndian);return this.offset+=8,e}readChar(){return String.fromCharCode(this.readInt8())}readChars(e=1){let t="";for(let i=0;ithis.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}function ia(n){let e=n.length;for(;--e>=0;)n[e]=0}const Wh=3,Vh=258,ef=29,Gh=256,Yh=Gh+1+ef,nf=30,Jh=512,Kh=new Array((Yh+2)*2);ia(Kh);const Xh=new Array(nf*2);ia(Xh);const $h=new Array(Jh);ia($h);const Zh=new Array(Vh-Wh+1);ia(Zh);const Qh=new Array(ef);ia(Qh);const tc=new Array(nf);ia(tc);const ec=(n,e,t,i)=>{let s=n&65535|0,a=n>>>16&65535|0,c=0;for(;t!==0;){c=t>2e3?2e3:t,t-=c;do s=s+e[i++]|0,a=a+s|0;while(--c);s%=65521,a%=65521}return s|a<<16|0};var Ho=ec;const nc=()=>{let n,e=[];for(var t=0;t<256;t++){n=t;for(var i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e},rc=new Uint32Array(nc()),ic=(n,e,t,i)=>{const s=rc,a=i+t;n^=-1;for(let c=i;c>>8^s[(n^e[c])&255];return n^-1};var dr=ic,Wo={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},rf={Z_NO_FLUSH:0,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFLATED:8};const ac=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var sc=function(n){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const i in t)ac(t,i)&&(n[i]=t[i])}}return n},oc=n=>{let e=0;for(let i=0,s=n.length;i=252?6:n>=248?5:n>=240?4:n>=224?3:n>=192?2:1;Ma[254]=Ma[254]=1;var lc=n=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(n);let e,t,i,s,a,c=n.length,l=0;for(s=0;s>>6,e[a++]=128|t&63):t<65536?(e[a++]=224|t>>>12,e[a++]=128|t>>>6&63,e[a++]=128|t&63):(e[a++]=240|t>>>18,e[a++]=128|t>>>12&63,e[a++]=128|t>>>6&63,e[a++]=128|t&63);return e};const uc=(n,e)=>{if(e<65534&&n.subarray&&sf)return String.fromCharCode.apply(null,n.length===e?n:n.subarray(0,e));let t="";for(let i=0;i{const t=e||n.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(n.subarray(0,e));let i,s;const a=new Array(t*2);for(s=0,i=0;i4){a[s++]=65533,i+=l-1;continue}for(c&=l===2?31:l===3?15:7;l>1&&i1){a[s++]=65533;continue}c<65536?a[s++]=c:(c-=65536,a[s++]=55296|c>>10&1023,a[s++]=56320|c&1023)}return uc(a,s)},hc=(n,e)=>{e=e||n.length,e>n.length&&(e=n.length);let t=e-1;for(;t>=0&&(n[t]&192)===128;)t--;return t<0||t===0?e:t+Ma[n[t]]>e?t:e},Vo={string2buf:lc,buf2string:fc,utf8border:hc};function cc(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var dc=cc;const ys=16209,pc=16191;var gc=function(e,t){let i,s,a,c,l,h,d,m,_,k,p,j,O,M,S,V,G,q,it,vt,dt,X,R,tt;const N=e.state;i=e.next_in,R=e.input,s=i+(e.avail_in-5),a=e.next_out,tt=e.output,c=a-(t-e.avail_out),l=a+(e.avail_out-257),h=N.dmax,d=N.wsize,m=N.whave,_=N.wnext,k=N.window,p=N.hold,j=N.bits,O=N.lencode,M=N.distcode,S=(1<>>24,p>>>=q,j-=q,q=G>>>16&255,q===0)tt[a++]=G&65535;else if(q&16){it=G&65535,q&=15,q&&(j>>=q,j-=q),j<15&&(p+=R[i++]<>>24,p>>>=q,j-=q,q=G>>>16&255,q&16){if(vt=G&65535,q&=15,jh){e.msg="invalid distance too far back",N.mode=ys;break t}if(p>>>=q,j-=q,q=a-c,vt>q){if(q=vt-q,q>m&&N.sane){e.msg="invalid distance too far back",N.mode=ys;break t}if(dt=0,X=k,_===0){if(dt+=d-q,q2;)tt[a++]=X[dt++],tt[a++]=X[dt++],tt[a++]=X[dt++],it-=3;it&&(tt[a++]=X[dt++],it>1&&(tt[a++]=X[dt++]))}else{dt=a-vt;do tt[a++]=tt[dt++],tt[a++]=tt[dt++],tt[a++]=tt[dt++],it-=3;while(it>2);it&&(tt[a++]=tt[dt++],it>1&&(tt[a++]=tt[dt++]))}}else if(q&64){e.msg="invalid distance code",N.mode=ys;break t}else{G=M[(G&65535)+(p&(1<>3,i-=it,j-=it<<3,p&=(1<{const h=l.bits;let d=0,m=0,_=0,k=0,p=0,j=0,O=0,M=0,S=0,V=0,G,q,it,vt,dt,X=null,R;const tt=new Uint16Array(Qi+1),N=new Uint16Array(Qi+1);let E=null,z,U,rt;for(d=0;d<=Qi;d++)tt[d]=0;for(m=0;m=1&&tt[k]===0;k--);if(p>k&&(p=k),k===0)return s[a++]=1<<24|64<<16|0,s[a++]=1<<24|64<<16|0,l.bits=1,0;for(_=1;_0&&(n===Vl||k!==1))return-1;for(N[1]=0,d=1;dHl||n===Gl&&S>Wl)return 1;for(;;){z=d-O,c[m]+1=R?(U=E[c[m]-R],rt=X[c[m]-R]):(U=96,rt=0),G=1<>O)+q]=z<<24|U<<16|rt|0;while(q!==0);for(G=1<>=1;if(G!==0?(V&=G-1,V+=G):V=0,m++,--tt[d]===0){if(d===k)break;d=e[t+c[m]]}if(d>p&&(V&vt)!==it){for(O===0&&(O=p),dt+=_,j=d-O,M=1<Hl||n===Gl&&S>Wl)return 1;it=V&vt,s[it]=p<<24|j<<16|dt-a|0}}return V!==0&&(s[dt+V]=d-O<<24|64<<16|0),l.bits=p,0};var Fa=yc;const xc=0,of=1,lf=2,{Z_FINISH:Yl,Z_BLOCK:_c,Z_TREES:xs,Z_OK:ki,Z_STREAM_END:Ac,Z_NEED_DICT:Nc,Z_STREAM_ERROR:Vn,Z_DATA_ERROR:uf,Z_MEM_ERROR:ff,Z_BUF_ERROR:Lc,Z_DEFLATED:Jl}=rf,Os=16180,Kl=16181,Xl=16182,$l=16183,Zl=16184,Ql=16185,tu=16186,eu=16187,nu=16188,ru=16189,Fs=16190,Er=16191,xo=16192,iu=16193,_o=16194,au=16195,su=16196,ou=16197,lu=16198,_s=16199,As=16200,uu=16201,fu=16202,hu=16203,cu=16204,du=16205,Ao=16206,pu=16207,gu=16208,Me=16209,hf=16210,cf=16211,Sc=852,kc=592,Pc=15,Ic=Pc,mu=n=>(n>>>24&255)+(n>>>8&65280)+((n&65280)<<8)+((n&255)<<24);function Cc(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ii=n=>{if(!n)return 1;const e=n.state;return!e||e.strm!==n||e.modecf?1:0},df=n=>{if(Ii(n))return Vn;const e=n.state;return n.total_in=n.total_out=e.total=0,n.msg="",e.wrap&&(n.adler=e.wrap&1),e.mode=Os,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(Sc),e.distcode=e.distdyn=new Int32Array(kc),e.sane=1,e.back=-1,ki},pf=n=>{if(Ii(n))return Vn;const e=n.state;return e.wsize=0,e.whave=0,e.wnext=0,df(n)},gf=(n,e)=>{let t;if(Ii(n))return Vn;const i=n.state;return e<0?(t=0,e=-e):(t=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?Vn:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,pf(n))},mf=(n,e)=>{if(!n)return Vn;const t=new Cc;n.state=t,t.strm=n,t.window=null,t.mode=Os;const i=gf(n,e);return i!==ki&&(n.state=null),i},Fc=n=>mf(n,Ic);let vu=!0,No,Lo;const Ec=n=>{if(vu){No=new Int32Array(512),Lo=new Int32Array(32);let e=0;for(;e<144;)n.lens[e++]=8;for(;e<256;)n.lens[e++]=9;for(;e<280;)n.lens[e++]=7;for(;e<288;)n.lens[e++]=8;for(Fa(of,n.lens,0,288,No,0,n.work,{bits:9}),e=0;e<32;)n.lens[e++]=5;Fa(lf,n.lens,0,32,Lo,0,n.work,{bits:5}),vu=!1}n.lencode=No,n.lenbits=9,n.distcode=Lo,n.distbits=5},vf=(n,e,t,i)=>{let s;const a=n.state;return a.window===null&&(a.wsize=1<=a.wsize?(a.window.set(e.subarray(t-a.wsize,t),0),a.wnext=0,a.whave=a.wsize):(s=a.wsize-a.wnext,s>i&&(s=i),a.window.set(e.subarray(t-i,t-i+s),a.wnext),i-=s,i?(a.window.set(e.subarray(t-i,t),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whave{let t,i,s,a,c,l,h,d,m,_,k,p,j,O,M=0,S,V,G,q,it,vt,dt,X;const R=new Uint8Array(4);let tt,N;const E=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ii(n)||!n.output||!n.input&&n.avail_in!==0)return Vn;t=n.state,t.mode===Er&&(t.mode=xo),c=n.next_out,s=n.output,h=n.avail_out,a=n.next_in,i=n.input,l=n.avail_in,d=t.hold,m=t.bits,_=l,k=h,X=ki;t:for(;;)switch(t.mode){case Os:if(t.wrap===0){t.mode=xo;break}for(;m<16;){if(l===0)break t;l--,d+=i[a++]<>>8&255,t.check=dr(t.check,R,2,0),d=0,m=0,t.mode=Kl;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((d&255)<<8)+(d>>8))%31){n.msg="incorrect header check",t.mode=Me;break}if((d&15)!==Jl){n.msg="unknown compression method",t.mode=Me;break}if(d>>>=4,m-=4,dt=(d&15)+8,t.wbits===0&&(t.wbits=dt),dt>15||dt>t.wbits){n.msg="invalid window size",t.mode=Me;break}t.dmax=1<>8&1),t.flags&512&&t.wrap&4&&(R[0]=d&255,R[1]=d>>>8&255,t.check=dr(t.check,R,2,0)),d=0,m=0,t.mode=Xl;case Xl:for(;m<32;){if(l===0)break t;l--,d+=i[a++]<>>8&255,R[2]=d>>>16&255,R[3]=d>>>24&255,t.check=dr(t.check,R,4,0)),d=0,m=0,t.mode=$l;case $l:for(;m<16;){if(l===0)break t;l--,d+=i[a++]<>8),t.flags&512&&t.wrap&4&&(R[0]=d&255,R[1]=d>>>8&255,t.check=dr(t.check,R,2,0)),d=0,m=0,t.mode=Zl;case Zl:if(t.flags&1024){for(;m<16;){if(l===0)break t;l--,d+=i[a++]<>>8&255,t.check=dr(t.check,R,2,0)),d=0,m=0}else t.head&&(t.head.extra=null);t.mode=Ql;case Ql:if(t.flags&1024&&(p=t.length,p>l&&(p=l),p&&(t.head&&(dt=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(i.subarray(a,a+p),dt)),t.flags&512&&t.wrap&4&&(t.check=dr(t.check,i,p,a)),l-=p,a+=p,t.length-=p),t.length))break t;t.length=0,t.mode=tu;case tu:if(t.flags&2048){if(l===0)break t;p=0;do dt=i[a+p++],t.head&&dt&&t.length<65536&&(t.head.name+=String.fromCharCode(dt));while(dt&&p>9&1,t.head.done=!0),n.adler=t.check=0,t.mode=Er;break;case ru:for(;m<32;){if(l===0)break t;l--,d+=i[a++]<>>=m&7,m-=m&7,t.mode=Ao;break}for(;m<3;){if(l===0)break t;l--,d+=i[a++]<>>=1,m-=1,d&3){case 0:t.mode=iu;break;case 1:if(Ec(t),t.mode=_s,e===xs){d>>>=2,m-=2;break t}break;case 2:t.mode=su;break;case 3:n.msg="invalid block type",t.mode=Me}d>>>=2,m-=2;break;case iu:for(d>>>=m&7,m-=m&7;m<32;){if(l===0)break t;l--,d+=i[a++]<>>16^65535)){n.msg="invalid stored block lengths",t.mode=Me;break}if(t.length=d&65535,d=0,m=0,t.mode=_o,e===xs)break t;case _o:t.mode=au;case au:if(p=t.length,p){if(p>l&&(p=l),p>h&&(p=h),p===0)break t;s.set(i.subarray(a,a+p),c),l-=p,a+=p,h-=p,c+=p,t.length-=p;break}t.mode=Er;break;case su:for(;m<14;){if(l===0)break t;l--,d+=i[a++]<>>=5,m-=5,t.ndist=(d&31)+1,d>>>=5,m-=5,t.ncode=(d&15)+4,d>>>=4,m-=4,t.nlen>286||t.ndist>30){n.msg="too many length or distance symbols",t.mode=Me;break}t.have=0,t.mode=ou;case ou:for(;t.have>>=3,m-=3}for(;t.have<19;)t.lens[E[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,tt={bits:t.lenbits},X=Fa(xc,t.lens,0,19,t.lencode,0,t.work,tt),t.lenbits=tt.bits,X){n.msg="invalid code lengths set",t.mode=Me;break}t.have=0,t.mode=lu;case lu:for(;t.have>>24,V=M>>>16&255,G=M&65535,!(S<=m);){if(l===0)break t;l--,d+=i[a++]<>>=S,m-=S,t.lens[t.have++]=G;else{if(G===16){for(N=S+2;m>>=S,m-=S,t.have===0){n.msg="invalid bit length repeat",t.mode=Me;break}dt=t.lens[t.have-1],p=3+(d&3),d>>>=2,m-=2}else if(G===17){for(N=S+3;m>>=S,m-=S,dt=0,p=3+(d&7),d>>>=3,m-=3}else{for(N=S+7;m>>=S,m-=S,dt=0,p=11+(d&127),d>>>=7,m-=7}if(t.have+p>t.nlen+t.ndist){n.msg="invalid bit length repeat",t.mode=Me;break}for(;p--;)t.lens[t.have++]=dt}}if(t.mode===Me)break;if(t.lens[256]===0){n.msg="invalid code -- missing end-of-block",t.mode=Me;break}if(t.lenbits=9,tt={bits:t.lenbits},X=Fa(of,t.lens,0,t.nlen,t.lencode,0,t.work,tt),t.lenbits=tt.bits,X){n.msg="invalid literal/lengths set",t.mode=Me;break}if(t.distbits=6,t.distcode=t.distdyn,tt={bits:t.distbits},X=Fa(lf,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,tt),t.distbits=tt.bits,X){n.msg="invalid distances set",t.mode=Me;break}if(t.mode=_s,e===xs)break t;case _s:t.mode=As;case As:if(l>=6&&h>=258){n.next_out=c,n.avail_out=h,n.next_in=a,n.avail_in=l,t.hold=d,t.bits=m,gc(n,k),c=n.next_out,s=n.output,h=n.avail_out,a=n.next_in,i=n.input,l=n.avail_in,d=t.hold,m=t.bits,t.mode===Er&&(t.back=-1);break}for(t.back=0;M=t.lencode[d&(1<>>24,V=M>>>16&255,G=M&65535,!(S<=m);){if(l===0)break t;l--,d+=i[a++]<>q)],S=M>>>24,V=M>>>16&255,G=M&65535,!(q+S<=m);){if(l===0)break t;l--,d+=i[a++]<>>=q,m-=q,t.back+=q}if(d>>>=S,m-=S,t.back+=S,t.length=G,V===0){t.mode=du;break}if(V&32){t.back=-1,t.mode=Er;break}if(V&64){n.msg="invalid literal/length code",t.mode=Me;break}t.extra=V&15,t.mode=uu;case uu:if(t.extra){for(N=t.extra;m>>=t.extra,m-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=fu;case fu:for(;M=t.distcode[d&(1<>>24,V=M>>>16&255,G=M&65535,!(S<=m);){if(l===0)break t;l--,d+=i[a++]<>q)],S=M>>>24,V=M>>>16&255,G=M&65535,!(q+S<=m);){if(l===0)break t;l--,d+=i[a++]<>>=q,m-=q,t.back+=q}if(d>>>=S,m-=S,t.back+=S,V&64){n.msg="invalid distance code",t.mode=Me;break}t.offset=G,t.extra=V&15,t.mode=hu;case hu:if(t.extra){for(N=t.extra;m>>=t.extra,m-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){n.msg="invalid distance too far back",t.mode=Me;break}t.mode=cu;case cu:if(h===0)break t;if(p=k-h,t.offset>p){if(p=t.offset-p,p>t.whave&&t.sane){n.msg="invalid distance too far back",t.mode=Me;break}p>t.wnext?(p-=t.wnext,j=t.wsize-p):j=t.wnext-p,p>t.length&&(p=t.length),O=t.window}else O=s,j=c-t.offset,p=t.length;p>h&&(p=h),h-=p,t.length-=p;do s[c++]=O[j++];while(--p);t.length===0&&(t.mode=As);break;case du:if(h===0)break t;s[c++]=t.length,h--,t.mode=As;break;case Ao:if(t.wrap){for(;m<32;){if(l===0)break t;l--,d|=i[a++]<{if(Ii(n))return Vn;let e=n.state;return e.window&&(e.window=null),n.state=null,ki},Bc=(n,e)=>{if(Ii(n))return Vn;const t=n.state;return t.wrap&2?(t.head=e,e.done=!1,ki):Vn},Mc=(n,e)=>{const t=e.length;let i,s,a;return Ii(n)||(i=n.state,i.wrap!==0&&i.mode!==Fs)?Vn:i.mode===Fs&&(s=1,s=Ho(s,e,t,0),s!==i.check)?uf:(a=vf(n,e,t,t),a?(i.mode=hf,ff):(i.havedict=1,ki))};var Rc=pf,Tc=gf,Dc=df,qc=Fc,Uc=mf,zc=Oc,Hc=jc,Wc=Bc,Vc=Mc,Gc="pako inflate (from Nodeca project)",Or={inflateReset:Rc,inflateReset2:Tc,inflateResetKeep:Dc,inflateInit:qc,inflateInit2:Uc,inflate:zc,inflateEnd:Hc,inflateGetHeader:Wc,inflateSetDictionary:Vc,inflateInfo:Gc};function Yc(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var Jc=Yc;const bf=Object.prototype.toString,{Z_NO_FLUSH:Kc,Z_FINISH:Xc,Z_OK:Ra,Z_STREAM_END:So,Z_NEED_DICT:ko,Z_STREAM_ERROR:$c,Z_DATA_ERROR:bu,Z_MEM_ERROR:Zc}=rf;function Da(n){this.options=af.assign({chunkSize:1024*64,windowBits:15,to:""},n||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(n&&n.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new dc,this.strm.avail_out=0;let t=Or.inflateInit2(this.strm,e.windowBits);if(t!==Ra)throw new Error(Wo[t]);if(this.header=new Jc,Or.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=Vo.string2buf(e.dictionary):bf.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=Or.inflateSetDictionary(this.strm,e.dictionary),t!==Ra)))throw new Error(Wo[t])}Da.prototype.push=function(n,e){const t=this.strm,i=this.options.chunkSize,s=this.options.dictionary;let a,c,l;if(this.ended)return!1;for(e===~~e?c=e:c=e===!0?Xc:Kc,bf.call(n)==="[object ArrayBuffer]"?t.input=new Uint8Array(n):t.input=n,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(i),t.next_out=0,t.avail_out=i),a=Or.inflate(t,c),a===ko&&s&&(a=Or.inflateSetDictionary(t,s),a===Ra?a=Or.inflate(t,c):a===bu&&(a=ko));t.avail_in>0&&a===So&&t.state.wrap>0&&n[t.next_in]!==0;)Or.inflateReset(t),a=Or.inflate(t,c);switch(a){case $c:case bu:case ko:case Zc:return this.onEnd(a),this.ended=!0,!1}if(l=t.avail_out,t.next_out&&(t.avail_out===0||a===So))if(this.options.to==="string"){let h=Vo.utf8border(t.output,t.next_out),d=t.next_out-h,m=Vo.buf2string(t.output,h);t.next_out=d,t.avail_out=i-d,d&&t.output.set(t.output.subarray(h,h+d),0),this.onData(m)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(a===Ra&&l===0)){if(a===So)return a=Or.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};Da.prototype.onData=function(n){this.chunks.push(n)};Da.prototype.onEnd=function(n){n===Ra&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=af.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};function Qc(n,e){const t=new Da(e);if(t.push(n),t.err)throw t.msg||Wo[t.err];return t.result}var t1=Da,e1=Qc,n1={Inflate:t1,inflate:e1};const{Inflate:r1,inflate:i1}=n1;var wu=r1,a1=i1;const wf=[];for(let n=0;n<256;n++){let e=n;for(let t=0;t<8;t++)e&1?e=3988292384^e>>>1:e=e>>>1;wf[n]=e}const yu=4294967295;function s1(n,e,t){let i=n;for(let s=0;s>>8;return i}function o1(n,e){return(s1(yu,n,e)^yu)>>>0}function xu(n,e,t){const i=n.readUint32(),s=o1(new Uint8Array(n.buffer,n.byteOffset+n.offset-e-4,e),e);if(s!==i)throw new Error(`CRC mismatch for chunk ${t}. Expected ${i}, found ${s}`)}function yf(n,e,t){for(let i=0;i>1)&255}else{for(;a>1)&255;for(;a>1)&255}}function Nf(n,e,t,i,s){let a=0;if(t.length===0){for(;a=t||vt>=i))for(let dt=0;dt>8&255}const g1=new Uint16Array([255]),m1=new Uint8Array(g1.buffer),v1=m1[0]===255,b1=new Uint8Array(0);function _u(n){const{data:e,width:t,height:i,channels:s,depth:a}=n,c=Math.ceil(a/8)*s,l=Math.ceil(a/8*s*t),h=new Uint8Array(i*l);let d=b1,m=0,_,k;for(let p=0;p>8&255}const Ps=Uint8Array.of(137,80,78,71,13,10,26,10);function Au(n){if(!y1(n.readBytes(Ps.length)))throw new Error("wrong PNG signature")}function y1(n){if(n.length79)throw new Error("keyword length must be between 1 and 79")}const N1=/^[\u0000-\u00FF]*$/;function L1(n){if(!N1.test(n))throw new Error("invalid latin1 text")}function S1(n,e,t){const i=Sf(e);n[i]=k1(e,t-i.length-1)}function Sf(n){for(n.mark();n.readByte()!==_1;);const e=n.offset;n.reset();const t=Lf.decode(n.readBytes(e-n.offset-1));return n.skip(1),A1(t),t}function k1(n,e){return Lf.decode(n.readBytes(e))}const Mn={UNKNOWN:-1,GREYSCALE:0,TRUECOLOUR:2,INDEXED_COLOUR:3,GREYSCALE_ALPHA:4,TRUECOLOUR_ALPHA:6},Po={UNKNOWN:-1,DEFLATE:0},Nu={UNKNOWN:-1,ADAPTIVE:0},Io={UNKNOWN:-1,NO_INTERLACE:0,ADAM7:1},Ns={NONE:0,BACKGROUND:1,PREVIOUS:2},Co={SOURCE:0,OVER:1};class P1 extends Qo{constructor(t,i={}){super(t);xe(this,"_checkCrc");xe(this,"_inflator");xe(this,"_png");xe(this,"_apng");xe(this,"_end");xe(this,"_hasPalette");xe(this,"_palette");xe(this,"_hasTransparency");xe(this,"_transparency");xe(this,"_compressionMethod");xe(this,"_filterMethod");xe(this,"_interlaceMethod");xe(this,"_colorType");xe(this,"_isAnimated");xe(this,"_numberOfFrames");xe(this,"_numberOfPlays");xe(this,"_frames");xe(this,"_writingDataChunks");const{checkCrc:s=!1}=i;this._checkCrc=s,this._inflator=new wu,this._png={width:-1,height:-1,channels:-1,data:new Uint8Array(0),depth:1,text:{}},this._apng={width:-1,height:-1,channels:-1,depth:1,numberOfFrames:1,numberOfPlays:0,text:{},frames:[]},this._end=!1,this._hasPalette=!1,this._palette=[],this._hasTransparency=!1,this._transparency=new Uint16Array(0),this._compressionMethod=Po.UNKNOWN,this._filterMethod=Nu.UNKNOWN,this._interlaceMethod=Io.UNKNOWN,this._colorType=Mn.UNKNOWN,this._isAnimated=!1,this._numberOfFrames=1,this._numberOfPlays=0,this._frames=[],this._writingDataChunks=!1,this.setBigEndian()}decode(){for(Au(this);!this._end;){const t=this.readUint32(),i=this.readChars(4);this.decodeChunk(t,i)}return this.decodeImage(),this._png}decodeApng(){for(Au(this);!this._end;){const t=this.readUint32(),i=this.readChars(4);this.decodeApngChunk(t,i)}return this.decodeApngImage(),this._apng}decodeChunk(t,i){const s=this.offset;switch(i){case"IHDR":this.decodeIHDR();break;case"PLTE":this.decodePLTE(t);break;case"IDAT":this.decodeIDAT(t);break;case"IEND":this._end=!0;break;case"tRNS":this.decodetRNS(t);break;case"iCCP":this.decodeiCCP(t);break;case x1:S1(this._png.text,this,t);break;case"pHYs":this.decodepHYs();break;default:this.skip(t);break}if(this.offset-s!==t)throw new Error(`Length mismatch while decoding chunk ${i}`);this._checkCrc?xu(this,t+4,i):this.skip(4)}decodeApngChunk(t,i){const s=this.offset;switch(i!=="fdAT"&&i!=="IDAT"&&this._writingDataChunks&&this.pushDataToFrame(),i){case"acTL":this.decodeACTL();break;case"fcTL":this.decodeFCTL();break;case"fdAT":this.decodeFDAT(t);break;default:this.decodeChunk(t,i),this.offset=s+t;break}if(this.offset-s!==t)throw new Error(`Length mismatch while decoding chunk ${i}`);this._checkCrc?xu(this,t+4,i):this.skip(4)}decodeIHDR(){const t=this._png;t.width=this.readUint32(),t.height=this.readUint32(),t.depth=I1(this.readUint8());const i=this.readUint8();this._colorType=i;let s;switch(i){case Mn.GREYSCALE:s=1;break;case Mn.TRUECOLOUR:s=3;break;case Mn.INDEXED_COLOUR:s=1;break;case Mn.GREYSCALE_ALPHA:s=2;break;case Mn.TRUECOLOUR_ALPHA:s=4;break;case Mn.UNKNOWN:default:throw new Error(`Unknown color type: ${i}`)}if(this._png.channels=s,this._compressionMethod=this.readUint8(),this._compressionMethod!==Po.DEFLATE)throw new Error(`Unsupported compression method: ${this._compressionMethod}`);this._filterMethod=this.readUint8(),this._interlaceMethod=this.readUint8()}decodeACTL(){this._numberOfFrames=this.readUint32(),this._numberOfPlays=this.readUint32(),this._isAnimated=!0}decodeFCTL(){const t={sequenceNumber:this.readUint32(),width:this.readUint32(),height:this.readUint32(),xOffset:this.readUint32(),yOffset:this.readUint32(),delayNumber:this.readUint16(),delayDenominator:this.readUint16(),disposeOp:this.readUint8(),blendOp:this.readUint8(),data:new Uint8Array(0)};this._frames.push(t)}decodePLTE(t){if(t%3!==0)throw new RangeError(`PLTE field length must be a multiple of 3. Got ${t}`);const i=t/3;this._hasPalette=!0;const s=[];this._palette=s;for(let a=0;athis._png.width*this._png.height)throw new Error(`tRNS chunk contains more alpha values than there are pixels (${t/2} vs ${this._png.width*this._png.height})`);this._hasTransparency=!0,this._transparency=new Uint16Array(t/2);for(let i=0;ithis._palette.length)throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${t} vs ${this._palette.length})`);let i=0;for(;i{const h=((c+i.yOffset)*this._png.width+i.xOffset+l)*this._png.channels,d=(c*i.width+l)*this._png.channels;return{index:h,frameIndex:d}};switch(i.blendOp){case Co.SOURCE:for(let c=0;c=200&&e.status<=299}function Ls(n){try{n.dispatchEvent(new MouseEvent("click"))}catch{var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),n.dispatchEvent(e)}}var yi=Kt.saveAs||((typeof window>"u"?"undefined":_e(window))!=="object"||window!==Kt?function(){}:typeof HTMLAnchorElement<"u"&&"download"in HTMLAnchorElement.prototype?function(n,e,t){var i=Kt.URL||Kt.webkitURL,s=document.createElement("a");e=e||n.name||"download",s.download=e,s.rel="noopener",typeof n=="string"?(s.href=n,s.origin!==location.origin?Su(s.href)?Eo(n,e,t):Ls(s,s.target="_blank"):Ls(s)):(s.href=i.createObjectURL(n),setTimeout(function(){i.revokeObjectURL(s.href)},4e4),setTimeout(function(){Ls(s)},0))}:"msSaveOrOpenBlob"in navigator?function(n,e,t){if(e=e||n.name||"download",typeof n=="string")if(Su(n))Eo(n,e,t);else{var i=document.createElement("a");i.href=n,i.target="_blank",setTimeout(function(){Ls(i)})}else navigator.msSaveOrOpenBlob(function(s,a){return a===void 0?a={autoBom:!1}:_e(a)!=="object"&&(Se.warn("Deprecated: Expected third argument to be a object"),a={autoBom:!a}),a.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(s.type)?new Blob(["\uFEFF",s],{type:s.type}):s}(n,t),e)}:function(n,e,t,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),typeof n=="string")return Eo(n,e,t);var s=n.type==="application/octet-stream",a=/constructor/i.test(Kt.HTMLElement)||Kt.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&a)&&(typeof FileReader>"u"?"undefined":_e(FileReader))==="object"){var l=new FileReader;l.onloadend=function(){var m=l.result;m=c?m:m.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=m:location=m,i=null},l.readAsDataURL(n)}else{var h=Kt.URL||Kt.webkitURL,d=h.createObjectURL(n);i?i.location=d:location.href=d,i=null,setTimeout(function(){h.revokeObjectURL(d)},4e4)}});/** + * A class to parse color values + * @author Stoyan Stefanov + * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} + * @license Use it if you like it + */function kf(n){var e;n=n||"",this.ok=!1,n.charAt(0)=="#"&&(n=n.substr(1,6)),n={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"}[n=(n=n.replace(/ /g,"")).toLowerCase()]||n;for(var t=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(l){return[parseInt(l[1]),parseInt(l[2]),parseInt(l[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(l){return[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(l){return[parseInt(l[1]+l[1],16),parseInt(l[2]+l[2],16),parseInt(l[3]+l[3],16)]}}],i=0;i255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var l=this.r.toString(16),h=this.g.toString(16),d=this.b.toString(16);return l.length==1&&(l="0"+l),h.length==1&&(h="0"+h),d.length==1&&(d="0"+d),"#"+l+h+d}}var Is=Kt.atob.bind(Kt),ku=Kt.btoa.bind(Kt);/** + * @license + * Joseph Myers does not specify a particular license for his work. + * + * Author: Joseph Myers + * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js + * + * Modified by: Owen Leong + */function Oo(n,e){var t=n[0],i=n[1],s=n[2],a=n[3];t=mn(t,i,s,a,e[0],7,-680876936),a=mn(a,t,i,s,e[1],12,-389564586),s=mn(s,a,t,i,e[2],17,606105819),i=mn(i,s,a,t,e[3],22,-1044525330),t=mn(t,i,s,a,e[4],7,-176418897),a=mn(a,t,i,s,e[5],12,1200080426),s=mn(s,a,t,i,e[6],17,-1473231341),i=mn(i,s,a,t,e[7],22,-45705983),t=mn(t,i,s,a,e[8],7,1770035416),a=mn(a,t,i,s,e[9],12,-1958414417),s=mn(s,a,t,i,e[10],17,-42063),i=mn(i,s,a,t,e[11],22,-1990404162),t=mn(t,i,s,a,e[12],7,1804603682),a=mn(a,t,i,s,e[13],12,-40341101),s=mn(s,a,t,i,e[14],17,-1502002290),t=vn(t,i=mn(i,s,a,t,e[15],22,1236535329),s,a,e[1],5,-165796510),a=vn(a,t,i,s,e[6],9,-1069501632),s=vn(s,a,t,i,e[11],14,643717713),i=vn(i,s,a,t,e[0],20,-373897302),t=vn(t,i,s,a,e[5],5,-701558691),a=vn(a,t,i,s,e[10],9,38016083),s=vn(s,a,t,i,e[15],14,-660478335),i=vn(i,s,a,t,e[4],20,-405537848),t=vn(t,i,s,a,e[9],5,568446438),a=vn(a,t,i,s,e[14],9,-1019803690),s=vn(s,a,t,i,e[3],14,-187363961),i=vn(i,s,a,t,e[8],20,1163531501),t=vn(t,i,s,a,e[13],5,-1444681467),a=vn(a,t,i,s,e[2],9,-51403784),s=vn(s,a,t,i,e[7],14,1735328473),t=bn(t,i=vn(i,s,a,t,e[12],20,-1926607734),s,a,e[5],4,-378558),a=bn(a,t,i,s,e[8],11,-2022574463),s=bn(s,a,t,i,e[11],16,1839030562),i=bn(i,s,a,t,e[14],23,-35309556),t=bn(t,i,s,a,e[1],4,-1530992060),a=bn(a,t,i,s,e[4],11,1272893353),s=bn(s,a,t,i,e[7],16,-155497632),i=bn(i,s,a,t,e[10],23,-1094730640),t=bn(t,i,s,a,e[13],4,681279174),a=bn(a,t,i,s,e[0],11,-358537222),s=bn(s,a,t,i,e[3],16,-722521979),i=bn(i,s,a,t,e[6],23,76029189),t=bn(t,i,s,a,e[9],4,-640364487),a=bn(a,t,i,s,e[12],11,-421815835),s=bn(s,a,t,i,e[15],16,530742520),t=wn(t,i=bn(i,s,a,t,e[2],23,-995338651),s,a,e[0],6,-198630844),a=wn(a,t,i,s,e[7],10,1126891415),s=wn(s,a,t,i,e[14],15,-1416354905),i=wn(i,s,a,t,e[5],21,-57434055),t=wn(t,i,s,a,e[12],6,1700485571),a=wn(a,t,i,s,e[3],10,-1894986606),s=wn(s,a,t,i,e[10],15,-1051523),i=wn(i,s,a,t,e[1],21,-2054922799),t=wn(t,i,s,a,e[8],6,1873313359),a=wn(a,t,i,s,e[15],10,-30611744),s=wn(s,a,t,i,e[6],15,-1560198380),i=wn(i,s,a,t,e[13],21,1309151649),t=wn(t,i,s,a,e[4],6,-145523070),a=wn(a,t,i,s,e[11],10,-1120210379),s=wn(s,a,t,i,e[2],15,718787259),i=wn(i,s,a,t,e[9],21,-343485551),n[0]=Zr(t,n[0]),n[1]=Zr(i,n[1]),n[2]=Zr(s,n[2]),n[3]=Zr(a,n[3])}function js(n,e,t,i,s,a){return e=Zr(Zr(e,n),Zr(i,a)),Zr(e<>>32-s,t)}function mn(n,e,t,i,s,a,c){return js(e&t|~e&i,n,e,s,a,c)}function vn(n,e,t,i,s,a,c){return js(e&i|t&~i,n,e,s,a,c)}function bn(n,e,t,i,s,a,c){return js(e^t^i,n,e,s,a,c)}function wn(n,e,t,i,s,a,c){return js(t^(e|~i),n,e,s,a,c)}function Pf(n){var e,t=n.length,i=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=n.length;e+=64)Oo(i,F1(n.substring(e-64,e)));n=n.substring(e-64);var s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e>2]|=n.charCodeAt(e)<<(e%4<<3);if(s[e>>2]|=128<<(e%4<<3),e>55)for(Oo(i,s),e=0;e<16;e++)s[e]=0;return s[14]=8*t,Oo(i,s),i}function F1(n){var e,t=[];for(e=0;e<64;e+=4)t[e>>2]=n.charCodeAt(e)+(n.charCodeAt(e+1)<<8)+(n.charCodeAt(e+2)<<16)+(n.charCodeAt(e+3)<<24);return t}var Pu="0123456789abcdef".split("");function E1(n){for(var e="",t=0;t<4;t++)e+=Pu[n>>8*t+4&15]+Pu[n>>8*t&15];return e}function O1(n){return String.fromCharCode(255&n,(65280&n)>>8,(16711680&n)>>16,(4278190080&n)>>24)}function Go(n){return Pf(n).map(O1).join("")}var j1=function(n){for(var e=0;e>16)+(e>>16)+(t>>16)<<16|65535&t}return n+e&4294967295}/** + * @license + * FPDF is released under a permissive license: there is no usage restriction. + * You may embed it freely in your application (commercial or not), with or + * without modifications. + * + * Reference: http://www.fpdf.org/en/script/script37.php + */function Yo(n,e){var t,i,s,a;if(n!==t){for(var c=(s=n,a=1+(256/n.length|0),new Array(a+1).join(s)),l=[],h=0;h<256;h++)l[h]=h;var d=0;for(h=0;h<256;h++){var m=l[h];d=(d+m+c.charCodeAt(h))%256,l[h]=l[d],l[d]=m}t=n,i=l}else l=i;var _=e.length,k=0,p=0,j="";for(h=0;h<_;h++)p=(p+(m=l[k=(k+1)%256]))%256,l[k]=l[p],l[p]=m,c=l[(l[k]+l[p])%256],j+=String.fromCharCode(e.charCodeAt(h)^c);return j}/** + * @license + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + * Author: Owen Leong (@owenl131) + * Date: 15 Oct 2020 + * References: + * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt + * https://github.com/foliojs/pdfkit/blob/master/lib/security.js + * http://www.fpdf.org/en/script/script37.php + */var Iu={print:4,modify:8,copy:16,"annot-forms":32};function na(n,e,t,i){this.v=1,this.r=2;var s=192;n.forEach(function(l){if(Iu.perm!==void 0)throw new Error("Invalid permission: "+l);s+=Iu[l]}),this.padding="(¿N^NuŠAd\0NVÿú\b..\0¶Ðh>€/\f©þdSiz";var a=(e+this.padding).substr(0,32),c=(t+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,c),this.P=-(1+(255^s)),this.encryptionKey=Go(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(i)).substr(0,5),this.U=Yo(this.encryptionKey,this.padding)}function ra(n){if(/[^\u0000-\u00ff]/.test(n))throw new Error("Invalid PDF Name Object: "+n+", Only accept ASCII characters.");for(var e="",t=n.length,i=0;i126?"#"+("0"+s.toString(16)).slice(-2):n[i]}return e}function Cu(n){if(_e(n)!=="object")throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");var e={};this.subscribe=function(t,i,s){if(s=s||!1,typeof t!="string"||typeof i!="function"||typeof s!="boolean")throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");e.hasOwnProperty(t)||(e[t]={});var a=Math.random().toString(35);return e[t][a]=[i,!!s],a},this.unsubscribe=function(t){for(var i in e)if(e[i][t])return delete e[i][t],Object.keys(e[i]).length===0&&delete e[i],!0;return!1},this.publish=function(t){if(e.hasOwnProperty(t)){var i=Array.prototype.slice.call(arguments,1),s=[];for(var a in e[t]){var c=e[t][a];try{c[0].apply(n,i)}catch(l){Kt.console&&Se.error("jsPDF PubSub Error",l.message,l)}c[1]&&s.push(a)}s.length&&s.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function Ta(n){if(!(this instanceof Ta))return new Ta(n);var e="opacity,stroke-opacity".split(",");for(var t in n)n.hasOwnProperty(t)&&e.indexOf(t)>=0&&(this[t]=n[t]);this.id="",this.objectNumber=-1}function If(n,e){this.gState=n,this.matrix=e,this.id="",this.objectNumber=-1}function $r(n,e,t,i,s){if(!(this instanceof $r))return new $r(n,e,t,i,s);this.type=n==="axial"?2:3,this.coords=e,this.colors=t,If.call(this,i,s)}function xi(n,e,t,i,s){if(!(this instanceof xi))return new xi(n,e,t,i,s);this.boundingBox=n,this.xStep=e,this.yStep=t,this.stream="",this.cloneIndex=0,If.call(this,i,s)}function Mt(n){var e,t=typeof arguments[0]=="string"?arguments[0]:"p",i=arguments[1],s=arguments[2],a=arguments[3],c=[],l=1,h=16,d="S",m=null;_e(n=n||{})==="object"&&(t=n.orientation,i=n.unit||i,s=n.format||s,a=n.compress||n.compressPdf||a,(m=n.encryption||null)!==null&&(m.userPassword=m.userPassword||"",m.ownerPassword=m.ownerPassword||"",m.userPermissions=m.userPermissions||[]),l=typeof n.userUnit=="number"?Math.abs(n.userUnit):1,n.precision!==void 0&&(e=n.precision),n.floatPrecision!==void 0&&(h=n.floatPrecision),d=n.defaultPathOperation||"S"),c=n.filters||(a===!0?["FlateEncode"]:c),i=i||"mm",t=(""+(t||"P")).toLowerCase();var _=n.putOnlyUsedFonts||!1,k={},p={internal:{},__private__:{}};p.__private__.PubSub=Cu;var j="1.3",O=p.__private__.getPdfVersion=function(){return j};p.__private__.setPdfVersion=function(u){j=u};var M={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};p.__private__.getPageFormats=function(){return M};var S=p.__private__.getPageFormat=function(u){return M[u]};s=s||"a4";var V="compat",G="advanced",q=V;function it(){this.saveGraphicsState(),P(new Gt(ne,0,0,-ne,0,oi()*ne).toString()+" cm"),this.setFontSize(this.getFontSize()/ne),d="n",q=G}function vt(){this.restoreGraphicsState(),d="S",q=V}var dt=p.__private__.combineFontStyleAndFontWeight=function(u,v){if(u=="bold"&&v=="normal"||u=="bold"&&v==400||u=="normal"&&v=="italic"||u=="bold"&&v=="italic")throw new Error("Invalid Combination of fontweight and fontstyle");return v&&(u=v==400||v==="normal"?u==="italic"?"italic":"normal":v!=700&&v!=="bold"||u!=="normal"?(v==700?"bold":v)+""+u:"bold"),u};p.advancedAPI=function(u){var v=q===V;return v&&it.call(this),typeof u!="function"||(u(this),v&&vt.call(this)),this},p.compatAPI=function(u){var v=q===G;return v&&vt.call(this),typeof u!="function"||(u(this),v&&it.call(this)),this},p.isAdvancedAPI=function(){return q===G};var X,R=function(u){if(q!==G)throw new Error(u+" is only available in 'advanced' API mode. You need to call advancedAPI() first.")},tt=p.roundToPrecision=p.__private__.roundToPrecision=function(u,v){var I=e||v;if(isNaN(u)||isNaN(I))throw new Error("Invalid argument passed to jsPDF.roundToPrecision");return u.toFixed(I).replace(/0+$/,"")};X=p.hpf=p.__private__.hpf=typeof h=="number"?function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.hpf");return tt(u,h)}:h==="smart"?function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.hpf");return tt(u,u>-1&&u<1?16:5)}:function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.hpf");return tt(u,16)};var N=p.f2=p.__private__.f2=function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.f2");return tt(u,2)},E=p.__private__.f3=function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.f3");return tt(u,3)},z=p.scale=p.__private__.scale=function(u){if(isNaN(u))throw new Error("Invalid argument passed to jsPDF.scale");return q===V?u*ne:q===G?u:void 0},U=function(u){return z(function(v){return q===V?oi()-v:q===G?v:void 0}(u))};p.__private__.setPrecision=p.setPrecision=function(u){typeof parseInt(u,10)=="number"&&(e=parseInt(u,10))};var rt,ot="00000000000000000000000000000000",ft=p.__private__.getFileId=function(){return ot},nt=p.__private__.setFileId=function(u){return ot=u!==void 0&&/^[a-fA-F0-9]{32}$/.test(u)?u.toUpperCase():ot.split("").map(function(){return"ABCDEF0123456789".charAt(Math.floor(16*Math.random()))}).join(""),m!==null&&(on=new na(m.userPermissions,m.userPassword,m.ownerPassword,ot)),ot};p.setFileId=function(u){return nt(u),this},p.getFileId=function(){return ft()};var ct=p.__private__.convertDateToPDFDate=function(u){var v=u.getTimezoneOffset(),I=v<0?"+":"-",D=Math.floor(Math.abs(v/60)),K=Math.abs(v%60),lt=[I,T(D),"'",T(K),"'"].join("");return["D:",u.getFullYear(),T(u.getMonth()+1),T(u.getDate()),T(u.getHours()),T(u.getMinutes()),T(u.getSeconds()),lt].join("")},At=p.__private__.convertPDFDateToDate=function(u){var v=parseInt(u.substr(2,4),10),I=parseInt(u.substr(6,2),10)-1,D=parseInt(u.substr(8,2),10),K=parseInt(u.substr(10,2),10),lt=parseInt(u.substr(12,2),10),mt=parseInt(u.substr(14,2),10);return new Date(v,I,D,K,lt,mt,0)},wt=p.__private__.setCreationDate=function(u){var v;if(u===void 0&&(u=new Date),u instanceof Date)v=ct(u);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(u))throw new Error("Invalid argument passed to jsPDF.setCreationDate");v=u}return rt=v},x=p.__private__.getCreationDate=function(u){var v=rt;return u==="jsDate"&&(v=At(rt)),v};p.setCreationDate=function(u){return wt(u),this},p.getCreationDate=function(u){return x(u)};var B,T=p.__private__.padd2=function(u){return("0"+parseInt(u)).slice(-2)},H=p.__private__.padd2Hex=function(u){return("00"+(u=u.toString())).substr(u.length)},J=0,Z=[],at=[],st=0,gt=[],_t=[],kt=!1,St=at;p.__private__.setCustomOutputDestination=function(u){kt=!0,St=u};var Dt=function(u){kt||(St=u)};p.__private__.resetCustomOutputDestination=function(){kt=!1,St=at};var P=p.__private__.out=function(u){return u=u.toString(),st+=u.length+1,St.push(u),St},Lt=p.__private__.write=function(u){return P(arguments.length===1?u.toString():Array.prototype.join.call(arguments," "))},ae=p.__private__.getArrayBuffer=function(u){for(var v=u.length,I=new ArrayBuffer(v),D=new Uint8Array(I);v--;)D[v]=u.charCodeAt(v);return I},Ht=[["Helvetica","helvetica","normal","WinAnsiEncoding"],["Helvetica-Bold","helvetica","bold","WinAnsiEncoding"],["Helvetica-Oblique","helvetica","italic","WinAnsiEncoding"],["Helvetica-BoldOblique","helvetica","bolditalic","WinAnsiEncoding"],["Courier","courier","normal","WinAnsiEncoding"],["Courier-Bold","courier","bold","WinAnsiEncoding"],["Courier-Oblique","courier","italic","WinAnsiEncoding"],["Courier-BoldOblique","courier","bolditalic","WinAnsiEncoding"],["Times-Roman","times","normal","WinAnsiEncoding"],["Times-Bold","times","bold","WinAnsiEncoding"],["Times-Italic","times","italic","WinAnsiEncoding"],["Times-BoldItalic","times","bolditalic","WinAnsiEncoding"],["ZapfDingbats","zapfdingbats","normal",null],["Symbol","symbol","normal",null]];p.__private__.getStandardFonts=function(){return Ht};var yt=n.fontSize||16;p.__private__.setFontSize=p.setFontSize=function(u){return yt=q===G?u/ne:u,this};var Wt,Ct=p.__private__.getFontSize=p.getFontSize=function(){return q===V?yt:yt*ne},zt=n.R2L||!1;p.__private__.setR2L=p.setR2L=function(u){return zt=u,this},p.__private__.getR2L=p.getR2L=function(){return zt};var qt,ve=p.__private__.setZoomMode=function(u){if(/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(u))Wt=u;else if(isNaN(u)){if([void 0,null,"fullwidth","fullheight","fullpage","original"].indexOf(u)===-1)throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. "'+u+'" is not recognized.');Wt=u}else Wt=parseInt(u,10)};p.__private__.getZoomMode=function(){return Wt};var ue,Zt=p.__private__.setPageMode=function(u){if([void 0,null,"UseNone","UseOutlines","UseThumbs","FullScreen"].indexOf(u)==-1)throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "'+u+'" is not recognized.');qt=u};p.__private__.getPageMode=function(){return qt};var he=p.__private__.setLayoutMode=function(u){if([void 0,null,"continuous","single","twoleft","tworight","two"].indexOf(u)==-1)throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. "'+u+'" is not recognized.');ue=u};p.__private__.getLayoutMode=function(){return ue},p.__private__.setDisplayMode=p.setDisplayMode=function(u,v,I){return ve(u),he(v),Zt(I),this};var fe={title:"",subject:"",author:"",keywords:"",creator:""};p.__private__.getDocumentProperty=function(u){if(Object.keys(fe).indexOf(u)===-1)throw new Error("Invalid argument passed to jsPDF.getDocumentProperty");return fe[u]},p.__private__.getDocumentProperties=function(){return fe},p.__private__.setDocumentProperties=p.setProperties=p.setDocumentProperties=function(u){for(var v in fe)fe.hasOwnProperty(v)&&u[v]&&(fe[v]=u[v]);return this},p.__private__.setDocumentProperty=function(u,v){if(Object.keys(fe).indexOf(u)===-1)throw new Error("Invalid arguments passed to jsPDF.setDocumentProperty");return fe[u]=v};var Bt,ne,Tt,He,ge,se={},oe={},je=[],Ut={},ke={},Yt={},Qt={},Be=null,le=0,Vt=[],be=new Cu(p),ei=n.hotfixes||[],hn={},vr={},rr=[],Gt=function u(v,I,D,K,lt,mt){if(!(this instanceof u))return new u(v,I,D,K,lt,mt);isNaN(v)&&(v=1),isNaN(I)&&(I=0),isNaN(D)&&(D=0),isNaN(K)&&(K=1),isNaN(lt)&&(lt=0),isNaN(mt)&&(mt=0),this._matrix=[v,I,D,K,lt,mt]};Object.defineProperty(Gt.prototype,"sx",{get:function(){return this._matrix[0]},set:function(u){this._matrix[0]=u}}),Object.defineProperty(Gt.prototype,"shy",{get:function(){return this._matrix[1]},set:function(u){this._matrix[1]=u}}),Object.defineProperty(Gt.prototype,"shx",{get:function(){return this._matrix[2]},set:function(u){this._matrix[2]=u}}),Object.defineProperty(Gt.prototype,"sy",{get:function(){return this._matrix[3]},set:function(u){this._matrix[3]=u}}),Object.defineProperty(Gt.prototype,"tx",{get:function(){return this._matrix[4]},set:function(u){this._matrix[4]=u}}),Object.defineProperty(Gt.prototype,"ty",{get:function(){return this._matrix[5]},set:function(u){this._matrix[5]=u}}),Object.defineProperty(Gt.prototype,"a",{get:function(){return this._matrix[0]},set:function(u){this._matrix[0]=u}}),Object.defineProperty(Gt.prototype,"b",{get:function(){return this._matrix[1]},set:function(u){this._matrix[1]=u}}),Object.defineProperty(Gt.prototype,"c",{get:function(){return this._matrix[2]},set:function(u){this._matrix[2]=u}}),Object.defineProperty(Gt.prototype,"d",{get:function(){return this._matrix[3]},set:function(u){this._matrix[3]=u}}),Object.defineProperty(Gt.prototype,"e",{get:function(){return this._matrix[4]},set:function(u){this._matrix[4]=u}}),Object.defineProperty(Gt.prototype,"f",{get:function(){return this._matrix[5]},set:function(u){this._matrix[5]=u}}),Object.defineProperty(Gt.prototype,"rotation",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Gt.prototype,"scaleX",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Gt.prototype,"scaleY",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Gt.prototype,"isIdentity",{get:function(){return this.sx===1&&this.shy===0&&this.shx===0&&this.sy===1&&this.tx===0&&this.ty===0}}),Gt.prototype.join=function(u){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(X).join(u)},Gt.prototype.multiply=function(u){var v=u.sx*this.sx+u.shy*this.shx,I=u.sx*this.shy+u.shy*this.sy,D=u.shx*this.sx+u.sy*this.shx,K=u.shx*this.shy+u.sy*this.sy,lt=u.tx*this.sx+u.ty*this.shx+this.tx,mt=u.tx*this.shy+u.ty*this.sy+this.ty;return new Gt(v,I,D,K,lt,mt)},Gt.prototype.decompose=function(){var u=this.sx,v=this.shy,I=this.shx,D=this.sy,K=this.tx,lt=this.ty,mt=Math.sqrt(u*u+v*v),Et=(u/=mt)*I+(v/=mt)*D;I-=u*Et,D-=v*Et;var Ft=Math.sqrt(I*I+D*D);return Et/=Ft,u*(D/=Ft)>16&255,D=Ft>>8&255,K=255&Ft}if(D===void 0||lt===void 0&&I===D&&D===K)v=typeof I=="string"?I+" "+mt[0]:u.precision===2?N(I/255)+" "+mt[0]:E(I/255)+" "+mt[0];else if(lt===void 0||_e(lt)==="object"){if(lt&&!isNaN(lt.a)&<.a===0)return["1.","1.","1.",mt[1]].join(" ");v=typeof I=="string"?[I,D,K,mt[1]].join(" "):u.precision===2?[N(I/255),N(D/255),N(K/255),mt[1]].join(" "):[E(I/255),E(D/255),E(K/255),mt[1]].join(" ")}else v=typeof I=="string"?[I,D,K,lt,mt[2]].join(" "):u.precision===2?[N(I),N(D),N(K),N(lt),mt[2]].join(" "):[E(I),E(D),E(K),E(lt),mt[2]].join(" ");return v},Jn=p.__private__.getFilters=function(){return c},qn=p.__private__.putStream=function(u){var v=(u=u||{}).data||"",I=u.filters||Jn(),D=u.alreadyAppliedFilters||[],K=u.addLength1||!1,lt=v.length,mt=u.objectId,Et=function(Fe){return Fe};if(m!==null&&mt===void 0)throw new Error("ObjectId must be passed to putStream for file encryption");m!==null&&(Et=on.encryptor(mt,0));var Ft={};I===!0&&(I=["FlateEncode"]);var Xt=u.additionalKeyValues||[],te=(Ft=Mt.API.processDataByFilters!==void 0?Mt.API.processDataByFilters(v,I):{data:v,reverseChain:[]}).reverseChain+(Array.isArray(D)?D.join(" "):D.toString());if(Ft.data.length!==0&&(Xt.push({key:"Length",value:Ft.data.length}),K===!0&&Xt.push({key:"Length1",value:lt})),te.length!=0)if(te.split("/").length-1==1)Xt.push({key:"Filter",value:te});else{Xt.push({key:"Filter",value:"["+te+"]"});for(var de=0;de>"),Ft.data.length!==0&&(P("stream"),P(Et(Ft.data)),P("endstream"))},ri=p.__private__.putPage=function(u){var v=u.number,I=u.data,D=u.objId,K=u.contentsObjId;sn(D,!0),P("<>"),P("endobj");var lt=I.join(` +`);return q===G&&(lt+=` +Q`),sn(K,!0),qn({data:lt,filters:Jn(),objectId:K}),P("endobj"),D},ar=p.__private__.putPages=function(){var u,v,I=[];for(u=1;u<=le;u++)Vt[u].objId=an(),Vt[u].contentsObjId=an();for(u=1;u<=le;u++)I.push(ri({number:u,data:_t[u],objId:Vt[u].objId,contentsObjId:Vt[u].contentsObjId,mediaBox:Vt[u].mediaBox,cropBox:Vt[u].cropBox,bleedBox:Vt[u].bleedBox,trimBox:Vt[u].trimBox,artBox:Vt[u].artBox,userUnit:Vt[u].userUnit,rootDictionaryObjId:jr,resourceDictionaryObjId:Gn}));sn(jr,!0),P("<>"),P("endobj"),be.publish("postPutPages")},ii=function(u){be.publish("putFont",{font:u,out:P,newObject:De,putStream:qn}),u.isAlreadyPutted!==!0&&(u.objectNumber=De(),P("<<"),P("/Type /Font"),P("/BaseFont /"+ra(u.postScriptName)),P("/Subtype /Type1"),typeof u.encoding=="string"&&P("/Encoding /"+u.encoding),P("/FirstChar 32"),P("/LastChar 255"),P(">>"),P("endobj"))},Fi=function(u){u.objectNumber=De();var v=[];v.push({key:"Type",value:"/XObject"}),v.push({key:"Subtype",value:"/Form"}),v.push({key:"BBox",value:"["+[X(u.x),X(u.y),X(u.x+u.width),X(u.y+u.height)].join(" ")+"]"}),v.push({key:"Matrix",value:"["+u.matrix.toString()+"]"});var I=u.pages[1].join(` +`);qn({data:I,additionalKeyValues:v,objectId:u.objectNumber}),P("endobj")},Ei=function(u,v){v||(v=21);var I=De(),D=function(mt,Et){var Ft,Xt=[],te=1/(Et-1);for(Ft=0;Ft<1;Ft+=te)Xt.push(Ft);if(Xt.push(1),mt[0].offset!=0){var de={offset:0,color:mt[0].color};mt.unshift(de)}if(mt[mt.length-1].offset!=1){var $e={offset:1,color:mt[mt.length-1].color};mt.push($e)}for(var Ne="",Ae=0,Fe=0;Femt[Ae+1].offset;)Ae++;var Re=mt[Ae].offset,Te=(Ft-Re)/(mt[Ae+1].offset-Re),cn=mt[Ae].color,Lr=mt[Ae+1].color;Ne+=H(Math.round((1-Te)*cn[0]+Te*Lr[0]).toString(16))+H(Math.round((1-Te)*cn[1]+Te*Lr[1]).toString(16))+H(Math.round((1-Te)*cn[2]+Te*Lr[2]).toString(16))}return Ne.trim()}(u.colors,v),K=[];K.push({key:"FunctionType",value:"0"}),K.push({key:"Domain",value:"[0.0 1.0]"}),K.push({key:"Size",value:"["+v+"]"}),K.push({key:"BitsPerSample",value:"8"}),K.push({key:"Range",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),K.push({key:"Decode",value:"[0.0 1.0 0.0 1.0 0.0 1.0]"}),qn({data:D,additionalKeyValues:K,alreadyAppliedFilters:["/ASCIIHexDecode"],objectId:I}),P("endobj"),u.objectNumber=De(),P("<< /ShadingType "+u.type),P("/ColorSpace /DeviceRGB");var lt="/Coords ["+X(parseFloat(u.coords[0]))+" "+X(parseFloat(u.coords[1]))+" ";u.type===2?lt+=X(parseFloat(u.coords[2]))+" "+X(parseFloat(u.coords[3])):lt+=X(parseFloat(u.coords[2]))+" "+X(parseFloat(u.coords[3]))+" "+X(parseFloat(u.coords[4]))+" "+X(parseFloat(u.coords[5])),P(lt+="]"),u.matrix&&P("/Matrix ["+u.matrix.toString()+"]"),P("/Function "+I+" 0 R"),P("/Extend [true true]"),P(">>"),P("endobj")},Oi=function(u,v){var I=an(),D=De();v.push({resourcesOid:I,objectOid:D}),u.objectNumber=D;var K=[];K.push({key:"Type",value:"/Pattern"}),K.push({key:"PatternType",value:"1"}),K.push({key:"PaintType",value:"1"}),K.push({key:"TilingType",value:"1"}),K.push({key:"BBox",value:"["+u.boundingBox.map(X).join(" ")+"]"}),K.push({key:"XStep",value:X(u.xStep)}),K.push({key:"YStep",value:X(u.yStep)}),K.push({key:"Resources",value:I+" 0 R"}),u.matrix&&K.push({key:"Matrix",value:"["+u.matrix.toString()+"]"}),qn({data:u.stream,additionalKeyValues:K,objectId:u.objectNumber}),P("endobj")},Bs=function(u){for(var v in u.objectNumber=De(),P("<<"),u)switch(v){case"opacity":P("/ca "+N(u[v]));break;case"stroke-opacity":P("/CA "+N(u[v]))}P(">>"),P("endobj")},aa=function(u){sn(u.resourcesOid,!0),P("<<"),P("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),function(){for(var v in P("/Font <<"),se)se.hasOwnProperty(v)&&(_===!1||_===!0&&k.hasOwnProperty(v))&&P("/"+v+" "+se[v].objectNumber+" 0 R");P(">>")}(),function(){if(Object.keys(Ut).length>0){for(var v in P("/Shading <<"),Ut)Ut.hasOwnProperty(v)&&Ut[v]instanceof $r&&Ut[v].objectNumber>=0&&P("/"+v+" "+Ut[v].objectNumber+" 0 R");be.publish("putShadingPatternDict"),P(">>")}}(),function(v){if(Object.keys(Ut).length>0){for(var I in P("/Pattern <<"),Ut)Ut.hasOwnProperty(I)&&Ut[I]instanceof p.TilingPattern&&Ut[I].objectNumber>=0&&Ut[I].objectNumber>")}}(u.objectOid),function(){if(Object.keys(Yt).length>0){var v;for(v in P("/ExtGState <<"),Yt)Yt.hasOwnProperty(v)&&Yt[v].objectNumber>=0&&P("/"+v+" "+Yt[v].objectNumber+" 0 R");be.publish("putGStateDict"),P(">>")}}(),function(){for(var v in P("/XObject <<"),hn)hn.hasOwnProperty(v)&&hn[v].objectNumber>=0&&P("/"+v+" "+hn[v].objectNumber+" 0 R");be.publish("putXobjectDict"),P(">>")}(),P(">>"),P("endobj")},qa=function(u){oe[u.fontName]=oe[u.fontName]||{},oe[u.fontName][u.fontStyle]=u.id},Ua=function(u,v,I,D,K){var lt={id:"F"+(Object.keys(se).length+1).toString(10),postScriptName:u,fontName:v,fontStyle:I,encoding:D,isStandardFont:K||!1,metadata:{}};return be.publish("addFont",{font:lt,instance:this}),se[lt.id]=lt,qa(lt),lt.id},Un=p.__private__.pdfEscape=p.pdfEscape=function(u,v){return function(I,D){var K,lt,mt,Et,Ft,Xt,te,de,$e;if(mt=(D=D||{}).sourceEncoding||"Unicode",Ft=D.outputEncoding,(D.autoencode||Ft)&&se[Bt].metadata&&se[Bt].metadata[mt]&&se[Bt].metadata[mt].encoding&&(Et=se[Bt].metadata[mt].encoding,!Ft&&se[Bt].encoding&&(Ft=se[Bt].encoding),!Ft&&Et.codePages&&(Ft=Et.codePages[0]),typeof Ft=="string"&&(Ft=Et[Ft]),Ft)){for(te=!1,Xt=[],K=0,lt=I.length;K>8&&(te=!0);I=Xt.join("")}for(K=I.length;te===void 0&&K!==0;)I.charCodeAt(K-1)>>8&&(te=!0),K--;if(!te)return I;for(Xt=D.noBOM?[]:[254,255],K=0,lt=I.length;K>8)>>8)throw new Error("Character at position "+K+" of string '"+I+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");Xt.push($e),Xt.push(de-($e<<8))}return String.fromCharCode.apply(void 0,Xt)}(u,v).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},sa=p.__private__.beginPage=function(u){_t[++le]=[],Vt[le]={objId:0,contentsObjId:0,userUnit:Number(l),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(u[0]),topRightY:Number(u[1])}},Ha(le),Dt(_t[B])},za=function(u,v){var I,D,K;switch(t=v||t,typeof u=="string"&&(I=S(u.toLowerCase()),Array.isArray(I)&&(D=I[0],K=I[1])),Array.isArray(u)&&(D=u[0]*ne,K=u[1]*ne),isNaN(D)&&(D=s[0],K=s[1]),(D>14400||K>14400)&&(Se.warn("A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400"),D=Math.min(14400,D),K=Math.min(14400,K)),s=[D,K],t.substr(0,1)){case"l":K>D&&(s=[K,D]);break;case"p":D>K&&(s=[K,D])}sa(s),Vs(Jt),P(Di),ha!==0&&P(ha+" J"),Rr!==0&&P(Rr+" j"),be.publish("addPage",{pageNumber:le})},oa=function(u){u>0&&u<=le&&(_t.splice(u,1),Vt.splice(u,1),le--,B>le&&(B=le),this.setPage(B))},Ha=function(u){u>0&&u<=le&&(B=u)},Wa=p.__private__.getNumberOfPages=p.getNumberOfPages=function(){return _t.length-1},Va=function(u,v,I){var D,K=void 0;return I=I||{},u=u!==void 0?u:se[Bt].fontName,v=v!==void 0?v:se[Bt].fontStyle,D=u.toLowerCase(),oe[D]!==void 0&&oe[D][v]!==void 0?K=oe[D][v]:oe[u]!==void 0&&oe[u][v]!==void 0?K=oe[u][v]:I.disableWarning===!1&&Se.warn("Unable to look up font label for font '"+u+"', '"+v+"'. Refer to getFontList() for available fonts."),K||I.noFallback||(K=oe.times[v])==null&&(K=oe.times.normal),K},sr=p.__private__.putInfo=function(){var u=De(),v=function(D){return D};for(var I in m!==null&&(v=on.encryptor(u,0)),P("<<"),P("/Producer ("+Un(v("jsPDF "+Mt.version))+")"),fe)fe.hasOwnProperty(I)&&fe[I]&&P("/"+I.substr(0,1).toUpperCase()+I.substr(1)+" ("+Un(v(fe[I]))+")");P("/CreationDate ("+Un(v(rt))+")"),P(">>"),P("endobj")},ji=p.__private__.putCatalog=function(u){var v=(u=u||{}).rootDictionaryObjId||jr;switch(De(),P("<<"),P("/Type /Catalog"),P("/Pages "+v+" 0 R"),Wt||(Wt="fullwidth"),Wt){case"fullwidth":P("/OpenAction [3 0 R /FitH null]");break;case"fullheight":P("/OpenAction [3 0 R /FitV null]");break;case"fullpage":P("/OpenAction [3 0 R /Fit]");break;case"original":P("/OpenAction [3 0 R /XYZ null null 1]");break;default:var I=""+Wt;I.substr(I.length-1)==="%"&&(Wt=parseInt(Wt)/100),typeof Wt=="number"&&P("/OpenAction [3 0 R /XYZ null null "+N(Wt)+"]")}switch(ue||(ue="continuous"),ue){case"continuous":P("/PageLayout /OneColumn");break;case"single":P("/PageLayout /SinglePage");break;case"two":case"twoleft":P("/PageLayout /TwoColumnLeft");break;case"tworight":P("/PageLayout /TwoColumnRight")}qt&&P("/PageMode /"+qt),be.publish("putCatalog"),P(">>"),P("endobj")},Ms=p.__private__.putTrailer=function(){P("trailer"),P("<<"),P("/Size "+(J+1)),P("/Root "+J+" 0 R"),P("/Info "+(J-1)+" 0 R"),m!==null&&P("/Encrypt "+on.oid+" 0 R"),P("/ID [ <"+ot+"> <"+ot+"> ]"),P(">>")},Xe=p.__private__.putHeader=function(){P("%PDF-"+j),P("%ºß¬à")},Ga=p.__private__.putXRef=function(){var u="0000000000";P("xref"),P("0 "+(J+1)),P("0000000000 65535 f ");for(var v=1;v<=J;v++)typeof Z[v]=="function"?P((u+Z[v]()).slice(-10)+" 00000 n "):Z[v]!==void 0?P((u+Z[v]).slice(-10)+" 00000 n "):P("0000000000 00000 n ")},or=p.__private__.buildDocument=function(){var u;J=0,st=0,at=[],Z=[],gt=[],jr=an(),Gn=an(),Dt(at),be.publish("buildDocument"),Xe(),ar(),function(){be.publish("putAdditionalObjects");for(var I=0;I"),P("/O <"+on.toHexString(on.O)+">"),P("/P "+on.P),P(">>"),P("endobj")),sr(),ji();var v=st;return Ga(),Ms(),P("startxref"),P(""+v),P("%%EOF"),Dt(_t[B]),at.join(` +`)},Bi=p.__private__.getBlob=function(u){return new Blob([ae(u)],{type:"application/pdf"})},la=function(u){for(;u.firstChild;)u.removeChild(u.firstChild)},In=function(u){var v,I=u.document,D=I.documentElement,K=I.head,lt=I.body;return K||(K=I.createElement("head"),D.appendChild(K)),lt||(lt=I.createElement("body"),D.appendChild(lt)),la(K),la(lt),(v=I.createElement("style")).appendChild(I.createTextNode("html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}")),K.appendChild(v),{document:I,body:lt}},Mi=p.output=p.__private__.output=(Dn=function(u,v){switch(typeof(v=v||{})=="string"?v={filename:v}:v.filename=v.filename||"generated.pdf",u){case void 0:return or();case"save":p.save(v.filename);break;case"arraybuffer":return ae(or());case"blob":return Bi(or());case"bloburi":case"bloburl":if(Kt.URL!==void 0&&typeof Kt.URL.createObjectURL=="function")return Kt.URL&&Kt.URL.createObjectURL(Bi(or()))||void 0;Se.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":var I="",D=or();try{I=ku(D)}catch{I=ku(unescape(encodeURIComponent(D)))}return"data:application/pdf;filename="+encodeURIComponent(v.filename)+";base64,"+I;case"pdfobjectnewwindow":if(Object.prototype.toString.call(Kt)==="[object Window]"){var K="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js",lt=!v.pdfObjectUrl;lt||(K=v.pdfObjectUrl);var mt=Kt.open();if(mt!==null){var Et=In(mt),Ft=Et.document.createElement("script"),Xt=this;Ft.src=K,lt&&(Ft.integrity="sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==",Ft.crossOrigin="anonymous"),Ft.onload=function(){mt.PDFObject.embed(Xt.output("dataurlstring"),v)},Et.body.appendChild(Ft)}return mt}throw new Error("The option pdfobjectnewwindow just works in a browser-environment.");case"pdfjsnewwindow":if(Object.prototype.toString.call(Kt)==="[object Window]"){var te=v.pdfJsUrl||"examples/PDF.js/web/viewer.html",de=Kt.open();if(de!==null){var $e=In(de),Ne=$e.document.createElement("iframe"),Ae=te.indexOf("?")===-1?"?":"&";Xt=this,Ne.id="pdfViewer",Ne.width="500px",Ne.height="400px",Ne.src=te+Ae+"file=&downloadName="+encodeURIComponent(v.filename),Ne.onload=function(){de.document.title=v.filename,Ne.contentWindow.PDFViewerApplication.open(Xt.output("bloburl"))},$e.body.appendChild(Ne)}return de}throw new Error("The option pdfjsnewwindow just works in a browser-environment.");case"dataurlnewwindow":if(Object.prototype.toString.call(Kt)!=="[object Window]")throw new Error("The option dataurlnewwindow just works in a browser-environment.");var Fe=Kt.open();if(Fe!==null){var Re=In(Fe),Te=Re.document.createElement("iframe");Te.src=this.output("datauristring",v),Re.body.appendChild(Te),Fe.document.title=v.filename}if(Fe||typeof safari>"u")return Fe;break;case"datauri":case"dataurl":return Kt.document.location.href=this.output("datauristring",v);default:return null}},Dn.foo=function(){try{return Dn.apply(this,arguments)}catch(I){var u=I.stack||"";~u.indexOf(" at ")&&(u=u.split(" at ")[1]);var v="Error in function "+u.split(` +`)[0].split("<")[0]+": "+I.message;if(!Kt.console)throw new Error(v);Kt.console.error(v,I),Kt.alert&&alert(v)}},Dn.foo.bar=Dn,Dn.foo),yr=function(u){return Array.isArray(ei)===!0&&ei.indexOf(u)>-1};switch(i){case"pt":ne=1;break;case"mm":ne=72/25.4;break;case"cm":ne=72/2.54;break;case"in":ne=72;break;case"px":ne=yr("px_scaling")==1?.75:96/72;break;case"pc":case"em":ne=12;break;case"ex":ne=6;break;default:if(typeof i!="number")throw new Error("Invalid unit: "+i);ne=i}var on=null;wt(),nt();var Ya=p.__private__.getPageInfo=p.getPageInfo=function(u){if(isNaN(u)||u%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfo");return{objId:Vt[u].objId,pageNumber:u,pageContext:Vt[u]}},Rs=p.__private__.getPageInfoByObjId=function(u){if(isNaN(u)||u%1!=0)throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");for(var v in Vt)if(Vt[v].objId===u)break;return Ya(v)},Ts=p.__private__.getCurrentPageInfo=p.getCurrentPageInfo=function(){return{objId:Vt[B].objId,pageNumber:B,pageContext:Vt[B]}};p.addPage=function(){return za.apply(this,arguments),this},p.setPage=function(){return Ha.apply(this,arguments),Dt.call(this,_t[B]),this},p.insertPage=function(u){return this.addPage(),this.movePage(B,u),this},p.movePage=function(u,v){var I,D;if(u>v){I=_t[u],D=Vt[u];for(var K=u;K>v;K--)_t[K]=_t[K-1],Vt[K]=Vt[K-1];_t[v]=I,Vt[v]=D,this.setPage(v)}else if(u0&&(typeof u=="string"?u=Ae.splitTextToSize(u,te):Object.prototype.toString.call(u)==="[object Array]"&&(u=u.reduce(function(Pe,Ie){return Pe.concat(Ae.splitTextToSize(Ie,te))},[]))),lt={text:u,x:v,y:I,options:D,mutex:{pdfEscape:Un,activeFontKey:Bt,fonts:se,activeFontSize:yt}},be.publish("preProcessText",lt),u=lt.text,Et=(D=lt.options).angle,Ne instanceof Gt==0&&Et&&typeof Et=="number"){Et*=Math.PI/180,D.rotationDirection===0&&(Et=-Et),q===G&&(Et=-Et);var ma=Math.cos(Et),fr=Math.sin(Et);Ne=new Gt(ma,fr,-fr,ma,0,0)}else Et&&Et instanceof Gt&&(Ne=Et);q!==G||Ne||(Ne=wr),(Xt=D.charSpace||qi)!==void 0&&(Te+=X(z(Xt))+` Tc +`,this.setCharSpace(this.getCharSpace()||0)),($e=D.horizontalScale)!==void 0&&(Te+=X(100*$e)+` Tz +`),D.lang;var yn=-1,es=D.renderingMode!==void 0?D.renderingMode:D.stroke,Vi=Ae.internal.getCurrentPageInfo().pageContext;switch(es){case 0:case!1:case"fill":yn=0;break;case 1:case!0:case"stroke":yn=1;break;case 2:case"fillThenStroke":yn=2;break;case 3:case"invisible":yn=3;break;case 4:case"fillAndAddForClipping":yn=4;break;case 5:case"strokeAndAddPathForClipping":yn=5;break;case 6:case"fillThenStrokeAndAddToPathForClipping":yn=6;break;case 7:case"addToPathForClipping":yn=7}var ns=Vi.usedRenderingMode!==void 0?Vi.usedRenderingMode:-1;yn!==-1?Te+=yn+` Tr +`:ns!==-1&&(Te+=`0 Tr +`),yn!==-1&&(Vi.usedRenderingMode=yn),Ft=D.align||"left";var zn,di=yt*cn,va=Ae.internal.pageSize.getWidth(),Gi=se[Bt];Xt=D.charSpace||qi,te=D.maxWidth||0,de=Object.assign({autoencode:!0,noBOM:!0},D.flags);var pi=[],ba=function(Pe){return Ae.getStringUnitWidth(Pe,{font:Gi,charSpace:Xt,fontSize:yt,doKerning:!1})*yt/Lr};if(Object.prototype.toString.call(u)==="[object Array]"){var xn;mt=li(u),Ft!=="left"&&(zn=mt.map(ba));var Ln,Yi=0;if(Ft==="right"){v-=zn[0],u=[],dn=mt.length;for(var Dr=0;Dr0?(te-zn[Ze])/wa:0;Ze":")"),vi=parseFloat(mt[pn][1]),bi=parseFloat(mt[pn][2]);break;case 0:Ur=(Re?"<":"(")+mt[pn]+(Re?">":")"),vi=xr(v),bi=_r(I)}pi!==void 0&&pi[pn]!==void 0&&(zr=pi[pn]+` Tw +`),pn===0?u.push(zr+Xi(vi,bi,Ne)+Ur):Sr===0?u.push(zr+Ur):Sr===1&&u.push(zr+Xi(vi,bi,Ne)+Ur)}u=Sr===0?u.join(` Tj +T* `):u.join(` Tj +`),u+=` Tj +`;var cr=`BT +/`;return cr+=Bt+" "+yt+` Tf +`,cr+=X(yt*cn)+` TL +`,cr+=ur+` +`,cr+=Te,cr+=u,P(cr+="ET"),k[Bt]=!0,Ae};var Ds=p.__private__.clip=p.clip=function(u){return P(u==="evenodd"?"W*":"W"),this};p.clipEvenOdd=function(){return Ds("evenodd")},p.__private__.discardPath=p.discardPath=function(){return P("n"),this};var lr=p.__private__.isValidStyle=function(u){var v=!1;return[void 0,null,"S","D","F","DF","FD","f","f*","B","B*","n"].indexOf(u)!==-1&&(v=!0),v};p.__private__.setDefaultPathOperation=p.setDefaultPathOperation=function(u){return lr(u)&&(d=u),this};var Ja=p.__private__.getStyle=p.getStyle=function(u){var v=d;switch(u){case"D":case"S":v="S";break;case"F":v="f";break;case"FD":case"DF":v="B";break;case"f":case"f*":case"B":case"B*":v=u}return v},Ri=p.close=function(){return P("h"),this};p.stroke=function(){return P("S"),this},p.fill=function(u){return Ti("f",u),this},p.fillEvenOdd=function(u){return Ti("f*",u),this},p.fillStroke=function(u){return Ti("B",u),this},p.fillStrokeEvenOdd=function(u){return Ti("B*",u),this};var Ti=function(u,v){_e(v)==="object"?Us(v,u):P(u)},ua=function(u){u===null||q===G&&u===void 0||(u=Ja(u),P(u))};function qs(u,v,I,D,K){var lt=new xi(v||this.boundingBox,I||this.xStep,D||this.yStep,this.gState,K||this.matrix);lt.stream=this.stream;var mt=u+"$$"+this.cloneIndex+++"$$";return Tn(mt,lt),lt}var Us=function(u,v){var I=ke[u.key],D=Ut[I];if(D instanceof $r)P("q"),P(zs(v)),D.gState&&p.setGState(D.gState),P(u.matrix.toString()+" cm"),P("/"+I+" sh"),P("Q");else if(D instanceof xi){var K=new Gt(1,0,0,-1,0,oi());u.matrix&&(K=K.multiply(u.matrix||wr),I=qs.call(D,u.key,u.boundingBox,u.xStep,u.yStep,K).id),P("q"),P("/Pattern cs"),P("/"+I+" scn"),D.gState&&p.setGState(D.gState),P(v),P("Q")}},zs=function(u){switch(u){case"f":case"F":case"n":return"W n";case"f*":return"W* n";case"B":case"S":return"W S";case"B*":return"W* S"}},Br=p.moveTo=function(u,v){return P(X(z(u))+" "+X(U(v))+" m"),this},Ka=p.lineTo=function(u,v){return P(X(z(u))+" "+X(U(v))+" l"),this},Mr=p.curveTo=function(u,v,I,D,K,lt){return P([X(z(u)),X(U(v)),X(z(I)),X(U(D)),X(z(K)),X(U(lt)),"c"].join(" ")),this};p.__private__.line=p.line=function(u,v,I,D,K){if(isNaN(u)||isNaN(v)||isNaN(I)||isNaN(D)||!lr(K))throw new Error("Invalid arguments passed to jsPDF.line");return q===V?this.lines([[I-u,D-v]],u,v,[1,1],K||"S"):this.lines([[I-u,D-v]],u,v,[1,1]).stroke()},p.__private__.lines=p.lines=function(u,v,I,D,K,lt){var mt,Et,Ft,Xt,te,de,$e,Ne,Ae,Fe,Re,Te;if(typeof u=="number"&&(Te=I,I=v,v=u,u=Te),D=D||[1,1],lt=lt||!1,isNaN(v)||isNaN(I)||!Array.isArray(u)||!Array.isArray(D)||!lr(K)||typeof lt!="boolean")throw new Error("Invalid arguments passed to jsPDF.lines");for(Br(v,I),mt=D[0],Et=D[1],Xt=u.length,Fe=v,Re=I,Ft=0;Ft>8&255,n>>16&255,n>>24&255)},na.prototype.toHexString=function(n){return n.split("").map(function(e){return("0"+(255&e.charCodeAt(0)).toString(16)).slice(-2)}).join("")},na.prototype.hexToBytes=function(n){for(var e=[],t=0;t>8&255,n>>16&255,255&e,e>>8&255)).substr(0,10);return function(i){return Yo(t,i)}},Ta.prototype.equals=function(n){var e,t="id,objectNumber,equals";if(!n||_e(n)!==_e(this))return!1;var i=0;for(e in this)if(!(t.indexOf(e)>=0)){if(this.hasOwnProperty(e)&&!n.hasOwnProperty(e)||this[e]!==n[e])return!1;i++}for(e in n)n.hasOwnProperty(e)&&t.indexOf(e)<0&&i--;return i===0},Mt.API={events:[]},Mt.version="4.2.1";var ze=Mt.API,tl=1,Ci=function(n){return n.replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},ta=function(n){return n.replace(/\\\\/g,"\\").replace(/\\\(/g,"(").replace(/\\\)/g,")")},Pi=function(n){return n.toString().replace(/#/g,"#23").replace(/[\s\n\r()<>[\]{}\/%]/g,function(e){var t=e.charCodeAt(0).toString(16).toUpperCase();return"#"+(t.length===1?"0"+t:t)})},$t=function(n){return n.toFixed(2)},Xr=function(n){return n.toFixed(5)};ze.__acroform__={};var Pn=function(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n},Fu=function(n){return n*tl},pr=function(n){var e=new Ff,t=It.internal.getHeight(n)||0,i=It.internal.getWidth(n)||0;return e.BBox=[0,0,Number($t(i)),Number($t(t))],e},B1=ze.__acroform__.setBit=function(n,e){if(n=n||0,e=e||0,isNaN(n)||isNaN(e))throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBit");return n|1<0;){e="",a--;var d,m,_=Ss("3",n,a).height,k=n.multiline?c-a:(c-_)/2,p=k+=2,j=0,O=0,M=0;if(a<=0){e=`(...) Tj +`,e+="% Width of Text: "+Ss(e,n,a=12).width+", FieldWidth:"+l+` +`;break}for(var S="",V=0,G=0;Gc)continue t;S+=s[G][M],q=!0,O=G,G--}else{S=(S+=s[G][M]+" ").substr(S.length-1)==" "?S.substr(0,S.length-1):S;var it=parseInt(G),vt=h(it,S,a),dt=G>=s.length-1;if(vt&&!dt){S+=" ",M=0;continue}if(vt||dt){if(dt)O=it;else if(n.multiline&&(_+2)*(V+2)+2>c)continue t}else{if(!n.multiline||(_+2)*(V+2)+2>c)continue t;O=it}}for(var X="",R=j;R<=O;R++){var tt=s[R];if(n.multiline){if(R===O){X+=tt[M]+" ",M=(M+1)%tt.length;continue}if(R===j){X+=tt[tt.length-1]+" ";continue}}X+=tt[0]+" "}switch(X=X.substr(X.length-1)==" "?X.substr(0,X.length-1):X,m=Ss(X,n,a).width,n.textAlign){case"right":d=l-m-2;break;case"center":d=(l-m)/2;break;default:d=2}e+=$t(d)+" "+$t(p)+` Td +`,e+="("+Ci(X)+`) Tj +`,e+=-$t(d)+` 0 Td +`,p=-(a+2),m=0,j=q?O:O+1,V++,S=""}break}return i.text=e,i.fontSize=a,i},Ss=function(n,e,t){var i=e.scope.internal.getFont(e.fontName,e.fontStyle),s=e.scope.getStringUnitWidth(n,{font:i,fontSize:parseFloat(t),charSpace:0})*parseFloat(t);return{height:e.scope.getStringUnitWidth("3",{font:i,fontSize:parseFloat(t),charSpace:0})*parseFloat(t)*1.5,width:s}},q1={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},U1=function(n,e){var t={type:"reference",object:n};e.internal.getPageInfo(n.page).pageContext.annotations.find(function(i){return i.type===t.type&&i.object===t.object})===void 0&&e.internal.getPageInfo(n.page).pageContext.annotations.push(t)},z1=function(n,e){if(e.scope=n,n.internal!==void 0&&(n.internal.acroformPlugin===void 0||n.internal.acroformPlugin.isInitialized===!1)){if(er.FieldNum=0,n.internal.acroformPlugin=JSON.parse(JSON.stringify(q1)),n.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");tl=n.internal.scaleFactor,n.internal.acroformPlugin.acroFormDictionaryRoot=new Ef,n.internal.acroformPlugin.acroFormDictionaryRoot.scope=n,n.internal.acroformPlugin.acroFormDictionaryRoot._eventID=n.internal.events.subscribe("postPutResources",function(){(function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0})(n)}),n.internal.events.subscribe("buildDocument",function(){(function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var i=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var s in i)if(i.hasOwnProperty(s)){var a=i[s];a.objId=void 0,a.hasAnnotation&&U1(a,t)}})(n)}),n.internal.events.subscribe("putCatalog",function(){(function(t){if(t.internal.acroformPlugin.acroFormDictionaryRoot===void 0)throw new Error("putCatalogCallback: Root missing.");t.internal.write("/AcroForm "+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")})(n)}),n.internal.events.subscribe("postPutPages",function(t){(function(i,s){var a=!i;for(var c in i||(s.internal.newObjectDeferredBegin(s.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),s.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),i=i||s.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(i.hasOwnProperty(c)){var l=i[c],h=[],d=l.Rect;if(l.Rect&&(l.Rect=T1(l.Rect,s)),s.internal.newObjectDeferredBegin(l.objId,!0),l.DA=It.createDefaultAppearanceStream(l),_e(l)==="object"&&typeof l.getKeyValueListForStream=="function"&&(h=l.getKeyValueListForStream()),l.Rect=d,l.hasAppearanceStream&&!l.appearanceStreamContent){var m=D1(l);h.push({key:"AP",value:"<>"}),s.internal.acroformPlugin.xForms.push(m)}if(l.appearanceStreamContent){var _="";for(var k in l.appearanceStreamContent)if(l.appearanceStreamContent.hasOwnProperty(k)){var p=l.appearanceStreamContent[k];if(_+="/"+k+" ",_+="<<",Object.keys(p).length>=1||Array.isArray(p)){for(var c in p)if(p.hasOwnProperty(c)){var j=p[c];typeof j=="function"&&(j=j.call(s,l)),_+="/"+c+" "+j+" ",s.internal.acroformPlugin.xForms.indexOf(j)>=0||s.internal.acroformPlugin.xForms.push(j)}}else typeof(j=p)=="function"&&(j=j.call(s,l)),_+="/"+c+" "+j,s.internal.acroformPlugin.xForms.indexOf(j)>=0||s.internal.acroformPlugin.xForms.push(j);_+=">>"}h.push({key:"AP",value:`<< +`+_+">>"})}s.internal.putStream({additionalKeyValues:h,objectId:l.objId}),s.internal.out("endobj")}a&&function(O,M){for(var S in O)if(O.hasOwnProperty(S)){var V=S,G=O[S];M.internal.newObjectDeferredBegin(G.objId,!0),_e(G)==="object"&&typeof G.putStream=="function"&&G.putStream(),delete O[V]}}(s.internal.acroformPlugin.xForms,s)})(t,n)}),n.internal.acroformPlugin.isInitialized=!0}},Cf=ze.__acroform__.arrayToPdfArray=function(n,e,t){var i=function(c){return c};if(Array.isArray(n)){for(var s="[",a=0;a0?e:void 0}}),Object.defineProperty(this,"Fields",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,"DA",{enumerable:!1,configurable:!1,get:function(){if(n){var t=function(i){return i};return this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),"("+Ci(t(n))+")"}},set:function(t){n=t}})};Pn(Ef,gr);var er=function n(){gr.call(this);var e=4;Object.defineProperty(this,"F",{enumerable:!1,configurable:!1,get:function(){return e},set:function(S){if(isNaN(S))throw new Error('Invalid value "'+S+'" for attribute F supplied.');e=S}}),Object.defineProperty(this,"showWhenPrinted",{enumerable:!0,configurable:!0,get:function(){return!!Ye(e,3)},set:function(S){S?this.F=Je(e,3):this.F=Ke(e,3)}});var t=0;Object.defineProperty(this,"Ff",{enumerable:!1,configurable:!1,get:function(){return t},set:function(S){if(isNaN(S))throw new Error('Invalid value "'+S+'" for attribute Ff supplied.');t=S}});var i=[];Object.defineProperty(this,"Rect",{enumerable:!1,configurable:!1,get:function(){if(i.length!==0)return i},set:function(S){i=S!==void 0?S:[]}}),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,get:function(){return!i||isNaN(i[0])?0:i[0]},set:function(S){i[0]=S}}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,get:function(){return!i||isNaN(i[1])?0:i[1]},set:function(S){i[1]=S}}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,get:function(){return!i||isNaN(i[2])?0:i[2]},set:function(S){i[2]=S}}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,get:function(){return!i||isNaN(i[3])?0:i[3]},set:function(S){i[3]=S}});var s="";Object.defineProperty(this,"FT",{enumerable:!0,configurable:!1,get:function(){return s},set:function(S){switch(S){case"/Btn":case"/Tx":case"/Ch":case"/Sig":s=S;break;default:throw new Error('Invalid value "'+S+'" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,"T",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof Es)return;a="FieldObject"+n.FieldNum++}var S=function(V){return V};return this.scope&&(S=this.scope.internal.getEncryptor(this.objId)),"("+Ci(S(a))+")"},set:function(S){a=S.toString()}}),Object.defineProperty(this,"fieldName",{configurable:!0,enumerable:!0,get:function(){return a},set:function(S){a=S}});var c="helvetica";Object.defineProperty(this,"fontName",{enumerable:!0,configurable:!0,get:function(){return c},set:function(S){c=S}});var l="normal";Object.defineProperty(this,"fontStyle",{enumerable:!0,configurable:!0,get:function(){return l},set:function(S){l=S}});var h=0;Object.defineProperty(this,"fontSize",{enumerable:!0,configurable:!0,get:function(){return h},set:function(S){h=S}});var d=void 0;Object.defineProperty(this,"maxFontSize",{enumerable:!0,configurable:!0,get:function(){return d===void 0?50/tl:d},set:function(S){d=S}});var m="black";Object.defineProperty(this,"color",{enumerable:!0,configurable:!0,get:function(){return m},set:function(S){m=S}});var _="/F1 0 Tf 0 g";Object.defineProperty(this,"DA",{enumerable:!0,configurable:!1,get:function(){if(!(!_||this instanceof Es||this instanceof Qr))return jo(_,this.objId,this.scope)},set:function(S){S=S.toString(),_=S}});var k=null;Object.defineProperty(this,"DV",{enumerable:!1,configurable:!1,get:function(){if(k)return this instanceof rn==0?jo(k,this.objId,this.scope):k},set:function(S){S=S.toString(),k=this instanceof rn==0?S.substr(0,1)==="("?ta(S.substr(1,S.length-2)):ta(S):S}}),Object.defineProperty(this,"defaultValue",{enumerable:!0,configurable:!0,get:function(){return this instanceof rn==1?ta(k.substr(1,k.length-1)):k},set:function(S){S=S.toString(),k=this instanceof rn==1?"/"+Pi(S):S}});var p=null;Object.defineProperty(this,"_V",{enumerable:!1,configurable:!1,get:function(){if(p)return p},set:function(S){this.V=S}}),Object.defineProperty(this,"V",{enumerable:!1,configurable:!1,get:function(){if(p)return this instanceof rn==0?jo(p,this.objId,this.scope):p},set:function(S){S=S.toString(),p=this instanceof rn==0?S.substr(0,1)==="("?ta(S.substr(1,S.length-2)):ta(S):S}}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,get:function(){return this instanceof rn==1?ta(p.substr(1,p.length-1)):p},set:function(S){S=S.toString(),p=this instanceof rn==1?"/"+Pi(S):S}}),Object.defineProperty(this,"hasAnnotation",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,"Type",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?"/Annot":null}}),Object.defineProperty(this,"Subtype",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?"/Widget":null}});var j,O=!1;Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return O},set:function(S){S=!!S,O=S}}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,get:function(){if(j)return j},set:function(S){j=S}}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,1)},set:function(S){S?this.Ff=Je(this.Ff,1):this.Ff=Ke(this.Ff,1)}}),Object.defineProperty(this,"required",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,2)},set:function(S){S?this.Ff=Je(this.Ff,2):this.Ff=Ke(this.Ff,2)}}),Object.defineProperty(this,"noExport",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,3)},set:function(S){S?this.Ff=Je(this.Ff,3):this.Ff=Ke(this.Ff,3)}});var M=null;Object.defineProperty(this,"Q",{enumerable:!0,configurable:!1,get:function(){if(M!==null)return M},set:function(S){if([0,1,2].indexOf(S)===-1)throw new Error('Invalid value "'+S+'" for attribute Q supplied.');M=S}}),Object.defineProperty(this,"textAlign",{get:function(){var S;switch(M){case 0:default:S="left";break;case 1:S="center";break;case 2:S="right"}return S},configurable:!0,enumerable:!0,set:function(S){switch(S){case"right":case 2:M=2;break;case"center":case 1:M=1;break;default:M=0}}})};Pn(er,gr);var _i=function(){er.call(this),this.FT="/Ch",this.V="()",this.fontName="zapfdingbats";var n=0;Object.defineProperty(this,"TI",{enumerable:!0,configurable:!1,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,"topIndex",{enumerable:!0,configurable:!0,get:function(){return n},set:function(t){n=t}});var e=[];Object.defineProperty(this,"Opt",{enumerable:!0,configurable:!1,get:function(){return Cf(e,this.objId,this.scope)},set:function(t){var i,s;s=[],typeof(i=t)=="string"&&(s=function(a,c,l){l||(l=1);for(var h,d=[];h=c.exec(a);)d.push(h[l]);return d}(i,/\((.*?)\)/g)),e=s}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||"").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,i){for(i=i||!1,t=(t=t||"").toString();e.indexOf(t)!==-1&&(e.splice(e.indexOf(t),1),i!==!1););},Object.defineProperty(this,"combo",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,18)},set:function(t){t?this.Ff=Je(this.Ff,18):this.Ff=Ke(this.Ff,18)}}),Object.defineProperty(this,"edit",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,19)},set:function(t){this.combo===!0&&(t?this.Ff=Je(this.Ff,19):this.Ff=Ke(this.Ff,19))}}),Object.defineProperty(this,"sort",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,20)},set:function(t){t?(this.Ff=Je(this.Ff,20),e.sort()):this.Ff=Ke(this.Ff,20)}}),Object.defineProperty(this,"multiSelect",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,22)},set:function(t){t?this.Ff=Je(this.Ff,22):this.Ff=Ke(this.Ff,22)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,23)},set:function(t){t?this.Ff=Je(this.Ff,23):this.Ff=Ke(this.Ff,23)}}),Object.defineProperty(this,"commitOnSelChange",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,27)},set:function(t){t?this.Ff=Je(this.Ff,27):this.Ff=Ke(this.Ff,27)}}),this.hasAppearanceStream=!1};Pn(_i,er);var Ai=function(){_i.call(this),this.fontName="helvetica",this.combo=!1};Pn(Ai,_i);var Ni=function(){Ai.call(this),this.combo=!0};Pn(Ni,Ai);var Ea=function(){Ni.call(this),this.edit=!0};Pn(Ea,Ni);var rn=function(){er.call(this),this.FT="/Btn",Object.defineProperty(this,"noToggleToOff",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,15)},set:function(t){t?this.Ff=Je(this.Ff,15):this.Ff=Ke(this.Ff,15)}}),Object.defineProperty(this,"radio",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,16)},set:function(t){t?this.Ff=Je(this.Ff,16):this.Ff=Ke(this.Ff,16)}}),Object.defineProperty(this,"pushButton",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,17)},set:function(t){t?this.Ff=Je(this.Ff,17):this.Ff=Ke(this.Ff,17)}}),Object.defineProperty(this,"radioIsUnison",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,26)},set:function(t){t?this.Ff=Je(this.Ff,26):this.Ff=Ke(this.Ff,26)}});var n,e={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var t=function(a){return a};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),Object.keys(e).length!==0){var i,s=[];for(i in s.push("<<"),e)s.push("/"+i+" ("+Ci(t(e[i]))+")");return s.push(">>"),s.join(` +`)}},set:function(t){_e(t)==="object"&&(e=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(t){typeof t=="string"&&(e.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){var i=t==null?"":t.toString();i.substr(0,1)==="/"&&(i=i.substr(1)),n="/"+Pi(i)}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){n="/"+Pi(t)}})};Pn(rn,er);var Oa=function(){rn.call(this),this.pushButton=!0};Pn(Oa,rn);var Li=function(){rn.call(this),this.radio=!0,this.pushButton=!1;var n=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return n},set:function(e){n=e!==void 0?e:[]}})};Pn(Li,rn);var Es=function(){var n,e;er.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return n},set:function(s){n=s}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(s){e=s}});var t,i={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var s=function(l){return l};this.scope&&(s=this.scope.internal.getEncryptor(this.objId));var a,c=[];for(a in c.push("<<"),i)c.push("/"+a+" ("+Ci(s(i[a]))+")");return c.push(">>"),c.join(` +`)},set:function(s){_e(s)==="object"&&(i=s)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return i.CA||""},set:function(s){typeof s=="string"&&(i.CA=s)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return t},set:function(s){var a=s==null?"":s.toString();a.substr(0,1)==="/"&&(a=a.substr(1)),t="/"+Pi(a)}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(s){var a=s==null?"":s.toString();a.substr(0,1)==="/"&&(a=a.substr(1)),t="/"+Pi(a)}}),this.caption="l",this.appearanceState="Off",this._AppearanceType=It.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};Pn(Es,er),Li.prototype.setAppearance=function(n){if(!("createAppearanceStream"in n)||!("getCA"in n))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var t=this.Kids[e];t.appearanceStreamContent=n.createAppearanceStream(t.optionName),t.caption=n.getCA()}},Li.prototype.createOption=function(n){var e=new Es;return e.Parent=this,e.optionName=n,this.Kids.push(e),H1.call(this.scope,e),e};var ja=function(){rn.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=It.CheckBox.createAppearanceStream()};Pn(ja,rn);var Qr=function(){er.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,13)},set:function(e){e?this.Ff=Je(this.Ff,13):this.Ff=Ke(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,21)},set:function(e){e?this.Ff=Je(this.Ff,21):this.Ff=Ke(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,23)},set:function(e){e?this.Ff=Je(this.Ff,23):this.Ff=Ke(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,24)},set:function(e){e?this.Ff=Je(this.Ff,24):this.Ff=Ke(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,25)},set:function(e){e?this.Ff=Je(this.Ff,25):this.Ff=Ke(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,26)},set:function(e){e?this.Ff=Je(this.Ff,26):this.Ff=Ke(this.Ff,26)}});var n=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return n},set:function(e){n=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return n},set:function(e){Number.isInteger(e)&&(n=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};Pn(Qr,er);var Ba=function(){Qr.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return!!Ye(this.Ff,14)},set:function(n){n?this.Ff=Je(this.Ff,14):this.Ff=Ke(this.Ff,14)}}),this.password=!0};Pn(Ba,Qr);var It={CheckBox:{createAppearanceStream:function(){return{N:{On:It.CheckBox.YesNormal},D:{On:It.CheckBox.YesPushDown,Off:It.CheckBox.OffPushDown}}},YesPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=[],i=n.scope.internal.getFont(n.fontName,n.fontStyle).id,s=n.scope.__private__.encodeColorString(n.color),a=Jo(n,n.caption);return t.push("0.749023 g"),t.push("0 0 "+$t(It.internal.getWidth(n))+" "+$t(It.internal.getHeight(n))+" re"),t.push("f"),t.push("BMC"),t.push("q"),t.push("0 0 1 rg"),t.push("/"+i+" "+$t(a.fontSize)+" Tf "+s),t.push("BT"),t.push(a.text),t.push("ET"),t.push("Q"),t.push("EMC"),e.stream=t.join(` +`),e},YesNormal:function(n){var e=pr(n);e.scope=n.scope;var t=n.scope.internal.getFont(n.fontName,n.fontStyle).id,i=n.scope.__private__.encodeColorString(n.color),s=[],a=It.internal.getHeight(n),c=It.internal.getWidth(n),l=Jo(n,n.caption);return s.push("1 g"),s.push("0 0 "+$t(c)+" "+$t(a)+" re"),s.push("f"),s.push("q"),s.push("0 0 1 rg"),s.push("0 0 "+$t(c-1)+" "+$t(a-1)+" re"),s.push("W"),s.push("n"),s.push("0 g"),s.push("BT"),s.push("/"+t+" "+$t(l.fontSize)+" Tf "+i),s.push(l.text),s.push("ET"),s.push("Q"),e.stream=s.join(` +`),e},OffPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=[];return t.push("0.749023 g"),t.push("0 0 "+$t(It.internal.getWidth(n))+" "+$t(It.internal.getHeight(n))+" re"),t.push("f"),e.stream=t.join(` +`),e}},RadioButton:{Circle:{createAppearanceStream:function(n){var e={D:{Off:It.RadioButton.Circle.OffPushDown},N:{}};return e.N[n]=It.RadioButton.Circle.YesNormal,e.D[n]=It.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(n){var e=pr(n);e.scope=n.scope;var t=[],i=It.internal.getWidth(n)<=It.internal.getHeight(n)?It.internal.getWidth(n)/4:It.internal.getHeight(n)/4;i=Number((.9*i).toFixed(5));var s=It.internal.Bezier_C,a=Number((i*s).toFixed(5));return t.push("q"),t.push("1 0 0 1 "+Xr(It.internal.getWidth(n)/2)+" "+Xr(It.internal.getHeight(n)/2)+" cm"),t.push(i+" 0 m"),t.push(i+" "+a+" "+a+" "+i+" 0 "+i+" c"),t.push("-"+a+" "+i+" -"+i+" "+a+" -"+i+" 0 c"),t.push("-"+i+" -"+a+" -"+a+" -"+i+" 0 -"+i+" c"),t.push(a+" -"+i+" "+i+" -"+a+" "+i+" 0 c"),t.push("f"),t.push("Q"),e.stream=t.join(` +`),e},YesPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=[],i=It.internal.getWidth(n)<=It.internal.getHeight(n)?It.internal.getWidth(n)/4:It.internal.getHeight(n)/4;i=Number((.9*i).toFixed(5));var s=Number((2*i).toFixed(5)),a=Number((s*It.internal.Bezier_C).toFixed(5)),c=Number((i*It.internal.Bezier_C).toFixed(5));return t.push("0.749023 g"),t.push("q"),t.push("1 0 0 1 "+Xr(It.internal.getWidth(n)/2)+" "+Xr(It.internal.getHeight(n)/2)+" cm"),t.push(s+" 0 m"),t.push(s+" "+a+" "+a+" "+s+" 0 "+s+" c"),t.push("-"+a+" "+s+" -"+s+" "+a+" -"+s+" 0 c"),t.push("-"+s+" -"+a+" -"+a+" -"+s+" 0 -"+s+" c"),t.push(a+" -"+s+" "+s+" -"+a+" "+s+" 0 c"),t.push("f"),t.push("Q"),t.push("0 g"),t.push("q"),t.push("1 0 0 1 "+Xr(It.internal.getWidth(n)/2)+" "+Xr(It.internal.getHeight(n)/2)+" cm"),t.push(i+" 0 m"),t.push(i+" "+c+" "+c+" "+i+" 0 "+i+" c"),t.push("-"+c+" "+i+" -"+i+" "+c+" -"+i+" 0 c"),t.push("-"+i+" -"+c+" -"+c+" -"+i+" 0 -"+i+" c"),t.push(c+" -"+i+" "+i+" -"+c+" "+i+" 0 c"),t.push("f"),t.push("Q"),e.stream=t.join(` +`),e},OffPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=[],i=It.internal.getWidth(n)<=It.internal.getHeight(n)?It.internal.getWidth(n)/4:It.internal.getHeight(n)/4;i=Number((.9*i).toFixed(5));var s=Number((2*i).toFixed(5)),a=Number((s*It.internal.Bezier_C).toFixed(5));return t.push("0.749023 g"),t.push("q"),t.push("1 0 0 1 "+Xr(It.internal.getWidth(n)/2)+" "+Xr(It.internal.getHeight(n)/2)+" cm"),t.push(s+" 0 m"),t.push(s+" "+a+" "+a+" "+s+" 0 "+s+" c"),t.push("-"+a+" "+s+" -"+s+" "+a+" -"+s+" 0 c"),t.push("-"+s+" -"+a+" -"+a+" -"+s+" 0 -"+s+" c"),t.push(a+" -"+s+" "+s+" -"+a+" "+s+" 0 c"),t.push("f"),t.push("Q"),e.stream=t.join(` +`),e}},Cross:{createAppearanceStream:function(n){var e={D:{Off:It.RadioButton.Cross.OffPushDown},N:{}};return e.N[n]=It.RadioButton.Cross.YesNormal,e.D[n]=It.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(n){var e=pr(n);e.scope=n.scope;var t=[],i=It.internal.calculateCross(n);return t.push("q"),t.push("1 1 "+$t(It.internal.getWidth(n)-2)+" "+$t(It.internal.getHeight(n)-2)+" re"),t.push("W"),t.push("n"),t.push($t(i.x1.x)+" "+$t(i.x1.y)+" m"),t.push($t(i.x2.x)+" "+$t(i.x2.y)+" l"),t.push($t(i.x4.x)+" "+$t(i.x4.y)+" m"),t.push($t(i.x3.x)+" "+$t(i.x3.y)+" l"),t.push("s"),t.push("Q"),e.stream=t.join(` +`),e},YesPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=It.internal.calculateCross(n),i=[];return i.push("0.749023 g"),i.push("0 0 "+$t(It.internal.getWidth(n))+" "+$t(It.internal.getHeight(n))+" re"),i.push("f"),i.push("q"),i.push("1 1 "+$t(It.internal.getWidth(n)-2)+" "+$t(It.internal.getHeight(n)-2)+" re"),i.push("W"),i.push("n"),i.push($t(t.x1.x)+" "+$t(t.x1.y)+" m"),i.push($t(t.x2.x)+" "+$t(t.x2.y)+" l"),i.push($t(t.x4.x)+" "+$t(t.x4.y)+" m"),i.push($t(t.x3.x)+" "+$t(t.x3.y)+" l"),i.push("s"),i.push("Q"),e.stream=i.join(` +`),e},OffPushDown:function(n){var e=pr(n);e.scope=n.scope;var t=[];return t.push("0.749023 g"),t.push("0 0 "+$t(It.internal.getWidth(n))+" "+$t(It.internal.getHeight(n))+" re"),t.push("f"),e.stream=t.join(` +`),e}}},createDefaultAppearanceStream:function(n){var e=n.scope.internal.getFont(n.fontName,n.fontStyle).id,t=n.scope.__private__.encodeColorString(n.color);return"/"+e+" "+n.fontSize+" Tf "+t}};It.internal={Bezier_C:.551915024494,calculateCross:function(n){var e=It.internal.getWidth(n),t=It.internal.getHeight(n),i=Math.min(e,t);return{x1:{x:(e-i)/2,y:(t-i)/2+i},x2:{x:(e-i)/2+i,y:(t-i)/2},x3:{x:(e-i)/2,y:(t-i)/2},x4:{x:(e-i)/2+i,y:(t-i)/2+i}}}},It.internal.getWidth=function(n){var e=0;return _e(n)==="object"&&(e=Fu(n.Rect[2])),e},It.internal.getHeight=function(n){var e=0;return _e(n)==="object"&&(e=Fu(n.Rect[3])),e};var H1=ze.addField=function(n){if(z1(this,n),!(n instanceof er))throw new Error("Invalid argument passed to jsPDF.addField.");var e;return(e=n).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),n.page=n.scope.internal.getCurrentPageInfo().pageNumber,this};ze.AcroFormChoiceField=_i,ze.AcroFormListBox=Ai,ze.AcroFormComboBox=Ni,ze.AcroFormEditBox=Ea,ze.AcroFormButton=rn,ze.AcroFormPushButton=Oa,ze.AcroFormRadioButton=Li,ze.AcroFormCheckBox=ja,ze.AcroFormTextField=Qr,ze.AcroFormPasswordField=Ba,ze.AcroFormAppearance=It,ze.AcroForm={ChoiceField:_i,ListBox:Ai,ComboBox:Ni,EditBox:Ea,Button:rn,PushButton:Oa,RadioButton:Li,CheckBox:ja,TextField:Qr,PasswordField:Ba,Appearance:It},Mt.AcroForm={ChoiceField:_i,ListBox:Ai,ComboBox:Ni,EditBox:Ea,Button:rn,PushButton:Oa,RadioButton:Li,CheckBox:ja,TextField:Qr,PasswordField:Ba,Appearance:It};var W1=Mt.AcroForm;function Of(n){return n.reduce(function(e,t,i){return e[t]=i,e},{})}(function(n){var e="addImage_";n.__addimage__={};var t="UNKNOWN",i={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},s=n.__addimage__.getImageFileTypeByImageData=function(N,E){var z,U,rt,ot,ft,nt=t;if((E=E||t)==="RGBA"||N.data!==void 0&&N.data instanceof Uint8ClampedArray&&"height"in N&&"width"in N)return"RGBA";if(vt(N))for(ft in i)for(rt=i[ft],z=0;z>"}),"transparency"in E&&Array.isArray(E.transparency)&&E.transparency.length>0){for(var ft="",nt=0,ct=E.transparency.length;nt>",O.content=a;var G=O.objId+" 0 R";a="<>";else if(i.options.pageNumber)switch(a="<=0};n.__arabicParser__.arabicLetterHasIsolatedForm=function(O){return c(O)&&a(O)&&e[O.charCodeAt(0)].length>=1};var d=n.__arabicParser__.arabicLetterHasFinalForm=function(O){return c(O)&&a(O)&&e[O.charCodeAt(0)].length>=2};n.__arabicParser__.arabicLetterHasInitialForm=function(O){return c(O)&&a(O)&&e[O.charCodeAt(0)].length>=3};var m=n.__arabicParser__.arabicLetterHasMedialForm=function(O){return c(O)&&a(O)&&e[O.charCodeAt(0)].length==4},_=n.__arabicParser__.resolveLigatures=function(O){var M=0,S=t,V="",G=0;for(M=0;M>"),this.internal.out("endobj")}),this.internal.events.subscribe("putCatalog",function(){this.internal.out("/OpenAction "+e+" 0 R")})),this},function(n){var e=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(l){t=l}});var i=150;Object.defineProperty(this,"width",{get:function(){return i},set:function(l){i=isNaN(l)||Number.isInteger(l)===!1||l<0?150:l,this.getContext("2d").pageWrapXEnabled&&(this.getContext("2d").pageWrapX=i+1)}});var s=300;Object.defineProperty(this,"height",{get:function(){return s},set:function(l){s=isNaN(l)||Number.isInteger(l)===!1||l<0?300:l,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=s+1)}});var a=[];Object.defineProperty(this,"childNodes",{get:function(){return a},set:function(l){a=l}});var c={};Object.defineProperty(this,"style",{get:function(){return c},set:function(l){c=l}}),Object.defineProperty(this,"parentNode",{})};e.prototype.getContext=function(t,i){var s;if((t=t||"2d")!=="2d")return null;for(s in i)this.pdf.context2d.hasOwnProperty(s)&&(this.pdf.context2d[s]=i[s]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error("toDataURL is not implemented.")},n.events.push(["initialized",function(){this.canvas=new e,this.canvas.pdf=this}])}(Mt.API),function(n){var e={left:0,top:0,bottom:0,right:0},t=!1,i=function(){this.internal.__cell__===void 0&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},e),this.internal.__cell__.margins.width=this.getPageWidth(),s.call(this))},s=function(){this.internal.__cell__.lastCell=new a,this.internal.__cell__.pages=1},a=function(){var h=arguments[0];Object.defineProperty(this,"x",{enumerable:!0,get:function(){return h},set:function(O){h=O}});var d=arguments[1];Object.defineProperty(this,"y",{enumerable:!0,get:function(){return d},set:function(O){d=O}});var m=arguments[2];Object.defineProperty(this,"width",{enumerable:!0,get:function(){return m},set:function(O){m=O}});var _=arguments[3];Object.defineProperty(this,"height",{enumerable:!0,get:function(){return _},set:function(O){_=O}});var k=arguments[4];Object.defineProperty(this,"text",{enumerable:!0,get:function(){return k},set:function(O){k=O}});var p=arguments[5];Object.defineProperty(this,"lineNumber",{enumerable:!0,get:function(){return p},set:function(O){p=O}});var j=arguments[6];return Object.defineProperty(this,"align",{enumerable:!0,get:function(){return j},set:function(O){j=O}}),this};a.prototype.clone=function(){return new a(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},a.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},n.setHeaderFunction=function(h){return i.call(this),this.internal.__cell__.headerFunction=typeof h=="function"?h:void 0,this},n.getTextDimensions=function(h,d){i.call(this);var m=(d=d||{}).fontSize||this.getFontSize(),_=d.font||this.getFont(),k=d.scaleFactor||this.internal.scaleFactor,p=0,j=0,O=0,M=this;if(!Array.isArray(h)&&typeof h!="string"){if(typeof h!="number")throw new Error("getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.");h=String(h)}var S=d.maxWidth;S>0?typeof h=="string"?h=this.splitTextToSize(h,S):Object.prototype.toString.call(h)==="[object Array]"&&(h=h.reduce(function(G,q){return G.concat(M.splitTextToSize(q,S))},[])):h=Array.isArray(h)?h:[h];for(var V=0;Vthis.getPageHeight()?(this.cellAddPage(),h.y=_.top,p&&k&&(this.printHeaderRow(h.lineNumber,!0),h.y+=k[0].height)):h.y=d.y+d.height||h.y),h.text[0]!==void 0&&(this.rect(h.x,h.y,h.width,h.height,t===!0?"FD":void 0),h.align==="right"?this.text(h.text,h.x+h.width-m,h.y+m,{align:"right",baseline:"top"}):h.align==="center"?this.text(h.text,h.x+h.width/2,h.y+m,{align:"center",baseline:"top",maxWidth:h.width-m-m}):this.text(h.text,h.x+m,h.y+m,{align:"left",baseline:"top",maxWidth:h.width-m-m})),this.internal.__cell__.lastCell=h,this};n.table=function(h,d,m,_,k){if(i.call(this),!m)throw new Error("No data for PDF table.");var p,j,O,M,S=[],V=[],G=[],q={},it={},vt=[],dt=[],X=(k=k||{}).autoSize||!1,R=k.printHeaders!==!1,tt=k.css&&k.css["font-size"]!==void 0?16*k.css["font-size"]:k.fontSize||12,N=k.margins||Object.assign({width:this.getPageWidth()},e),E=typeof k.padding=="number"?k.padding:3,z=k.headerBackgroundColor||"#c8c8c8",U=k.headerTextColor||"#000";if(s.call(this),this.internal.__cell__.printHeaders=R,this.internal.__cell__.margins=N,this.internal.__cell__.table_font_size=tt,this.internal.__cell__.padding=E,this.internal.__cell__.headerBackgroundColor=z,this.internal.__cell__.headerTextColor=U,this.setFontSize(tt),_==null)V=S=Object.keys(m[0]),G=S.map(function(){return"left"});else if(Array.isArray(_)&&_e(_[0])==="object")for(S=_.map(function(At){return At.name}),V=_.map(function(At){return At.prompt||At.name||""}),G=_.map(function(At){return At.align||"left"}),p=0;p<_.length;p+=1)it[_[p].name]=.7499990551181103*_[p].width;else Array.isArray(_)&&typeof _[0]=="string"&&(V=S=_,G=S.map(function(){return"left"}));if(X||Array.isArray(_)&&typeof _[0]=="string")for(p=0;p0&&this.setTableHeaderRow(k),this.setFont(void 0,"normal"),t=!1}}(Mt.API);var jf={italic:["italic","oblique","normal"],oblique:["oblique","italic","normal"],normal:["normal","oblique","italic"]},Bf=["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded"],Ko=Of(Bf),Mf=[100,200,300,400,500,600,700,800,900],V1=Of(Mf);function Bo(n){var e=n.family.replace(/"|'/g,"").toLowerCase(),t=function(a){return jf[a=a||"normal"]?a:"normal"}(n.style),i=function(a){return a?typeof a=="number"?a>=100&&a<=900&&a%100==0?a:400:/^\d00$/.test(a)?parseInt(a):a==="bold"?700:400:400}(n.weight),s=function(a){return typeof Ko[a=a||"normal"]=="number"?a:"normal"}(n.stretch);return{family:e,style:t,weight:i,stretch:s,src:n.src||[],ref:n.ref||{name:e,style:[s,t,i].join(" ")}}}function Eu(n,e,t,i){var s;for(s=t;s>=0&&s=0&&s>>1)&255}return s}function Hu(n,e,t){var i=n.length,s=[];s[0]=4;for(var a=0;a>a&c}function Wu(n,e,t,i){var s=t*i,a=Math.floor(s/8),c=16-(s-8*a+i),l=(1<>8&255;d.setUint8(m,k)}})(n,a,Rf(n,a)&~(l<>7,c=1<<1+(7&s);n[e++],n[e++];var l=null,h=null;a&&(l=e,h=c,e+=3*c);var d=!0,m=[],_=0,k=null,p=0,j=null;for(this.width=t,this.height=i;d&&e=0))throw Error("Invalid block size");if(N===0)break;e+=N}break;case 249:if(n[e++]!==4||n[e+4]!==0)throw new Error("Invalid graphics extension block.");var O=n[e++];_=n[e++]|n[e++]<<8,k=n[e++],1&O||(k=null),p=O>>2&7,e++;break;case 254:for(;;){if(!((N=n[e++])>=0))throw Error("Invalid block size");if(N===0)break;e+=N}break;default:throw new Error("Unknown graphic control label: 0x"+n[e-1].toString(16))}break;case 44:var M=n[e++]|n[e++]<<8,S=n[e++]|n[e++]<<8,V=n[e++]|n[e++]<<8,G=n[e++]|n[e++]<<8,q=n[e++],it=q>>6&1,vt=1<<1+(7&q),dt=l,X=h,R=!1;q>>7&&(R=!0,dt=e,X=vt,e+=3*vt);var tt=e;for(e++;;){var N;if(!((N=n[e++])>=0))throw Error("Invalid block size");if(N===0)break;e+=N}m.push({x:M,y:S,width:V,height:G,has_local_palette:R,palette_offset:dt,palette_size:X,data_offset:tt,data_length:e-tt,transparent_index:k,interlaced:!!it,delay:_,disposal:p});break;case 59:d=!1;break;default:throw new Error("Unknown gif block: 0x"+n[e-1].toString(16))}this.numFrames=function(){return m.length},this.loopCount=function(){return j},this.frameInfo=function(E){if(E<0||E>=m.length)throw new Error("Frame index out of range.");return m[E]},this.decodeAndBlitFrameBGRA=function(E,z){var U=this.frameInfo(E),rt=U.width*U.height;if(rt>536870912)throw new Error("Image dimensions exceed 512MB, which is too large.");var ot=new Uint8Array(rt);Vu(n,U.data_offset,ot,rt);var ft=U.palette_offset,nt=U.transparent_index;nt===null&&(nt=256);var ct=U.width,At=t-ct,wt=ct,x=4*(U.y*t+U.x),B=4*((U.y+U.height)*t+U.x),T=x,H=4*At;U.interlaced===!0&&(H+=4*t*7);for(var J=8,Z=0,at=ot.length;Z=B&&(H=4*At+4*t*(J-1),T=x+(ct+At)*(J<<1),J>>=1)),st===nt)T+=4;else{var gt=n[ft+3*st],_t=n[ft+3*st+1],kt=n[ft+3*st+2];z[T++]=kt,z[T++]=_t,z[T++]=gt,z[T++]=255}--wt}},this.decodeAndBlitFrameRGBA=function(E,z){var U=this.frameInfo(E),rt=U.width*U.height;if(rt>536870912)throw new Error("Image dimensions exceed 512MB, which is too large.");var ot=new Uint8Array(rt);Vu(n,U.data_offset,ot,rt);var ft=U.palette_offset,nt=U.transparent_index;nt===null&&(nt=256);var ct=U.width,At=t-ct,wt=ct,x=4*(U.y*t+U.x),B=4*((U.y+U.height)*t+U.x),T=x,H=4*At;U.interlaced===!0&&(H+=4*t*7);for(var J=8,Z=0,at=ot.length;Z=B&&(H=4*At+4*t*(J-1),T=x+(ct+At)*(J<<1),J>>=1)),st===nt)T+=4;else{var gt=n[ft+3*st],_t=n[ft+3*st+1],kt=n[ft+3*st+2];z[T++]=gt,z[T++]=_t,z[T++]=kt,z[T++]=255}--wt}}}function Vu(n,e,t,i){for(var s=n[e++],a=1<>=h,m-=h,M!==a){if(M===c)break;for(var S=Ma;)G=j[G]>>8,++V;var q=G;if(k+V+(S!==M?1:0)>i)return void Se.log("Warning, gif stream longer than expected.");t[k++]=q;var it=k+=V;for(S!==M&&(t[k++]=q),G=S;V--;)G=j[G],t[--it]=255&G,G>>=8;O!==null&&l<4096&&(j[l++]=O<<8|q,l>=d+1&&h<12&&(++h,d=d<<1|1)),O=M}else l=c+1,d=(1<<(h=s+1))-1,O=null}return k!==i&&Se.log("Warning, gif stream shorter than expected."),t}/** + * @license + Copyright (c) 2008, Adobe Systems Incorporated + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of Adobe Systems Incorporated nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/function To(n){var e,t,i,s,a,c=Math.floor,l=new Array(64),h=new Array(64),d=new Array(64),m=new Array(64),_=new Array(65535),k=new Array(65535),p=new Array(64),j=new Array(64),O=[],M=0,S=7,V=new Array(64),G=new Array(64),q=new Array(64),it=new Array(256),vt=new Array(2048),dt=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],X=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],R=[0,1,2,3,4,5,6,7,8,9,10,11],tt=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],N=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],E=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],z=[0,1,2,3,4,5,6,7,8,9,10,11],U=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],rt=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function ot(x,B){for(var T=0,H=0,J=new Array,Z=1;Z<=16;Z++){for(var at=1;at<=x[Z];at++)J[B[H]]=[],J[B[H]][0]=T,J[B[H]][1]=Z,H++,T++;T*=2}return J}function ft(x){for(var B=x[0],T=x[1]-1;T>=0;)B&1<>8&255),nt(255&x)}function At(x,B,T,H,J){for(var Z,at=J[0],st=J[240],gt=function(yt,Wt){var Ct,zt,qt,ve,ue,Zt,he,fe,Bt,ne,Tt=0;for(Bt=0;Bt<8;++Bt){Ct=yt[Tt],zt=yt[Tt+1],qt=yt[Tt+2],ve=yt[Tt+3],ue=yt[Tt+4],Zt=yt[Tt+5],he=yt[Tt+6];var He=Ct+(fe=yt[Tt+7]),ge=Ct-fe,se=zt+he,oe=zt-he,je=qt+Zt,Ut=qt-Zt,ke=ve+ue,Yt=ve-ue,Qt=He+ke,Be=He-ke,le=se+je,Vt=se-je;yt[Tt]=Qt+le,yt[Tt+4]=Qt-le;var be=.707106781*(Vt+Be);yt[Tt+2]=Be+be,yt[Tt+6]=Be-be;var ei=.382683433*((Qt=Yt+Ut)-(Vt=oe+ge)),hn=.5411961*Qt+ei,vr=1.306562965*Vt+ei,rr=.707106781*(le=Ut+oe),Gt=ge+rr,br=ge-rr;yt[Tt+5]=br+hn,yt[Tt+3]=br-hn,yt[Tt+1]=Gt+vr,yt[Tt+7]=Gt-vr,Tt+=8}for(Tt=0,Bt=0;Bt<8;++Bt){Ct=yt[Tt],zt=yt[Tt+8],qt=yt[Tt+16],ve=yt[Tt+24],ue=yt[Tt+32],Zt=yt[Tt+40],he=yt[Tt+48];var wr=Ct+(fe=yt[Tt+56]),Tn=Ct-fe,Dn=zt+he,De=zt-he,an=qt+Zt,sn=qt-Zt,ni=ve+ue,jr=ve-ue,Gn=wr+ni,ir=wr-ni,Yn=Dn+an,Jn=Dn-an;yt[Tt]=Gn+Yn,yt[Tt+32]=Gn-Yn;var qn=.707106781*(Jn+ir);yt[Tt+16]=ir+qn,yt[Tt+48]=ir-qn;var ri=.382683433*((Gn=jr+sn)-(Jn=De+Tn)),ar=.5411961*Gn+ri,ii=1.306562965*Jn+ri,Fi=.707106781*(Yn=sn+De),Ei=Tn+Fi,Oi=Tn-Fi;yt[Tt+40]=Oi+ar,yt[Tt+24]=Oi-ar,yt[Tt+8]=Ei+ii,yt[Tt+56]=Ei-ii,Tt++}for(Bt=0;Bt<64;++Bt)ne=yt[Bt]*Wt[Bt],p[Bt]=ne>0?ne+.5|0:ne-.5|0;return p}(x,B),_t=0;_t<64;++_t)j[dt[_t]]=gt[_t];var kt=j[0]-T;T=j[0],kt==0?ft(H[0]):(ft(H[k[Z=32767+kt]]),ft(_[Z]));for(var St=63;St>0&&j[St]==0;)St--;if(St==0)return ft(at),T;for(var Dt,P=1;P<=St;){for(var Lt=P;j[P]==0&&P<=St;)++P;var ae=P-Lt;if(ae>=16){Dt=ae>>4;for(var Ht=1;Ht<=Dt;++Ht)ft(st);ae&=15}Z=32767+j[P],ft(J[(ae<<4)+k[Z]]),ft(_[Z]),P++}return St!=63&&ft(at),T}function wt(x){x=Math.min(Math.max(x,1),100),a!=x&&(function(B){for(var T=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],H=0;H<64;H++){var J=c((T[H]*B+50)/100);J=Math.min(Math.max(J,1),255),l[dt[H]]=J}for(var Z=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],at=0;at<64;at++){var st=c((Z[at]*B+50)/100);st=Math.min(Math.max(st,1),255),h[dt[at]]=st}for(var gt=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],_t=0,kt=0;kt<8;kt++)for(var St=0;St<8;St++)d[_t]=1/(l[dt[_t]]*gt[kt]*gt[St]*8),m[_t]=1/(h[dt[_t]]*gt[kt]*gt[St]*8),_t++}(x<50?Math.floor(5e3/x):Math.floor(200-2*x)),a=x)}this.encode=function(x,B){B&&wt(B),O=new Array,M=0,S=7,ct(65496),ct(65504),ct(16),nt(74),nt(70),nt(73),nt(70),nt(0),nt(1),nt(1),nt(0),ct(1),ct(1),nt(0),nt(0),function(){ct(65499),ct(132),nt(0);for(var zt=0;zt<64;zt++)nt(l[zt]);nt(1);for(var qt=0;qt<64;qt++)nt(h[qt])}(),function(zt,qt){ct(65472),ct(17),nt(8),ct(qt),ct(zt),nt(3),nt(1),nt(17),nt(0),nt(2),nt(17),nt(1),nt(3),nt(17),nt(1)}(x.width,x.height),function(){ct(65476),ct(418),nt(0);for(var zt=0;zt<16;zt++)nt(X[zt+1]);for(var qt=0;qt<=11;qt++)nt(R[qt]);nt(16);for(var ve=0;ve<16;ve++)nt(tt[ve+1]);for(var ue=0;ue<=161;ue++)nt(N[ue]);nt(1);for(var Zt=0;Zt<16;Zt++)nt(E[Zt+1]);for(var he=0;he<=11;he++)nt(z[he]);nt(17);for(var fe=0;fe<16;fe++)nt(U[fe+1]);for(var Bt=0;Bt<=161;Bt++)nt(rt[Bt])}(),ct(65498),ct(12),nt(3),nt(1),nt(0),nt(2),nt(17),nt(3),nt(17),nt(0),nt(63),nt(0);var T=0,H=0,J=0;M=0,S=7,this.encode.displayName="_encode_";for(var Z,at,st,gt,_t,kt,St,Dt,P,Lt=x.data,ae=x.width,Ht=x.height,yt=4*ae,Wt=0;Wt>3)*yt+(St=4*(7&P)),Wt+Dt>=Ht&&(kt-=yt*(Wt+1+Dt-Ht)),Z+St>=yt&&(kt-=Z+St-yt+4),at=Lt[kt++],st=Lt[kt++],gt=Lt[kt++],V[P]=(vt[at]+vt[st+256|0]+vt[gt+512|0]>>16)-128,G[P]=(vt[at+768|0]+vt[st+1024|0]+vt[gt+1280|0]>>16)-128,q[P]=(vt[at+1280|0]+vt[st+1536|0]+vt[gt+1792|0]>>16)-128;T=At(V,d,T,e,i),H=At(G,m,H,t,s),J=At(q,m,J,t,s),Z+=32}Wt+=8}if(S>=0){var Ct=[];Ct[1]=S+1,Ct[0]=(1<E;E++)if(R[tt+E]!=N.charCodeAt(E))return!0;return!1}function i(R,tt,N,E,z){for(var U=0;UU+1?[]:new tt),!(rt.length>>0;r&f;)f>>>=1;return f?(r&f-1)+f:r}function N(r,o,f,g,b){e(!(g%f));do r[o+(g-=f)]=b;while(0=b),512>=b)var w=a(512);else if((w=a(b))==null)return 0;return function(y,A,L,C,W,et){var F,Y,$=A,ut=1<F;++F){if(Q[F]>1<(re-=Q[F]))return 0;for(;0=F;++F,W<<=1){if(Pt+=re<<=1,0>(re-=Q[F]))return 0;for(;0xt&&!(0>=(pt-=Q[xt]));)++xt,pt<<=1;ut+=Ot=1<<(pt=xt-L),y[A+(xt=Rt&bt)].g=pt+L,y[A+xt].value=$-A-xt}C.g=F-L,C.value=et[Y++],N(y,$+(Rt>>L),W,Ot,C),Rt=tt(Rt,F)}}return Pt!=2*ht[15]-1?0:ut}(r,o,f,g,b,w)}function z(){this.value=this.g=0}function U(){this.value=this.g=0}function rt(){this.G=c(5,z),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=c(Gi,U)}function ot(r,o,f,g){e(r!=null),e(o!=null),e(2147483648>g),r.Ca=254,r.I=0,r.b=-8,r.Ka=0,r.oa=o,r.pa=f,r.Jd=o,r.Yc=f+g,r.Zc=4<=g?f+g-4+1:f,at(r)}function ft(r,o){for(var f=0;0g),r.Sb=g,r.Ra=0,r.u=0,r.h=0,4>>=8,r.Ra+=r.oa[r.pa+r.bb]<>>0,++r.bb,r.u-=8;H(r)&&(r.h=1,r.u=0)}function wt(r,o){if(e(0<=o),!r.h&&o<=ba){var f=T(r)&pi[o];return r.u+=o,At(r),f}return r.h=1,r.u=0}function x(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function B(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function T(r){return r.Ra>>>(r.u&xn-1)>>>0}function H(r){return e(r.bb<=r.Sb),r.h||r.bb==r.Sb&&r.u>xn}function J(r,o){r.u=o,r.h=H(r)}function Z(r){r.u>=Ln&&(e(r.u>=Ln),At(r))}function at(r){e(r!=null&&r.oa!=null),r.pa>>0,r.b+=8):(e(r!=null&&r.oa!=null),r.par.b&&at(r);var g=r.b,b=f*o>>>8,w=(r.I>>>g>b)+0;for(w?(f-=b,r.I-=b+1<>>0):f=b+1,g=f,b=0;256<=g;)b+=8,g>>=8;return g=7^b+Yi[g],r.b-=g,r.Ca=(f<>24&255,r[o+1]=f>>16&255,r[o+2]=f>>8&255,r[o+3]=255&f}function kt(r,o){return r[o+0]|r[o+1]<<8}function St(r,o){return kt(r,o)|r[o+2]<<16}function Dt(r,o){return kt(r,o)|kt(r,o+2)<<16}function P(r,o){var f=1<=b||0>=w?0:(f[0]=b,g[0]=w,1)}function yt(r,o){return r+(1<>>o}function Wt(r,o){return((4278255360&r)+(4278255360&o)>>>0&4278255360)+((16711935&r)+(16711935&o)>>>0&16711935)>>>0}function Ct(r,o){R[o]=function(f,g,b,w,y,A,L){var C;for(C=0;C>>1)+(r&o)>>>0}function ve(r){return 0<=r&&256>r?r:0>r?0:255>1))}function Zt(r,o,f){return Math.abs(o-f)-Math.abs(r-f)}function he(r,o,f,g,b,w,y){for(g=w[y-1],f=0;f>8&255,L=16711935&(L=(L=16711935&y)+((A<<16)+A));g[b+w]=(4278255360&y)+L>>>0}}function Bt(r,o){o.jd=255&r,o.hd=r>>8&255,o.ud=r>>16&255}function ne(r,o,f,g,b,w){var y;for(y=0;y>>8,C=A,W=255&(W=(W=A>>>16)+((r.jd<<24>>24)*(L<<24>>24)>>>5));C=255&(C=(C+=(r.hd<<24>>24)*(L<<24>>24)>>>5)+((r.ud<<24>>24)*(W<<24>>24)>>>5)),b[w+y]=(4278255360&A)+(W<<16)+C}}function Tt(r,o,f,g,b){R[o]=function(w,y,A,L,C,W,et,F,Y){for(L=et;L>w.b,Y=w.Ea,$=w.K[0],ut=w.w;if(8>F)for(w=(1<>=F}else R["VP8LMapColor"+f](L,C,$,ut,W,et,y,A,Y)}}function He(r,o,f,g,b){for(f=o+f;o>16&255,g[b++]=w>>8&255,g[b++]=255&w}}function ge(r,o,f,g,b){for(f=o+f;o>16&255,g[b++]=w>>8&255,g[b++]=255&w,g[b++]=w>>24&255}}function se(r,o,f,g,b){for(f=o+f;o>16&240|y>>12&15,y=240&y|y>>28&15;g[b++]=w,g[b++]=y}}function oe(r,o,f,g,b){for(f=o+f;o>16&248|y>>13&7,y=y>>5&224|y>>3&31;g[b++]=w,g[b++]=y}}function je(r,o,f,g,b){for(f=o+f;o>8&255,g[b++]=w>>16&255}}function Ut(r,o,f,g,b,w){if(w==0)for(f=o+f;o>24|w[1]>>8&65280|w[2]<<8&16711680|w[3]<<24)>>>0),b+=32;else i(g,b,r,o,f)}function ke(r,o){R[o][0]=R[r+"0"],R[o][1]=R[r+"1"],R[o][2]=R[r+"2"],R[o][3]=R[r+"3"],R[o][4]=R[r+"4"],R[o][5]=R[r+"5"],R[o][6]=R[r+"6"],R[o][7]=R[r+"7"],R[o][8]=R[r+"8"],R[o][9]=R[r+"9"],R[o][10]=R[r+"10"],R[o][11]=R[r+"11"],R[o][12]=R[r+"12"],R[o][13]=R[r+"13"],R[o][14]=R[r+"0"],R[o][15]=R[r+"0"]}function Yt(r){return r==no||r==ro||r==us||r==io}function Qt(){this.eb=[],this.size=this.A=this.fb=0}function Be(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function le(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new Qt,this.f.kb=new Be,this.sd=null}function Vt(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function be(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ei(r){return alert("todo:WebPSamplerProcessPlane"),r.T}function hn(r,o){var f=r.T,g=o.ba.f.RGBA,b=g.eb,w=g.fb+r.ka*g.A,y=Wn[o.ba.S],A=r.y,L=r.O,C=r.f,W=r.N,et=r.ea,F=r.W,Y=o.cc,$=o.dc,ut=o.Mc,Q=o.Nc,ht=r.ka,pt=r.ka+r.T,xt=r.U,bt=xt+1>>1;for(ht==0?y(A,L,null,null,C,W,et,F,C,W,et,F,b,w,null,null,xt):(y(o.ec,o.fc,A,L,Y,$,ut,Q,C,W,et,F,b,w-g.A,b,w,xt),++f);ht+2f,b=f==ss||f==os||f==ls||f==eo||f==12||Yt(f);if(o.memory=null,o.Ib=null,o.Jb=null,o.Nd=null,!zn(o.Oa,r,b?11:12))return 0;if(b&&Yt(f)&&Lr(),r.da)alert("todo:use_scaling");else{if(g){if(o.Ib=ei,r.Kb){if(f=r.U+1>>1,o.memory=a(r.U+2*f),o.memory==null)return 0;o.ec=o.memory,o.fc=0,o.cc=o.ec,o.dc=o.fc+r.U,o.Mc=o.cc,o.Nc=o.dc+f,o.Ib=hn,Lr()}}else alert("todo:EmitYUV");b&&(o.Jb=vr,g&&Te())}if(g&&!_l){for(r=0;256>r;++r)ih[r]=89858*(r-128)+hs>>fs,oh[r]=-22014*(r-128)+hs,sh[r]=-45773*(r-128),ah[r]=113618*(r-128)+hs>>fs;for(r=Na;r>fs,lh[r-Na]=sr(o,255),uh[r-Na]=sr(o+8>>4,15);_l=1}return 1}function Gt(r){var o=r.ma,f=r.U,g=r.T;return e(!(1&r.ka)),0>=f||0>=g?0:(f=o.Ib(r,o),o.Jb!=null&&o.Jb(r,o,f),o.Dc+=f,1)}function br(r){r.ma.memory=null}function wr(r,o,f,g){return wt(r,8)!=47?0:(o[0]=wt(r,14)+1,f[0]=wt(r,14)+1,g[0]=wt(r,1),wt(r,3)!=0?0:!r.h)}function Tn(r,o){if(4>r)return r+1;var f=r-2>>1;return(2+(1&r)<>4)*r+(8-(15&f)))?f:1;var f}function De(r,o,f){var g=T(f),b=r[o+=255&g].g-8;return 0>>0,e(8>=f.g),r.g}function sn(r,o,f){var g=r.xc;return e((o=g==0?0:r.vc[r.md*(f>>g)+(o>>g)])>Ot.b)*Pt;utxt&&(jt=xt),(0,Kn[ce[tn++]>>8&15])(F,Y+ +ie,ht,pt+ie-xt,jt-ie,ht,pt+ie),ie=jt}Y+=xt,pt+=xt,++ut&Rt||(Ot+=Pt)}et!=C.nc&&i(L,A-$,L,A+(et-W-1)*$,$);break;case 1:for($=F,Q=Y,xt=(F=C.Ea)-(pt=F&~(ht=(Y=1<>C.b)*ut;W=b),0w.o&&(g=w.o),f=g?f=0:(b[0]+=4*w.v,w.ka=f-w.j,w.U=w.va-w.v,w.T=g-f,f=1),f){if(A=A[0],11>(f=r.ca).S){var W=f.f.RGBA,et=(g=f.S,b=w.U,w=w.T,C=W.eb,W.A),F=w;for(W=W.fb+r.Ma*W.A;0g){var b=r.l.width,w=f.ca,y=f.tb+b*g,A=r.V,L=r.Ba+r.c*g,C=r.gc;e(r.ab==1),e(C[0].hc==3),Qs(C[0],g,o,A,L,w,y),ir(f,g,o,w,y,b)}r.C=r.Ma=o}function Jn(r,o,f,g,b,w,y){var A=r.$/g,L=r.$%g,C=r.m,W=r.s,et=f+r.$,F=et;b=f+g*b;var Y=f+g*w,$=280+W.ua,ut=r.Pb?A:16777216,Q=0=ut){var Rt=et-f;e((ut=r).Pb),ut.wd=ut.m,ut.xd=Rt,0re.g?(J(bt,bt.u+re.g),Rt[Pt]=re.value,bt=0):(J(bt,bt.u+re.g-256),e(256<=re.value),bt=re.value),bt==0&&(xt=!0)}else bt=De(pt.G[0],pt.H[0],C);if(C.h)break;if(xt||256>bt){if(!xt)if(pt.nd)o[et]=(pt.qb|bt<<8)>>>0;else{if(Z(C),xt=De(pt.G[1],pt.H[1],C),Z(C),Rt=De(pt.G[2],pt.H[2],C),Pt=De(pt.G[3],pt.H[3],C),C.h)break;o[et]=(Pt<<24|xt<<16|bt<<8|Rt)>>>0}if(xt=!1,++et,++L>=g&&(L=0,++A,y!=null&&A<=w&&!(A%16)&&y(r,A),Q!=null))for(;F>>Q.Mb]=bt}else if(280>bt){if(bt=Tn(bt-256,C),Rt=De(pt.G[4],pt.H[4],C),Z(C),Rt=Dn(g,Rt=Tn(Rt,C)),C.h)break;if(et-f=g;)L-=g,++A,y!=null&&A<=w&&!(A%16)&&y(r,A);if(e(et<=b),L&ht&&(pt=sn(W,L,A)),Q!=null)for(;F>>Q.Mb]=bt}else{if(!(bt<$))break t;for(xt=bt-280,e(Q!=null);F>>Q.Mb]=bt;bt=et,e(!(xt>>>(Rt=Q).Xa)),o[bt]=Rt.X[xt],xt=!0}xt||e(C.h==H(C))}if(r.Pb&&C.h&&etw?w:A),r.a=0,r.$=et-f}return 1}return r.a=3,0}function qn(r){e(r!=null),r.vc=null,r.yc=null,r.Ya=null;var o=r.Wa;o!=null&&(o.X=null),r.vb=null,e(r!=null)}function ri(){var r=new Et;return r==null?null:(r.a=0,r.xb=vl,ke("Predictor","VP8LPredictors"),ke("Predictor","VP8LPredictors_C"),ke("PredictorAdd","VP8LPredictorsAdd"),ke("PredictorAdd","VP8LPredictorsAdd_C"),Ji=fe,mi=ne,wa=He,ya=ge,Ki=se,vi=oe,bi=je,R.VP8LMapColor32b=Ze,R.VP8LMapColor8b=hr,r)}function ar(r,o,f,g,b){var w=1,y=[r],A=[o],L=g.m,C=g.s,W=null,et=0;t:for(;;){if(f)for(;w&&wt(L,1);){var F=y,Y=A,$=g,ut=1,Q=$.m,ht=$.gc[$.ab],pt=wt(Q,2);if($.Oc&1<=$.ab),pt){case 0:case 1:ht.b=wt(Q,3)+2,ut=ar(yt(ht.Ea,ht.b),yt(ht.nc,ht.b),0,$,ht.K),ht.K=ht.K[0];break;case 3:var xt,bt=wt(Q,8)+1,Rt=16>Ot.b),tn=a(ce);if(tn==null)xt=0;else{var ie=Ot.K[0],jt=Ot.w;for(tn[0]=Ot.K[0][0],Pt=1;Pt<1*re;++Pt)tn[Pt]=Wt(ie[jt+Pt],tn[Pt-1]);for(;Pt<4*ce;++Pt)tn[Pt]=0;Ot.K[0]=null,Ot.K[0]=tn,xt=1}}ut=xt;break;case 2:break;default:e(0)}w=ut}}if(y=y[0],A=A[0],w&&wt(L,1)&&!(w=1<=(et=wt(L,4))&&11>=et)){g.a=3;break t}var Nt;if(Nt=w)e:{var Ve,ee,pe,Ee=g,ln=y,_n=A,qe=et,gn=f,An=Ee.m,en=Ee.s,me=[null],we=1,Ue=0,ye=Vf[qe];n:for(;;){if(gn&&wt(An,1)){var un=wt(An,3)+2,$n=yt(ln,un),Ge=yt(_n,un),Sn=$n*Ge;if(!ar($n,Ge,0,Ee,me))break n;for(me=me[0],en.xc=un,Ve=0;Ve>8&65535;me[Ve]=Le,Le>=we&&(we=Le+1)}}if(An.h)break n;for(ee=0;5>ee;++ee){var nn=gl[ee];!ee&&0=Nn),On=En;var kn=a(Ue);if(On==null||kn==null||Fn==null){Ee.a=1;break n}var jn=Fn;for(Ve=pe=0;Veee;++ee){nn=gl[ee],Bn[ee]=jn,Zn[ee]=pe,!ee&&0vs)break r}else fo=vs;for(Sa=0;SaZi)Il[Sa++]=Zi,Zi!=0&&(Cl=Zi);else{var wh=Zi==16,Ol=Zi-16,yh=Uf[Ol],jl=wt(Gr,qf[Ol])+yh;if(Sa+jl>vs)break r;for(var xh=wh?Cl:0;0=ee){var ka,co=kn[0];for(ka=1;kaco&&(co=kn[ka]);fn+=co}}if(Ce.nd=Ir,Ce.Qb=0,Ir&&(Ce.qb=(Bn[3][Zn[3]+0].value<<24|Bn[1][Zn[1]+0].value<<16|Bn[2][Zn[2]+0].value)>>>0,wi==0&&256>Bn[0][Zn[0]+0].value&&(Ce.Qb=1,Ce.qb+=Bn[0][Zn[0]+0].value<<8)),Ce.jc=!Ce.Qb&&6>fn,Ce.jc){var bs,Cr=Ce;for(bs=0;bs>=an(ws,8,Jr),Yr>>=an(Cr.G[1][Cr.H[1]+Yr],16,Jr),Yr>>=an(Cr.G[2][Cr.H[2]+Yr],0,Jr),an(Cr.G[3][Cr.H[3]+Yr],24,Jr))}}}en.vc=me,en.Wb=we,en.Ya=On,en.yc=Fn,Nt=1;break e}Nt=0}if(!(w=Nt)){g.a=3;break t}if(0g+1?[]:0),!(b.lengthr?0:r>o?o:r}function ji(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma="void",this.put="VP8IoPutHook",this.ac="VP8IoSetupHook",this.bc="VP8IoTeardownHook",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Ms(){var r=new Va;return r!=null&&(r.a=0,r.sc="OK",r.cb=0,r.Xb=0,Aa||(Aa=Bi)),r}function Xe(r,o,f){return r.a==0&&(r.a=o,r.sc=f,r.cb=0),0}function Ga(r,o,f){return 3<=f&&r[o+0]==157&&r[o+1]==1&&r[o+2]==42}function or(r,o){if(r==null)return 0;if(r.a=0,r.sc="OK",o==null)return Xe(r,2,"null VP8Io passed to VP8GetHeaders()");var f=o.data,g=o.w,b=o.ha;if(4>b)return Xe(r,7,"Truncated header.");var w=f[g+0]|f[g+1]<<8|f[g+2]<<16,y=r.Od;if(y.Rb=!(1&w),y.td=w>>1&7,y.yd=w>>4&1,y.ub=w>>5,3b)return Xe(r,7,"cannot parse picture header");if(!Ga(f,g,b))return Xe(r,3,"Bad code word");A.c=16383&(f[g+4]<<8|f[g+3]),A.Td=f[g+4]>>6,A.i=16383&(f[g+6]<<8|f[g+5]),A.Ud=f[g+6]>>6,g+=7,b-=7,r.za=A.c+15>>4,r.Ub=A.i+15>>4,o.width=A.c,o.height=A.i,o.Da=0,o.j=0,o.v=0,o.va=o.width,o.o=o.height,o.da=0,o.ib=o.width,o.hb=o.height,o.U=o.width,o.T=o.height,s((w=r.Pa).jb,0,255,w.jb.length),e((w=r.Qa)!=null),w.Cb=0,w.Bb=0,w.Fb=1,s(w.Zb,0,0,w.Zb.length),s(w.Lb,0,0,w.Lb)}if(y.ub>b)return Xe(r,7,"bad partition length");ot(w=r.m,f,g,y.ub),g+=y.ub,b-=y.ub,y.Rb&&(A.Ld=st(w),A.Kd=st(w)),A=r.Qa;var L,C=r.Pa;if(e(w!=null),e(A!=null),A.Cb=st(w),A.Cb){if(A.Bb=st(w),st(w)){for(A.Fb=st(w),L=0;4>L;++L)A.Zb[L]=st(w)?nt(w,7):0;for(L=0;4>L;++L)A.Lb[L]=st(w)?nt(w,6):0}if(A.Bb)for(L=0;3>L;++L)C.jb[L]=st(w)?ft(w,8):255}else A.Bb=0;if(w.Ka)return Xe(r,3,"cannot parse segment header");if((A=r.ed).zd=st(w),A.Tb=ft(w,6),A.wb=ft(w,3),A.Pc=st(w),A.Pc&&st(w)){for(C=0;4>C;++C)st(w)&&(A.vd[C]=nt(w,6));for(C=0;4>C;++C)st(w)&&(A.od[C]=nt(w,6))}if(r.L=A.Tb==0?0:A.zd?1:2,w.Ka)return Xe(r,3,"cannot parse filter header");var W=b;if(b=L=g,g=L+W,A=W,r.Xb=(1<A&&(et=A),ot(r.Jc[+W],f,L,et),L+=et,A-=et,b+=3}ot(r.Jc[+C],f,L,A),f=Let;++et){if(W.Cb){var F=W.Zb[et];W.Fb||(F+=f)}else{if(0>16,8>Y.Eb[1]&&(Y.Eb[1]=8),Y.Qc[0]=ao[sr(F+C,117)],Y.Qc[1]=so[sr(F+L,127)],Y.lc=F+L}if(!y.Rb)return Xe(r,4,"Not a key frame.");for(st(w),y=r.Pa,f=0;4>f;++f){for(b=0;8>b;++b)for(g=0;3>g;++g)for(A=0;11>A;++A)C=gt(w,$f[f][b][g][A])?ft(w,8):Kf[f][b][g][A],y.Wc[f][b].Yb[g][A]=C;for(b=0;17>b;++b)y.Xc[f][b]=y.Wc[f][Zf[b]]}return r.kc=st(w),r.kc&&(r.Bd=ft(w,8)),r.cb=1}function Bi(r,o,f,g,b,w,y){var A=o[b].Yb[f];for(f=0;16>b;++b){if(!gt(r,A[f+0]))return b;for(;!gt(r,A[f+1]);)if(A=o[++b].Yb[0],f=0,b==16)return 16;var L=o[b+1].Yb;if(gt(r,A[f+2])){var C=r,W=0;if(gt(C,(F=A)[(et=f)+3]))if(gt(C,F[et+6])){for(A=0,et=2*(W=gt(C,F[et+8]))+(F=gt(C,F[et+9+W])),W=0,F=Yf[et];F[A];++A)W+=W+gt(C,F[A]);W+=3+(8<(C=r).b&&at(C);var et,F=C.b,Y=(et=C.Ca>>1)-(C.I>>F)>>31;--C.b,C.Ca+=Y,C.Ca|=1,C.I-=(et+1&Y)<>3),r[o+f+32*g]=-256&b?0>b?0:255:b}function Mi(r,o,f,g,b,w){In(r,o,0,f,g+b),In(r,o,1,f,g+w),In(r,o,2,f,g-w),In(r,o,3,f,g-b)}function yr(r){return(20091*r>>16)+r}function on(r,o,f,g){var b,w=0,y=a(16);for(b=0;4>b;++b){var A=r[o+0]+r[o+8],L=r[o+0]-r[o+8],C=(35468*r[o+4]>>16)-yr(r[o+12]),W=yr(r[o+4])+(35468*r[o+12]>>16);y[w+0]=A+W,y[w+1]=L+C,y[w+2]=L-C,y[w+3]=A-W,w+=4,o++}for(b=w=0;4>b;++b)A=(r=y[w+0]+4)+y[w+8],L=r-y[w+8],C=(35468*y[w+4]>>16)-yr(y[w+12]),In(f,g,0,0,A+(W=yr(y[w+4])+(35468*y[w+12]>>16))),In(f,g,1,0,L+C),In(f,g,2,0,L-C),In(f,g,3,0,A-W),w++,g+=32}function Ya(r,o,f,g){var b=r[o+0]+4,w=35468*r[o+4]>>16,y=yr(r[o+4]),A=35468*r[o+1]>>16;Mi(f,g,0,b+y,r=yr(r[o+1]),A),Mi(f,g,1,b+w,r,A),Mi(f,g,2,b-w,r,A),Mi(f,g,3,b-y,r,A)}function Rs(r,o,f,g,b){on(r,o,f,g),b&&on(r,o+16,f,g+4)}function Ts(r,o,f,g){Sr(r,o+0,f,g,1),Sr(r,o+32,f,g+128,1)}function Ds(r,o,f,g){var b;for(r=r[o+0]+4,b=0;4>b;++b)for(o=0;4>o;++o)In(f,g,o,b,r)}function lr(r,o,f,g){r[o+0]&&pn(r,o+0,f,g),r[o+16]&&pn(r,o+16,f,g+4),r[o+32]&&pn(r,o+32,f,g+128),r[o+48]&&pn(r,o+48,f,g+128+4)}function Ja(r,o,f,g){var b,w=a(16);for(b=0;4>b;++b){var y=r[o+0+b]+r[o+12+b],A=r[o+4+b]+r[o+8+b],L=r[o+4+b]-r[o+8+b],C=r[o+0+b]-r[o+12+b];w[0+b]=y+A,w[8+b]=y-A,w[4+b]=C+L,w[12+b]=C-L}for(b=0;4>b;++b)y=(r=w[0+4*b]+3)+w[3+4*b],A=w[1+4*b]+w[2+4*b],L=w[1+4*b]-w[2+4*b],C=r-w[3+4*b],f[g+0]=y+A>>3,f[g+16]=C+L>>3,f[g+32]=y-A>>3,f[g+48]=C-L>>3,g+=64}function Ri(r,o,f){var g,b=o-32,w=Cn,y=255-r[b-1];for(g=0;gf;++f)i(r,o+32*f,r,o-32,16)}function zs(r,o){var f;for(f=16;0g;++g)s(o,f+32*g,r,16)}function Ka(r,o){var f,g=16;for(f=0;16>f;++f)g+=r[o-1+32*f]+r[o+f-32];Br(g>>5,r,o)}function Mr(r,o){var f,g=8;for(f=0;16>f;++f)g+=r[o-1+32*f];Br(g>>4,r,o)}function Hs(r,o){var f,g=8;for(f=0;16>f;++f)g+=r[o+f-32];Br(g>>4,r,o)}function ai(r,o){Br(128,r,o)}function Jt(r,o,f){return r+2*o+f+2>>2}function Ws(r,o){var f,g=o-32;for(g=new Uint8Array([Jt(r[g-1],r[g+0],r[g+1]),Jt(r[g+0],r[g+1],r[g+2]),Jt(r[g+1],r[g+2],r[g+3]),Jt(r[g+2],r[g+3],r[g+4])]),f=0;4>f;++f)i(r,o+32*f,g,0,g.length)}function Vs(r,o){var f=r[o-1],g=r[o-1+32],b=r[o-1+64],w=r[o-1+96];_t(r,o+0,16843009*Jt(r[o-1-32],f,g)),_t(r,o+32,16843009*Jt(f,g,b)),_t(r,o+64,16843009*Jt(g,b,w)),_t(r,o+96,16843009*Jt(b,w,w))}function Gs(r,o){var f,g=4;for(f=0;4>f;++f)g+=r[o+f-32]+r[o-1+32*f];for(g>>=3,f=0;4>f;++f)s(r,o+32*f,g,4)}function Ys(r,o){var f=r[o-1+0],g=r[o-1+32],b=r[o-1+64],w=r[o-1-32],y=r[o+0-32],A=r[o+1-32],L=r[o+2-32],C=r[o+3-32];r[o+0+96]=Jt(g,b,r[o-1+96]),r[o+1+96]=r[o+0+64]=Jt(f,g,b),r[o+2+96]=r[o+1+64]=r[o+0+32]=Jt(w,f,g),r[o+3+96]=r[o+2+64]=r[o+1+32]=r[o+0+0]=Jt(y,w,f),r[o+3+64]=r[o+2+32]=r[o+1+0]=Jt(A,y,w),r[o+3+32]=r[o+2+0]=Jt(L,A,y),r[o+3+0]=Jt(C,L,A)}function Js(r,o){var f=r[o+1-32],g=r[o+2-32],b=r[o+3-32],w=r[o+4-32],y=r[o+5-32],A=r[o+6-32],L=r[o+7-32];r[o+0+0]=Jt(r[o+0-32],f,g),r[o+1+0]=r[o+0+32]=Jt(f,g,b),r[o+2+0]=r[o+1+32]=r[o+0+64]=Jt(g,b,w),r[o+3+0]=r[o+2+32]=r[o+1+64]=r[o+0+96]=Jt(b,w,y),r[o+3+32]=r[o+2+64]=r[o+1+96]=Jt(w,y,A),r[o+3+64]=r[o+2+96]=Jt(y,A,L),r[o+3+96]=Jt(A,L,L)}function xr(r,o){var f=r[o-1+0],g=r[o-1+32],b=r[o-1+64],w=r[o-1-32],y=r[o+0-32],A=r[o+1-32],L=r[o+2-32],C=r[o+3-32];r[o+0+0]=r[o+1+64]=w+y+1>>1,r[o+1+0]=r[o+2+64]=y+A+1>>1,r[o+2+0]=r[o+3+64]=A+L+1>>1,r[o+3+0]=L+C+1>>1,r[o+0+96]=Jt(b,g,f),r[o+0+64]=Jt(g,f,w),r[o+0+32]=r[o+1+96]=Jt(f,w,y),r[o+1+32]=r[o+2+96]=Jt(w,y,A),r[o+2+32]=r[o+3+96]=Jt(y,A,L),r[o+3+32]=Jt(A,L,C)}function _r(r,o){var f=r[o+0-32],g=r[o+1-32],b=r[o+2-32],w=r[o+3-32],y=r[o+4-32],A=r[o+5-32],L=r[o+6-32],C=r[o+7-32];r[o+0+0]=f+g+1>>1,r[o+1+0]=r[o+0+64]=g+b+1>>1,r[o+2+0]=r[o+1+64]=b+w+1>>1,r[o+3+0]=r[o+2+64]=w+y+1>>1,r[o+0+32]=Jt(f,g,b),r[o+1+32]=r[o+0+96]=Jt(g,b,w),r[o+2+32]=r[o+1+96]=Jt(b,w,y),r[o+3+32]=r[o+2+96]=Jt(w,y,A),r[o+3+64]=Jt(y,A,L),r[o+3+96]=Jt(A,L,C)}function Ks(r,o){var f=r[o-1+0],g=r[o-1+32],b=r[o-1+64],w=r[o-1+96];r[o+0+0]=f+g+1>>1,r[o+2+0]=r[o+0+32]=g+b+1>>1,r[o+2+32]=r[o+0+64]=b+w+1>>1,r[o+1+0]=Jt(f,g,b),r[o+3+0]=r[o+1+32]=Jt(g,b,w),r[o+3+32]=r[o+1+64]=Jt(b,w,w),r[o+3+64]=r[o+2+64]=r[o+0+96]=r[o+1+96]=r[o+2+96]=r[o+3+96]=w}function Xs(r,o){var f=r[o-1+0],g=r[o-1+32],b=r[o-1+64],w=r[o-1+96],y=r[o-1-32],A=r[o+0-32],L=r[o+1-32],C=r[o+2-32];r[o+0+0]=r[o+2+32]=f+y+1>>1,r[o+0+32]=r[o+2+64]=g+f+1>>1,r[o+0+64]=r[o+2+96]=b+g+1>>1,r[o+0+96]=w+b+1>>1,r[o+3+0]=Jt(A,L,C),r[o+2+0]=Jt(y,A,L),r[o+1+0]=r[o+3+32]=Jt(f,y,A),r[o+1+32]=r[o+3+64]=Jt(g,f,y),r[o+1+64]=r[o+3+96]=Jt(b,g,f),r[o+1+96]=Jt(w,b,g)}function Di(r,o){var f;for(f=0;8>f;++f)i(r,o+32*f,r,o-32,8)}function fa(r,o){var f;for(f=0;8>f;++f)s(r,o,r[o-1],8),o+=32}function ur(r,o,f){var g;for(g=0;8>g;++g)s(o,f+32*g,r,8)}function $s(r,o){var f,g=8;for(f=0;8>f;++f)g+=r[o+f-32]+r[o-1+32*f];ur(g>>4,r,o)}function qi(r,o){var f,g=4;for(f=0;8>f;++f)g+=r[o+f-32];ur(g>>3,r,o)}function Zs(r,o){var f,g=4;for(f=0;8>f;++f)g+=r[o-1+32*f];ur(g>>3,r,o)}function ha(r,o){ur(128,r,o)}function Rr(r,o,f){var g=r[o-f],b=r[o+0],w=3*(b-g)+to[1020+r[o-2*f]-r[o+f]],y=is[112+(w+4>>3)];r[o-f]=Cn[255+g+is[112+(w+3>>3)]],r[o+0]=Cn[255+b-y]}function ca(r,o,f,g){var b=r[o+0],w=r[o+f];return Hn[255+r[o-2*f]-r[o-f]]>g||Hn[255+w-b]>g}function si(r,o,f,g){return 4*Hn[255+r[o-f]-r[o+0]]+Hn[255+r[o-2*f]-r[o+f]]<=g}function da(r,o,f,g,b){var w=r[o-3*f],y=r[o-2*f],A=r[o-f],L=r[o+0],C=r[o+f],W=r[o+2*f],et=r[o+3*f];return 4*Hn[255+A-L]+Hn[255+y-C]>g?0:Hn[255+r[o-4*f]-w]<=b&&Hn[255+w-y]<=b&&Hn[255+y-A]<=b&&Hn[255+et-W]<=b&&Hn[255+W-C]<=b&&Hn[255+C-L]<=b}function Ui(r,o,f,g){var b=2*g+1;for(g=0;16>g;++g)si(r,o+g,f,b)&&Rr(r,o+g,f)}function pa(r,o,f,g){var b=2*g+1;for(g=0;16>g;++g)si(r,o+g*f,1,b)&&Rr(r,o+g*f,1)}function zi(r,o,f,g){var b;for(b=3;0>7,ht=18*pt+63>>7,pt=9*pt+63>>7;L[C-3*W]=Cn[255+L[C-3*W]+pt],L[C-2*W]=Cn[255+et+ht],L[C-W]=Cn[255+F+Q],L[C+0]=Cn[255+Y-Q],L[C+W]=Cn[255+$-ht],L[C+2*W]=Cn[255+ut-pt]}o+=g}}function Nr(r,o,f,g,b,w,y,A){for(w=2*w+1;0>3)],ut=is[112+(ut+3>>3)],Q=$+1>>1;L[C-2*W]=Cn[255+L[C-2*W]+Q],L[C-W]=Cn[255+et+ut],L[C+0]=Cn[255+F-$],L[C+W]=Cn[255+Y-Q]}o+=g}}function $a(r,o,f,g,b,w){Ar(r,o,f,1,16,g,b,w)}function Za(r,o,f,g,b,w){Ar(r,o,1,f,16,g,b,w)}function Qa(r,o,f,g,b,w){var y;for(y=3;0C?0:255:C)&255,C=L,b[w+A]=W}}function $e(r,o,f,g){var b=o.width,w=o.o;if(e(r!=null&&o!=null),0>f||0>=g||f+g>w)return null;if(!r.Cc){if(r.ga==null){var y;if(r.ga=new Ft,(y=r.ga==null)||(y=o.width*o.o,e(r.Gb.length==0),r.Gb=a(y),r.Uc=0,r.Gb==null?y=0:(r.mb=r.Gb,r.nb=r.Uc,r.rc=null,y=1),y=!y),!y){y=r.ga;var A=r.Fa,L=r.P,C=r.qc,W=r.mb,et=r.nb,F=L+1,Y=C-1,$=y.l;if(e(A!=null&&W!=null&&o!=null),Wr[0]=null,Wr[1]=Xt,Wr[2]=te,Wr[3]=de,y.ca=W,y.tb=et,y.c=o.width,y.i=o.height,e(0=C)o=0;else if(y.$a=3&A[L+0],y.Z=A[L+0]>>2&3,y.Lc=A[L+0]>>4&3,L=A[L+0]>>6&3,0>y.$a||1=y.c*y.i;y=!o}if(y)return null;r.ga.Lc!=1?r.Ga=0:g=w-f}e(r.ga!=null),e(f+g<=w);t:{if(o=(A=r.ga).c,w=A.l.o,A.$a==0){if(F=r.rc,Y=r.Vc,$=r.Fa,L=r.P+1+f*o,C=r.mb,W=r.nb+f*o,e(L<=r.P+r.qc),A.Z!=0)for(e(Wr[A.Z]!=null),y=0;y=o)o=1;else if(A.ic||Te(),A.ic){A=y.V,F=y.Ba,Y=y.c;var ut=y.i,Q=($=1,L=y.$/Y,C=y.$%Y,W=y.m,et=y.s,y.$),ht=Y*ut,pt=Y*o,xt=et.wc,bt=Q(ut=De(bt.G[0],bt.H[0],W)))A[F+Q]=ut,++Q,++C>=Y&&(C=0,++L<=o&&!(L%16)&&Yn(y,L));else{if(!(280>ut)){$=0;break e}ut=Tn(ut-256,W);var Rt,Pt=De(bt.G[4],bt.H[4],W);if(Z(W),!(Q>=(Pt=Dn(Y,Pt=Tn(Pt,W)))&&ht-Q>=ut)){$=0;break e}for(Rt=0;Rt=Y;)C-=Y,++L<=o&&!(L%16)&&Yn(y,L);Qo?o:L);break e}!$||W.h&&Q=w&&(r.Cc=1),g=1}if(!g)return null;if(r.Cc&&((g=r.ga)!=null&&(g.mc=null),r.ga=null,0>23,A[L+4*y+1]=A[L+4*y+1]*et>>23,A[L+4*y+2]=A[L+4*y+2]*et>>23)}o+=w}}function Ae(r,o,f,g,b){for(;0>4)*L>>16;r[o+2*w+0]=(240&y|y>>4)*L>>16&240|(15&y|y<<4)*L>>16>>4&15,r[o+2*w+1]=240&C|A}o+=b}}function Fe(r,o,f,g,b,w,y,A){var L,C,W=255;for(C=0;C>8}function Te(){_a=Ne,al=Ae,sl=Fe,ol=Re}function cn(r,o,f){R[r]=function(g,b,w,y,A,L,C,W,et,F,Y,$,ut,Q,ht,pt,xt){var bt,Rt=xt-1>>1,Pt=A[L+0]|C[W+0]<<16,re=et[F+0]|Y[$+0]<<16;e(g!=null);var Ot=3*Pt+re+131074>>2;for(o(g[b+0],255&Ot,Ot>>16,ut,Q),w!=null&&(Ot=3*re+Pt+131074>>2,o(w[y+0],255&Ot,Ot>>16,ht,pt)),bt=1;bt<=Rt;++bt){var ce=A[L+bt]|C[W+bt]<<16,tn=et[F+bt]|Y[$+bt]<<16,ie=Pt+ce+re+tn+524296,jt=ie+2*(ce+re)>>3;Ot=jt+Pt>>1,Pt=(ie=ie+2*(Pt+tn)>>3)+ce>>1,o(g[b+2*bt-1],255&Ot,Ot>>16,ut,Q+(2*bt-1)*f),o(g[b+2*bt-0],255&Pt,Pt>>16,ut,Q+(2*bt-0)*f),w!=null&&(Ot=ie+re>>1,Pt=jt+tn>>1,o(w[y+2*bt-1],255&Ot,Ot>>16,ht,pt+(2*bt-1)*f),o(w[y+2*bt+0],255&Pt,Pt>>16,ht,pt+(2*bt+0)*f)),Pt=ce,re=tn}1&xt||(Ot=3*Pt+re+131074>>2,o(g[b+xt-1],255&Ot,Ot>>16,ut,Q+(xt-1)*f),w!=null&&(Ot=3*re+Pt+131074>>2,o(w[y+xt-1],255&Ot,Ot>>16,ht,pt+(xt-1)*f)))}}function Lr(){Wn[as]=th,Wn[ss]=bl,Wn[dl]=eh,Wn[os]=wl,Wn[ls]=yl,Wn[eo]=xl,Wn[pl]=nh,Wn[no]=bl,Wn[ro]=wl,Wn[us]=yl,Wn[io]=xl}function ga(r){return r&-16384?0>r?0:255:r>>rh}function li(r,o){return ga((19077*r>>8)+(26149*o>>8)-14234)}function ui(r,o,f){return ga((19077*r>>8)-(6419*o>>8)-(13320*f>>8)+8708)}function Tr(r,o){return ga((19077*r>>8)+(33050*o>>8)-17685)}function fi(r,o,f,g,b){g[b+0]=li(r,f),g[b+1]=ui(r,o,f),g[b+2]=Tr(r,o)}function Hi(r,o,f,g,b){g[b+0]=Tr(r,o),g[b+1]=ui(r,o,f),g[b+2]=li(r,f)}function Wi(r,o,f,g,b){var w=ui(r,o,f);o=w<<3&224|Tr(r,o)>>3,g[b+0]=248&li(r,f)|w>>5,g[b+1]=o}function dn(r,o,f,g,b){var w=240&Tr(r,o)|15;g[b+0]=240&li(r,f)|ui(r,o,f)>>4,g[b+1]=w}function hi(r,o,f,g,b){g[b+0]=255,fi(r,o,f,g,b+1)}function ci(r,o,f,g,b){Hi(r,o,f,g,b),g[b+3]=255}function ma(r,o,f,g,b){fi(r,o,f,g,b),g[b+3]=255}function fr(r,o,f){R[r]=function(g,b,w,y,A,L,C,W,et){for(var F=W+(-2&et)*f;W!=F;)o(g[b+0],w[y+0],A[L+0],C,W),o(g[b+1],w[y+0],A[L+0],C,W+f),b+=2,++y,++L,W+=2*f;1&et&&o(g[b+0],w[y+0],A[L+0],C,W)}}function yn(r,o,f){return f==0?r==0?o==0?6:5:o==0?4:0:f}function es(r,o,f,g,b){switch(r>>>30){case 3:Sr(o,f,g,b,0);break;case 2:zr(o,f,g,b);break;case 1:pn(o,f,g,b)}}function Vi(r,o){var f,g,b=o.M,w=o.Nb,y=r.oc,A=r.pc+40,L=r.oc,C=r.pc+584,W=r.oc,et=r.pc+600;for(f=0;16>f;++f)y[A+32*f-1]=129;for(f=0;8>f;++f)L[C+32*f-1]=129,W[et+32*f-1]=129;for(0f;++f)i(y,A+32*f-4,y,A+32*f+12,4);for(f=-1;8>f;++f)i(L,C+32*f-4,L,C+32*f+4,4),i(W,et+32*f-4,W,et+32*f+4,4)}var Y=r.Gd,$=r.Hd+g,ut=F.ad,Q=F.Hc;if(0=r.za-1?s(ht,pt,Y[$].y[15],4):i(ht,pt,Y[$+1].y,0,4)),f=0;4>f;f++)ht[pt+128+f]=ht[pt+256+f]=ht[pt+384+f]=ht[pt+0+f];for(f=0;16>f;++f,Q<<=2)ht=y,pt=A+Al[f],Xn[F.Ob[f]](ht,pt),es(Q,ut,16*+f,ht,pt)}else if(ht=yn(g,b,F.Ob[0]),Hr[ht](y,A),Q!=0)for(f=0;16>f;++f,Q<<=2)es(Q,ut,16*+f,y,A+Al[f]);for(f=F.Gc,ht=yn(g,b,F.Dd),Pr[ht](L,C),Pr[ht](W,et),Q=ut,ht=L,pt=C,255&(F=0|f)&&(170&F?Xi(Q,256,ht,pt):cr(Q,256,ht,pt)),F=W,Q=et,255&(f>>=8)&&(170&f?Xi(ut,320,F,Q):cr(ut,320,F,Q)),bf;++f)i(Y,$+f*r.R,y,A+32*f,16);for(f=0;8>f;++f)i(ut,F+f*r.B,L,C+32*f,8),i(Q,ht+f*r.B,W,et+32*f,8)}}function ns(r,o,f,g,b,w,y,A,L){var C=[0],W=[0],et=0,F=L!=null?L.kd:0,Y=L??new K;if(r==null||12>f)return 7;Y.data=r,Y.w=o,Y.ha=f,o=[o],f=[f],Y.gb=[Y.gb];t:{var $=o,ut=f,Q=Y.gb;if(e(r!=null),e(ut!=null),e(Q!=null),Q[0]=0,12<=ut[0]&&!t(r,$[0],"RIFF")){if(t(r,$[0]+8,"WEBP")){Q=3;break t}var ht=Dt(r,$[0]+4);if(12>ht||4294967286ut[0]-8){Q=7;break t}Q[0]=ht,$[0]+=12,ut[0]-=12}Q=0}if(Q!=0)return Q;for(ht=0Q[0])Q=7;else{if(!t(pt,ut[0],"VP8X")){if(Dt(pt,ut[0]+4)!=10){Q=3;break t}if(18>Q[0]){Q=7;break t}var Pt=Dt(pt,ut[0]+8),re=1+St(pt,ut[0]+12);if(2147483648<=re*(pt=1+St(pt,ut[0]+15))){Q=3;break t}Rt!=null&&(Rt[0]=Pt),xt!=null&&(xt[0]=re),bt!=null&&(bt[0]=pt),ut[0]+=18,Q[0]-=18,Ot[0]=1}Q=0}}if(et=et[0],$=$[0],Q!=0)return Q;if(ut=!!(2&$),!ht&&et)return 3;if(w!=null&&(w[0]=!!(16&$)),y!=null&&(y[0]=ut),A!=null&&(A[0]=0),y=C[0],$=W[0],et&&ut&&L==null){Q=0;break}if(4>f){Q=7;break}if(ht&&et||!ht&&!et&&!t(r,o[0],"ALPH")){f=[f],Y.na=[Y.na],Y.P=[Y.P],Y.Sa=[Y.Sa];t:{Pt=r,Q=o,ht=f;var Ot=Y.gb;xt=Y.na,bt=Y.P,Rt=Y.Sa,re=22,e(Pt!=null),e(ht!=null),pt=Q[0];var ce=ht[0];for(e(xt!=null),e(Rt!=null),xt[0]=null,bt[0]=null,Rt[0]=0;;){if(Q[0]=pt,ht[0]=ce,8>ce){Q=7;break t}var tn=Dt(Pt,pt+4);if(4294967286Ot){Q=3;break t}if(!t(Pt,pt,"VP8 ")||!t(Pt,pt,"VP8L")){Q=0;break t}if(ce[0]ht[0])Q=7;else{if(pt||re){if(Ot=Dt(Ot,Pt+4),12<=xt&&Ot>xt-12){Q=3;break t}if(F&&Ot>ht[0]-8){Q=7;break t}bt[0]=Ot,Q[0]+=8,ht[0]-=8,Rt[0]=re}else Rt[0]=5<=ht[0]&&Ot[Pt+0]==47&&!(Ot[Pt+4]>>5),bt[0]=ht[0];Q=0}if(f=f[0],Y.Ja=Y.Ja[0],Y.xa=Y.xa[0],o=o[0],Q!=0)break;if(4294967286f){Q=7;break}A=y,F=$,ut=w,r==null||5>f?r=0:5<=f&&r[o+0]==47&&!(r[o+4]>>5)?(ht=[0],Ot=[0],xt=[0],ct(bt=new B,r,o,f),wr(bt,ht,Ot,xt)?(A!=null&&(A[0]=ht[0]),F!=null&&(F[0]=Ot[0]),ut!=null&&(ut[0]=xt[0]),r=1):r=0):r=0}else{if(10>f){Q=7;break}A=$,r==null||10>f||!Ga(r,o+3,f-3)?r=0:(F=r[o+0]|r[o+1]<<8|r[o+2]<<16,ut=16383&(r[o+7]<<8|r[o+6]),r=16383&(r[o+9]<<8|r[o+8]),1&F||3<(F>>1&7)||!(F>>4&1)||F>>5>=Y.Ja||!ut||!r?r=0:(y&&(y[0]=ut),A&&(A[0]=r),r=1))}if(!r||(y=y[0],$=$[0],et&&(C[0]!=y||W[0]!=$)))return 3;L!=null&&(L[0]=Y,L.offset=o-L.w,e(4294967286>o-L.w),e(L.offset==L.ha-f));break}return Q==0||Q==7&&et&&L==null?(w!=null&&(w[0]|=Y.na!=null&&0f||(w&=-2,y&=-2),0>w||0>y||0>=A||0>=L||w+A>g||y+L>b))return 0;if(o.v=w,o.j=y,o.va=w+A,o.o=y+L,o.U=A,o.T=L,o.da=r!=null&&0r.S){var o=r.f.RGBA;o.fb+=(r.height-1)*o.A,o.A=-o.A}else o=r.f.kb,r=r.height,o.O+=(r-1)*o.fa,o.fa=-o.fa,o.N+=(r-1>>1)*o.Ab,o.Ab=-o.Ab,o.W+=(r-1>>1)*o.Db,o.Db=-o.Db,o.F!=null&&(o.J+=(r-1)*o.lb,o.lb=-o.lb);return 0}function va(r,o,f,g){if(g==null||0>=r||0>=o)return 2;if(f!=null){if(f.Da){var b=f.cd,w=f.bd,y=-2&f.v,A=-2&f.j;if(0>y||0>A||0>=b||0>=w||y+b>r||A+w>o)return 2;r=b,o=w}if(f.da){if(!Ht(r,o,b=[f.ib],w=[f.hb]))return 2;r=b[0],o=w[0]}}g.width=r,g.height=o;t:{var L=g.width,C=g.height;if(r=g.S,0>=L||0>=C||!(r>=as&&13>r))r=2;else{if(0>=g.Rd&&g.sd==null){y=w=b=o=0;var W=(A=L*Nl[r])*C;if(11>r||(w=(C+1)/2*(o=(L+1)/2),r==12&&(y=(b=L)*C)),(C=a(W+2*w+y))==null){r=1;break t}g.sd=C,11>r?((L=g.f.RGBA).eb=C,L.fb=0,L.A=A,L.size=W):((L=g.f.kb).y=C,L.O=0,L.fa=A,L.Fd=W,L.f=C,L.N=0+W,L.Ab=o,L.Cd=w,L.ea=C,L.W=0+W+w,L.Db=o,L.Ed=w,r==12&&(L.F=C,L.J=0+W+2*w),L.Tc=y,L.lb=b)}if(o=1,b=g.S,w=g.width,y=g.height,b>=as&&13>b)if(11>b)r=g.f.RGBA,o&=(A=Math.abs(r.A))*(y-1)+w<=r.size,o&=A>=w*Nl[b],o&=r.eb!=null;else{r=g.f.kb,A=(w+1)/2,W=(y+1)/2,L=Math.abs(r.fa),C=Math.abs(r.Ab);var et=Math.abs(r.Db),F=Math.abs(r.lb),Y=F*(y-1)+w;o&=L*(y-1)+w<=r.Fd,o&=C*(W-1)+A<=r.Cd,o=(o&=et*(W-1)+A<=r.Ed)&L>=w&C>=A&et>=A,o&=r.y!=null,o&=r.f!=null,o&=r.ea!=null,b==12&&(o&=F>=w,o&=Y<=r.Tc,o&=r.F!=null)}else o=0;r=o?0:2}}return r!=0||f!=null&&f.fd&&(r=di(g)),r}var Gi=64,pi=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],ba=24,xn=32,Ln=8,Yi=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];Ct("Predictor0","PredictorAdd0"),R.Predictor0=function(){return 4278190080},R.Predictor1=function(r){return r},R.Predictor2=function(r,o,f){return o[f+0]},R.Predictor3=function(r,o,f){return o[f+1]},R.Predictor4=function(r,o,f){return o[f-1]},R.Predictor5=function(r,o,f){return qt(qt(r,o[f+1]),o[f+0])},R.Predictor6=function(r,o,f){return qt(r,o[f-1])},R.Predictor7=function(r,o,f){return qt(r,o[f+0])},R.Predictor8=function(r,o,f){return qt(o[f-1],o[f+0])},R.Predictor9=function(r,o,f){return qt(o[f+0],o[f+1])},R.Predictor10=function(r,o,f){return qt(qt(r,o[f-1]),qt(o[f+0],o[f+1]))},R.Predictor11=function(r,o,f){var g=o[f+0];return 0>=Zt(g>>24&255,r>>24&255,(o=o[f-1])>>24&255)+Zt(g>>16&255,r>>16&255,o>>16&255)+Zt(g>>8&255,r>>8&255,o>>8&255)+Zt(255&g,255&r,255&o)?g:r},R.Predictor12=function(r,o,f){var g=o[f+0];return(ve((r>>24&255)+(g>>24&255)-((o=o[f-1])>>24&255))<<24|ve((r>>16&255)+(g>>16&255)-(o>>16&255))<<16|ve((r>>8&255)+(g>>8&255)-(o>>8&255))<<8|ve((255&r)+(255&g)-(255&o)))>>>0},R.Predictor13=function(r,o,f){var g=o[f-1];return(ue((r=qt(r,o[f+0]))>>24&255,g>>24&255)<<24|ue(r>>16&255,g>>16&255)<<16|ue(r>>8&255,g>>8&255)<<8|ue(255&r,255&g))>>>0};var Dr=R.PredictorAdd0;R.PredictorAdd1=he,Ct("Predictor2","PredictorAdd2"),Ct("Predictor3","PredictorAdd3"),Ct("Predictor4","PredictorAdd4"),Ct("Predictor5","PredictorAdd5"),Ct("Predictor6","PredictorAdd6"),Ct("Predictor7","PredictorAdd7"),Ct("Predictor8","PredictorAdd8"),Ct("Predictor9","PredictorAdd9"),Ct("Predictor10","PredictorAdd10"),Ct("Predictor11","PredictorAdd11"),Ct("Predictor12","PredictorAdd12"),Ct("Predictor13","PredictorAdd13");var qr=R.PredictorAdd2;Tt("ColorIndexInverseTransform","MapARGB","32b",function(r){return r>>8&255},function(r){return r}),Tt("VP8LColorIndexInverseTransformAlpha","MapAlpha","8b",function(r){return r},function(r){return r>>8&255});var Ji,gi=R.ColorIndexInverseTransform,Ze=R.MapARGB,Qs=R.VP8LColorIndexInverseTransformAlpha,hr=R.MapAlpha,Kn=R.VP8LPredictorsAdd=[];Kn.length=16,(R.VP8LPredictors=[]).length=16,(R.VP8LPredictorsAdd_C=[]).length=16,(R.VP8LPredictors_C=[]).length=16;var mi,wa,ya,Ki,vi,bi,Ur,Sr,zr,Xi,pn,cr,Pe,Ie,We,Qe,kr,xa,$i,rs,el,nl,rl,il,_a,al,sl,ol,ll=a(511),ul=a(2041),fl=a(225),hl=a(767),cl=0,to=ul,is=fl,Cn=hl,Hn=ll,as=0,ss=1,dl=2,os=3,ls=4,eo=5,pl=6,no=7,ro=8,us=9,io=10,qf=[2,3,7],Uf=[3,3,11],gl=[280,256,256,256,40],zf=[0,1,1,1,0],Hf=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Wf=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Vf=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],Gf=8,ao=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],so=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],Aa=null,Yf=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],Jf=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],ml=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],Kf=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],Xf=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],$f=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],Zf=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],Hr=[],Xn=[],Pr=[],Qf=1,vl=2,Wr=[],Wn=[];cn("UpsampleRgbLinePair",fi,3),cn("UpsampleBgrLinePair",Hi,3),cn("UpsampleRgbaLinePair",ma,4),cn("UpsampleBgraLinePair",ci,4),cn("UpsampleArgbLinePair",hi,4),cn("UpsampleRgba4444LinePair",dn,2),cn("UpsampleRgb565LinePair",Wi,2);var th=R.UpsampleRgbLinePair,eh=R.UpsampleBgrLinePair,bl=R.UpsampleRgbaLinePair,wl=R.UpsampleBgraLinePair,yl=R.UpsampleArgbLinePair,xl=R.UpsampleRgba4444LinePair,nh=R.UpsampleRgb565LinePair,fs=16,hs=1<g.ca.S||(alert("todo:WebPInitConvertARGBToYUV"),g.ca.f.kb.F!=null&&Te()),g.Pb&&0(L=f.Md)?0:100C;++C)12>(et=b.pb[C]).lc&&(et.ia=L*fh[0>et.lc?0:et.lc]>>3),W|=et.ia;W&&(alert("todo:VP8InitRandom"),b.ia=1)}b.Ga=f.Id,100b.Ga&&(b.Ga=0)}(function(F,Y){if(F==null)return 0;if(Y==null)return Xe(F,2,"NULL VP8Io parameter in VP8Decode().");if(!F.cb&&!or(F,Y))return 0;if(e(F.cb),Y.ac==null||Y.ac(Y)){Y.ob&&(F.L=0);var $=cs[F.L];if(F.L==2?(F.yb=0,F.zb=0):(F.yb=Y.v-$>>4,F.zb=Y.j-$>>4,0>F.yb&&(F.yb=0),0>F.zb&&(F.zb=0)),F.Va=Y.o+15+$>>4,F.Hb=Y.va+15+$>>4,F.Hb>F.za&&(F.Hb=F.za),F.Va>F.Ub&&(F.Va=F.Ub),0$;++$){var Q;if(F.Qa.Cb){var ht=F.Qa.Lb[$];F.Qa.Fb||(ht+=ut.Tb)}else ht=ut.Tb;for(Q=0;1>=Q;++Q){var pt=F.gd[$][Q],xt=ht;if(ut.Pc&&(xt+=ut.vd[0],Q&&(xt+=ut.od[0])),0<(xt=0>xt?0:63>2:bt>>1)>9-ut.wb&&(bt=9-ut.wb),1>bt&&(bt=1),pt.dd=bt,pt.tc=2*xt+bt,pt.ld=40<=xt?2:15<=xt?1:0}else pt.tc=0;pt.La=Q}}}$=0}else Xe(F,6,"Frame setup failed"),$=F.a;if($=$==0){if($){F.$c=0,0F.Vb){if(F.Vb=0,F.Ec=a(pt),F.Fc=0,F.Ec==null){$=Xe(F,1,"no memory during frame initialization.");break e}F.Vb=pt}pt=F.Ec,xt=F.Fc,F.Ac=pt,F.Bc=xt,xt+=ut,F.Gd=c(Rt,Wa),F.Hd=0,F.rb=c(Pt+1,sa),F.sb=1,F.wa=re?c(re,Un):null,F.Y=0,F.D.Nb=0,F.D.wa=F.wa,F.D.Y=F.Y,0=$;++$)ll[255+$]=0>$?-$:$;for($=-1020;1020>=$;++$)ul[1020+$]=-128>$?-128:127<$?127:$;for($=-112;112>=$;++$)fl[112+$]=-16>$?-16:15<$?15:$;for($=-255;510>=$;++$)hl[255+$]=0>$?0:255<$?255:$;cl=1}Ur=Ja,Sr=Rs,Xi=Ts,pn=Ds,cr=lr,zr=Ya,Pe=$a,Ie=Za,We=ts,Qe=u,kr=Qa,xa=oi,$i=v,rs=I,el=Ui,nl=pa,rl=zi,il=Xa,Xn[0]=Gs,Xn[1]=Ti,Xn[2]=Ws,Xn[3]=Vs,Xn[4]=Ys,Xn[5]=xr,Xn[6]=Js,Xn[7]=_r,Xn[8]=Xs,Xn[9]=Ks,Hr[0]=Ka,Hr[1]=qs,Hr[2]=Us,Hr[3]=zs,Hr[4]=Mr,Hr[5]=Hs,Hr[6]=ai,Pr[0]=$s,Pr[1]=ua,Pr[2]=Di,Pr[3]=fa,Pr[4]=Zs,Pr[5]=qi,Pr[6]=ha,$=1}else $=0}$&&($=function(ce,tn){for(ce.M=0;ce.Mpe;++pe){var en,me=_n[0+pe];for(en=0;4>en;++en){me=Xf[Ee[ln+en]][me];for(var we=ml[gt(ee,me[0])];0>3;for(we=0;256>we;we+=16)pe[gn+we]=Sn}un=1,$n=ln[0]}var Le=15&ee.la,nn=15&An.la;for(we=0;4>we;++we){var Fn=1&nn;for(Sn=ye=0;4>Sn;++Sn)Le=Le>>1|(Fn=(Ge=Aa(Ee,$n,Ge=Fn+(1&Le),qe.Sc,un,pe,gn))>un)<<7,ye=ye<<2|(3>=4,nn=nn>>1|Fn<<7,en=(en<<8|ye)>>>0}for($n=Le,un=nn>>4,Ue=0;4>Ue;Ue+=2){for(ye=0,Le=ee.la>>4+Ue,nn=An.la>>4+Ue,we=0;2>we;++we){for(Fn=1&nn,Sn=0;2>Sn;++Sn)Ge=Fn+(1&Le),Le=Le>>1|(Fn=0<(Ge=Aa(Ee,ln[2],Ge,qe.Qc,0,pe,gn)))<<3,ye=ye<<2|(3>=2,nn=nn>>1|Fn<<5}me|=ye<<4*Ue,$n|=Le<<4<=jt.zb&&jt.M<=jt.Va,jt.Aa==0)e:{if(ie.M=jt.M,ie.uc=ee,Vi(jt,ie),Ve=1,ie=(ye=jt.D).Nb,ee=(me=cs[jt.L])*jt.R,Ee=me/2*jt.B,we=16*ie*jt.R,Sn=8*ie*jt.B,ln=jt.sa,_n=jt.ta-ee+we,qe=jt.qa,pe=jt.ra-Ee+Sn,gn=jt.Ha,An=jt.Ia-Ee+Sn,nn=(Le=ye.M)==0,en=Le>=jt.Va-1,jt.Aa==2&&Vi(jt,ye),ye.uc)for(Fn=(Ge=jt).D.M,e(Ge.D.uc),ye=Ge.yb;yeNt.o&&(Le=Nt.o),Nt.F=null,Nt.J=null,jt.Fa!=null&&0>1),Nt.W+=jt.B*(me>>1),Nt.F!=null&&(Nt.J+=Nt.width*me)),ye>1,Nt.W+=Nt.v>>1,Nt.F!=null&&(Nt.J+=Nt.v),Nt.ka=ye-Nt.j,Nt.U=Nt.va-Nt.v,Nt.T=Le-ye,Ve=Nt.put(Nt))}ie+1!=jt.Ic||en||(i(jt.sa,jt.ta-ee,ln,_n+16*jt.R,ee),i(jt.qa,jt.ra-Ee,qe,pe+8*jt.B,Ee),i(jt.Ha,jt.Ia-Ee,gn,An+8*jt.B,Ee))}if(!Ve)return Xe(ce,6,"Output aborted.")}return 1}(F,Y)),Y.bc!=null&&Y.bc(Y),$&=1}return $?(F.cb=0,$):0})(r,g)||(o=r.a)}}else o=r.a}o==0&&y.Oa!=null&&y.Oa.fd&&(o=di(y.ba))}y=o}w=y!=0?null:11>w?A.f.RGBA.eb:A.f.kb.y}else w=null;return w};var Nl=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function d(R,tt){for(var N="",E=0;E<4;E++)N+=String.fromCharCode(R[tt++]);return N}function m(R,tt){return R[tt+0]|R[tt+1]<<8}function _(R,tt){return(R[tt+0]|R[tt+1]<<8|R[tt+2]<<16)>>>0}function k(R,tt){return(R[tt+0]|R[tt+1]<<8|R[tt+2]<<16|R[tt+3]<<24)>>>0}new h;var p=[0],j=[0],O=[],M=new h,S=n,V=function(R,tt){var N={},E=0,z=!1,U=0,rt=0;if(N.frames=[],!function(x,B){for(var T=0;T<4;T++)if(x[B+T]!="RIFF".charCodeAt(T))return!0;return!1}(R,tt)){for(k(R,tt+=4),tt+=8;tt>1&1}ot!="ANMF"&&(tt+=nt)}return N}}(S,0);V.response=S,V.rgbaoutput=!0,V.dataurl=!1;var G=V.header?V.header:null,q=V.frames?V.frames:null;if(G){G.loop_counter=G.loop_count,p=[G.canvas_height],j=[G.canvas_width];for(var it=0;it'+t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")+"",this.internal.__metadata__.metadataObjectNumber=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+n.length+" >>"),this.internal.write("stream"),this.internal.write(n),this.internal.write("endstream"),this.internal.write("endobj")}function t2(){this.internal.__metadata__.metadataObjectNumber&&this.internal.write("/Metadata "+this.internal.__metadata__.metadataObjectNumber+" 0 R")}(function(n){var e,t,i,s,a,c,l,h,d,m=function(x){return x=x||{},this.isStrokeTransparent=x.isStrokeTransparent||!1,this.strokeOpacity=x.strokeOpacity||1,this.strokeStyle=x.strokeStyle||"#000000",this.fillStyle=x.fillStyle||"#000000",this.isFillTransparent=x.isFillTransparent||!1,this.fillOpacity=x.fillOpacity||1,this.font=x.font||"10px sans-serif",this.textBaseline=x.textBaseline||"alphabetic",this.textAlign=x.textAlign||"left",this.lineWidth=x.lineWidth||1,this.lineJoin=x.lineJoin||"miter",this.lineCap=x.lineCap||"butt",this.path=x.path||[],this.transform=x.transform!==void 0?x.transform.clone():new h,this.globalCompositeOperation=x.globalCompositeOperation||"normal",this.globalAlpha=x.globalAlpha||1,this.clip_path=x.clip_path||[],this.currentPoint=x.currentPoint||new c,this.miterLimit=x.miterLimit||10,this.lastPoint=x.lastPoint||new c,this.lineDashOffset=x.lineDashOffset||0,this.lineDash=x.lineDash||[],this.margin=x.margin||[0,0,0,0],this.prevPageLastElemOffset=x.prevPageLastElemOffset||0,this.ignoreClearRect=typeof x.ignoreClearRect!="boolean"||x.ignoreClearRect,this};n.events.push(["initialized",function(){this.context2d=new _(this),e=this.internal.f2,t=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,s=this.internal.getHorizontalCoordinate,a=this.internal.getVerticalCoordinate,c=this.internal.Point,l=this.internal.Rectangle,h=this.internal.Matrix,d=new m}]);var _=function(x){Object.defineProperty(this,"canvas",{get:function(){return{parentNode:!1,style:!1}}});var B=x;Object.defineProperty(this,"pdf",{get:function(){return B}});var T=!1;Object.defineProperty(this,"pageWrapXEnabled",{get:function(){return T},set:function(P){T=!!P}});var H=!1;Object.defineProperty(this,"pageWrapYEnabled",{get:function(){return H},set:function(P){H=!!P}});var J=0;Object.defineProperty(this,"posX",{get:function(){return J},set:function(P){isNaN(P)||(J=P)}});var Z=0;Object.defineProperty(this,"posY",{get:function(){return Z},set:function(P){isNaN(P)||(Z=P)}}),Object.defineProperty(this,"margin",{get:function(){return d.margin},set:function(P){var Lt;typeof P=="number"?Lt=[P,P,P,P]:((Lt=new Array(4))[0]=P[0],Lt[1]=P.length>=2?P[1]:Lt[0],Lt[2]=P.length>=3?P[2]:Lt[0],Lt[3]=P.length>=4?P[3]:Lt[1]),d.margin=Lt}});var at=!1;Object.defineProperty(this,"autoPaging",{get:function(){return at},set:function(P){at=P}});var st=0;Object.defineProperty(this,"lastBreak",{get:function(){return st},set:function(P){st=P}});var gt=[];Object.defineProperty(this,"pageBreaks",{get:function(){return gt},set:function(P){gt=P}}),Object.defineProperty(this,"ctx",{get:function(){return d},set:function(P){P instanceof m&&(d=P)}}),Object.defineProperty(this,"path",{get:function(){return d.path},set:function(P){d.path=P}});var _t=[];Object.defineProperty(this,"ctxStack",{get:function(){return _t},set:function(P){_t=P}}),Object.defineProperty(this,"fillStyle",{get:function(){return this.ctx.fillStyle},set:function(P){var Lt;Lt=k(P),this.ctx.fillStyle=Lt.style,this.ctx.isFillTransparent=Lt.a===0,this.ctx.fillOpacity=Lt.a,this.pdf.setFillColor(Lt.r,Lt.g,Lt.b,{a:Lt.a}),this.pdf.setTextColor(Lt.r,Lt.g,Lt.b,{a:Lt.a})}}),Object.defineProperty(this,"strokeStyle",{get:function(){return this.ctx.strokeStyle},set:function(P){var Lt=k(P);this.ctx.strokeStyle=Lt.style,this.ctx.isStrokeTransparent=Lt.a===0,this.ctx.strokeOpacity=Lt.a,Lt.a===0?this.pdf.setDrawColor(255,255,255):(Lt.a,this.pdf.setDrawColor(Lt.r,Lt.g,Lt.b))}}),Object.defineProperty(this,"lineCap",{get:function(){return this.ctx.lineCap},set:function(P){["butt","round","square"].indexOf(P)!==-1&&(this.ctx.lineCap=P,this.pdf.setLineCap(P))}}),Object.defineProperty(this,"lineWidth",{get:function(){return this.ctx.lineWidth},set:function(P){isNaN(P)||(this.ctx.lineWidth=P,this.pdf.setLineWidth(P))}}),Object.defineProperty(this,"lineJoin",{get:function(){return this.ctx.lineJoin},set:function(P){["bevel","round","miter"].indexOf(P)!==-1&&(this.ctx.lineJoin=P,this.pdf.setLineJoin(P))}}),Object.defineProperty(this,"miterLimit",{get:function(){return this.ctx.miterLimit},set:function(P){isNaN(P)||(this.ctx.miterLimit=P,this.pdf.setMiterLimit(P))}}),Object.defineProperty(this,"textBaseline",{get:function(){return this.ctx.textBaseline},set:function(P){this.ctx.textBaseline=P}}),Object.defineProperty(this,"textAlign",{get:function(){return this.ctx.textAlign},set:function(P){["right","end","center","left","start"].indexOf(P)!==-1&&(this.ctx.textAlign=P)}});var kt=null,St=null,Dt=null;Object.defineProperty(this,"fontFaces",{get:function(){return Dt},set:function(P){kt=null,St=null,Dt=P}}),Object.defineProperty(this,"font",{get:function(){return this.ctx.font},set:function(P){var Lt;if(this.ctx.font=P,(Lt=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z0-9]+?)\s*$/i.exec(P))!==null){var ae=Lt[1];Lt[2];var Ht=Lt[3],yt=Lt[4];Lt[5];var Wt=Lt[6],Ct=/^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(yt)[2];yt=Math.floor(Ct==="px"?parseFloat(yt)*this.pdf.internal.scaleFactor:Ct==="em"?parseFloat(yt)*this.pdf.getFontSize():parseFloat(yt)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(yt);var zt=function(Tt){var He,ge,se=[],oe=Tt.trim();if(oe==="")return Mo;if(oe in Ou)return[Ou[oe]];for(;oe!=="";){switch(ge=null,He=(oe=Bu(oe)).charAt(0)){case'"':case"'":ge=Y1(oe.substring(1),He);break;default:ge=J1(oe)}if(ge===null||(se.push(ge[0]),(oe=Bu(ge[1]))!==""&&oe.charAt(0)!==","))return Mo;oe=oe.replace(/^,/,"")}return se}(Wt);if(this.fontFaces){var qt=function(Tt,He){var ge=Tt.getFontList(),se=JSON.stringify(ge);if(kt===null||St!==se){var oe=function(je){var Ut=[];return Object.keys(je).forEach(function(ke){je[ke].forEach(function(Yt){var Qt=null;switch(Yt){case"bold":Qt={family:ke,weight:"bold"};break;case"italic":Qt={family:ke,style:"italic"};break;case"bolditalic":Qt={family:ke,weight:"bold",style:"italic"};break;case"":case"normal":Qt={family:ke}}Qt!==null&&(Qt.ref={name:ke,style:Yt},Ut.push(Qt))})}),Ut}(ge);kt=function(je){for(var Ut={},ke=0;ke=700||ae==="bold")&&(Zt="bold"),ae==="italic"&&(Zt+="italic"),Zt.length===0&&(Zt="normal");for(var he="",fe={arial:"Helvetica",Arial:"Helvetica",verdana:"Helvetica",Verdana:"Helvetica",helvetica:"Helvetica",Helvetica:"Helvetica","sans-serif":"Helvetica",fixed:"Courier",monospace:"Courier",terminal:"Courier",cursive:"Times",fantasy:"Times",serif:"Times"},Bt=0;Bt=2*Math.PI&&(H=0,J=2*Math.PI),this.path.push({type:"arc",x,y:B,radius:T,startAngle:H,endAngle:J,counterclockwise:Z})},_.prototype.arcTo=function(x,B,T,H,J){throw new Error("arcTo not implemented.")},_.prototype.rect=function(x,B,T,H){if(isNaN(x)||isNaN(B)||isNaN(T)||isNaN(H))throw Se.error("jsPDF.context2d.rect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.rect");this.moveTo(x,B),this.lineTo(x+T,B),this.lineTo(x+T,B+H),this.lineTo(x,B+H),this.lineTo(x,B),this.lineTo(x+T,B),this.lineTo(x,B)},_.prototype.fillRect=function(x,B,T,H){if(isNaN(x)||isNaN(B)||isNaN(T)||isNaN(H))throw Se.error("jsPDF.context2d.fillRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.fillRect");if(!p.call(this)){var J={};this.lineCap!=="butt"&&(J.lineCap=this.lineCap,this.lineCap="butt"),this.lineJoin!=="miter"&&(J.lineJoin=this.lineJoin,this.lineJoin="miter"),this.beginPath(),this.rect(x,B,T,H),this.fill(),J.hasOwnProperty("lineCap")&&(this.lineCap=J.lineCap),J.hasOwnProperty("lineJoin")&&(this.lineJoin=J.lineJoin)}},_.prototype.strokeRect=function(x,B,T,H){if(isNaN(x)||isNaN(B)||isNaN(T)||isNaN(H))throw Se.error("jsPDF.context2d.strokeRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");j.call(this)||(this.beginPath(),this.rect(x,B,T,H),this.stroke())},_.prototype.clearRect=function(x,B,T,H){if(isNaN(x)||isNaN(B)||isNaN(T)||isNaN(H))throw Se.error("jsPDF.context2d.clearRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.clearRect");this.ignoreClearRect||(this.fillStyle="#ffffff",this.fillRect(x,B,T,H))},_.prototype.save=function(x){x=typeof x!="boolean"||x;for(var B=this.pdf.internal.getCurrentPageInfo().pageNumber,T=0;T0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};_.prototype.drawImage=function(x,B,T,H,J,Z,at,st,gt){var _t=this.pdf.getImageProperties(x),kt=1,St=1,Dt=1,P=1;H!==void 0&&st!==void 0&&(Dt=st/H,P=gt/J,kt=_t.width/H*st/H,St=_t.height/J*gt/J),Z===void 0&&(Z=B,at=T,B=0,T=0),H!==void 0&&st===void 0&&(st=H,gt=J),H===void 0&&st===void 0&&(st=_t.width,gt=_t.height);var Lt=this.ctx.transform.decompose(),ae=nt(Lt.rotate.shx),Ht=new h,yt=(Ht=(Ht=(Ht=Ht.multiply(Lt.translate)).multiply(Lt.skew)).multiply(Lt.scale)).applyToRectangle(new l(Z-B*Dt,at-T*P,H*kt,J*St));if(this.autoPaging){for(var Wt,Ct=M.call(this,yt),zt=[],qt=0;qtve||Ztyt||Ct0)){for(;gt>=0;gt--)if(J[gt-1].close!==!0&&J[gt-1].begin!==!0){J[gt-1].deltas.push(T),J[gt-1].abs.push(st);break}}break;case"bct":T=[st.x1-Z[at-1].x,st.y1-Z[at-1].y,st.x2-Z[at-1].x,st.y2-Z[at-1].y,st.x-Z[at-1].x,st.y-Z[at-1].y],J[J.length-1].deltas.push(T);break;case"qct":var _t=Z[at-1].x+2/3*(st.x1-Z[at-1].x),kt=Z[at-1].y+2/3*(st.y1-Z[at-1].y),St=st.x+2/3*(st.x1-st.x),Dt=st.y+2/3*(st.y1-st.y),P=st.x,Lt=st.y;T=[_t-Z[at-1].x,kt-Z[at-1].y,St-Z[at-1].x,Dt-Z[at-1].y,P-Z[at-1].x,Lt-Z[at-1].y],J[J.length-1].deltas.push(T);break;case"arc":J.push({deltas:[],abs:[],arc:!0}),Array.isArray(J[J.length-1].abs)&&J[J.length-1].abs.push(st)}}H=B?null:x==="stroke"?"stroke":"fill";for(var ae=!1,Ht=0;Ht=.01&&(H=this.pdf.internal.getFontSize(),this.pdf.setFontSize(H*x.scale),J=this.lineWidth,this.lineWidth=J*x.scale);var ne=this.autoPaging!=="text";if(ne||Bt.y+Bt.h<=qt){if(ne||Bt.y>=Ct&&Bt.x<=ue){var Tt=ne?x.text:this.pdf.splitTextToSize(x.text,x.maxWidth||ue-Bt.x)[0],He=V([JSON.parse(JSON.stringify(St))],this.posX+this.margin[3],-he+Ct+this.ctx.prevPageLastElemOffset)[0],ge=ne&&(Wt>Ht||Wt=.01&&(this.pdf.setFontSize(H),this.lineWidth=J)}}else x.scale>=.01&&(H=this.pdf.internal.getFontSize(),this.pdf.setFontSize(H*x.scale),J=this.lineWidth,this.lineWidth=J*x.scale),this.pdf.text(x.text,gt.x+this.posX,gt.y+this.posY,{angle:x.angle,align:B,renderingMode:x.renderingMode,maxWidth:x.maxWidth}),x.scale>=.01&&(this.pdf.setFontSize(H),this.lineWidth=J)},z=function(x,B,T,H){T=T||0,H=H||0,this.pdf.internal.out(t(x+T)+" "+i(B+H)+" l")},U=function(x,B,T){return this.pdf.lines(x,B,T,null,null)},rt=function(x,B,T,H,J,Z,at,st){this.pdf.internal.out([e(s(T+x)),e(a(H+B)),e(s(J+x)),e(a(Z+B)),e(s(at+x)),e(a(st+B)),"c"].join(" "))},ot=function(x,B,T,H){for(var J=2*Math.PI,Z=Math.PI/2;B>T;)B-=J;var at=Math.abs(T-B);at1e-5;){var kt=_t+gt*Math.min(at,Z);st.push(ft.call(this,x,_t,kt)),at-=Math.abs(kt-_t),_t=kt}return st},ft=function(x,B,T){var H=(T-B)/2,J=x*Math.cos(H),Z=x*Math.sin(H),at=J,st=-Z,gt=at*at+st*st,_t=gt+at*J+st*Z,kt=4/3*(Math.sqrt(2*gt*_t)-_t)/(at*Z-st*J),St=at-kt*st,Dt=st+kt*at,P=St,Lt=-Dt,ae=H+B,Ht=Math.cos(ae),yt=Math.sin(ae);return{x1:x*Math.cos(B),y1:x*Math.sin(B),x2:St*Ht-Dt*yt,y2:St*yt+Dt*Ht,x3:P*Ht-Lt*yt,y3:P*yt+Lt*Ht,x4:x*Math.cos(T),y4:x*Math.sin(T)}},nt=function(x){return 180*x/Math.PI},ct=function(x,B,T,H,J,Z){var at=x+.5*(T-x),st=B+.5*(H-B),gt=J+.5*(T-J),_t=Z+.5*(H-Z),kt=Math.min(x,J,at,gt),St=Math.max(x,J,at,gt),Dt=Math.min(B,Z,st,_t),P=Math.max(B,Z,st,_t);return new l(kt,Dt,St-kt,P-Dt)},At=function(x,B,T,H,J,Z,at,st){var gt,_t,kt,St,Dt,P,Lt,ae,Ht,yt,Wt,Ct,zt,qt,ve=T-x,ue=H-B,Zt=J-T,he=Z-H,fe=at-J,Bt=st-Z;for(_t=0;_t<41;_t++)Ht=(Lt=(kt=x+(gt=_t/40)*ve)+gt*((Dt=T+gt*Zt)-kt))+gt*(Dt+gt*(J+gt*fe-Dt)-Lt),yt=(ae=(St=B+gt*ue)+gt*((P=H+gt*he)-St))+gt*(P+gt*(Z+gt*Bt-P)-ae),_t==0?(Wt=Ht,Ct=yt,zt=Ht,qt=yt):(Wt=Math.min(Wt,Ht),Ct=Math.min(Ct,yt),zt=Math.max(zt,Ht),qt=Math.max(qt,yt));return new l(Math.round(Wt),Math.round(Ct),Math.round(zt-Wt),Math.round(qt-Ct))},wt=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var x,B,T=(x=this.ctx.lineDash,B=this.ctx.lineDashOffset,JSON.stringify({lineDash:x,lineDashOffset:B}));this.prevLineDash!==T&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=T)}}})(Mt.API),function(n){var e=function(c){var l,h,d,m,_,k,p,j,O,M;for(h=[],d=0,m=(c+=l="\0\0\0\0".slice(c.length%4||4)).length;m>d;d+=4)(_=(c.charCodeAt(d)<<24)+(c.charCodeAt(d+1)<<16)+(c.charCodeAt(d+2)<<8)+c.charCodeAt(d+3))!==0?(k=(_=((_=((_=((_=(_-(M=_%85))/85)-(O=_%85))/85)-(j=_%85))/85)-(p=_%85))/85)%85,h.push(k+33,p+33,j+33,O+33,M+33)):h.push(122);return function(S,V){for(var G=V;G>0;G--)S.pop()}(h,l.length),String.fromCharCode.apply(String,h)+"~>"},t=function(c){var l,h,d,m,_,k=String,p="length",j=255,O="charCodeAt",M="slice",S="replace";for(c[M](-2),c=c[M](0,-2)[S](/\s/g,"")[S]("z","!!!!!"),d=[],m=0,_=(c+=l="uuuuu"[M](c[p]%5||5))[p];_>m;m+=5)h=52200625*(c[O](m)-33)+614125*(c[O](m+1)-33)+7225*(c[O](m+2)-33)+85*(c[O](m+3)-33)+(c[O](m+4)-33),d.push(j&h>>24,j&h>>16,j&h>>8,j&h);return function(V,G){for(var q=G;q>0;q--)V.pop()}(d,l[p]),k.fromCharCode.apply(k,d)},i=function(c){return c.split("").map(function(l){return("0"+l.charCodeAt().toString(16)).slice(-2)}).join("")+">"},s=function(c){var l=new RegExp(/^([0-9A-Fa-f]{2})+$/);if((c=c.replace(/\s/g,"")).indexOf(">")!==-1&&(c=c.substr(0,c.indexOf(">"))),c.length%2&&(c+="0"),l.test(c)===!1)return"";for(var h="",d=0;dimport("./html2canvas.esm-CBrSDip1.js"),[])).catch(function(l){return Promise.reject(new Error("Could not load html2canvas: "+l))}).then(function(l){return l.default?l.default:l})}function t(){return(Kt.DOMPurify?Promise.resolve(Kt.DOMPurify):vo(()=>import("./purify.es-BgtpMKW3.js"),[])).catch(function(l){return Promise.reject(new Error("Could not load dompurify: "+l))}).then(function(l){return l.default?l.default:l})}var i=function(l){var h=_e(l);return h==="undefined"?"undefined":h==="string"||l instanceof String?"string":h==="number"||l instanceof Number?"number":h==="function"||l instanceof Function?"function":l&&l.constructor===Array?"array":l&&l.nodeType===1?"element":h==="object"?"object":"unknown"},s=function(l,h){var d=document.createElement(l);for(var m in h.className&&(d.className=h.className),h.innerHTML&&h.dompurify&&(d.innerHTML=h.dompurify.sanitize(h.innerHTML)),h.style)d.style[m]=h.style[m];return d},a=function l(h,d){for(var m=h.nodeType===3?document.createTextNode(h.nodeValue):h.cloneNode(!1),_=h.firstChild;_;_=_.nextSibling)d!==!0&&_.nodeType===1&&_.nodeName==="SCRIPT"||m.appendChild(l(_,d));return h.nodeType===1&&(h.nodeName==="CANVAS"?(m.width=h.width,m.height=h.height,m.getContext("2d").drawImage(h,0,0)):h.nodeName!=="TEXTAREA"&&h.nodeName!=="SELECT"||(m.value=h.value),m.addEventListener("load",function(){m.scrollTop=h.scrollTop,m.scrollLeft=h.scrollLeft},!0)),m},c=function l(h){var d=Object.assign(l.convert(Promise.resolve()),JSON.parse(JSON.stringify(l.template))),m=l.convert(Promise.resolve(),d);return(m=m.setProgress(1,l,1,[l])).set(h)};(c.prototype=Object.create(Promise.prototype)).constructor=c,c.convert=function(l,h){return l.__proto__=h||c.prototype,l},c.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:"file.pdf",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:"transparent"}},c.prototype.from=function(l,h){return this.then(function(){switch(h=h||function(d){switch(i(d)){case"string":return"string";case"element":return d.nodeName.toLowerCase()==="canvas"?"canvas":"element";default:return"unknown"}}(l),h){case"string":return this.then(t).then(function(d){return this.set({src:s("div",{innerHTML:l,dompurify:d})})});case"element":return this.set({src:l});case"canvas":return this.set({canvas:l});case"img":return this.set({img:l});default:return this.error("Unknown source type.")}})},c.prototype.to=function(l){switch(l){case"container":return this.toContainer();case"canvas":return this.toCanvas();case"img":return this.toImg();case"pdf":return this.toPdf();default:return this.error("Invalid target.")}},c.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error("Cannot duplicate - no source HTML.")},function(){return this.prop.pageSize||this.setPageSize()}]).then(function(){var l={position:"relative",display:"inline-block",width:(typeof this.opt.width!="number"||isNaN(this.opt.width)||typeof this.opt.windowWidth!="number"||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+"px",left:0,right:0,top:0,margin:"auto",backgroundColor:this.opt.backgroundColor},h=a(this.prop.src,this.opt.html2canvas.javascriptEnabled);h.tagName==="BODY"&&(l.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+"px"),this.prop.overlay=s("div",{className:"html2pdf__overlay",style:{position:"fixed",overflow:"hidden",zIndex:1e3,left:"-100000px",right:0,bottom:0,top:0}}),this.prop.container=s("div",{className:"html2pdf__container",style:l}),this.prop.container.appendChild(h),this.prop.container.firstChild.appendChild(s("div",{style:{clear:"both",border:"0 none transparent",margin:0,padding:0,height:0}})),this.prop.container.style.float="none",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position="relative",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+"px"})},c.prototype.toCanvas=function(){var l=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(l).then(e).then(function(h){var d=Object.assign({},this.opt.html2canvas);return delete d.onrendered,h(this.prop.container,d)}).then(function(h){(this.opt.html2canvas.onrendered||function(){})(h),this.prop.canvas=h,document.body.removeChild(this.prop.overlay)})},c.prototype.toContext2d=function(){var l=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(l).then(e).then(function(h){var d=this.opt.jsPDF,m=this.opt.fontFaces,_=typeof this.opt.width!="number"||isNaN(this.opt.width)||typeof this.opt.windowWidth!="number"||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,k=Object.assign({async:!0,allowTaint:!0,scale:_,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:"#ffffff",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete k.onrendered,d.context2d.autoPaging=this.opt.autoPaging===void 0||this.opt.autoPaging,d.context2d.posX=this.opt.x,d.context2d.posY=this.opt.y,d.context2d.margin=this.opt.margin,d.context2d.fontFaces=m,m)for(var p=0;pO&&(j=M,M=O,O=j);else{if(l!=="l"&&l!=="landscape")throw"Invalid orientation: "+l;l="l",O>M&&(j=M,M=O,O=j)}return{width:M,height:O,unit:h,k:_,orientation:l}},n.html=function(l,h){(h=h||{}).callback=h.callback||function(){},h.html2canvas=h.html2canvas||{},h.html2canvas.canvas=h.html2canvas.canvas||this.canvas,h.jsPDF=h.jsPDF||this,h.fontFaces=h.fontFaces?h.fontFaces.map(Bo):null;var d=new c(h);return h.worker?d:d.from(l).doCallback()}}(Mt.API),Mt.API.addJS=function(n){var e,t,i=function(s){for(var a="",c=0;c=0&&s[d]==="\\";d--)h++;a+=h%2==0?"\\"+l:l}else a+=l}return a}(n);return this.internal.events.subscribe("postPutResources",function(){e=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/Names [(EmbeddedJS) "+(e+1)+" 0 R]"),this.internal.out(">>"),this.internal.out("endobj"),t=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+i+")"),this.internal.out(">>"),this.internal.out("endobj")}),this.internal.events.subscribe("putCatalog",function(){e!==void 0&&t!==void 0&&this.internal.out("/Names <>")}),this},function(n){var e;n.events.push(["postPutResources",function(){var t=this,i=/^(\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var s=t.outline.render().split(/\r\n/),a=0;a> endobj")}var p=t.internal.newObject();for(t.internal.write("<< /Names [ "),a=0;a>","endobj"),e=t.internal.newObject(),t.internal.write("<< /Dests "+p+" 0 R"),t.internal.write(">>","endobj")}}]),n.events.push(["putCatalog",function(){var t=this;t.outline.root.children.length>0&&(t.internal.write("/Outlines",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&t.internal.write("/Names "+e+" 0 R"))}]),n.events.push(["initialized",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(i,s,a){var c={title:s,options:a,children:[]};return i==null&&(i=this.root),i.children.push(c),c},t.outline.render=function(){return this.ctx={},this.ctx.val="",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(i){i.id=t.internal.newObjectDeferred();for(var s=0;s0&&(this.line("/First "+this.makeRef(i.children[0])),this.line("/Last "+this.makeRef(i.children[i.children.length-1]))),this.line("/Count "+this.count_r({count:0},i)),this.objEnd()},t.outline.renderItems=function(i){for(var s=this.ctx.pdf.internal.getVerticalCoordinateString,a=0;a0&&this.line("/Prev "+this.makeRef(i.children[a-1])),a0&&(this.line("/First "+this.makeRef(c.children[0])),this.line("/Last "+this.makeRef(c.children[c.children.length-1])));var l=this.count=this.count_r({count:0},c);if(l>0&&this.line("/Count "+l),c.options&&c.options.pageNumber){var h=t.internal.getPageInfo(c.options.pageNumber);this.line("/Dest ["+h.objId+" 0 R /XYZ 0 "+s(0)+" 0]")}this.objEnd()}for(var d=0;d> \r +endobj\r +`},t.outline.count_r=function(i,s){for(var a=0;a1){U=!0,ot=void 0;var J=R*tt;ft=new Uint8Array(J);for(var Z=new DataView(N.buffer),at=0;at536870912)throw new Error("Image dimensions exceed 512MB, which is too large.");this.data=new Uint8Array(e);try{this[n]()}catch(t){Se.log("bit decode error:"+t)}},Qn.prototype.bit1=function(){var n,e=Math.ceil(this.width/8),t=e%4;for(n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,s=0;s>7-l&1];this.data[c+4*l]=h.blue,this.data[c+4*l+1]=h.green,this.data[c+4*l+2]=h.red,this.data[c+4*l+3]=255}t!==0&&(this.pos+=4-t)}},Qn.prototype.bit4=function(){for(var n=Math.ceil(this.width/2),e=n%4,t=this.height-1;t>=0;t--){for(var i=this.bottom_up?t:this.height-1-t,s=0;s>4,h=15&a,d=this.palette[l];if(this.data[c]=d.blue,this.data[c+1]=d.green,this.data[c+2]=d.red,this.data[c+3]=255,2*s+1>=this.width)break;d=this.palette[h],this.data[c+4]=d.blue,this.data[c+4+1]=d.green,this.data[c+4+2]=d.red,this.data[c+4+3]=255}e!==0&&(this.pos+=4-e)}},Qn.prototype.bit8=function(){for(var n=this.width%4,e=this.height-1;e>=0;e--){for(var t=this.bottom_up?e:this.height-1-e,i=0;i=0;t--){for(var i=this.bottom_up?t:this.height-1-t,s=0;s>5&e)/e*255|0,h=(a>>10&e)/e*255|0,d=a>>15?255:0,m=i*this.width*4+4*s;this.data[m]=h,this.data[m+1]=l,this.data[m+2]=c,this.data[m+3]=d}this.pos+=n}},Qn.prototype.bit16=function(){for(var n=this.width%3,e=parseInt("11111",2),t=parseInt("111111",2),i=this.height-1;i>=0;i--){for(var s=this.bottom_up?i:this.height-1-i,a=0;a>5&t)/t*255|0,d=(c>>11)/e*255|0,m=s*this.width*4+4*a;this.data[m]=d,this.data[m+1]=h,this.data[m+2]=l,this.data[m+3]=255}this.pos+=n}},Qn.prototype.bit24=function(){for(var n=this.height-1;n>=0;n--){for(var e=this.bottom_up?n:this.height-1-n,t=0;t=0;n--)for(var e=this.bottom_up?n:this.height-1-n,t=0;ti&&(s.push(n.slice(h,a)),l=0,h=a),l+=e[a],a++;return h!==a&&s.push(n.slice(h,a)),s},Tu=function(n,e,t){t||(t={});var i,s,a,c,l,h,d,m=[],_=[m],k=t.textIndent||0,p=0,j=0,O=n.split(" "),M=ks.apply(this,[" ",t])[0];if(h=t.lineIndent===-1?O[0].length+2:t.lineIndent||0){var S=Array(h).join(" "),V=[];O.map(function(q){(q=q.split(/\s*\n/)).length>1?V=V.concat(q.map(function(it,vt){return(vt&&it.length?` +`:"")+it})):V.push(q[0])}),O=V,h=Mu.apply(this,[S,t])}for(a=0,c=O.length;ae||G){if(j>e){for(l=Ru.apply(this,[i,s,e-(k+p),e]),m.push(l.shift()),m=[l.pop()];l.length;)_.push([l.shift()]);j=s.slice(i.length-(m[0]?m[0].length:0)).reduce(function(q,it){return q+it},0)}else m=[i];_.push(m),k=j+h,p=M}else m.push(i),k+=p+j,p=M}return d=h?function(q,it){return(it?S:"")+q.join(" ")}:function(q){return q.join(" ")},_.map(d)},ea.splitTextToSize=function(n,e,t){var i,s=(t=t||{}).fontSize||this.internal.getFontSize(),a=(function(m){if(m.widths&&m.kerning)return{widths:m.widths,kerning:m.kerning};var _=this.internal.getFont(m.fontName,m.fontStyle),k="Unicode";return _.metadata[k]?{widths:_.metadata[k].widths||{0:1},kerning:_.metadata[k].kerning||{}}:{font:_.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}).call(this,t);i=Array.isArray(n)?n:String(n).split(/\r?\n/);var c=1*this.internal.scaleFactor*e/s;a.textIndent=t.textIndent?1*t.textIndent*this.internal.scaleFactor/s:0,a.lineIndent=t.lineIndent;var l,h,d=[];for(l=0,h=i.length;limport("./index.es-UMgmYbRN.js"),__vite__mapDeps([0,1,2]))).catch(function(k){return Promise.reject(new Error("Could not load canvg: "+k))}).then(function(k){return k.default?k.default:k}).then(function(k){return k.fromString(d,n,m)},function(){return Promise.reject(new Error("Could not load canvg."))}).then(function(k){return k.render(m)}).then(function(){_.addImage(h.toDataURL("image/jpeg",1),e,t,i,s,c,l)})},Mt.API.putTotalPages=function(n){var e,t=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(n,"g"),t=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(n,this.internal.getFont()),"g"),t=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var i=1;i<=this.internal.getNumberOfPages();i++)for(var s=0;s1){for(m=0;m>`)}),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=t,this},Mt.API.addMetadata=function(n,e){return this.internal.__metadata__===void 0&&(this.internal.__metadata__={metadata:n,namespaceUri:e??"http://jspdf.default.namespaceuri/",rawXml:typeof e=="boolean"&&e},this.internal.events.subscribe("putCatalog",t2),this.internal.events.subscribe("postPutResources",Q1)),this},function(n){var e=n.API,t=e.pdfEscape16=function(a,c){for(var l,h=c.metadata.Unicode.widths,d=["","0","00","000","0000"],m=[""],_=0,k=a.length;_> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange`,h=[],_=0,k=(l=Object.keys(a).sort(function(p,j){return p-j})).length;_=100&&(m+=` +`+h.length+` beginbfchar +`+h.join(` +`)+` +endbfchar`,h=[]),a[c]!==void 0&&a[c]!==null&&typeof a[c].toString=="function"&&(d=("0000"+a[c].toString(16)).slice(-4),c=("0000"+(+c).toString(16)).slice(-4),h.push("<"+c+"><"+d+">"));return h.length&&(m+=` +`+h.length+` beginbfchar +`+h.join(` +`)+` +endbfchar +`),m+`endcmap +CMapName currentdict /CMap defineresource pop +end +end`};e.events.push(["putFont",function(a){(function(c){var l=c.font,h=c.out,d=c.newObject,m=c.putStream;if(l.metadata instanceof n.API.TTFFont&&l.encoding==="Identity-H"){for(var _=l.metadata.Unicode.widths,k=l.metadata.subset.encode(l.metadata.glyIdsUsed,1),p="",j=0;j>"),h("endobj");var V=d();h("<<"),h("/Type /Font"),h("/BaseFont /"+ra(l.fontName)),h("/FontDescriptor "+S+" 0 R"),h("/W "+n.API.PDFObject.convert(_)),h("/CIDToGIDMap /Identity"),h("/DW 1000"),h("/Subtype /CIDFontType2"),h("/CIDSystemInfo"),h("<<"),h("/Supplement 0"),h("/Registry (Adobe)"),h("/Ordering ("+l.encoding+")"),h(">>"),h(">>"),h("endobj"),l.objectNumber=d(),h("<<"),h("/Type /Font"),h("/Subtype /Type0"),h("/ToUnicode "+M+" 0 R"),h("/BaseFont /"+ra(l.fontName)),h("/Encoding /"+l.encoding),h("/DescendantFonts ["+V+" 0 R]"),h(">>"),h("endobj"),l.isAlreadyPutted=!0}})(a)}]),e.events.push(["putFont",function(a){(function(c){var l=c.font,h=c.out,d=c.newObject,m=c.putStream;if(l.metadata instanceof n.API.TTFFont&&l.encoding==="WinAnsiEncoding"){for(var _=l.metadata.rawData,k="",p=0;p<_.length;p++)k+=String.fromCharCode(_[p]);var j=d();m({data:k,addLength1:!0,objectId:j}),h("endobj");var O=d();m({data:i(l.metadata.toUnicode),addLength1:!0,objectId:O}),h("endobj");var M=d();h("<<"),h("/Descent "+l.metadata.decender),h("/CapHeight "+l.metadata.capHeight),h("/StemV "+l.metadata.stemV),h("/Type /FontDescriptor"),h("/FontFile2 "+j+" 0 R"),h("/Flags 96"),h("/FontBBox "+n.API.PDFObject.convert(l.metadata.bbox)),h("/FontName /"+ra(l.fontName)),h("/ItalicAngle "+l.metadata.italicAngle),h("/Ascent "+l.metadata.ascender),h(">>"),h("endobj"),l.objectNumber=d();for(var S=0;S>"),h("endobj"),l.isAlreadyPutted=!0}})(a)}]);var s=function(a){var c,l=a.text||"",h=a.x,d=a.y,m=a.options||{},_=a.mutex||{},k=_.pdfEscape,p=_.activeFontKey,j=_.fonts,O=p,M="",S=0,V="",G=j[O].encoding;if(j[O].encoding!=="Identity-H")return{text:l,x:h,y:d,options:m,mutex:_};for(V=l,O=p,Array.isArray(l)&&(V=l[0]),S=0;S","<","[","]","[","{","}","{","«","»","«","‹","›","‹","⁅","⁆","⁅","⁽","⁾","⁽","₍","₎","₍","≤","≥","≤","〈","〉","〈","﹙","﹚","﹙","﹛","﹜","﹛","﹝","﹞","﹝","﹤","﹥","﹤"],S=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),V=!1,G=0;this.__bidiEngine__={};var q=function(N){var E=N.charCodeAt(),z=E>>8,U=O[z];return U!==void 0?_[256*U+(255&E)]:z===252||z===253?"AL":S.test(z)?"L":z===8?"R":"N"},it=function(N){for(var E,z=0;z=E.length||(rt=z[U-1])!=="EN"&&rt!=="AN"||(ot=E[U+1])!=="EN"&&ot!=="AN"?ct="N":V&&(ot="AN"),ct=ot===rt?ot:"N";break;case"ES":ct=(rt=U>0?z[U-1]:"B")==="EN"&&U+10&&z[U-1]==="EN"){ct="EN";break}if(V){ct="N";break}for(ft=U+1,nt=E.length;ft=1425&&At<=2303||At===64286;if(rt=E[ft],wt&&(rt==="R"||rt==="AL")){ct="R";break}}}ct=U<1||(rt=E[U-1])==="B"?"N":z[U-1];break;case"B":V=!1,s=!0,ct=G;break;case"S":a=!0,ct="N"}return ct},dt=function(N,E,z){var U=N.split("");return z&&X(U,z,{hiLevel:G}),U.reverse(),E&&E.reverse(),U.join("")},X=function(N,E,z){var U,rt,ot,ft,nt,ct=-1,At=N.length,wt=0,x=[],B=G?p:k,T=[];for(V=!1,s=!1,a=!1,rt=0;rt0)if(U===16){for(rt=ct;rt-1){for(rt=ct;rt=0&&H[st]==="WS";st--)J[st]=G}}(T,E,At)},R=function(N,E,z,U,rt){if(!(rt.hiLevel=N){for(nt=wt+1;nt=N;)nt++;for(ct=wt,ft=nt-1;ct=0&&(ot[At]=M[ct+1])}(U,z,rt),R(2,U,E,z,rt),R(1,U,E,z,rt),U.join("")};return this.__bidiEngine__.doBidiReorder=function(N,E,z){if(function(rt,ot){if(ot)for(var ft=0;ft>16)&&(t=-(1+(65535^t))),this.italicAngle=+(t+"."+i)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=(a=this.familyClass)===1||a===2||a===3||a===4||a===5||a===7,this.isScript=this.familyClass===10,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),this.italicAngle!==0&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error("No unicode cmap for font")},n.prototype.characterToGlyph=function(e){var t;return((t=this.cmap.unicode)!=null?t.codeMap[e]:void 0)||0},n.prototype.widthOfGlyph=function(e){var t;return t=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(e).advance*t},n.prototype.widthOfString=function(e,t,i){var s,a,c,l;for(c=0,a=0,l=(e=""+e).length;0<=l?al;a=0<=l?++a:--a)s=e.charCodeAt(a),c+=this.widthOfGlyph(this.characterToGlyph(s))+i*(1e3/t)||0;return c*(t/1e3)},n.prototype.lineHeight=function(e,t){var i;return t==null&&(t=!1),i=t?this.lineGap:0,(this.ascender+i-this.decender)/1e3*e},n}();var nr,ti=function(){function n(e){this.data=e??[],this.pos=0,this.length=this.data.length}return n.prototype.readByte=function(){return this.data[this.pos++]},n.prototype.writeByte=function(e){return this.data[this.pos++]=e},n.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},n.prototype.writeUInt32=function(e){return this.writeByte(e>>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e)},n.prototype.readInt32=function(){var e;return(e=this.readUInt32())>=2147483648?e-4294967296:e},n.prototype.writeInt32=function(e){return e<0&&(e+=4294967296),this.writeUInt32(e)},n.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},n.prototype.writeUInt16=function(e){return this.writeByte(e>>8&255),this.writeByte(255&e)},n.prototype.readInt16=function(){var e;return(e=this.readUInt16())>=32768?e-65536:e},n.prototype.writeInt16=function(e){return e<0&&(e+=65536),this.writeUInt16(e)},n.prototype.readString=function(e){var t,i;for(i=[],t=0;0<=e?te;t=0<=e?++t:--t)i[t]=String.fromCharCode(this.readByte());return i.join("")},n.prototype.writeString=function(e){var t,i,s;for(s=[],t=0,i=e.length;0<=i?ti;t=0<=i?++t:--t)s.push(this.writeByte(e.charCodeAt(t)));return s},n.prototype.readShort=function(){return this.readInt16()},n.prototype.writeShort=function(e){return this.writeInt16(e)},n.prototype.readLongLong=function(){var e,t,i,s,a,c,l,h;return e=this.readByte(),t=this.readByte(),i=this.readByte(),s=this.readByte(),a=this.readByte(),c=this.readByte(),l=this.readByte(),h=this.readByte(),128&e?-1*(72057594037927940*(255^e)+281474976710656*(255^t)+1099511627776*(255^i)+4294967296*(255^s)+16777216*(255^a)+65536*(255^c)+256*(255^l)+(255^h)+1):72057594037927940*e+281474976710656*t+1099511627776*i+4294967296*s+16777216*a+65536*c+256*l+h},n.prototype.writeLongLong=function(e){var t,i;return t=Math.floor(e/4294967296),i=4294967295&e,this.writeByte(t>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t),this.writeByte(i>>24&255),this.writeByte(i>>16&255),this.writeByte(i>>8&255),this.writeByte(255&i)},n.prototype.readInt=function(){return this.readInt32()},n.prototype.writeInt=function(e){return this.writeInt32(e)},n.prototype.read=function(e){var t,i;for(t=[],i=0;0<=e?ie;i=0<=e?++i:--i)t.push(this.readByte());return t},n.prototype.write=function(e){var t,i,s,a;for(a=[],i=0,s=e.length;ia;s=0<=a?++s:--s)i={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[i.tag]=i}return e.prototype.encode=function(t){var i,s,a,c,l,h,d,m,_,k,p,j,O;for(O in p=Object.keys(t).length,h=Math.log(2),_=16*Math.floor(Math.log(p)/h),c=Math.floor(_/h),m=16*p-_,(s=new ti).writeInt(this.scalarType),s.writeShort(p),s.writeShort(_),s.writeShort(c),s.writeShort(m),a=16*p,d=s.pos+a,l=null,j=[],t)for(k=t[O],s.writeString(O),s.writeInt(n(k)),s.writeInt(d),s.writeInt(k.length),j=j.concat(k),O==="head"&&(l=d),d+=k.length;d%4;)j.push(0),d++;return s.write(j),i=2981146554-n(s.data),s.pos=l+8,s.writeUInt32(i),s.data},n=function(t){var i,s,a,c;for(t=Df.call(t);t.length%4;)t.push(0);for(a=new ti(t),s=0,i=0,c=t.length;ik;h=0<=k?++q:--q)it.push(e.readUInt16());return it}(),e.pos+=2,O=function(){var q,it;for(it=[],h=q=0;0<=k?qk;h=0<=k?++q:--q)it.push(e.readUInt16());return it}(),d=function(){var q,it;for(it=[],h=q=0;0<=k?qk;h=0<=k?++q:--q)it.push(e.readUInt16());return it}(),m=function(){var q,it;for(it=[],h=q=0;0<=k?qk;h=0<=k?++q:--q)it.push(e.readUInt16());return it}(),s=(this.length-e.pos+this.offset)/2,l=function(){var q,it;for(it=[],h=q=0;0<=s?qs;h=0<=s?++q:--q)it.push(e.readUInt16());return it}(),h=S=0,G=a.length;S=M;i=j<=M?++V:--V)m[h]===0?c=i+d[h]:(c=l[m[h]/2+(i-j)-(k-h)]||0)!==0&&(c+=d[h]),this.codeMap[i]=65535&c}e.pos=_}return n.encode=function(e,t){var i,s,a,c,l,h,d,m,_,k,p,j,O,M,S,V,G,q,it,vt,dt,X,R,tt,N,E,z,U,rt,ot,ft,nt,ct,At,wt,x,B,T,H,J,Z,at,st,gt,_t,kt;switch(U=new ti,c=Object.keys(e).sort(function(St,Dt){return St-Dt}),t){case"macroman":for(O=0,M=function(){var St=[];for(j=0;j<256;++j)St.push(0);return St}(),V={0:0},a={},rt=0,ct=c.length;rt=32768)for(h.push(0),vt.push(2*(p.length+R-j)),s=nt=N;N<=m?nt<=m:nt>=m;s=N<=m?++nt:--nt)p.push(i[s].new);else h.push(z-N),vt.push(0)}for(U.writeUInt16(3),U.writeUInt16(1),U.writeUInt32(12),U.writeUInt16(4),U.writeUInt16(16+8*R+2*p.length),U.writeUInt16(0),U.writeUInt16(tt),U.writeUInt16(X),U.writeUInt16(k),U.writeUInt16(dt),Z=0,x=_.length;Zs;i=0<=s?++i:--i)t=new Yu(e,this.offset),this.tables.push(t),t.isUnicode&&this.unicode==null&&(this.unicode=t);return!0},n.encode=function(e,t){var i,s;return t==null&&(t="macroman"),i=Yu.encode(e,t),(s=new ti).writeUInt16(0),s.writeUInt16(1),i.table=s.data.concat(i.subtable),i},n}(),i2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="hhea",n.prototype.parse=function(e){return e.pos=this.offset,this.version=e.readInt(),this.ascender=e.readShort(),this.decender=e.readShort(),this.lineGap=e.readShort(),this.advanceWidthMax=e.readShort(),this.minLeftSideBearing=e.readShort(),this.minRightSideBearing=e.readShort(),this.xMaxExtent=e.readShort(),this.caretSlopeRise=e.readShort(),this.caretSlopeRun=e.readShort(),this.caretOffset=e.readShort(),e.pos+=8,this.metricDataFormat=e.readShort(),this.numberOfMetrics=e.readUInt16()},n}(),a2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="OS/2",n.prototype.parse=function(e){if(e.pos=this.offset,this.version=e.readUInt16(),this.averageCharWidth=e.readShort(),this.weightClass=e.readUInt16(),this.widthClass=e.readUInt16(),this.type=e.readShort(),this.ySubscriptXSize=e.readShort(),this.ySubscriptYSize=e.readShort(),this.ySubscriptXOffset=e.readShort(),this.ySubscriptYOffset=e.readShort(),this.ySuperscriptXSize=e.readShort(),this.ySuperscriptYSize=e.readShort(),this.ySuperscriptXOffset=e.readShort(),this.ySuperscriptYOffset=e.readShort(),this.yStrikeoutSize=e.readShort(),this.yStrikeoutPosition=e.readShort(),this.familyClass=e.readShort(),this.panose=function(){var t,i;for(i=[],t=0;t<10;++t)i.push(e.readByte());return i}(),this.charRange=function(){var t,i;for(i=[],t=0;t<4;++t)i.push(e.readInt());return i}(),this.vendorID=e.readString(4),this.selection=e.readShort(),this.firstCharIndex=e.readShort(),this.lastCharIndex=e.readShort(),this.version>0&&(this.ascent=e.readShort(),this.descent=e.readShort(),this.lineGap=e.readShort(),this.winAscent=e.readShort(),this.winDescent=e.readShort(),this.codePageRange=function(){var t,i;for(i=[],t=0;t<2;t=++t)i.push(e.readInt());return i}(),this.version>1))return this.xHeight=e.readShort(),this.capHeight=e.readShort(),this.defaultChar=e.readShort(),this.breakChar=e.readShort(),this.maxContext=e.readShort()},n}(),s2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="post",n.prototype.parse=function(e){var t,i,s;switch(e.pos=this.offset,this.format=e.readInt(),this.italicAngle=e.readInt(),this.underlinePosition=e.readShort(),this.underlineThickness=e.readShort(),this.isFixedPitch=e.readInt(),this.minMemType42=e.readInt(),this.maxMemType42=e.readInt(),this.minMemType1=e.readInt(),this.maxMemType1=e.readInt(),this.format){case 65536:case 196608:break;case 131072:var a;for(i=e.readUInt16(),this.glyphNameIndex=[],a=0;0<=i?ai;a=0<=i?++a:--a)this.glyphNameIndex.push(e.readUInt16());for(this.names=[],s=[];e.posl;a=0<=l?++c:--c)h.push(e.readUInt32());return h}).call(this)}},n}(),o2=function(n,e){this.raw=n,this.length=n.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},l2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="name",n.prototype.parse=function(e){var t,i,s,a,c,l,h,d,m,_,k;for(e.pos=this.offset,e.readShort(),t=e.readShort(),l=e.readShort(),i=[],a=0;0<=t?at;a=0<=t?++a:--a)i.push({platformID:e.readShort(),encodingID:e.readShort(),languageID:e.readShort(),nameID:e.readShort(),length:e.readShort(),offset:this.offset+l+e.readShort()});for(h={},a=m=0,_=i.length;m<_;a=++m)s=i[a],e.pos=s.offset,d=e.readString(s.length),c=new o2(d,s),h[k=s.nameID]==null&&(h[k]=[]),h[s.nameID].push(c);this.strings=h,this.copyright=h[0],this.fontFamily=h[1],this.fontSubfamily=h[2],this.uniqueSubfamily=h[3],this.fontName=h[4],this.version=h[5];try{this.postscriptName=h[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g,"")}catch{this.postscriptName=h[4][0].raw.replace(/[\x00-\x19\x80-\xff]/g,"")}return this.trademark=h[7],this.manufacturer=h[8],this.designer=h[9],this.description=h[10],this.vendorUrl=h[11],this.designerUrl=h[12],this.license=h[13],this.licenseUrl=h[14],this.preferredFamily=h[15],this.preferredSubfamily=h[17],this.compatibleFull=h[18],this.sampleText=h[19]},n}(),u2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="maxp",n.prototype.parse=function(e){return e.pos=this.offset,this.version=e.readInt(),this.numGlyphs=e.readUInt16(),this.maxPoints=e.readUInt16(),this.maxContours=e.readUInt16(),this.maxCompositePoints=e.readUInt16(),this.maxComponentContours=e.readUInt16(),this.maxZones=e.readUInt16(),this.maxTwilightPoints=e.readUInt16(),this.maxStorage=e.readUInt16(),this.maxFunctionDefs=e.readUInt16(),this.maxInstructionDefs=e.readUInt16(),this.maxStackElements=e.readUInt16(),this.maxSizeOfInstructions=e.readUInt16(),this.maxComponentElements=e.readUInt16(),this.maxComponentDepth=e.readUInt16()},n}(),f2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="hmtx",n.prototype.parse=function(e){var t,i,s,a,c,l,h;for(e.pos=this.offset,this.metrics=[],t=0,l=this.file.hhea.numberOfMetrics;0<=l?tl;t=0<=l?++t:--t)this.metrics.push({advance:e.readUInt16(),lsb:e.readInt16()});for(s=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var d,m;for(m=[],t=d=0;0<=s?ds;t=0<=s?++d:--d)m.push(e.readInt16());return m}(),this.widths=(function(){var d,m,_,k;for(k=[],d=0,m=(_=this.metrics).length;ds;t=0<=s?++c:--c)h.push(this.widths.push(i));return h},n.prototype.forGlyph=function(e){return e in this.metrics?this.metrics[e]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[e-this.metrics.length]}},n}(),Df=[].slice,h2=function(){function n(){return n.__super__.constructor.apply(this,arguments)}return mr(n,nr),n.prototype.tag="glyf",n.prototype.parse=function(){return this.cache={}},n.prototype.glyphFor=function(e){var t,i,s,a,c,l,h,d,m,_;return e in this.cache?this.cache[e]:(a=this.file.loca,t=this.file.contents,i=a.indexOf(e),(s=a.lengthOf(e))===0?this.cache[e]=null:(t.pos=this.offset+i,c=(l=new ti(t.read(s))).readShort(),d=l.readShort(),_=l.readShort(),h=l.readShort(),m=l.readShort(),this.cache[e]=c===-1?new d2(l,d,_,h,m):new c2(l,c,d,_,h,m),this.cache[e]))},n.prototype.encode=function(e,t,i){var s,a,c,l,h;for(c=[],a=[],l=0,h=t.length;l0&&(s+=h)}for(var d=new Array(4*i.length),m=0;m>8,d[4*m+1]=(16711680&i[m])>>16,d[4*m]=(4278190080&i[m])>>24;return d},n}(),g2=function(){function n(e){this.font=e,this.subset={},this.unicodes={},this.next=33}return n.prototype.generateCmap=function(){var e,t,i,s,a;for(t in s=this.font.cmap.tables[0].codeMap,e={},a=this.subset)i=a[t],e[t]=s[i];return e},n.prototype.glyphsFor=function(e){var t,i,s,a,c,l,h;for(s={},c=0,l=e.length;c0)for(a in h=this.glyphsFor(t))i=h[a],s[a]=i;return s},n.prototype.encode=function(e,t){var i,s,a,c,l,h,d,m,_,k,p,j,O,M,S;for(s in i=Tf.encode(this.generateCmap(),"unicode"),c=this.glyphsFor(e),p={0:0},S=i.charMap)p[(h=S[s]).old]=h.new;for(j in k=i.maxGlyphID,c)j in p||(p[j]=k++);return m=function(V){var G,q;for(G in q={},V)q[V[G]]=G;return q}(p),_=Object.keys(m).sort(function(V,G){return V-G}),O=function(){var V,G,q;for(q=[],V=0,G=_.length;V>"),a.join(` +`)}return""+t},e}();const b2=Object.freeze(Object.defineProperty({__proto__:null,AcroForm:W1,AcroFormAppearance:It,AcroFormButton:rn,AcroFormCheckBox:ja,AcroFormChoiceField:_i,AcroFormComboBox:Ni,AcroFormEditBox:Ea,AcroFormListBox:Ai,AcroFormPasswordField:Ba,AcroFormPushButton:Oa,AcroFormRadioButton:Li,AcroFormTextField:Qr,GState:Ta,ShadingPattern:$r,TilingPattern:xi,default:Mt,jsPDF:Mt},Symbol.toStringTag,{value:"Module"}));export{_e as _,b2 as j}; diff --git a/dist/assets/jspdf.plugin.autotable-CyVc7Jkq.js b/dist/assets/jspdf.plugin.autotable-CyVc7Jkq.js new file mode 100644 index 0000000..36fefb5 --- /dev/null +++ b/dist/assets/jspdf.plugin.autotable-CyVc7Jkq.js @@ -0,0 +1,2 @@ +function q(e,t,r,i,n){i=i||{};var a=1.15,s=n.internal.scaleFactor,h=n.internal.getFontSize()/s,f=n.getLineHeightFactor?n.getLineHeightFactor():a,o=h*f,l=/\r\n|\r|\n/g,g="",u=1;if((i.valign==="middle"||i.valign==="bottom"||i.halign==="center"||i.halign==="right")&&(g=typeof e=="string"?e.split(l):e,u=g.length||1),r+=h*(2-a),i.valign==="middle"?r-=u/2*o:i.valign==="bottom"&&(r-=u*o),i.halign==="center"||i.halign==="right"){var v=h;if(i.halign==="center"&&(v*=.5),g&&u>=1){for(var d=0;d0,i=t||t===0;return r&&i?"DF":r?"S":i?"F":null}function F(e,t){var r,i,n,a;if(e=e||t,Array.isArray(e)){if(e.length>=4)return{top:e[0],right:e[1],bottom:e[2],left:e[3]};if(e.length===3)return{top:e[0],right:e[1],bottom:e[2],left:e[1]};if(e.length===2)return{top:e[0],right:e[1],bottom:e[0],left:e[1]};e.length===1?e=e[0]:e=t}return typeof e=="object"?(typeof e.vertical=="number"&&(e.top=e.vertical,e.bottom=e.vertical),typeof e.horizontal=="number"&&(e.right=e.horizontal,e.left=e.horizontal),{left:(r=e.left)!==null&&r!==void 0?r:t,top:(i=e.top)!==null&&i!==void 0?i:t,right:(n=e.right)!==null&&n!==void 0?n:t,bottom:(a=e.bottom)!==null&&a!==void 0?a:t}):(typeof e!="number"&&(e=t),{top:e,right:e,bottom:e,left:e})}function Q(e,t){var r=F(t.settings.margin,0);return e.pageSize().width-(r.left+r.right)}function ot(e,t,r,i,n){var a={},s=1.3333333333333333,h=b(t,function(c){return n.getComputedStyle(c).backgroundColor});h!=null&&(a.fillColor=h);var f=b(t,function(c){return n.getComputedStyle(c).color});f!=null&&(a.textColor=f);var o=ht(i,r);o&&(a.cellPadding=o);var l="borderTopColor",g=s*r,u=i.borderTopWidth;if(i.borderBottomWidth===u&&i.borderRightWidth===u&&i.borderLeftWidth===u){var v=(parseFloat(u)||0)/g;v&&(a.lineWidth=v)}else a.lineWidth={top:(parseFloat(i.borderTopWidth)||0)/g,right:(parseFloat(i.borderRightWidth)||0)/g,bottom:(parseFloat(i.borderBottomWidth)||0)/g,left:(parseFloat(i.borderLeftWidth)||0)/g},a.lineWidth.top||(a.lineWidth.right?l="borderRightColor":a.lineWidth.bottom?l="borderBottomColor":a.lineWidth.left&&(l="borderLeftColor"));var d=b(t,function(c){return n.getComputedStyle(c)[l]});d!=null&&(a.lineColor=d);var m=["left","right","center","justify"];m.indexOf(i.textAlign)!==-1&&(a.halign=i.textAlign),m=["middle","bottom","top"],m.indexOf(i.verticalAlign)!==-1&&(a.valign=i.verticalAlign);var p=parseInt(i.fontSize||"");isNaN(p)||(a.fontSize=p/s);var y=st(i);y&&(a.fontStyle=y);var x=(i.fontFamily||"").toLowerCase();return e.indexOf(x)!==-1&&(a.font=x),a}function st(e){var t="";return(e.fontWeight==="bold"||e.fontWeight==="bolder"||parseInt(e.fontWeight)>=700)&&(t="bold"),(e.fontStyle==="italic"||e.fontStyle==="oblique")&&(t+="italic"),t}function b(e,t){var r=X(e,t);if(!r)return null;var i=r.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d*))?\)$/);if(!i||!Array.isArray(i))return null;var n=[parseInt(i[1]),parseInt(i[2]),parseInt(i[3])],a=parseInt(i[4]);return a===0||isNaN(n[0])||isNaN(n[1])||isNaN(n[2])?null:n}function X(e,t){var r=t(e);return r==="rgba(0, 0, 0, 0)"||r==="transparent"||r==="initial"||r==="inherit"?e.parentElement==null?null:X(e.parentElement,t):r}function ht(e,t){var r=[e.paddingTop,e.paddingRight,e.paddingBottom,e.paddingLeft],i=96/(72/t),n=(parseInt(e.lineHeight)-parseInt(e.fontSize))/t/2,a=r.map(function(h){return parseInt(h||"0")/i}),s=F(a,0);return n>s.top&&(s.top=n),n>s.bottom&&(s.bottom=n),s}function Z(e,t,r,i,n){var a,s;i===void 0&&(i=!1),n===void 0&&(n=!1);var h;typeof t=="string"?h=r.document.querySelector(t):h=t;var f=Object.keys(e.getFontList()),o=e.scaleFactor(),l=[],g=[],u=[];if(!h)return console.error("Html table could not be found with input: ",t),{head:l,body:g,foot:u};for(var v=0;v0&&(n||g.display!=="none"))return s}function lt(e){var t=e.cloneNode(!0);return t.innerHTML=t.innerHTML.replace(/\n/g,"").replace(/ +/g," "),t.innerHTML=t.innerHTML.split(//).map(function(r){return r.trim()}).join(` +`),t.innerText||t.textContent||""}function gt(e,t,r){for(var i=0,n=[e,t,r];i0?"_".concat(f):"");var l={dataKey:o};n.push(l)}}),n}var A=function(){function e(t,r,i){this.table=r,this.pageNumber=r.pageNumber,this.settings=r.settings,this.cursor=i,this.doc=t.getDocument()}return e}(),ct=function(e){G(t,e);function t(r,i,n,a,s,h){var f=e.call(this,r,i,h)||this;return f.cell=n,f.row=a,f.column=s,f.section=a.section,f}return t}(A),wt=function(){function e(t,r){this.pageNumber=1,this.id=t.id,this.settings=t.settings,this.styles=t.styles,this.hooks=t.hooks,this.columns=r.columns,this.head=r.head,this.body=r.body,this.foot=r.foot}return e.prototype.getHeadHeight=function(t){return this.head.reduce(function(r,i){return r+i.getMaxCellHeight(t)},0)},e.prototype.getFootHeight=function(t){return this.foot.reduce(function(r,i){return r+i.getMaxCellHeight(t)},0)},e.prototype.allRows=function(){return this.head.concat(this.body).concat(this.foot)},e.prototype.callCellHooks=function(t,r,i,n,a,s){for(var h=0,f=r;h1:!1}).length>0},e.prototype.canEntireRowFit=function(t,r){return this.getMaxCellHeight(r)<=t},e.prototype.getMinimumRowHeight=function(t,r){var i=this;return t.reduce(function(n,a){var s=i.cells[a.index];if(!s)return 0;var h=r.getLineHeight(s.styles.fontSize),f=s.padding("vertical"),o=f+h;return o>n?o:n},0)},e}(),tt=function(){function e(t,r,i){var n;this.contentHeight=0,this.contentWidth=0,this.wrappedWidth=0,this.minReadableWidth=0,this.minWidth=0,this.width=0,this.height=0,this.x=0,this.y=0,this.styles=r,this.section=i,this.raw=t;var a=t;t!=null&&typeof t=="object"&&!Array.isArray(t)?(this.rowSpan=t.rowSpan||1,this.colSpan=t.colSpan||1,a=(n=t.content)!==null&&n!==void 0?n:t,t._element&&(this.raw=t._element)):(this.rowSpan=1,this.colSpan=1);var s=a!=null?""+a:"",h=/\r\n|\r|\n/g;this.text=s.split(h)}return e.prototype.getTextPos=function(){var t;if(this.styles.valign==="top")t=this.y+this.padding("top");else if(this.styles.valign==="bottom")t=this.y+this.height-this.padding("bottom");else{var r=this.height-this.padding("vertical");t=this.y+r/2+this.padding("top")}var i;if(this.styles.halign==="right")i=this.x+this.width-this.padding("right");else if(this.styles.halign==="center"){var n=this.width-this.padding("horizontal");i=this.x+n/2+this.padding("left")}else i=this.x+this.padding("left");return{x:i,y:t}},e.prototype.getContentHeight=function(t,r){r===void 0&&(r=1.15);var i=Array.isArray(this.text)?this.text.length:1,n=this.styles.fontSize/t*r,a=i*n+this.padding("vertical");return Math.max(a,this.styles.minCellHeight)},e.prototype.padding=function(t){var r=F(this.styles.cellPadding,0);return t==="vertical"?r.top+r.bottom:t==="horizontal"?r.left+r.right:r[t]},e}(),St=function(){function e(t,r,i){this.wrappedWidth=0,this.minReadableWidth=0,this.minWidth=0,this.width=0,this.dataKey=t,this.raw=r,this.index=i}return e.prototype.getMaxCustomCellWidth=function(t){for(var r=0,i=0,n=t.allRows();i.1/e.scaleFactor()&&(n=n<1?n:Math.round(n),console.log("Of the table content, ".concat(n," units width could not fit page"))),Ht(t),Dt(t,e),Pt(t)}function Ct(e,t){var r=e.scaleFactor(),i=t.settings.horizontalPageBreak,n=Q(e,t);t.allRows().forEach(function(a){for(var s=0,h=t.columns;sn?(o.minWidth=n,o.wrappedWidth=n):(o.minWidth=o.contentWidth,o.wrappedWidth=o.contentWidth);else{var v=10/r;o.minWidth=o.styles.minCellWidth||v,o.wrappedWidth=o.contentWidth,o.minWidth>o.wrappedWidth&&(o.wrappedWidth=o.minWidth)}}}}),t.allRows().forEach(function(a){for(var s=0,h=t.columns;s1&&!f.minWidth&&(f.minWidth=o.minWidth),o.colSpan>1&&!f.wrappedWidth&&(f.wrappedWidth=o.minWidth))}})}function j(e,t,r){for(var i=t,n=e.reduce(function(v,d){return v+d.wrappedWidth},0),a=0;ar(v):!0});u.length&&(t=j(u,t,r))}return t}function Pt(e){for(var t={},r=1,i=e.allRows(),n=0;n1)r--,delete a.cells[f.index];else if(o)o.cell.height+=a.height,r=o.cell.colSpan,delete a.cells[f.index],o.left--,o.left<=1&&delete t[f.index];else{var l=a.cells[f.index];if(!l)continue;if(l.height=a.height,l.rowSpan>1){var g=i.length-n,u=l.rowSpan>g?g:l.rowSpan;t[f.index]={cell:l,left:u,row:a}}}}}function Ht(e){for(var t=e.allRows(),r=0;r1&&e.columns[h+1])a+=f.width,delete i.cells[f.index];else if(n){var o=n;delete i.cells[f.index],n=null,o.width=f.width+a}else{var o=i.cells[f.index];if(!o)continue;if(s=o.colSpan,a=0,o.colSpan>1){n=o,a+=f.width;continue}o.width=f.width+a}}}function Dt(e,t){for(var r={count:0,height:0},i=0,n=e.allRows();i1&&r.count*r.height0&&r.height>u&&(u=r.height),u>a.height&&(a.height=u)}}r.count--}}function N(e,t,r,i,n){return e.map(function(a){return Wt(a,t,r,i,n)})}function Wt(e,t,r,i,n){var a=1e4*i.scaleFactor();if(t=Math.ceil(t*a)/a,t>=D(e,r,i))return e;for(;t0?r:null}function bt(e,t){if(e==="head"){if(typeof t=="object")return t.header||null;if(typeof t=="string"||typeof t=="number")return t}else if(e==="foot"&&typeof t=="object")return t.footer;return null}function kt(e){return e.map(function(t,r){var i,n;return typeof t=="object"?n=(i=t.dataKey)!==null&&i!==void 0?i:r:n=r,new St(n,t,r)})}function Tt(e,t,r,i,n,a,s){var h=at(i),f;e==="head"?f=n.headStyles:e==="body"?f=n.bodyStyles:e==="foot"&&(f=n.footStyles);var o=w({},h.table,h[e],n.styles,f),l=n.columnStyles[t.dataKey]||n.columnStyles[t.index]||{},g=e==="body"?l:{},u=e==="body"&&r%2===0?w({},h.alternateRow,n.alternateRowStyles):{},v=nt(a),d=w({},v,o,u,g);return w(d,s)}function Rt(e,t,r){var i;r===void 0&&(r={});var n=Q(e,t),a=new Map,s=[],h=[],f=[];Array.isArray(t.settings.horizontalPageBreakRepeat)?f=t.settings.horizontalPageBreakRepeat:(typeof t.settings.horizontalPageBreakRepeat=="string"||typeof t.settings.horizontalPageBreakRepeat=="number")&&(f=[t.settings.horizontalPageBreakRepeat]),f.forEach(function(u){var v=t.columns.find(function(d){return d.dataKey===u||d.index===u});v&&!a.has(v.index)&&(a.set(v.index,!0),s.push(v.index),h.push(t.columns[v.index]),n-=v.wrappedWidth)});for(var o=!0,l=(i=r==null?void 0:r.start)!==null&&i!==void 0?i:0;l=g)o=!1,s.push(l),h.push(t.columns[l]),n-=g;else break;l++}return{colIndexes:s,columns:h,lastIndex:l-1}}function zt(e,t){for(var r=[],i=0;il.pageSize().height)&&(it(l),a.y=n.top),t.callWillDrawPageHooks(l,a);var g=w({},a);t.startPageNumber=l.pageNumber(),r.horizontalPageBreak?At(l,t,g,a):(l.applyStyles(l.userStyles),(r.showHead==="firstPage"||r.showHead==="everyPage")&&t.head.forEach(function(u){return S(l,t,u,a,t.columns)}),l.applyStyles(l.userStyles),t.body.forEach(function(u,v){var d=v===t.body.length-1;W(l,t,u,d,g,a,t.columns)}),l.applyStyles(l.userStyles),(r.showFoot==="lastPage"||r.showFoot==="everyPage")&&t.foot.forEach(function(u){return S(l,t,u,a,t.columns)})),U(l,t,g,a),t.callEndPageHooks(l,a),t.finalY=a.y,e.lastAutoTable=t,l.applyStyles(l.userStyles)}function At(e,t,r,i){var n=zt(e,t),a=t.settings;if(a.horizontalPageBreakBehaviour==="afterAllRows")n.forEach(function(o,l){e.applyStyles(e.userStyles),l>0?H(e,t,r,i,o.columns,!0):Y(e,t,i,o.columns),jt(e,t,r,i,o.columns),T(e,t,i,o.columns)});else for(var s=-1,h=n[0],f=function(){var o=s;if(h){e.applyStyles(e.userStyles);var l=h.columns;s>=0?H(e,t,r,i,l,!0):Y(e,t,i,l),o=I(e,t,s+1,i,l),T(e,t,i,l)}var g=o-s;n.slice(1).forEach(function(u){e.applyStyles(e.userStyles),H(e,t,r,i,u.columns,!0),I(e,t,s+1,i,u.columns,g),T(e,t,i,u.columns)}),s=o};sg&&(l.text=o.text.splice(g,o.text.length));var u=i.scaleFactor(),v=i.getLineHeightFactor();o.contentHeight=o.getContentHeight(u,v),o.contentHeight>=t&&(o.contentHeight=t,l.styles.minCellHeight-=t),o.contentHeight>e.height&&(e.height=o.contentHeight),l.contentHeight=l.getContentHeight(u,v),l.contentHeight>a&&(a=l.contentHeight),n[f.index]=l}}var d=new V(e.raw,-1,e.section,n,!0);d.height=a;for(var m=0,p=r.columns;mh)return console.log("Will not be able to print row ".concat(t.index," correctly since it's minimum height is larger than page height")),!0;if(!o)return!1;var l=t.hasRowSpan(i.columns),g=t.getMaxCellHeight(i.columns)>h;return g?(l&&console.log("The content of row ".concat(t.index," will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.")),!0):!(l||i.settings.rowPageBreak==="avoid")}function W(e,t,r,i,n,a,s){var h=et(e,t,i,a);if(r.canEntireRowFit(h,s))S(e,t,r,a,s);else if(Et(e,r,h,t)){var f=Lt(r,h,t,e);S(e,t,r,a,s),H(e,t,n,a,s),W(e,t,f,i,n,a,s)}else H(e,t,n,a,s),W(e,t,r,i,n,a,s)}function S(e,t,r,i,n){i.x=t.settings.margin.left;for(var a=0,s=n;a"u")return console.error("Cannot run autoTableHtmlToJson in non browser environment"),null;var n=new P(this),a=Z(n,t,window,r,!1),s=a.head,h=a.body,f=((i=s[0])===null||i===void 0?void 0:i.map(function(o){return o.content}))||[];return{columns:f,rows:h,data:h}}}var R;function Yt(e,t){var r=B(e,t),i=L(e,r);E(e,i)}function It(e,t){var r=B(e,t);return L(e,r)}function Kt(e,t){E(e,t)}try{if(typeof window<"u"&&window){var K=window,_=K.jsPDF||((R=K.jspdf)===null||R===void 0?void 0:R.jsPDF);_&&Ot(_)}}catch(e){console.error("Could not apply autoTable plugin",e)}export{tt as Cell,ct as CellHookData,St as Column,A as HookData,V as Row,wt as Table,It as __createTable,Kt as __drawTable,Ot as applyPlugin,Yt as autoTable,Yt as default}; diff --git a/dist/assets/purify.es-BgtpMKW3.js b/dist/assets/purify.es-BgtpMKW3.js new file mode 100644 index 0000000..bfd3bf1 --- /dev/null +++ b/dist/assets/purify.es-BgtpMKW3.js @@ -0,0 +1,2 @@ +/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */const{entries:_t,setPrototypeOf:ct,isFrozen:Yt,getPrototypeOf:Xt,getOwnPropertyDescriptor:jt}=Object;let{freeze:S,seal:b,create:me}=Object,{apply:ve,construct:Ue}=typeof Reflect<"u"&&Reflect;S||(S=function(o){return o});b||(b=function(o){return o});ve||(ve=function(o,l){for(var a=arguments.length,c=new Array(a>2?a-2:0),D=2;D1?l-1:0),c=1;c1?l-1:0),c=1;c2&&arguments[2]!==void 0?arguments[2]:pe;ct&&ct(s,null);let a=o.length;for(;a--;){let c=o[a];if(typeof c=="string"){const D=l(c);D!==c&&(Yt(o)||(o[a]=D),c=D)}s[c]=!0}return s}function Jt(s){for(let o=0;o/gm),on=b(/\$\{[\w\W]*/gm),an=b(/^data-[\-\w.\u00B7-\uFFFF]+$/),rn=b(/^aria-[\-\w]+$/),gt=b(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),sn=b(/^(?:\w+script|data):/i),ln=b(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),At=b(/^html$/i),cn=b(/^[a-z][.\w]*(-[.\w]+)+$/i);var dt=Object.freeze({__proto__:null,ARIA_ATTR:rn,ATTR_WHITESPACE:ln,CUSTOM_ELEMENT:cn,DATA_ATTR:an,DOCTYPE_NAME:At,ERB_EXPR:nn,IS_ALLOWED_URI:gt,IS_SCRIPT_OR_DATA:sn,MUSTACHE_EXPR:tn,TMPLIT_EXPR:on});const Q={element:1,text:3,progressingInstruction:7,comment:8,document:9},fn=function(){return typeof window>"u"?null:window},un=function(o,l){if(typeof o!="object"||typeof o.createPolicy!="function")return null;let a=null;const c="data-tt-policy-suffix";l&&l.hasAttribute(c)&&(a=l.getAttribute(c));const D="dompurify"+(a?"#"+a:"");try{return o.createPolicy(D,{createHTML(v){return v},createScriptURL(v){return v}})}catch{return console.warn("TrustedTypes policy "+D+" could not be created."),null}},Et=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ht(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fn();const o=i=>ht(i);if(o.version="3.3.3",o.removed=[],!s||!s.document||s.document.nodeType!==Q.document||!s.Element)return o.isSupported=!1,o;let{document:l}=s;const a=l,c=a.currentScript,{DocumentFragment:D,HTMLTemplateElement:v,Node:Te,Element:Fe,NodeFilter:B,NamedNodeMap:St=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:Rt,DOMParser:Dt,trustedTypes:ee}=s,Y=Fe.prototype,Ot=J(Y,"cloneNode"),Lt=J(Y,"remove"),bt=J(Y,"nextSibling"),yt=J(Y,"childNodes"),te=J(Y,"parentNode");if(typeof v=="function"){const i=l.createElement("template");i.content&&i.content.ownerDocument&&(l=i.content.ownerDocument)}let g,X="";const{implementation:de,createNodeIterator:Nt,createDocumentFragment:Ct,getElementsByTagName:It}=l,{importNode:Mt}=a;let A=Et();o.isSupported=typeof _t=="function"&&typeof te=="function"&&de&&de.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ee,ERB_EXPR:_e,TMPLIT_EXPR:ge,DATA_ATTR:wt,ARIA_ATTR:xt,IS_SCRIPT_OR_DATA:Pt,ATTR_WHITESPACE:He,CUSTOM_ELEMENT:kt}=dt;let{IS_ALLOWED_URI:ze}=dt,T=null;const Ge=r({},[...ut,...we,...xe,...Pe,...mt]);let d=null;const We=r({},[...pt,...ke,...Tt,...ue]);let u=Object.seal(me(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,ne=null;const x=Object.seal(me(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Be=!0,Ae=!0,Ye=!1,Xe=!0,U=!1,oe=!0,P=!1,he=!1,Se=!1,F=!1,ie=!1,ae=!1,je=!0,Ve=!1;const vt="user-content-";let Re=!0,V=!1,H={},y=null;const De=r({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let $e=null;const qe=r({},["audio","video","img","source","image","track"]);let Oe=null;const Ke=r({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),re="http://www.w3.org/1998/Math/MathML",se="http://www.w3.org/2000/svg",I="http://www.w3.org/1999/xhtml";let z=I,Le=!1,be=null;const Ut=r({},[re,se,I],Ie);let le=r({},["mi","mo","mn","ms","mtext"]),ce=r({},["annotation-xml"]);const Ft=r({},["title","style","font","a","script"]);let $=null;const Ht=["application/xhtml+xml","text/html"],zt="text/html";let p=null,G=null;const Gt=l.createElement("form"),Ze=function(e){return e instanceof RegExp||e instanceof Function},ye=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(G&&G===e)){if((!e||typeof e!="object")&&(e={}),e=C(e),$=Ht.indexOf(e.PARSER_MEDIA_TYPE)===-1?zt:e.PARSER_MEDIA_TYPE,p=$==="application/xhtml+xml"?Ie:pe,T=L(e,"ALLOWED_TAGS")?r({},e.ALLOWED_TAGS,p):Ge,d=L(e,"ALLOWED_ATTR")?r({},e.ALLOWED_ATTR,p):We,be=L(e,"ALLOWED_NAMESPACES")?r({},e.ALLOWED_NAMESPACES,Ie):Ut,Oe=L(e,"ADD_URI_SAFE_ATTR")?r(C(Ke),e.ADD_URI_SAFE_ATTR,p):Ke,$e=L(e,"ADD_DATA_URI_TAGS")?r(C(qe),e.ADD_DATA_URI_TAGS,p):qe,y=L(e,"FORBID_CONTENTS")?r({},e.FORBID_CONTENTS,p):De,j=L(e,"FORBID_TAGS")?r({},e.FORBID_TAGS,p):C({}),ne=L(e,"FORBID_ATTR")?r({},e.FORBID_ATTR,p):C({}),H=L(e,"USE_PROFILES")?e.USE_PROFILES:!1,Be=e.ALLOW_ARIA_ATTR!==!1,Ae=e.ALLOW_DATA_ATTR!==!1,Ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,U=e.SAFE_FOR_TEMPLATES||!1,oe=e.SAFE_FOR_XML!==!1,P=e.WHOLE_DOCUMENT||!1,F=e.RETURN_DOM||!1,ie=e.RETURN_DOM_FRAGMENT||!1,ae=e.RETURN_TRUSTED_TYPE||!1,Se=e.FORCE_BODY||!1,je=e.SANITIZE_DOM!==!1,Ve=e.SANITIZE_NAMED_PROPS||!1,Re=e.KEEP_CONTENT!==!1,V=e.IN_PLACE||!1,ze=e.ALLOWED_URI_REGEXP||gt,z=e.NAMESPACE||I,le=e.MATHML_TEXT_INTEGRATION_POINTS||le,ce=e.HTML_INTEGRATION_POINTS||ce,u=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Ze(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(u.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ze(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(u.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(u.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),U&&(Ae=!1),ie&&(F=!0),H&&(T=r({},mt),d=me(null),H.html===!0&&(r(T,ut),r(d,pt)),H.svg===!0&&(r(T,we),r(d,ke),r(d,ue)),H.svgFilters===!0&&(r(T,xe),r(d,ke),r(d,ue)),H.mathMl===!0&&(r(T,Pe),r(d,Tt),r(d,ue))),L(e,"ADD_TAGS")||(x.tagCheck=null),L(e,"ADD_ATTR")||(x.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS=="function"?x.tagCheck=e.ADD_TAGS:(T===Ge&&(T=C(T)),r(T,e.ADD_TAGS,p))),e.ADD_ATTR&&(typeof e.ADD_ATTR=="function"?x.attributeCheck=e.ADD_ATTR:(d===We&&(d=C(d)),r(d,e.ADD_ATTR,p))),e.ADD_URI_SAFE_ATTR&&r(Oe,e.ADD_URI_SAFE_ATTR,p),e.FORBID_CONTENTS&&(y===De&&(y=C(y)),r(y,e.FORBID_CONTENTS,p)),e.ADD_FORBID_CONTENTS&&(y===De&&(y=C(y)),r(y,e.ADD_FORBID_CONTENTS,p)),Re&&(T["#text"]=!0),P&&r(T,["html","head","body"]),T.table&&(r(T,["tbody"]),delete j.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');g=e.TRUSTED_TYPES_POLICY,X=g.createHTML("")}else g===void 0&&(g=un(ee,c)),g!==null&&typeof X=="string"&&(X=g.createHTML(""));S&&S(e),G=e}},Je=r({},[...we,...xe,...Qt]),Qe=r({},[...Pe,...en]),Wt=function(e){let t=te(e);(!t||!t.tagName)&&(t={namespaceURI:z,tagName:"template"});const n=pe(e.tagName),f=pe(t.tagName);return be[e.namespaceURI]?e.namespaceURI===se?t.namespaceURI===I?n==="svg":t.namespaceURI===re?n==="svg"&&(f==="annotation-xml"||le[f]):!!Je[n]:e.namespaceURI===re?t.namespaceURI===I?n==="math":t.namespaceURI===se?n==="math"&&ce[f]:!!Qe[n]:e.namespaceURI===I?t.namespaceURI===se&&!ce[f]||t.namespaceURI===re&&!le[f]?!1:!Qe[n]&&(Ft[n]||!Je[n]):!!($==="application/xhtml+xml"&&be[e.namespaceURI]):!1},N=function(e){q(o.removed,{element:e});try{te(e).removeChild(e)}catch{Lt(e)}},k=function(e,t){try{q(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch{q(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),e==="is")if(F||ie)try{N(t)}catch{}else try{t.setAttribute(e,"")}catch{}},et=function(e){let t=null,n=null;if(Se)e=""+e;else{const m=Me(e,/^[\r\n\t ]+/);n=m&&m[0]}$==="application/xhtml+xml"&&z===I&&(e=''+e+"");const f=g?g.createHTML(e):e;if(z===I)try{t=new Dt().parseFromString(f,$)}catch{}if(!t||!t.documentElement){t=de.createDocument(z,"template",null);try{t.documentElement.innerHTML=Le?X:f}catch{}}const _=t.body||t.documentElement;return e&&n&&_.insertBefore(l.createTextNode(n),_.childNodes[0]||null),z===I?It.call(t,P?"html":"body")[0]:P?t.documentElement:_},tt=function(e){return Nt.call(e.ownerDocument||e,e,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},Ne=function(e){return e instanceof Rt&&(typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||!(e.attributes instanceof St)||typeof e.removeAttribute!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function")},nt=function(e){return typeof Te=="function"&&e instanceof Te};function M(i,e,t){fe(i,n=>{n.call(o,e,t,G)})}const ot=function(e){let t=null;if(M(A.beforeSanitizeElements,e,null),Ne(e))return N(e),!0;const n=p(e.nodeName);if(M(A.uponSanitizeElement,e,{tagName:n,allowedTags:T}),oe&&e.hasChildNodes()&&!nt(e.firstElementChild)&&h(/<[/\w!]/g,e.innerHTML)&&h(/<[/\w!]/g,e.textContent)||e.nodeType===Q.progressingInstruction||oe&&e.nodeType===Q.comment&&h(/<[/\w]/g,e.data))return N(e),!0;if(!(x.tagCheck instanceof Function&&x.tagCheck(n))&&(!T[n]||j[n])){if(!j[n]&&at(n)&&(u.tagNameCheck instanceof RegExp&&h(u.tagNameCheck,n)||u.tagNameCheck instanceof Function&&u.tagNameCheck(n)))return!1;if(Re&&!y[n]){const f=te(e)||e.parentNode,_=yt(e)||e.childNodes;if(_&&f){const m=_.length;for(let O=m-1;O>=0;--O){const w=Ot(_[O],!0);w.__removalCount=(e.__removalCount||0)+1,f.insertBefore(w,bt(e))}}}return N(e),!0}return e instanceof Fe&&!Wt(e)||(n==="noscript"||n==="noembed"||n==="noframes")&&h(/<\/no(script|embed|frames)/i,e.innerHTML)?(N(e),!0):(U&&e.nodeType===Q.text&&(t=e.textContent,fe([Ee,_e,ge],f=>{t=K(t,f," ")}),e.textContent!==t&&(q(o.removed,{element:e.cloneNode()}),e.textContent=t)),M(A.afterSanitizeElements,e,null),!1)},it=function(e,t,n){if(ne[t]||je&&(t==="id"||t==="name")&&(n in l||n in Gt))return!1;if(!(Ae&&!ne[t]&&h(wt,t))){if(!(Be&&h(xt,t))){if(!(x.attributeCheck instanceof Function&&x.attributeCheck(t,e))){if(!d[t]||ne[t]){if(!(at(e)&&(u.tagNameCheck instanceof RegExp&&h(u.tagNameCheck,e)||u.tagNameCheck instanceof Function&&u.tagNameCheck(e))&&(u.attributeNameCheck instanceof RegExp&&h(u.attributeNameCheck,t)||u.attributeNameCheck instanceof Function&&u.attributeNameCheck(t,e))||t==="is"&&u.allowCustomizedBuiltInElements&&(u.tagNameCheck instanceof RegExp&&h(u.tagNameCheck,n)||u.tagNameCheck instanceof Function&&u.tagNameCheck(n))))return!1}else if(!Oe[t]){if(!h(ze,K(n,He,""))){if(!((t==="src"||t==="xlink:href"||t==="href")&&e!=="script"&&qt(n,"data:")===0&&$e[e])){if(!(Ye&&!h(Pt,K(n,He,"")))){if(n)return!1}}}}}}}return!0},at=function(e){return e!=="annotation-xml"&&Me(e,kt)},rt=function(e){M(A.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||Ne(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:d,forceKeepAttr:void 0};let f=t.length;for(;f--;){const _=t[f],{name:m,namespaceURI:O,value:w}=_,W=p(m),Ce=w;let E=m==="value"?Ce:Kt(Ce);if(n.attrName=W,n.attrValue=E,n.keepAttr=!0,n.forceKeepAttr=void 0,M(A.uponSanitizeAttribute,e,n),E=n.attrValue,Ve&&(W==="id"||W==="name")&&(k(m,e),E=vt+E),oe&&h(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,E)){k(m,e);continue}if(W==="attributename"&&Me(E,"href")){k(m,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){k(m,e);continue}if(!Xe&&h(/\/>/i,E)){k(m,e);continue}U&&fe([Ee,_e,ge],lt=>{E=K(E,lt," ")});const st=p(e.nodeName);if(!it(st,W,E)){k(m,e);continue}if(g&&typeof ee=="object"&&typeof ee.getAttributeType=="function"&&!O)switch(ee.getAttributeType(st,W)){case"TrustedHTML":{E=g.createHTML(E);break}case"TrustedScriptURL":{E=g.createScriptURL(E);break}}if(E!==Ce)try{O?e.setAttributeNS(O,m,E):e.setAttribute(m,E),Ne(e)?N(e):ft(o.removed)}catch{k(m,e)}}M(A.afterSanitizeAttributes,e,null)},Bt=function i(e){let t=null;const n=tt(e);for(M(A.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)M(A.uponSanitizeShadowNode,t,null),ot(t),rt(t),t.content instanceof D&&i(t.content);M(A.afterSanitizeShadowDOM,e,null)};return o.sanitize=function(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=null,n=null,f=null,_=null;if(Le=!i,Le&&(i=""),typeof i!="string"&&!nt(i))if(typeof i.toString=="function"){if(i=i.toString(),typeof i!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!o.isSupported)return i;if(he||ye(e),o.removed=[],typeof i=="string"&&(V=!1),V){if(i.nodeName){const w=p(i.nodeName);if(!T[w]||j[w])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof Te)t=et(""),n=t.ownerDocument.importNode(i,!0),n.nodeType===Q.element&&n.nodeName==="BODY"||n.nodeName==="HTML"?t=n:t.appendChild(n);else{if(!F&&!U&&!P&&i.indexOf("<")===-1)return g&&ae?g.createHTML(i):i;if(t=et(i),!t)return F?null:ae?X:""}t&&Se&&N(t.firstChild);const m=tt(V?i:t);for(;f=m.nextNode();)ot(f),rt(f),f.content instanceof D&&Bt(f.content);if(V)return i;if(F){if(ie)for(_=Ct.call(t.ownerDocument);t.firstChild;)_.appendChild(t.firstChild);else _=t;return(d.shadowroot||d.shadowrootmode)&&(_=Mt.call(a,_,!0)),_}let O=P?t.outerHTML:t.innerHTML;return P&&T["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&h(At,t.ownerDocument.doctype.name)&&(O=" +`+O),U&&fe([Ee,_e,ge],w=>{O=K(O,w," ")}),g&&ae?g.createHTML(O):O},o.setConfig=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ye(i),he=!0},o.clearConfig=function(){G=null,he=!1},o.isValidAttribute=function(i,e,t){G||ye({});const n=p(i),f=p(e);return it(n,f,t)},o.addHook=function(i,e){typeof e=="function"&&q(A[i],e)},o.removeHook=function(i,e){if(e!==void 0){const t=Vt(A[i],e);return t===-1?void 0:$t(A[i],t,1)[0]}return ft(A[i])},o.removeHooks=function(i){A[i]=[]},o.removeAllHooks=function(){A=Et()},o}var mn=ht();export{mn as default}; diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..2115e77 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,14 @@ + + + + + + + PAT Test Manager + + + + +
+ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..e4d991a --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + PAT Test Manager + + +
+ + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a69f1b1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4058 @@ +{ + "name": "pat-test-manager", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "pat-test-manager", + "version": "1.0.0", + "dependencies": { + "@supabase/supabase-js": "^2.45.4", + "all": "^0.0.0", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", + "lucide-react": "^0.263.1", + "pg": "^8.11.5", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.1", + "vite": "^5.4.2", + "vitest": "^1.6.1" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@supabase/auth-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.86.2.tgz", + "integrity": "sha512-7k8IAhgSnZuD9Zex2+ohHKY3aWGDd4ls0xlxMGl3/jPyHSSXrIYfmtJyUH0+DPd4B3psBqHC0Ev0/nZEHdW58w==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.86.2.tgz", + "integrity": "sha512-OLpy3NIlj7q3yGMFwUpPkDPJbRx4aU+u73SiXqiMnA5ARwzVcOReSzI2u4oOqioE+3ud0fRx7sRsfoklBwYOmg==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.86.2.tgz", + "integrity": "sha512-KVgOF2QASvUfQnzMGAmxR7f3ZF/eZ8PFp2F5Q7SAPQlmB83FEaZ7C/QMzfVXXqkMbotfh96xcaBNSKnxowFObA==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.86.2.tgz", + "integrity": "sha512-uLUYrOMeK1qXHISxdMFVfBs0sGV5PmqYewIHvLBnMYbb//LERojxfKlVSJBgZ+aAwxANmtQKcprjGZI7DJ6lNQ==", + "license": "MIT", + "dependencies": { + "@types/phoenix": "^1.6.6", + "@types/ws": "^8.18.1", + "tslib": "2.8.1", + "ws": "^8.18.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.86.2.tgz", + "integrity": "sha512-zyR4PkO7R4f4/xRBVJho3Dm7y4512BoCqGmD7LjNV2GVtWt8vEmambiuMB2Ty3l76mqw+ynQyHY8yFWSERrHXA==", + "license": "MIT", + "dependencies": { + "iceberg-js": "^0.8.0", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.86.2", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.86.2.tgz", + "integrity": "sha512-KXoiqFf7zZhL/+lj7oBFFUvVDQ6gy03v9wQ5E++f7xiJUuqmI4DuBhrv8uFo6B2EGTQTA3vkXjbxmYIug/zfWw==", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.86.2", + "@supabase/functions-js": "2.86.2", + "@supabase/postgrest-js": "2.86.2", + "@supabase/realtime-js": "2.86.2", + "@supabase/storage-js": "2.86.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/phoenix": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz", + "integrity": "sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/react": { + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz", + "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz", + "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "1.6.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz", + "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz", + "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz", + "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/all": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/all/-/all-0.0.0.tgz", + "integrity": "sha512-0oKlfNVv2d+d7c1gwjGspzgbwot47PGQ4b3v1ccx4mR8l9P/Y6E6Dr/yE8lNT63EcAKEbHo6UG3odDpC/NQcKw==", + "license": "MIT" + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.22", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", + "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.27.0", + "caniuse-lite": "^1.0.30001754", + "fraction.js": "^5.3.4", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.3.tgz", + "integrity": "sha512-8QdH6czo+G7uBsNo0GiUfouPN1lRzKdJTGnKXwe12gkFbnnOUaUKGN55dMkfy+mnxmvjwl9zcI4VncczcVXDhA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001759", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz", + "integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dompurify": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.266", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.266.tgz", + "integrity": "sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "optional": true, + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iceberg-js": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz", + "integrity": "sha512-1dhVQZXhcHje7798IVM+xoo/1ZdVfzOMIc8/rgVSijRK38EDqOJoGula9N/8ZI5RD8QTxNQtK/Gozpr+qUqRRA==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jspdf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.1.tgz", + "integrity": "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jspdf-autotable": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-5.0.7.tgz", + "integrity": "sha512-2wr7H6liNDBYNwt25hMQwXkEWFOEopgKIvR1Eukuw6Zmprm/ZcnmLTQEjW7Xx3FCbD3v7pflLcnMAv/h1jFDQw==", + "license": "MIT", + "peerDependencies": { + "jspdf": "^2 || ^3 || ^4" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", + "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.3", + "pkg-types": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.263.1", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.263.1.tgz", + "integrity": "sha512-keqxAx97PlaEN89PXZ6ki1N8nRjGWtDa4021GFYLNj0RgruM5odbpl8GHTExj0hhPq3sF6Up0gnxt6TSHu+ovw==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, + "node_modules/pg": { + "version": "8.16.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.16.3.tgz", + "integrity": "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.9.1", + "pg-pool": "^3.10.1", + "pg-protocol": "^1.10.3", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.2.7" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.2.7.tgz", + "integrity": "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.9.1.tgz", + "integrity": "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.10.1.tgz", + "integrity": "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.10.3.tgz", + "integrity": "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rollup": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz", + "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", + "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz", + "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz", + "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "1.6.1", + "@vitest/runner": "1.6.1", + "@vitest/snapshot": "1.6.1", + "@vitest/spy": "1.6.1", + "@vitest/utils": "1.6.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.1", + "@vitest/ui": "1.6.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7f5e2fa --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "pat-test-manager", + "private": true, + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "migrate": "node scripts/applyMigrations.js", + "send-finalization-reminders": "node scripts/sendFinalizationReminders.js", + "test": "vitest run" + }, + "dependencies": { + "@supabase/supabase-js": "^2.45.4", + "all": "^0.0.0", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", + "lucide-react": "^0.263.1", + "pg": "^8.11.5", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.1", + "vite": "^5.4.2", + "vitest": "^1.6.1" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..e99ebc2 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} \ No newline at end of file diff --git a/scripts/applyMigrations.js b/scripts/applyMigrations.js new file mode 100644 index 0000000..df8a9f7 --- /dev/null +++ b/scripts/applyMigrations.js @@ -0,0 +1,97 @@ +#!/usr/bin/env node +/** + * Lightweight migration runner for Supabase. + * Reads SQL files in supabase/migrations (sorted) and applies any that have not been recorded. + * + * Env: + * - SUPABASE_DB_URL or DATABASE_URL: postgres connection string (service role / connection string) + */ +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { Pool } from 'pg'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const migrationsDir = path.resolve(__dirname, '..', 'supabase', 'migrations'); +const connectionString = process.env.SUPABASE_DB_URL || process.env.DATABASE_URL; + +if (!connectionString) { + console.error('Missing SUPABASE_DB_URL (or DATABASE_URL) environment variable. Aborting migrations.'); + process.exit(1); +} + +if (!fs.existsSync(migrationsDir)) { + console.error(`Migrations directory not found: ${migrationsDir}`); + process.exit(1); +} + +const pool = new Pool({ connectionString }); + +async function ensureMigrationsTable(client) { + await client.query(` + create table if not exists public.schema_migrations ( + id serial primary key, + filename text not null unique, + applied_at timestamptz not null default now() + ); + `); +} + +async function getApplied(client) { + const { rows } = await client.query('select filename from public.schema_migrations'); + return new Set(rows.map((r) => r.filename)); +} + +function listMigrations() { + return fs + .readdirSync(migrationsDir) + .filter((file) => file.endsWith('.sql')) + .sort(); +} + +async function applyMigration(client, filename) { + const filePath = path.join(migrationsDir, filename); + const sql = fs.readFileSync(filePath, 'utf8'); + console.log(`Applying migration: ${filename}`); + await client.query('begin'); + try { + await client.query(sql); + await client.query('insert into public.schema_migrations (filename) values ($1)', [filename]); + await client.query('commit'); + console.log(`✓ Applied ${filename}`); + } catch (err) { + await client.query('rollback'); + console.error(`✗ Failed ${filename}:`, err.message); + throw err; + } +} + +async function run() { + const client = await pool.connect(); + try { + await ensureMigrationsTable(client); + const applied = await getApplied(client); + const migrations = listMigrations(); + + const pending = migrations.filter((m) => !applied.has(m)); + if (pending.length === 0) { + console.log('No pending migrations.'); + return; + } + + for (const migration of pending) { + await applyMigration(client, migration); + } + console.log('All pending migrations applied.'); + } finally { + client.release(); + await pool.end(); + } +} + +run().catch((err) => { + console.error('Migration run failed:', err); + process.exit(1); +}); diff --git a/scripts/sendFinalizationReminders.js b/scripts/sendFinalizationReminders.js new file mode 100644 index 0000000..e05e198 --- /dev/null +++ b/scripts/sendFinalizationReminders.js @@ -0,0 +1,130 @@ +#!/usr/bin/env node +import { Pool } from 'pg'; + +const connectionString = process.env.SUPABASE_DB_URL || process.env.DATABASE_URL; +const resendApiKey = process.env.RESEND_API_KEY; +const fromEmail = process.env.REMINDER_FROM_EMAIL; +const appUrl = process.env.REMINDER_APP_URL || 'http://localhost:5173'; +const dryRun = process.env.REMINDER_DRY_RUN === 'true'; + +if (!connectionString) { + console.error('Missing SUPABASE_DB_URL (or DATABASE_URL).'); + process.exit(1); +} + +if (!dryRun && (!resendApiKey || !fromEmail)) { + console.error('Missing RESEND_API_KEY or REMINDER_FROM_EMAIL.'); + process.exit(1); +} + +const pool = new Pool({ connectionString }); + +const findPendingReminders = async (client) => { + const { rows } = await client.query(` + select + a.id, + a.name, + a.pat_type, + a.datum, + a.created_at, + u.email + from public.assessments a + join auth.users u on u.id = a.user_id + where a.is_finalized = false + and a.created_at <= now() - interval '3 days' + and a.finalization_reminder_sent_at is null + and coalesce(u.email, '') <> '' + order by a.created_at asc + `); + + return rows; +}; + +const buildEmailPayload = (row) => { + const subject = `PAT Test noch abschließen: ${row.name || row.pat_type}`; + const html = ` +
+ `; + + return { + from: fromEmail, + to: [row.email], + subject, + html + }; +}; + +const sendEmail = async (payload) => { + const response = await fetch('https://api.resend.com/emails', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${resendApiKey}` + }, + body: JSON.stringify(payload) + }); + + if (!response.ok) { + const message = await response.text(); + throw new Error(`Resend request failed: ${response.status} ${message}`); + } +}; + +const markReminderSent = async (client, assessmentId) => { + await client.query( + ` + update public.assessments + set finalization_reminder_sent_at = now() + where id = $1 + and is_finalized = false + and finalization_reminder_sent_at is null + `, + [assessmentId] + ); +}; + +const run = async () => { + const client = await pool.connect(); + + try { + const rows = await findPendingReminders(client); + + if (!rows.length) { + console.log('No pending finalization reminders.'); + return; + } + + for (const row of rows) { + if (dryRun) { + console.log(`[dry-run] Would remind ${row.email} for assessment ${row.id}`); + continue; + } + + await sendEmail(buildEmailPayload(row)); + await markReminderSent(client, row.id); + console.log(`Reminder sent for assessment ${row.id} to ${row.email}`); + } + } finally { + client.release(); + await pool.end(); + } +}; + +run().catch((error) => { + console.error('Failed to send finalization reminders:', error.message); + process.exit(1); +}); diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..473d218 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,255 @@ +import React, { useEffect, useState } from 'react' +import { Moon, Sun } from 'lucide-react' +import PatTestManager from './components/PatTestManager' +import AuthPanel from './components/AuthPanel' +import { supabase } from './lib/supabaseClient' +import Landing from './components/Landing' +import SharedAssessmentPage from './components/SharedAssessmentPage' +import PublicInfoPage from './components/public/PublicInfoPage' + +const readShareToken = () => { + if (typeof window === 'undefined') return '' + return new URLSearchParams(window.location.search).get('share') || '' +} + +const readPublicPath = () => { + if (typeof window === 'undefined') return '/' + const hash = window.location.hash || '' + return hash.startsWith('#/') ? hash.slice(1) : '/' +} + +function App() { + const [session, setSession] = useState(null) + const [loading, setLoading] = useState(true) + const [showAuth, setShowAuth] = useState(false) + const [activeTab, setActiveTab] = useState('assessments') + const [isEditingAssessment, setIsEditingAssessment] = useState(false) + const [shareToken, setShareToken] = useState(() => readShareToken()) + const [publicPath, setPublicPath] = useState(() => readPublicPath()) + const [theme, setTheme] = useState(() => { + if (typeof window === 'undefined') return 'light' + const stored = localStorage.getItem('theme') + if (stored === 'light' || stored === 'dark') return stored + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' + }) + + useEffect(() => { + const root = document.documentElement + if (theme === 'dark') { + root.classList.add('dark') + } else { + root.classList.remove('dark') + } + localStorage.setItem('theme', theme) + }, [theme]) + + useEffect(() => { + const syncLocationState = () => { + setShareToken(readShareToken()) + setPublicPath(readPublicPath()) + } + + window.addEventListener('popstate', syncLocationState) + window.addEventListener('hashchange', syncLocationState) + + return () => { + window.removeEventListener('popstate', syncLocationState) + window.removeEventListener('hashchange', syncLocationState) + } + }, []) + + useEffect(() => { + if (shareToken) { + setLoading(false) + return + } + + if (!supabase) { + setLoading(false) + return + } + + const fetchSession = async () => { + const { data, error } = await supabase.auth.getSession() + if (!error) { + setSession(data.session) + } + setLoading(false) + } + + fetchSession() + + const { data: authListener } = supabase.auth.onAuthStateChange((_event, newSession) => { + setSession(newSession) + }) + + return () => { + authListener?.subscription.unsubscribe() + } + }, [shareToken]) + + useEffect(() => { + if (isEditingAssessment && activeTab === 'analysis') { + setActiveTab('assessments') + } + }, [activeTab, isEditingAssessment]) + + const handleSignOut = async () => { + if (!supabase) return + await supabase.auth.signOut() + setSession(null) + setShowAuth(false) + setActiveTab('assessments') + setIsEditingAssessment(false) + navigatePublic('/') + } + + const toggleTheme = () => setTheme((prev) => (prev === 'dark' ? 'light' : 'dark')) + + const navigatePublic = (path) => { + if (typeof window === 'undefined') return + + const nextPath = path || '/' + const nextHash = nextPath === '/' ? '' : `#${nextPath}` + + if (window.location.hash === nextHash) { + setPublicPath(nextPath) + window.scrollTo({ top: 0, behavior: 'smooth' }) + return + } + + const nextUrl = `${window.location.pathname}${window.location.search}${nextHash}` + window.history.pushState({}, '', nextUrl) + setPublicPath(nextPath) + setShareToken(readShareToken()) + window.scrollTo({ top: 0, behavior: 'smooth' }) + } + + const renderThemeToggle = () => ( + + ) + + if (shareToken) { + return + } + + if (!supabase) { + return ( +
+
{renderThemeToggle()}
+
+

Supabase noch nicht konfiguriert

+

+ Lege eine .env an (siehe .env.example) und trage + VITE_SUPABASE_URL sowie VITE_SUPABASE_ANON_KEY ein, um Login und + Registrierung zu aktivieren. +

+

+ Anschließend Vite neu starten, damit die Variablen geladen werden. +

+
+
+ ) + } + + if (loading) { + return ( +
+
{renderThemeToggle()}
+ Auth wird geladen... +
+ ) + } + + if (!session) { + if (showAuth) { + return setShowAuth(false)} /> + } + + if (publicPath === '/datenschutz' || publicPath === '/impressum' || publicPath === '/kontakt') { + return ( + setShowAuth(true)} + onNavigate={navigatePublic} + themeToggle={renderThemeToggle()} + /> + ) + } + + return ( + setShowAuth(true)} + onNavigate={navigatePublic} + themeToggle={renderThemeToggle()} + /> + ) + } + + return ( +
+
+
+
+

Angemeldet

+

{session?.user?.email}

+
+ + + +
+ {renderThemeToggle()} + +
+
+
+ + +
+ ) +} + +export default App diff --git a/src/components/Analysis/AnalysisTab.jsx b/src/components/Analysis/AnalysisTab.jsx new file mode 100644 index 0000000..dab2e52 --- /dev/null +++ b/src/components/Analysis/AnalysisTab.jsx @@ -0,0 +1,164 @@ +import React, { useEffect, useMemo } from 'react'; +import { Activity, AlertTriangle, Brain, Target } from 'lucide-react'; +import { buildAnalysis } from '../../utils/analysisEngine'; +import { useTrainingPlans } from '../../hooks/useTrainingPlans'; +import GapBarChart from './GapBarChart'; +import RadarChart from './RadarChart'; +import StrengthList from './StrengthList'; +import TrainingPlanPanel from './TrainingPlanPanel'; +import TrendChart from './TrendChart'; +import WeaknessPriorityList from './WeaknessPriorityList'; + +export default function AnalysisTab({ + assessments, + selectedPatType, + onPatTypeChange, + patTypes, + user +}) { + const patTypeOptions = Object.keys(patTypes || {}); + + useEffect(() => { + if (!selectedPatType && patTypeOptions.length) { + onPatTypeChange(patTypeOptions[0]); + } + }, [onPatTypeChange, patTypeOptions, selectedPatType]); + + const analysis = useMemo( + () => + buildAnalysis(assessments, selectedPatType, { + windowSize: 5, + missingStrategy: 'zero' + }), + [assessments, selectedPatType] + ); + + const selectedPatAssessments = assessments.filter((assessment) => assessment.patType === selectedPatType); + const hasAssessments = assessments.length > 0; + + const { + activePlan, + historyPlans, + loading, + saving, + error, + saveGeneratedPlan, + updateSessionState, + updateSessionPartial, + loadPlans + } = useTrainingPlans({ + user, + patType: selectedPatType + }); + + const handleSavePlan = ({ durationWeeks, sessionsPerWeek, sessions }) => + saveGeneratedPlan({ + analysis, + durationWeeks, + sessionsPerWeek, + sessions + }); + + return ( +
+
+
+
+
+

Analyse

+

Wo solltest du besser werden?

+

+ Priorisierung nach Gap × Faktor × Konstanz basierend auf den letzten 5 Assessments. +

+
+
+ +
+ {patTypeOptions.map((patType) => { + const isActive = patType === selectedPatType; + return ( + + ); + })} +
+ +
+ + + Assessments: {selectedPatAssessments.length} + + + + + Analysefenster: {analysis.windowedAssessments.length}/5 + + + {analysis.isLimitedData && ( + + + Begrenzte Datenbasis + + )} +
+
+ + {!hasAssessments ? ( +
+ +

Noch keine Daten für die Analyse

+

Lege zuerst eine Bewertung im Bereich "Bewertungen" an.

+
+ ) : selectedPatAssessments.length === 0 ? ( +
+

Keine Bewertungen für {selectedPatType}

+

Wähle einen anderen PAT-Typ oder erstelle eine neue Bewertung.

+
+ ) : ( + <> +
+
+ +
+
+ +
+
+ +
+
+ +
+ + +
+ + + + )} +
+
+ ); +} diff --git a/src/components/Analysis/GapBarChart.jsx b/src/components/Analysis/GapBarChart.jsx new file mode 100644 index 0000000..6fc1cf1 --- /dev/null +++ b/src/components/Analysis/GapBarChart.jsx @@ -0,0 +1,81 @@ +import React from 'react'; + +const truncate = (value, maxLength = 26) => + value.length > maxLength ? `${value.slice(0, maxLength - 1)}…` : value; + +export default function GapBarChart({ metrics = [] }) { + const data = [...metrics] + .sort((left, right) => right.priorityScore - left.priorityScore) + .slice(0, 8); + + if (!data.length) { + return ( +
+ Kein Gap-Chart verfügbar. +
+ ); + } + + const width = 760; + const leftPad = 220; + const rightPad = 24; + const rowHeight = 38; + const topPad = 20; + const bottomPad = 24; + const height = topPad + bottomPad + rowHeight * data.length; + + const maxScore = Math.max(...data.map((item) => item.priorityScore), 0.01); + const chartWidth = width - leftPad - rightPad; + + return ( +
+

Gap-Bar-Chart (Priorität)

+ + {data.map((item, index) => { + const y = topPad + index * rowHeight; + const barWidth = (item.priorityScore / maxScore) * chartWidth; + + return ( + + + {truncate(item.name)} + + + + + + + + {item.priorityScore.toFixed(2)} + + + ); + })} + +
+ ); +} diff --git a/src/components/Analysis/RadarChart.jsx b/src/components/Analysis/RadarChart.jsx new file mode 100644 index 0000000..5a838df --- /dev/null +++ b/src/components/Analysis/RadarChart.jsx @@ -0,0 +1,92 @@ +import React from 'react'; + +const polarToCartesian = (centerX, centerY, radius, angle) => ({ + x: centerX + radius * Math.cos(angle), + y: centerY + radius * Math.sin(angle) +}); + +const truncate = (value, maxLength = 16) => (value.length > maxLength ? `${value.slice(0, maxLength - 1)}…` : value); + +export default function RadarChart({ radarSeries = [] }) { + const data = radarSeries.slice(0, 6); + + if (!data.length) { + return ( +
+ Kein Radarprofil verfügbar. +
+ ); + } + + const width = 420; + const height = 320; + const centerX = width / 2; + const centerY = height / 2; + const radius = 105; + + const angleStep = (Math.PI * 2) / data.length; + + const toPoint = (ratio, idx) => { + const angle = -Math.PI / 2 + idx * angleStep; + return polarToCartesian(centerX, centerY, radius * (Math.max(0, Math.min(1.2, ratio)) / 1.2), angle); + }; + + const polygon = data + .map((item, idx) => { + const point = toPoint(item.ratio, idx); + return `${point.x},${point.y}`; + }) + .join(' '); + + return ( +
+

Radar-Profil (Ist/Soll)

+ + {[0.25, 0.5, 0.75, 1].map((level) => ( + { + const angle = -Math.PI / 2 + idx * angleStep; + const point = polarToCartesian(centerX, centerY, radius * level, angle); + return `${point.x},${point.y}`; + }) + .join(' ')} + fill="none" + className="stroke-gray-300 dark:stroke-gray-700" + strokeWidth="1" + /> + ))} + + {data.map((item, idx) => { + const angle = -Math.PI / 2 + idx * angleStep; + const outerPoint = polarToCartesian(centerX, centerY, radius + 16, angle); + const axisEnd = polarToCartesian(centerX, centerY, radius, angle); + return ( + + + + {truncate(item.name)} + + + ); + })} + + + +
+ ); +} diff --git a/src/components/Analysis/StrengthList.jsx b/src/components/Analysis/StrengthList.jsx new file mode 100644 index 0000000..dabc1bb --- /dev/null +++ b/src/components/Analysis/StrengthList.jsx @@ -0,0 +1,42 @@ +import React from 'react'; + +const scoreToPercent = (score) => Math.round(Math.max(0, Math.min(1.5, score)) * 100); + +export default function StrengthList({ strengths = [] }) { + if (!strengths.length) { + return ( +
+ Keine Stärken-Daten verfügbar. +
+ ); + } + + return ( +
+

Top-3 Stärken

+ +
+ {strengths.map((item, index) => ( +
+
+

+ {index + 1}. {item.name} +

+ + {scoreToPercent(item.strengthScore)} + +
+
+

Ist: {item.actualMean.toFixed(2)}

+

Soll: {item.soll.toFixed(2)}

+

Trend: {item.trendDelta.toFixed(2)}

+
+
+ ))} +
+
+ ); +} diff --git a/src/components/Analysis/TrainingPlanPanel.jsx b/src/components/Analysis/TrainingPlanPanel.jsx new file mode 100644 index 0000000..2e9a9c0 --- /dev/null +++ b/src/components/Analysis/TrainingPlanPanel.jsx @@ -0,0 +1,358 @@ +import React, { useMemo, useState } from 'react'; +import { generateTrainingPlan } from '../../utils/trainingPlanGenerator'; + +const formatDateTime = (value) => { + if (!value) return '—'; + const parsed = new Date(value); + if (Number.isNaN(parsed.getTime())) return value; + return new Intl.DateTimeFormat('de-DE', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + hour: '2-digit', + minute: '2-digit' + }).format(parsed); +}; + +const taskWithUpdatedIntensity = (task, intensity) => { + if (task.type !== 'main') return task; + + const repetitionsByIntensity = { + hoch: 24, + mittel: 18, + leicht: 12 + }; + + return { + ...task, + intensity, + repetitions: repetitionsByIntensity[intensity] || 18 + }; +}; + +const statusButtonClass = (active) => + active + ? 'bg-indigo-600 text-white border-indigo-600' + : 'bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200 border-gray-300 dark:border-gray-700'; + +export default function TrainingPlanPanel({ + patType, + analysis, + activePlan, + historyPlans, + loading, + saving, + error, + onSavePlan, + onUpdateSessionState, + onUpdateSessionPartial, + onReload +}) { + const [durationWeeks, setDurationWeeks] = useState(4); + const [sessionsPerWeek, setSessionsPerWeek] = useState(3); + const [draftSessions, setDraftSessions] = useState([]); + const [uiMessage, setUiMessage] = useState(''); + + const draftSummary = useMemo(() => { + const total = draftSessions.length; + const high = draftSessions.filter((session) => session.intensity === 'hoch').length; + const medium = draftSessions.filter((session) => session.intensity === 'mittel').length; + const low = draftSessions.filter((session) => session.intensity === 'leicht').length; + + return { total, high, medium, low }; + }, [draftSessions]); + + const handleGenerateDraft = () => { + const generated = generateTrainingPlan({ + topWeaknesses: analysis?.topWeaknesses || [], + topStrengths: analysis?.topStrengths || [], + durationWeeks, + sessionsPerWeek, + sessionMix: '1-main-2-secondary' + }); + + setDraftSessions(generated.sessions); + setUiMessage('Neuer Entwurf erstellt. Du kannst jetzt Intensität und Übungen je Session anpassen.'); + }; + + const updateDraftSession = (index, patch) => { + setDraftSessions((previous) => + previous.map((session, currentIndex) => { + if (currentIndex !== index) return session; + + const next = { + ...session, + ...patch + }; + + if (Object.prototype.hasOwnProperty.call(patch, 'intensity')) { + next.tasks = next.tasks.map((task) => taskWithUpdatedIntensity(task, patch.intensity)); + } + + return next; + }) + ); + }; + + const handleSaveDraft = async () => { + if (!draftSessions.length) { + setUiMessage('Erstelle zuerst einen Entwurf.'); + return; + } + + const result = await onSavePlan({ + analysis, + durationWeeks, + sessionsPerWeek, + sessions: draftSessions + }); + + if (!result?.ok) { + setUiMessage(result?.error?.message || 'Trainingsplan konnte nicht gespeichert werden.'); + return; + } + + setUiMessage('Trainingsplan gespeichert. Der vorherige aktive Plan wurde archiviert.'); + setDraftSessions([]); + }; + + const renderSessionEditor = (session, index) => { + const secondaryAsText = session.secondaryExercises.join(', '); + + return ( +
+
+

+ Woche {session.weekNo} · Einheit {session.sessionNo} +

+ {session.intensity} +
+ +
+ updateDraftSession(index, { mainExercise: event.target.value })} + className="px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900" + placeholder="Hauptübung" + /> + + { + const secondaryExercises = event.target.value + .split(',') + .map((value) => value.trim()) + .filter(Boolean) + .slice(0, 2); + + updateDraftSession(index, { + secondaryExercises: + secondaryExercises.length === 2 + ? secondaryExercises + : [...secondaryExercises, 'Positionsspiel Basis'].slice(0, 2) + }); + }} + className="px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900" + placeholder="Nebenübungen, getrennt mit Komma" + /> + + +
+
+ ); + }; + + return ( +
+
+
+

Trainingsplan ({patType})

+

+ 1 aktiver Plan + Historie, Session-Status: offen / erledigt / übersprungen. +

+
+ + +
+ + {error && ( +
+ {error} +
+ )} + +
+ + + + + + + +
+ + {uiMessage && ( +
+ {uiMessage} +
+ )} + + {draftSessions.length > 0 && ( +
+
+

Entwurf (teilweise editierbar)

+

+ Sessions: {draftSummary.total} · hoch {draftSummary.high} · mittel {draftSummary.medium} · leicht {draftSummary.low} +

+
+ +
{draftSessions.map(renderSessionEditor)}
+
+ )} + +
+
+

Aktiver Plan

+ + {loading ? ( +

Lädt…

+ ) : !activePlan ? ( +

Noch kein aktiver Trainingsplan vorhanden.

+ ) : ( + <> +

+ Generiert: {formatDateTime(activePlan.generatedAt)} · {activePlan.durationWeeks} Wochen · {activePlan.sessionsPerWeek} Einheiten/Woche +

+ +
+ {activePlan.sessions.map((session) => ( +
+
+

+ W{session.weekNo} · E{session.sessionNo} +

+
+ {['open', 'done', 'skipped'].map((state) => ( + + ))} +
+
+ + + onUpdateSessionPartial(session.id, { + mainExercise: event.target.value + }) + } + className="w-full mb-2 px-3 py-2 text-sm rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900" + /> + + + onUpdateSessionPartial(session.id, { + secondaryExercises: event.target.value + .split(',') + .map((value) => value.trim()) + .filter(Boolean) + .slice(0, 2) + }) + } + className="w-full mb-2 px-3 py-2 text-sm rounded border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900" + /> + +