@mindbowser_inc/ui-feedback-plugin 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -40
- package/dist/index.d.ts +30 -35
- package/dist/s3-4V57aJiZ.mjs +66 -0
- package/dist/s3-4V57aJiZ.mjs.map +1 -0
- package/dist/ui-feedback-plugin.es.js +158 -173
- package/dist/ui-feedback-plugin.es.js.map +1 -1
- package/dist/ui-feedback-plugin.umd.js +120 -120
- package/dist/ui-feedback-plugin.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/s3-DkzKoz0A.mjs +0 -32
- package/dist/s3-DkzKoz0A.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(wt,ze){typeof exports=="object"&&typeof module<"u"?ze(exports):typeof define=="function"&&define.amd?define(["exports"],ze):(wt=typeof globalThis<"u"?globalThis:wt||self,ze(wt.UIFeedbackPlugin={}))})(this,function(wt){"use strict";var
|
|
1
|
+
(function(wt,ze){typeof exports=="object"&&typeof module<"u"?ze(exports):typeof define=="function"&&define.amd?define(["exports"],ze):(wt=typeof globalThis<"u"?globalThis:wt||self,ze(wt.UIFeedbackPlugin={}))})(this,function(wt){"use strict";var GR=Object.defineProperty;var jR=(wt,ze,Et)=>ze in wt?GR(wt,ze,{enumerable:!0,configurable:!0,writable:!0,value:Et}):wt[ze]=Et;var ct=(wt,ze,Et)=>jR(wt,typeof ze!="symbol"?ze+"":ze,Et);const ze=new Set;let Et={active:!1,userName:null,comments:[],replies:new Map,selectedCommentId:null,panelOpen:!1,filter:"open",config:{}};function Jt(){return Et}function ve(A){Et={...Et,...A},ze.forEach(e=>e(Et))}function cu(A){return ze.add(A),()=>ze.delete(A)}function uu(){if(Et.userName)return Et.userName;const A=localStorage.getItem("ufp_user_name");return A?(ve({userName:A}),A):null}function hu(A){localStorage.setItem("ufp_user_name",A),ve({userName:A})}function du(A){try{const e=new URL(A);return e.origin+e.pathname}catch{return A}}function FB(A){return`
|
|
2
2
|
:host {
|
|
3
3
|
--ufp-primary: ${A};
|
|
4
4
|
--ufp-primary-dark: color-mix(in srgb, ${A} 80%, black);
|
|
@@ -762,7 +762,7 @@
|
|
|
762
762
|
${s.length>0?`${s.length} ${s.length===1?"reply":"replies"}`:"No replies yet — click to reply"}
|
|
763
763
|
</span>
|
|
764
764
|
</div>
|
|
765
|
-
`,i.addEventListener("click",async()=>{let o=e.get(A.id)??[];try{o=await r.getReplies(A.id),e.set(A.id,o)}catch(l){console.error("[ui-feedback-plugin] Failed to fetch replies:",l)}PB(t,A,o,r,l=>{const c=Jt();ve({comments:c.comments.map(u=>u.id===l?{...u,resolved:!0}:u)})},l=>{const c=Jt();ve({comments:c.comments.map(u=>u.id===l?{...u,resolved:!1}:u)})},l=>{const c=Jt();ve({comments:c.comments.filter(u=>u.id!==l)}),e.delete(l)},l=>{const c=e.get(A.id)??[];e.set(A.id,[...c,l]);const u=Jt();ve({comments:[...u.comments]})})}),i}async function MB(){try{const A=await KB();return await GB(A)}catch{return jB()}}async function KB(){return(await Promise.resolve().then(()=>
|
|
765
|
+
`,i.addEventListener("click",async()=>{let o=e.get(A.id)??[];try{o=await r.getReplies(A.id),e.set(A.id,o)}catch(l){console.error("[ui-feedback-plugin] Failed to fetch replies:",l)}PB(t,A,o,r,l=>{const c=Jt();ve({comments:c.comments.map(u=>u.id===l?{...u,resolved:!0}:u)})},l=>{const c=Jt();ve({comments:c.comments.map(u=>u.id===l?{...u,resolved:!1}:u)})},l=>{const c=Jt();ve({comments:c.comments.filter(u=>u.id!==l)}),e.delete(l)},l=>{const c=e.get(A.id)??[];e.set(A.id,[...c,l]);const u=Jt();ve({comments:[...u.comments]})})}),i}async function MB(){try{const A=await KB();return await GB(A)}catch{return jB()}}async function KB(){return(await Promise.resolve().then(()=>mC)).default}async function GB(A){const e=window.scrollX,t=window.scrollY;window.scrollTo(0,0);try{return(await A(document.body,{allowTaint:!0,useCORS:!0,logging:!1,scale:Math.min(window.devicePixelRatio,2),width:document.documentElement.scrollWidth,height:document.documentElement.scrollHeight,windowWidth:document.documentElement.scrollWidth,windowHeight:document.documentElement.scrollHeight,x:0,y:0,ignoreElements:n=>n.tagName==="UI-FEEDBACK-PLUGIN"})).toDataURL("image/png")}finally{window.scrollTo(e,t)}}function jB(){const A=document.createElement("canvas");A.width=window.innerWidth,A.height=window.innerHeight;const e=A.getContext("2d");return e.fillStyle="#f3f4f6",e.fillRect(0,0,A.width,A.height),e.fillStyle="#9ca3af",e.font="16px -apple-system, sans-serif",e.textAlign="center",e.fillText("Screenshot unavailable",A.width/2,A.height/2),A.toDataURL("image/png")}const Wo="ui-feedback-plugin";async function $B(A){const{backend:e}=A;if(e.provider==="firebase"){const{FirebaseAdapter:t}=await Promise.resolve().then(()=>uF),r=new t(e);return{db:r,screenshot:r}}if(e.provider==="supabase"){const{SupabaseAdapter:t}=await Promise.resolve().then(()=>wF),r=new t(e.url,e.anonKey);return{db:r,screenshot:r}}if(e.provider==="s3"){const{S3Adapter:t}=await Promise.resolve().then(()=>mF),r=new t(e.apiUrl,e.headers,e.pollInterval);return{db:r,screenshot:r}}throw new Error("[ui-feedback-plugin] Unknown backend provider")}function WB(A){var i;if(customElements.get(Wo))return console.warn("[ui-feedback-plugin] Already initialized."),()=>{};const e=((i=A.theme)==null?void 0:i.primaryColor)??"#6366f1",t=A.projectKey??"default",r=A.position??"bottom-right";ve({config:A});class n extends HTMLElement{constructor(){super();ct(this,"shadow");ct(this,"db");ct(this,"screenshot");ct(this,"unsubscribe",null);this.shadow=this.attachShadow({mode:"open"})}async connectedCallback(){const c=document.createElement("style");c.textContent=FB(e),this.shadow.appendChild(c);try{const u=await $B(A);this.db=u.db,this.screenshot=u.screenshot}catch(u){console.error("[ui-feedback-plugin] Failed to initialise backend:",u);return}this.mount()}disconnectedCallback(){var c;(c=this.unsubscribe)==null||c.call(this)}mount(){const c=du(window.location.href);NB(this.shadow,this.db,()=>this.startAnnotation()),SB(this.shadow,r,()=>this.startAnnotation(),()=>ve({panelOpen:!Jt().panelOpen})),this.unsubscribe=this.db.subscribeToComments(c,t,u=>{ve({comments:u})})}async startAnnotation(){let c=uu();if(!c&&(c=await xB(this.shadow),!c))return;ve({active:!0,panelOpen:!1});const u=await LB(this.shadow);if(!u){ve({active:!1});return}ve({active:!1}),this.showToast("Saving comment…","info");try{await this.saveComment(c,u.text,u.shapes),this.showToast("Comment saved!","success")}catch(d){console.error("[ui-feedback-plugin] Failed to save comment:",d),this.showToast("Failed to save — check the browser console for details.","error");return}ve({panelOpen:!0})}async saveComment(c,u,d){const g=du(window.location.href),p={shapes:d,pageWidth:document.documentElement.scrollWidth,pageHeight:document.documentElement.scrollHeight};this.style.visibility="hidden";let B;try{B=await MB()}finally{this.style.visibility=""}const C={pageUrl:g,projectKey:t,authorName:c,text:u,screenshotUrl:"",annotation:p,resolved:!1,createdAt:Date.now()},E=await this.db.addComment(C),I=await this.screenshot.uploadScreenshot(E,B);await this.db.updateComment(E,{screenshotUrl:I})}showToast(c,u){const d=this.shadow.querySelector(".ufp-toast");d==null||d.remove();const g={info:"#6366f1",success:"#10b981",error:"#ef4444"},p=document.createElement("div");p.className="ufp-toast",p.style.cssText=`
|
|
766
766
|
position:fixed;bottom:80px;left:50%;transform:translateX(-50%);
|
|
767
767
|
background:${g[u]};color:white;padding:10px 20px;border-radius:8px;
|
|
768
768
|
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
|
|
@@ -786,11 +786,11 @@
|
|
|
786
786
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
787
787
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
788
788
|
PERFORMANCE OF THIS SOFTWARE.
|
|
789
|
-
***************************************************************************** */var qo=function(A,e){return qo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])},qo(A,e)};function bt(A,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");qo(A,e);function t(){this.constructor=A}A.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Jo=function(){return Jo=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},Jo.apply(this,arguments)};function Ye(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,[])).next())})}function Ne(A,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,n,s,i;return i={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function o(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,n&&(s=c[0]&2?n.return:c[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,c[1])).done)return s;switch(n=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,n=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(A,t)}catch(u){c=[6,u],n=0}finally{r=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Fs(A,e,t){if(arguments.length===2)for(var r=0,n=e.length,s;r<n;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return A.concat(s||e)}for(var Xt=function(){function A(e,t,r,n){this.left=e,this.top=t,this.width=r,this.height=n}return A.prototype.add=function(e,t,r,n){return new A(this.left+e,this.top+t,this.width+r,this.height+n)},A.fromClientRect=function(e,t){return new A(t.left+e.windowBounds.left,t.top+e.windowBounds.top,t.width,t.height)},A.fromDOMRectList=function(e,t){var r=Array.from(t).find(function(n){return n.width!==0});return r?new A(r.left+e.windowBounds.left,r.top+e.windowBounds.top,r.width,r.height):A.EMPTY},A.EMPTY=new A(0,0,0,0),A}(),Ts=function(A,e){return Xt.fromClientRect(A,e.getBoundingClientRect())},JB=function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var r=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),n=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new Xt(0,0,r,n)},Ss=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var s=A.charCodeAt(t++);(s&64512)===56320?e.push(((n&1023)<<10)+(s&1023)+65536):(e.push(n),t--)}else e.push(n)}return e},we=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,s="";++n<t;){var i=A[n];i<=65535?r.push(i):(i-=65536,r.push((i>>10)+55296,i%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},Bu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",XB=typeof Uint8Array>"u"?[]:new Uint8Array(256),Rs=0;Rs<Bu.length;Rs++)XB[Bu.charCodeAt(Rs)]=Rs;for(var mu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",An=typeof Uint8Array>"u"?[]:new Uint8Array(256),xs=0;xs<mu.length;xs++)An[mu.charCodeAt(xs)]=xs;for(var zB=function(A){var e=A.length*.75,t=A.length,r,n=0,s,i,o,l;A[A.length-1]==="="&&(e--,A[A.length-2]==="="&&e--);var c=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(e):new Array(e),u=Array.isArray(c)?c:new Uint8Array(c);for(r=0;r<t;r+=4)s=An[A.charCodeAt(r)],i=An[A.charCodeAt(r+1)],o=An[A.charCodeAt(r+2)],l=An[A.charCodeAt(r+3)],u[n++]=s<<2|i>>4,u[n++]=(i&15)<<4|o>>2,u[n++]=(o&3)<<6|l&63;return c},YB=function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t},ZB=function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t},OA=5,Xo=11,zo=2,em=Xo-OA,yu=65536>>OA,tm=1<<OA,Yo=tm-1,Am=1024>>OA,rm=yu+Am,nm=rm,sm=32,im=nm+sm,om=65536>>Xo,am=1<<em,lm=am-1,vu=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},cm=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},um=function(A,e){var t=zB(A),r=Array.isArray(t)?ZB(t):new Uint32Array(t),n=Array.isArray(t)?YB(t):new Uint16Array(t),s=24,i=vu(n,s/2,r[4]/2),o=r[5]===2?vu(n,(s+r[4])/2):cm(r,Math.ceil((s+r[4])/4));return new hm(r[0],r[1],r[2],r[3],i,o)},hm=function(){function A(e,t,r,n,s,i){this.initialValue=e,this.errorValue=t,this.highStart=r,this.highValueIndex=n,this.index=s,this.data=i}return A.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>OA],t=(t<<zo)+(e&Yo),this.data[t];if(e<=65535)return t=this.index[yu+(e-55296>>OA)],t=(t<<zo)+(e&Yo),this.data[t];if(e<this.highStart)return t=im-om+(e>>Xo),t=this.index[t],t+=e>>OA&lm,t=this.index[t],t=(t<<zo)+(e&Yo),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),_u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",dm=typeof Uint8Array>"u"?[]:new Uint8Array(256),ks=0;ks<_u.length;ks++)dm[_u.charCodeAt(ks)]=ks;var fm="KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==",Cu=50,gm=1,Eu=2,bu=3,pm=4,wm=5,Uu=7,Qu=8,Iu=9,hA=10,Zo=11,Fu=12,ea=13,Bm=14,rn=15,ta=16,Hs=17,nn=18,mm=19,Tu=20,Aa=21,sn=22,ra=23,dr=24,ct=25,on=26,an=27,fr=28,ym=29,PA=30,vm=31,Ls=32,Ds=33,na=34,sa=35,ia=36,ln=37,oa=38,Os=39,Ps=40,aa=41,Su=42,_m=43,Cm=[9001,65288],Ru="!",X="×",Ns="÷",la=um(fm),zt=[PA,ia],ca=[gm,Eu,bu,wm],xu=[hA,Qu],ku=[an,on],Em=ca.concat(xu),Hu=[oa,Os,Ps,na,sa],bm=[rn,ea],Um=function(A,e){e===void 0&&(e="strict");var t=[],r=[],n=[];return A.forEach(function(s,i){var o=la.get(s);if(o>Cu?(n.push(!0),o-=Cu):n.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(s)!==-1)return r.push(i),t.push(ta);if(o===pm||o===Zo){if(i===0)return r.push(i),t.push(PA);var l=t[i-1];return Em.indexOf(l)===-1?(r.push(r[i-1]),t.push(l)):(r.push(i),t.push(PA))}if(r.push(i),o===vm)return t.push(e==="strict"?Aa:ln);if(o===Su||o===ym)return t.push(PA);if(o===_m)return s>=131072&&s<=196605||s>=196608&&s<=262141?t.push(ln):t.push(PA);t.push(o)}),[r,t,n]},ua=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?A.indexOf(n)!==-1:A===n)for(var s=t;s<=r.length;){s++;var i=r[s];if(i===e)return!0;if(i!==hA)break}if(n===hA)for(var s=t;s>0;){s--;var o=r[s];if(Array.isArray(A)?A.indexOf(o)!==-1:A===o)for(var l=t;l<=r.length;){l++;var i=r[l];if(i===e)return!0;if(i!==hA)break}if(o!==hA)break}return!1},Lu=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r===hA)t--;else return r}return 0},Qm=function(A,e,t,r,n){if(t[r]===0)return X;var s=r-1;if(Array.isArray(n)&&n[s]===!0)return X;var i=s-1,o=s+1,l=e[s],c=i>=0?e[i]:0,u=e[o];if(l===Eu&&u===bu)return X;if(ca.indexOf(l)!==-1)return Ru;if(ca.indexOf(u)!==-1||xu.indexOf(u)!==-1)return X;if(Lu(s,e)===Qu)return Ns;if(la.get(A[s])===Zo||(l===Ls||l===Ds)&&la.get(A[o])===Zo||l===Uu||u===Uu||l===Iu||[hA,ea,rn].indexOf(l)===-1&&u===Iu||[Hs,nn,mm,dr,fr].indexOf(u)!==-1||Lu(s,e)===sn||ua(ra,sn,s,e)||ua([Hs,nn],Aa,s,e)||ua(Fu,Fu,s,e))return X;if(l===hA)return Ns;if(l===ra||u===ra)return X;if(u===ta||l===ta)return Ns;if([ea,rn,Aa].indexOf(u)!==-1||l===Bm||c===ia&&bm.indexOf(l)!==-1||l===fr&&u===ia||u===Tu||zt.indexOf(u)!==-1&&l===ct||zt.indexOf(l)!==-1&&u===ct||l===an&&[ln,Ls,Ds].indexOf(u)!==-1||[ln,Ls,Ds].indexOf(l)!==-1&&u===on||zt.indexOf(l)!==-1&&ku.indexOf(u)!==-1||ku.indexOf(l)!==-1&&zt.indexOf(u)!==-1||[an,on].indexOf(l)!==-1&&(u===ct||[sn,rn].indexOf(u)!==-1&&e[o+1]===ct)||[sn,rn].indexOf(l)!==-1&&u===ct||l===ct&&[ct,fr,dr].indexOf(u)!==-1)return X;if([ct,fr,dr,Hs,nn].indexOf(u)!==-1)for(var d=s;d>=0;){var g=e[d];if(g===ct)return X;if([fr,dr].indexOf(g)!==-1)d--;else break}if([an,on].indexOf(u)!==-1)for(var d=[Hs,nn].indexOf(l)!==-1?i:s;d>=0;){var g=e[d];if(g===ct)return X;if([fr,dr].indexOf(g)!==-1)d--;else break}if(oa===l&&[oa,Os,na,sa].indexOf(u)!==-1||[Os,na].indexOf(l)!==-1&&[Os,Ps].indexOf(u)!==-1||[Ps,sa].indexOf(l)!==-1&&u===Ps||Hu.indexOf(l)!==-1&&[Tu,on].indexOf(u)!==-1||Hu.indexOf(u)!==-1&&l===an||zt.indexOf(l)!==-1&&zt.indexOf(u)!==-1||l===dr&&zt.indexOf(u)!==-1||zt.concat(ct).indexOf(l)!==-1&&u===sn&&Cm.indexOf(A[o])===-1||zt.concat(ct).indexOf(u)!==-1&&l===nn)return X;if(l===aa&&u===aa){for(var p=t[s],B=1;p>0&&(p--,e[p]===aa);)B++;if(B%2!==0)return X}return l===Ls&&u===Ds?X:Ns},Im=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=Um(A,e.lineBreak),r=t[0],n=t[1],s=t[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(n=n.map(function(o){return[ct,PA,Su].indexOf(o)!==-1?ln:o}));var i=e.wordBreak==="keep-all"?s.map(function(o,l){return o&&A[l]>=19968&&A[l]<=40959}):void 0;return[r,n,i]},Fm=function(){function A(e,t,r,n){this.codePoints=e,this.required=t===Ru,this.start=r,this.end=n}return A.prototype.slice=function(){return we.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),Tm=function(A,e){var t=Ss(A),r=Im(t,e),n=r[0],s=r[1],i=r[2],o=t.length,l=0,c=0;return{next:function(){if(c>=o)return{done:!0,value:null};for(var u=X;c<o&&(u=Qm(t,s,n,++c,i))===X;);if(u!==X||c===o){var d=new Fm(t,u,l,c);return l=c,{value:d,done:!1}}return{done:!0,value:null}}}},Sm=1,Rm=2,cn=4,Du=8,Vs=10,Ou=47,un=92,xm=9,km=32,Ms=34,hn=61,Hm=35,Lm=36,Dm=37,Ks=39,Gs=40,dn=41,Om=95,rt=45,Pm=33,Nm=60,Vm=62,Mm=64,Km=91,Gm=93,jm=61,$m=123,js=63,Wm=125,Pu=124,qm=126,Jm=128,Nu=65533,ha=42,NA=43,Xm=44,zm=58,Ym=59,fn=46,Zm=0,ey=8,ty=11,Ay=14,ry=31,ny=127,Ot=-1,Vu=48,Mu=97,Ku=101,sy=102,iy=117,oy=122,Gu=65,ju=69,$u=70,ay=85,ly=90,Ve=function(A){return A>=Vu&&A<=57},cy=function(A){return A>=55296&&A<=57343},gr=function(A){return Ve(A)||A>=Gu&&A<=$u||A>=Mu&&A<=sy},uy=function(A){return A>=Mu&&A<=oy},hy=function(A){return A>=Gu&&A<=ly},dy=function(A){return uy(A)||hy(A)},fy=function(A){return A>=Jm},$s=function(A){return A===Vs||A===xm||A===km},Ws=function(A){return dy(A)||fy(A)||A===Om},Wu=function(A){return Ws(A)||Ve(A)||A===rt},gy=function(A){return A>=Zm&&A<=ey||A===ty||A>=Ay&&A<=ry||A===ny},dA=function(A,e){return A!==un?!1:e!==Vs},qs=function(A,e,t){return A===rt?Ws(e)||dA(e,t):Ws(A)?!0:!!(A===un&&dA(A,e))},da=function(A,e,t){return A===NA||A===rt?Ve(e)?!0:e===fn&&Ve(t):Ve(A===fn?e:A)},py=function(A){var e=0,t=1;(A[e]===NA||A[e]===rt)&&(A[e]===rt&&(t=-1),e++);for(var r=[];Ve(A[e]);)r.push(A[e++]);var n=r.length?parseInt(we.apply(void 0,r),10):0;A[e]===fn&&e++;for(var s=[];Ve(A[e]);)s.push(A[e++]);var i=s.length,o=i?parseInt(we.apply(void 0,s),10):0;(A[e]===ju||A[e]===Ku)&&e++;var l=1;(A[e]===NA||A[e]===rt)&&(A[e]===rt&&(l=-1),e++);for(var c=[];Ve(A[e]);)c.push(A[e++]);var u=c.length?parseInt(we.apply(void 0,c),10):0;return t*(n+o*Math.pow(10,-i))*Math.pow(10,l*u)},wy={type:2},By={type:3},my={type:4},yy={type:13},vy={type:8},_y={type:21},Cy={type:9},Ey={type:10},by={type:11},Uy={type:12},Qy={type:14},Js={type:23},Iy={type:1},Fy={type:25},Ty={type:24},Sy={type:26},Ry={type:27},xy={type:28},ky={type:29},Hy={type:31},fa={type:32},qu=function(){function A(){this._value=[]}return A.prototype.write=function(e){this._value=this._value.concat(Ss(e))},A.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==fa;)e.push(t),t=this.consumeToken();return e},A.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case Ms:return this.consumeStringToken(Ms);case Hm:var t=this.peekCodePoint(0),r=this.peekCodePoint(1),n=this.peekCodePoint(2);if(Wu(t)||dA(r,n)){var s=qs(t,r,n)?Rm:Sm,i=this.consumeName();return{type:5,value:i,flags:s}}break;case Lm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),yy;break;case Ks:return this.consumeStringToken(Ks);case Gs:return wy;case dn:return By;case ha:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),Qy;break;case NA:if(da(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case Xm:return my;case rt:var o=e,l=this.peekCodePoint(0),c=this.peekCodePoint(1);if(da(o,l,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(qs(o,l,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(l===rt&&c===Vm)return this.consumeCodePoint(),this.consumeCodePoint(),Ty;break;case fn:if(da(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case Ou:if(this.peekCodePoint(0)===ha)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===ha&&(u=this.consumeCodePoint(),u===Ou))return this.consumeToken();if(u===Ot)return this.consumeToken()}break;case zm:return Sy;case Ym:return Ry;case Nm:if(this.peekCodePoint(0)===Pm&&this.peekCodePoint(1)===rt&&this.peekCodePoint(2)===rt)return this.consumeCodePoint(),this.consumeCodePoint(),Fy;break;case Mm:var d=this.peekCodePoint(0),g=this.peekCodePoint(1),p=this.peekCodePoint(2);if(qs(d,g,p)){var i=this.consumeName();return{type:7,value:i}}break;case Km:return xy;case un:if(dA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case Gm:return ky;case jm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),vy;break;case $m:return by;case Wm:return Uy;case iy:case ay:var B=this.peekCodePoint(0),C=this.peekCodePoint(1);return B===NA&&(gr(C)||C===js)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Pu:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),Cy;if(this.peekCodePoint(0)===Pu)return this.consumeCodePoint(),_y;break;case qm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),Ey;break;case Ot:return fa}return $s(e)?(this.consumeWhiteSpace(),Hy):Ve(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Ws(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:we(e)}},A.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},A.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},A.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},A.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gr(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var r=!1;t===js&&e.length<6;)e.push(t),t=this.consumeCodePoint(),r=!0;if(r){var n=parseInt(we.apply(void 0,e.map(function(l){return l===js?Vu:l})),16),s=parseInt(we.apply(void 0,e.map(function(l){return l===js?$u:l})),16);return{type:30,start:n,end:s}}var i=parseInt(we.apply(void 0,e),16);if(this.peekCodePoint(0)===rt&&gr(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gr(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var s=parseInt(we.apply(void 0,o),16);return{type:30,start:i,end:s}}else return{type:30,start:i,end:i}},A.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===Gs?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Gs?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},A.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot)return{type:22,value:""};var t=this.peekCodePoint(0);if(t===Ks||t===Ms){var r=this.consumeStringToken(this.consumeCodePoint());return r.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot||this.peekCodePoint(0)===dn)?(this.consumeCodePoint(),{type:22,value:r.value}):(this.consumeBadUrlRemnants(),Js)}for(;;){var n=this.consumeCodePoint();if(n===Ot||n===dn)return{type:22,value:we.apply(void 0,e)};if($s(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot||this.peekCodePoint(0)===dn?(this.consumeCodePoint(),{type:22,value:we.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Js);if(n===Ms||n===Ks||n===Gs||gy(n))return this.consumeBadUrlRemnants(),Js;if(n===un)if(dA(n,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Js;else e.push(n)}},A.prototype.consumeWhiteSpace=function(){for(;$s(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===dn||e===Ot)return;dA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(e){for(var t=5e4,r="";e>0;){var n=Math.min(t,e);r+=we.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),r},A.prototype.consumeStringToken=function(e){var t="",r=0;do{var n=this._value[r];if(n===Ot||n===void 0||n===e)return t+=this.consumeStringSlice(r),{type:0,value:t};if(n===Vs)return this._value.splice(0,r),Iy;if(n===un){var s=this._value[r+1];s!==Ot&&s!==void 0&&(s===Vs?(t+=this.consumeStringSlice(r),r=-1,this._value.shift()):dA(n,s)&&(t+=this.consumeStringSlice(r),t+=we(this.consumeEscapedCodePoint()),r=-1))}r++}while(!0)},A.prototype.consumeNumber=function(){var e=[],t=cn,r=this.peekCodePoint(0);for((r===NA||r===rt)&&e.push(this.consumeCodePoint());Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());r=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(r===fn&&Ve(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=Du;Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());r=this.peekCodePoint(0),n=this.peekCodePoint(1);var s=this.peekCodePoint(2);if((r===ju||r===Ku)&&((n===NA||n===rt)&&Ve(s)||Ve(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=Du;Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[py(e),t]},A.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],r=e[1],n=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(qs(n,s,i)){var o=this.consumeName();return{type:15,number:t,flags:r,unit:o}}return n===Dm?(this.consumeCodePoint(),{type:16,number:t,flags:r}):{type:17,number:t,flags:r}},A.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gr(e)){for(var t=we(e);gr(this.peekCodePoint(0))&&t.length<6;)t+=we(this.consumeCodePoint());$s(this.peekCodePoint(0))&&this.consumeCodePoint();var r=parseInt(t,16);return r===0||cy(r)||r>1114111?Nu:r}return e===Ot?Nu:e},A.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Wu(t))e+=we(t);else if(dA(t,this.peekCodePoint(0)))e+=we(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},A}(),Ju=function(){function A(e){this._tokens=e}return A.create=function(e){var t=new qu;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},A.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},A.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},r=this.consumeToken();;){if(r.type===32||Dy(r,e))return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue()),r=this.consumeToken()}},A.prototype.consumeFunction=function(e){for(var t={name:e.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())}},A.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?fa:e},A.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},A}(),gn=function(A){return A.type===15},pr=function(A){return A.type===17},ne=function(A){return A.type===20},Ly=function(A){return A.type===0},ga=function(A,e){return ne(A)&&A.value===e},Xu=function(A){return A.type!==31},wr=function(A){return A.type!==31&&A.type!==4},Pt=function(A){var e=[],t=[];return A.forEach(function(r){if(r.type===4){if(t.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(t),t=[];return}r.type!==31&&t.push(r)}),t.length&&e.push(t),e},Dy=function(A,e){return e===11&&A.type===12||e===28&&A.type===29?!0:e===2&&A.type===3},fA=function(A){return A.type===17||A.type===15},_e=function(A){return A.type===16||fA(A)},zu=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},xe={type:17,number:0,flags:cn},pa={type:16,number:50,flags:cn},gA={type:16,number:100,flags:cn},pn=function(A,e,t){var r=A[0],n=A[1];return[oe(r,e),oe(typeof n<"u"?n:r,t)]},oe=function(A,e){if(A.type===16)return A.number/100*e;if(gn(A))switch(A.unit){case"rem":case"em":return 16*A.number;case"px":default:return A.number}return A.number},Yu="deg",Zu="grad",eh="rad",th="turn",Xs={name:"angle",parse:function(A,e){if(e.type===15)switch(e.unit){case Yu:return Math.PI*e.number/180;case Zu:return Math.PI/200*e.number;case eh:return e.number;case th:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},Ah=function(A){return A.type===15&&(A.unit===Yu||A.unit===Zu||A.unit===eh||A.unit===th)},rh=function(A){var e=A.filter(ne).map(function(t){return t.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[xe,xe];case"to top":case"bottom":return Bt(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[xe,gA];case"to right":case"left":return Bt(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gA,gA];case"to bottom":case"top":return Bt(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gA,xe];case"to left":case"right":return Bt(270)}return 0},Bt=function(A){return Math.PI*A/180},pA={name:"color",parse:function(A,e){if(e.type===18){var t=Oy[e.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(e.type===5){if(e.value.length===3){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);return BA(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),1)}if(e.value.length===4){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3),i=e.value.substring(3,4);return BA(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),parseInt(i+i,16)/255)}if(e.value.length===6){var r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6);return BA(parseInt(r,16),parseInt(n,16),parseInt(s,16),1)}if(e.value.length===8){var r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),i=e.value.substring(6,8);return BA(parseInt(r,16),parseInt(n,16),parseInt(s,16),parseInt(i,16)/255)}}if(e.type===20){var o=Yt[e.value.toUpperCase()];if(typeof o<"u")return o}return Yt.TRANSPARENT}},wA=function(A){return(255&A)===0},Se=function(A){var e=255&A,t=255&A>>8,r=255&A>>16,n=255&A>>24;return e<255?"rgba("+n+","+r+","+t+","+e/255+")":"rgb("+n+","+r+","+t+")"},BA=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(r*255)<<0)>>>0},nh=function(A,e){if(A.type===17)return A.number;if(A.type===16){var t=e===3?1:255;return e===3?A.number/100*t:Math.round(A.number/100*t)}return 0},sh=function(A,e){var t=e.filter(wr);if(t.length===3){var r=t.map(nh),n=r[0],s=r[1],i=r[2];return BA(n,s,i,1)}if(t.length===4){var o=t.map(nh),n=o[0],s=o[1],i=o[2],l=o[3];return BA(n,s,i,l)}return 0};function wa(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<1/2?e:t<2/3?(e-A)*6*(2/3-t)+A:A}var ih=function(A,e){var t=e.filter(wr),r=t[0],n=t[1],s=t[2],i=t[3],o=(r.type===17?Bt(r.number):Xs.parse(A,r))/(Math.PI*2),l=_e(n)?n.number/100:0,c=_e(s)?s.number/100:0,u=typeof i<"u"&&_e(i)?oe(i,1):1;if(l===0)return BA(c*255,c*255,c*255,1);var d=c<=.5?c*(l+1):c+l-c*l,g=c*2-d,p=wa(g,d,o+1/3),B=wa(g,d,o),C=wa(g,d,o-1/3);return BA(p*255,B*255,C*255,u)},Oy={hsl:ih,hsla:ih,rgb:sh,rgba:sh},wn=function(A,e){return pA.parse(A,Ju.create(e).parseComponentValue())},Yt={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},Py={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(t){if(ne(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Ny={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},zs=function(A,e){var t=pA.parse(A,e[0]),r=e[1];return r&&_e(r)?{color:t,stop:r}:{color:t,stop:null}},oh=function(A,e){var t=A[0],r=A[A.length-1];t.stop===null&&(t.stop=xe),r.stop===null&&(r.stop=gA);for(var n=[],s=0,i=0;i<A.length;i++){var o=A[i].stop;if(o!==null){var l=oe(o,e);l>s?n.push(l):n.push(s),s=l}else n.push(null)}for(var c=null,i=0;i<n.length;i++){var u=n[i];if(u===null)c===null&&(c=i);else if(c!==null){for(var d=i-c,g=n[c-1],p=(u-g)/(d+1),B=1;B<=d;B++)n[c+B-1]=p*B;c=null}}return A.map(function(C,E){var I=C.color;return{color:I,stop:Math.max(Math.min(1,n[E]/e),0)}})},Vy=function(A,e,t){var r=e/2,n=t/2,s=oe(A[0],e)-r,i=n-oe(A[1],t);return(Math.atan2(i,s)+Math.PI*2)%(Math.PI*2)},My=function(A,e,t){var r=typeof A=="number"?A:Vy(A,e,t),n=Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r)),s=e/2,i=t/2,o=n/2,l=Math.sin(r-Math.PI/2)*o,c=Math.cos(r-Math.PI/2)*o;return[n,s-c,s+c,i-l,i+l]},Ut=function(A,e){return Math.sqrt(A*A+e*e)},ah=function(A,e,t,r,n){var s=[[0,0],[0,e],[A,0],[A,e]];return s.reduce(function(i,o){var l=o[0],c=o[1],u=Ut(t-l,r-c);return(n?u<i.optimumDistance:u>i.optimumDistance)?{optimumCorner:o,optimumDistance:u}:i},{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},Ky=function(A,e,t,r,n){var s=0,i=0;switch(A.size){case 0:A.shape===0?s=i=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===1&&(s=Math.min(Math.abs(e),Math.abs(e-r)),i=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(A.shape===0)s=i=Math.min(Ut(e,t),Ut(e,t-n),Ut(e-r,t),Ut(e-r,t-n));else if(A.shape===1){var o=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(e),Math.abs(e-r)),l=ah(r,n,e,t,!0),c=l[0],u=l[1];s=Ut(c-e,(u-t)/o),i=o*s}break;case 1:A.shape===0?s=i=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===1&&(s=Math.max(Math.abs(e),Math.abs(e-r)),i=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(A.shape===0)s=i=Math.max(Ut(e,t),Ut(e,t-n),Ut(e-r,t),Ut(e-r,t-n));else if(A.shape===1){var o=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(e),Math.abs(e-r)),d=ah(r,n,e,t,!1),c=d[0],u=d[1];s=Ut(c-e,(u-t)/o),i=o*s}break}return Array.isArray(A.size)&&(s=oe(A.size[0],r),i=A.size.length===2?oe(A.size[1],n):s),[s,i]},Gy=function(A,e){var t=Bt(180),r=[];return Pt(e).forEach(function(n,s){if(s===0){var i=n[0];if(i.type===20&&i.value==="to"){t=rh(n);return}else if(Ah(i)){t=Xs.parse(A,i);return}}var o=zs(A,n);r.push(o)}),{angle:t,stops:r,type:1}},Ys=function(A,e){var t=Bt(180),r=[];return Pt(e).forEach(function(n,s){if(s===0){var i=n[0];if(i.type===20&&["top","left","right","bottom"].indexOf(i.value)!==-1){t=rh(n);return}else if(Ah(i)){t=(Xs.parse(A,i)+Bt(270))%Bt(360);return}}var o=zs(A,n);r.push(o)}),{angle:t,stops:r,type:1}},jy=function(A,e){var t=Bt(180),r=[],n=1,s=0,i=3,o=[];return Pt(e).forEach(function(l,c){var u=l[0];if(c===0){if(ne(u)&&u.value==="linear"){n=1;return}else if(ne(u)&&u.value==="radial"){n=2;return}}if(u.type===18){if(u.name==="from"){var d=pA.parse(A,u.values[0]);r.push({stop:xe,color:d})}else if(u.name==="to"){var d=pA.parse(A,u.values[0]);r.push({stop:gA,color:d})}else if(u.name==="color-stop"){var g=u.values.filter(wr);if(g.length===2){var d=pA.parse(A,g[1]),p=g[0];pr(p)&&r.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),n===1?{angle:(t+Bt(180))%Bt(360),stops:r,type:n}:{size:i,shape:s,stops:r,position:o,type:n}},lh="closest-side",ch="farthest-side",uh="closest-corner",hh="farthest-corner",dh="circle",fh="ellipse",gh="cover",ph="contain",$y=function(A,e){var t=0,r=3,n=[],s=[];return Pt(e).forEach(function(i,o){var l=!0;if(o===0){var c=!1;l=i.reduce(function(d,g){if(c)if(ne(g))switch(g.value){case"center":return s.push(pa),d;case"top":case"left":return s.push(xe),d;case"right":case"bottom":return s.push(gA),d}else(_e(g)||fA(g))&&s.push(g);else if(ne(g))switch(g.value){case dh:return t=0,!1;case fh:return t=1,!1;case"at":return c=!0,!1;case lh:return r=0,!1;case gh:case ch:return r=1,!1;case ph:case uh:return r=2,!1;case hh:return r=3,!1}else if(fA(g)||_e(g))return Array.isArray(r)||(r=[]),r.push(g),!1;return d},l)}if(l){var u=zs(A,i);n.push(u)}}),{size:r,shape:t,stops:n,position:s,type:2}},Zs=function(A,e){var t=0,r=3,n=[],s=[];return Pt(e).forEach(function(i,o){var l=!0;if(o===0?l=i.reduce(function(u,d){if(ne(d))switch(d.value){case"center":return s.push(pa),!1;case"top":case"left":return s.push(xe),!1;case"right":case"bottom":return s.push(gA),!1}else if(_e(d)||fA(d))return s.push(d),!1;return u},l):o===1&&(l=i.reduce(function(u,d){if(ne(d))switch(d.value){case dh:return t=0,!1;case fh:return t=1,!1;case ph:case lh:return r=0,!1;case ch:return r=1,!1;case uh:return r=2,!1;case gh:case hh:return r=3,!1}else if(fA(d)||_e(d))return Array.isArray(r)||(r=[]),r.push(d),!1;return u},l)),l){var c=zs(A,i);n.push(c)}}),{size:r,shape:t,stops:n,position:s,type:2}},Wy=function(A){return A.type===1},qy=function(A){return A.type===2},Ba={name:"image",parse:function(A,e){if(e.type===22){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(e.type===18){var r=wh[e.name];if(typeof r>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return r(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function Jy(A){return!(A.type===20&&A.value==="none")&&(A.type!==18||!!wh[A.name])}var wh={"linear-gradient":Gy,"-moz-linear-gradient":Ys,"-ms-linear-gradient":Ys,"-o-linear-gradient":Ys,"-webkit-linear-gradient":Ys,"radial-gradient":$y,"-moz-radial-gradient":Zs,"-ms-radial-gradient":Zs,"-o-radial-gradient":Zs,"-webkit-radial-gradient":Zs,"-webkit-gradient":jy},Xy={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(e.length===0)return[];var t=e[0];return t.type===20&&t.value==="none"?[]:e.filter(function(r){return wr(r)&&Jy(r)}).map(function(r){return Ba.parse(A,r)})}},zy={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(t){if(ne(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Yy={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(_e)}).map(zu)}},Zy={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(ne).map(function(r){return r.value}).join(" ")}).map(ev)}},ev=function(A){switch(A){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}},Br;(function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"})(Br||(Br={}));var tv={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(Av)})}},Av=function(A){return ne(A)||_e(A)},ei=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},rv=ei("top"),nv=ei("right"),sv=ei("bottom"),iv=ei("left"),ti=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return zu(t.filter(_e))}}},ov=ti("top-left"),av=ti("top-right"),lv=ti("bottom-right"),cv=ti("bottom-left"),Ai=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},uv=Ai("top"),hv=Ai("right"),dv=Ai("bottom"),fv=Ai("left"),ri=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return gn(t)?t.number:0}}},gv=ri("top"),pv=ri("right"),wv=ri("bottom"),Bv=ri("left"),mv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},yv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},vv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).reduce(function(t,r){return t|_v(r.value)},0)}},_v=function(A){switch(A){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},Cv={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ev={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},ni;(function(A){A.NORMAL="normal",A.STRICT="strict"})(ni||(ni={}));var bv={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"strict":return ni.STRICT;case"normal":default:return ni.NORMAL}}},Uv={name:"line-height",initialValue:"normal",prefix:!1,type:4},Bh=function(A,e){return ne(A)&&A.value==="normal"?1.2*e:A.type===17?e*A.number:_e(A)?oe(A,e):e},Qv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return e.type===20&&e.value==="none"?null:Ba.parse(A,e)}},Iv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},ma={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){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}}},si=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},Fv=si("top"),Tv=si("right"),Sv=si("bottom"),Rv=si("left"),xv={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).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}})}},kv={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},ii=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Hv=ii("top"),Lv=ii("right"),Dv=ii("bottom"),Ov=ii("left"),Pv={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},Nv={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Vv={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.length===1&&ga(e[0],"none")?[]:Pt(e).map(function(t){for(var r={color:Yt.TRANSPARENT,offsetX:xe,offsetY:xe,blur:xe},n=0,s=0;s<t.length;s++){var i=t[s];fA(i)?(n===0?r.offsetX=i:n===1?r.offsetY=i:r.blur=i,n++):r.color=pA.parse(A,i)}return r})}},Mv={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Kv={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(A,e){if(e.type===20&&e.value==="none")return null;if(e.type===18){var t=$v[e.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Gv=function(A){var e=A.filter(function(t){return t.type===17}).map(function(t){return t.number});return e.length===6?e:null},jv=function(A){var e=A.filter(function(l){return l.type===17}).map(function(l){return l.number}),t=e[0],r=e[1];e[2],e[3];var n=e[4],s=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var i=e[12],o=e[13];return e[14],e[15],e.length===16?[t,r,n,s,i,o]:null},$v={matrix:Gv,matrix3d:jv},mh={type:16,number:50,flags:cn},Wv=[mh,mh],qv={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(_e);return t.length!==2?Wv:[t[0],t[1]]}},Jv={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},Bn;(function(A){A.NORMAL="normal",A.BREAK_ALL="break-all",A.KEEP_ALL="keep-all"})(Bn||(Bn={}));for(var Xv={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return Bn.BREAK_ALL;case"keep-all":return Bn.KEEP_ALL;case"normal":default:return Bn.NORMAL}}},zv={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(A,e){if(e.type===20)return{auto:!0,order:0};if(pr(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},yh={name:"time",parse:function(A,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},Yv={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return pr(e)?e.number:1}},Zv={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},e0={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).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})}},t0={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(A,e){var t=[],r=[];return e.forEach(function(n){switch(n.type){case 20:case 0:t.push(n.value);break;case 17:t.push(n.number.toString());break;case 4:r.push(t.join(" ")),t.length=0;break}}),t.length&&r.push(t.join(" ")),r.map(function(n){return n.indexOf(" ")===-1?n:"'"+n+"'"})}},A0={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},r0={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(A,e){if(pr(e))return e.number;if(ne(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},n0={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(ne).map(function(t){return t.value})}},s0={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},Ie=function(A,e){return(A&e)!==0},i0={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(e.length===0)return[];var t=e[0];return t.type===20&&t.value==="none"?[]:e}},o0={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return null;var t=e[0];if(t.type===20&&t.value==="none")return null;for(var r=[],n=e.filter(Xu),s=0;s<n.length;s++){var i=n[s],o=n[s+1];if(i.type===20){var l=o&&pr(o)?o.number:1;r.push({counter:i.value,increment:l})}}return r}},a0={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return[];for(var t=[],r=e.filter(Xu),n=0;n<r.length;n++){var s=r[n],i=r[n+1];if(ne(s)&&s.value!=="none"){var o=i&&pr(i)?i.number:0;t.push({counter:s.value,reset:o})}}return t}},l0={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(gn).map(function(t){return yh.parse(A,t)})}},c0={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return null;var t=e[0];if(t.type===20&&t.value==="none")return null;var r=[],n=e.filter(Ly);if(n.length%2!==0)return null;for(var s=0;s<n.length;s+=2){var i=n[s].value,o=n[s+1].value;r.push({open:i,close:o})}return r}},vh=function(A,e,t){if(!A)return"";var r=A[Math.min(e,A.length-1)];return r?t?r.open:r.close:""},u0={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.length===1&&ga(e[0],"none")?[]:Pt(e).map(function(t){for(var r={color:255,offsetX:xe,offsetY:xe,blur:xe,spread:xe,inset:!1},n=0,s=0;s<t.length;s++){var i=t[s];ga(i,"inset")?r.inset=!0:fA(i)?(n===0?r.offsetX=i:n===1?r.offsetY=i:n===2?r.blur=i:r.spread=i,n++):r.color=pA.parse(A,i)}return r})}},h0={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(A,e){var t=[0,1,2],r=[];return e.filter(ne).forEach(function(n){switch(n.value){case"stroke":r.push(1);break;case"fill":r.push(0);break;case"markers":r.push(2);break}}),t.forEach(function(n){r.indexOf(n)===-1&&r.push(n)}),r}},d0={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},f0={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return gn(e)?e.number:0}},g0=function(){function A(e,t){var r,n;this.animationDuration=V(e,l0,t.animationDuration),this.backgroundClip=V(e,Py,t.backgroundClip),this.backgroundColor=V(e,Ny,t.backgroundColor),this.backgroundImage=V(e,Xy,t.backgroundImage),this.backgroundOrigin=V(e,zy,t.backgroundOrigin),this.backgroundPosition=V(e,Yy,t.backgroundPosition),this.backgroundRepeat=V(e,Zy,t.backgroundRepeat),this.backgroundSize=V(e,tv,t.backgroundSize),this.borderTopColor=V(e,rv,t.borderTopColor),this.borderRightColor=V(e,nv,t.borderRightColor),this.borderBottomColor=V(e,sv,t.borderBottomColor),this.borderLeftColor=V(e,iv,t.borderLeftColor),this.borderTopLeftRadius=V(e,ov,t.borderTopLeftRadius),this.borderTopRightRadius=V(e,av,t.borderTopRightRadius),this.borderBottomRightRadius=V(e,lv,t.borderBottomRightRadius),this.borderBottomLeftRadius=V(e,cv,t.borderBottomLeftRadius),this.borderTopStyle=V(e,uv,t.borderTopStyle),this.borderRightStyle=V(e,hv,t.borderRightStyle),this.borderBottomStyle=V(e,dv,t.borderBottomStyle),this.borderLeftStyle=V(e,fv,t.borderLeftStyle),this.borderTopWidth=V(e,gv,t.borderTopWidth),this.borderRightWidth=V(e,pv,t.borderRightWidth),this.borderBottomWidth=V(e,wv,t.borderBottomWidth),this.borderLeftWidth=V(e,Bv,t.borderLeftWidth),this.boxShadow=V(e,u0,t.boxShadow),this.color=V(e,mv,t.color),this.direction=V(e,yv,t.direction),this.display=V(e,vv,t.display),this.float=V(e,Cv,t.cssFloat),this.fontFamily=V(e,t0,t.fontFamily),this.fontSize=V(e,A0,t.fontSize),this.fontStyle=V(e,s0,t.fontStyle),this.fontVariant=V(e,n0,t.fontVariant),this.fontWeight=V(e,r0,t.fontWeight),this.letterSpacing=V(e,Ev,t.letterSpacing),this.lineBreak=V(e,bv,t.lineBreak),this.lineHeight=V(e,Uv,t.lineHeight),this.listStyleImage=V(e,Qv,t.listStyleImage),this.listStylePosition=V(e,Iv,t.listStylePosition),this.listStyleType=V(e,ma,t.listStyleType),this.marginTop=V(e,Fv,t.marginTop),this.marginRight=V(e,Tv,t.marginRight),this.marginBottom=V(e,Sv,t.marginBottom),this.marginLeft=V(e,Rv,t.marginLeft),this.opacity=V(e,Yv,t.opacity);var s=V(e,xv,t.overflow);this.overflowX=s[0],this.overflowY=s[s.length>1?1:0],this.overflowWrap=V(e,kv,t.overflowWrap),this.paddingTop=V(e,Hv,t.paddingTop),this.paddingRight=V(e,Lv,t.paddingRight),this.paddingBottom=V(e,Dv,t.paddingBottom),this.paddingLeft=V(e,Ov,t.paddingLeft),this.paintOrder=V(e,h0,t.paintOrder),this.position=V(e,Nv,t.position),this.textAlign=V(e,Pv,t.textAlign),this.textDecorationColor=V(e,Zv,(r=t.textDecorationColor)!==null&&r!==void 0?r:t.color),this.textDecorationLine=V(e,e0,(n=t.textDecorationLine)!==null&&n!==void 0?n:t.textDecoration),this.textShadow=V(e,Vv,t.textShadow),this.textTransform=V(e,Mv,t.textTransform),this.transform=V(e,Kv,t.transform),this.transformOrigin=V(e,qv,t.transformOrigin),this.visibility=V(e,Jv,t.visibility),this.webkitTextStrokeColor=V(e,d0,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=V(e,f0,t.webkitTextStrokeWidth),this.wordBreak=V(e,Xv,t.wordBreak),this.zIndex=V(e,zv,t.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},A.prototype.isTransparent=function(){return wA(this.backgroundColor)},A.prototype.isTransformed=function(){return this.transform!==null},A.prototype.isPositioned=function(){return this.position!==0},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return this.float!==0},A.prototype.isInlineLevel=function(){return Ie(this.display,4)||Ie(this.display,33554432)||Ie(this.display,268435456)||Ie(this.display,536870912)||Ie(this.display,67108864)||Ie(this.display,134217728)},A}(),p0=function(){function A(e,t){this.content=V(e,i0,t.content),this.quotes=V(e,c0,t.quotes)}return A}(),_h=function(){function A(e,t){this.counterIncrement=V(e,o0,t.counterIncrement),this.counterReset=V(e,a0,t.counterReset)}return A}(),V=function(A,e,t){var r=new qu,n=t!==null&&typeof t<"u"?t.toString():e.initialValue;r.write(n);var s=new Ju(r.read());switch(e.type){case 2:var i=s.parseComponentValue();return e.parse(A,ne(i)?i.value:e.initialValue);case 0:return e.parse(A,s.parseComponentValue());case 1:return e.parse(A,s.parseComponentValues());case 4:return s.parseComponentValue();case 3:switch(e.format){case"angle":return Xs.parse(A,s.parseComponentValue());case"color":return pA.parse(A,s.parseComponentValue());case"image":return Ba.parse(A,s.parseComponentValue());case"length":var o=s.parseComponentValue();return fA(o)?o:xe;case"length-percentage":var l=s.parseComponentValue();return _e(l)?l:xe;case"time":return yh.parse(A,s.parseComponentValue())}break}},w0="data-html2canvas-debug",B0=function(A){var e=A.getAttribute(w0);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},ya=function(A,e){var t=B0(A);return t===1||e===t},Nt=function(){function A(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,ya(t,3))debugger;this.styles=new g0(e,window.getComputedStyle(t,null)),ka(t)&&(this.styles.animationDuration.some(function(r){return r>0})&&(t.style.animationDuration="0s"),this.styles.transform!==null&&(t.style.transform="none")),this.bounds=Ts(this.context,t),ya(t,4)&&(this.flags|=16)}return A}(),m0="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",mn=typeof Uint8Array>"u"?[]:new Uint8Array(256),oi=0;oi<Ch.length;oi++)mn[Ch.charCodeAt(oi)]=oi;for(var y0=function(A){var e=A.length*.75,t=A.length,r,n=0,s,i,o,l;A[A.length-1]==="="&&(e--,A[A.length-2]==="="&&e--);var c=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(e):new Array(e),u=Array.isArray(c)?c:new Uint8Array(c);for(r=0;r<t;r+=4)s=mn[A.charCodeAt(r)],i=mn[A.charCodeAt(r+1)],o=mn[A.charCodeAt(r+2)],l=mn[A.charCodeAt(r+3)],u[n++]=s<<2|i>>4,u[n++]=(i&15)<<4|o>>2,u[n++]=(o&3)<<6|l&63;return c},v0=function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t},_0=function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t},VA=5,va=11,_a=2,C0=va-VA,Eh=65536>>VA,E0=1<<VA,Ca=E0-1,b0=1024>>VA,U0=Eh+b0,Q0=U0,I0=32,F0=Q0+I0,T0=65536>>va,S0=1<<C0,R0=S0-1,bh=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},x0=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},k0=function(A,e){var t=y0(A),r=Array.isArray(t)?_0(t):new Uint32Array(t),n=Array.isArray(t)?v0(t):new Uint16Array(t),s=24,i=bh(n,s/2,r[4]/2),o=r[5]===2?bh(n,(s+r[4])/2):x0(r,Math.ceil((s+r[4])/4));return new H0(r[0],r[1],r[2],r[3],i,o)},H0=function(){function A(e,t,r,n,s,i){this.initialValue=e,this.errorValue=t,this.highStart=r,this.highValueIndex=n,this.index=s,this.data=i}return A.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>VA],t=(t<<_a)+(e&Ca),this.data[t];if(e<=65535)return t=this.index[Eh+(e-55296>>VA)],t=(t<<_a)+(e&Ca),this.data[t];if(e<this.highStart)return t=F0-T0+(e>>va),t=this.index[t],t+=e>>VA&R0,t=this.index[t],t=(t<<_a)+(e&Ca),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Uh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L0=typeof Uint8Array>"u"?[]:new Uint8Array(256),ai=0;ai<Uh.length;ai++)L0[Uh.charCodeAt(ai)]=ai;var D0=1,Ea=2,ba=3,Qh=4,Ih=5,O0=7,Fh=8,Ua=9,Qa=10,Th=11,Sh=12,Rh=13,xh=14,Ia=15,P0=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var s=A.charCodeAt(t++);(s&64512)===56320?e.push(((n&1023)<<10)+(s&1023)+65536):(e.push(n),t--)}else e.push(n)}return e},N0=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,s="";++n<t;){var i=A[n];i<=65535?r.push(i):(i-=65536,r.push((i>>10)+55296,i%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},V0=k0(m0),mt="×",Fa="÷",M0=function(A){return V0.get(A)},K0=function(A,e,t){var r=t-2,n=e[r],s=e[t-1],i=e[t];if(s===Ea&&i===ba)return mt;if(s===Ea||s===ba||s===Qh||i===Ea||i===ba||i===Qh)return Fa;if(s===Fh&&[Fh,Ua,Th,Sh].indexOf(i)!==-1||(s===Th||s===Ua)&&(i===Ua||i===Qa)||(s===Sh||s===Qa)&&i===Qa||i===Rh||i===Ih||i===O0||s===D0)return mt;if(s===Rh&&i===xh){for(;n===Ih;)n=e[--r];if(n===xh)return mt}if(s===Ia&&i===Ia){for(var o=0;n===Ia;)o++,n=e[--r];if(o%2===0)return mt}return Fa},G0=function(A){var e=P0(A),t=e.length,r=0,n=0,s=e.map(M0);return{next:function(){if(r>=t)return{done:!0,value:null};for(var i=mt;r<t&&(i=K0(e,s,++r))===mt;);if(i!==mt||r===t){var o=N0.apply(null,e.slice(n,r));return n=r,{value:o,done:!1}}return{done:!0,value:null}}}},j0=function(A){for(var e=G0(A),t=[],r;!(r=e.next()).done;)r.value&&t.push(r.value.slice());return t},$0=function(A){var e=123;if(A.createRange){var t=A.createRange();if(t.getBoundingClientRect){var r=A.createElement("boundtest");r.style.height=e+"px",r.style.display="block",A.body.appendChild(r),t.selectNode(r);var n=t.getBoundingClientRect(),s=Math.round(n.height);if(A.body.removeChild(r),s===e)return!0}}return!1},W0=function(A){var e=A.createElement("boundtest");e.style.width="50px",e.style.display="block",e.style.fontSize="12px",e.style.letterSpacing="0px",e.style.wordSpacing="0px",A.body.appendChild(e);var t=A.createRange();e.innerHTML=typeof"".repeat=="function"?"👨".repeat(10):"";var r=e.firstChild,n=Ss(r.data).map(function(l){return we(l)}),s=0,i={},o=n.every(function(l,c){t.setStart(r,s),t.setEnd(r,s+l.length);var u=t.getBoundingClientRect();s+=l.length;var d=u.x>i.x||u.y>i.y;return i=u,c===0?!0:d});return A.body.removeChild(e),o},q0=function(){return typeof new Image().crossOrigin<"u"},J0=function(){return typeof new XMLHttpRequest().responseType=="string"},X0=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{r.drawImage(e,0,0),t.toDataURL()}catch{return!1}return!0},kh=function(A){return A[0]===0&&A[1]===255&&A[2]===0&&A[3]===255},z0=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var r=e.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var n=new Image,s=e.toDataURL();n.src=s;var i=Ta(t,t,0,0,n);return r.fillStyle="red",r.fillRect(0,0,t,t),Hh(i).then(function(o){r.drawImage(o,0,0);var l=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var c=A.createElement("div");return c.style.backgroundImage="url("+s+")",c.style.height=t+"px",kh(l)?Hh(Ta(t,t,0,0,c)):Promise.reject(!1)}).then(function(o){return r.drawImage(o,0,0),kh(r.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Ta=function(A,e,t,r,n){var s="http://www.w3.org/2000/svg",i=document.createElementNS(s,"svg"),o=document.createElementNS(s,"foreignObject");return i.setAttributeNS(null,"width",A.toString()),i.setAttributeNS(null,"height",e.toString()),o.setAttributeNS(null,"width","100%"),o.setAttributeNS(null,"height","100%"),o.setAttributeNS(null,"x",t.toString()),o.setAttributeNS(null,"y",r.toString()),o.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(o),o.appendChild(n),i},Hh=function(A){return new Promise(function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(A))})},ke={get SUPPORT_RANGE_BOUNDS(){var A=$0(document);return Object.defineProperty(ke,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=ke.SUPPORT_RANGE_BOUNDS&&W0(document);return Object.defineProperty(ke,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=X0(document);return Object.defineProperty(ke,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A=typeof Array.from=="function"&&typeof window.fetch=="function"?z0(document):Promise.resolve(!1);return Object.defineProperty(ke,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=q0();return Object.defineProperty(ke,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=J0();return Object.defineProperty(ke,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ke,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(ke,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},yn=function(){function A(e,t){this.text=e,this.bounds=t}return A}(),Y0=function(A,e,t,r){var n=t_(e,t),s=[],i=0;return n.forEach(function(o){if(t.textDecorationLine.length||o.trim().length>0)if(ke.SUPPORT_RANGE_BOUNDS){var l=Lh(r,i,o.length).getClientRects();if(l.length>1){var c=Sa(o),u=0;c.forEach(function(g){s.push(new yn(g,Xt.fromDOMRectList(A,Lh(r,u+i,g.length).getClientRects()))),u+=g.length})}else s.push(new yn(o,Xt.fromDOMRectList(A,l)))}else{var d=r.splitText(o.length);s.push(new yn(o,Z0(A,r))),r=d}else ke.SUPPORT_RANGE_BOUNDS||(r=r.splitText(o.length));i+=o.length}),s},Z0=function(A,e){var t=e.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(e.cloneNode(!0));var n=e.parentNode;if(n){n.replaceChild(r,e);var s=Ts(A,r);return r.firstChild&&n.replaceChild(r.firstChild,r),s}}return Xt.EMPTY},Lh=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(A,e),n.setEnd(A,e+t),n},Sa=function(A){if(ke.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map(function(t){return t.segment})}return j0(A)},e_=function(A,e){if(ke.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map(function(r){return r.segment})}return r_(A,e)},t_=function(A,e){return e.letterSpacing!==0?Sa(A):e_(A,e)},A_=[32,160,4961,65792,65793,4153,4241],r_=function(A,e){for(var t=Tm(A,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),r=[],n,s=function(){if(n.value){var i=n.value.slice(),o=Ss(i),l="";o.forEach(function(c){A_.indexOf(c)===-1?l+=we(c):(l.length&&r.push(l),r.push(we(c)),l="")}),l.length&&r.push(l)}};!(n=t.next()).done;)s();return r},n_=function(){function A(e,t,r){this.text=s_(t.data,r.textTransform),this.textBounds=Y0(e,this.text,r,t)}return A}(),s_=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(i_,o_);case 2:return A.toUpperCase();default:return A}},i_=/(^|\s|:|-|\(|\))([a-z])/g,o_=function(A,e,t){return A.length>0?e+t.toUpperCase():A},Dh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.src=r.currentSrc||r.src,n.intrinsicWidth=r.naturalWidth,n.intrinsicHeight=r.naturalHeight,n.context.cache.addImage(n.src),n}return e}(Nt),Oh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.canvas=r,n.intrinsicWidth=r.width,n.intrinsicHeight=r.height,n}return e}(Nt),Ph=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this,s=new XMLSerializer,i=Ts(t,r);return r.setAttribute("width",i.width+"px"),r.setAttribute("height",i.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(s.serializeToString(r)),n.intrinsicWidth=r.width.baseVal.value,n.intrinsicHeight=r.height.baseVal.value,n.context.cache.addImage(n.svg),n}return e}(Nt),Nh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.value=r.value,n}return e}(Nt),Ra=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.start=r.start,n.reversed=typeof r.reversed=="boolean"&&r.reversed===!0,n}return e}(Nt),a_=[{type:15,flags:0,unit:"px",number:3}],l_=[{type:16,flags:0,number:50}],c_=function(A){return A.width>A.height?new Xt(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width<A.height?new Xt(A.left,A.top+(A.height-A.width)/2,A.width,A.width):A},u_=function(A){var e=A.type===h_?new Array(A.value.length+1).join("•"):A.value;return e.length===0?A.placeholder||"":e},li="checkbox",ci="radio",h_="password",Vh=707406591,xa=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;switch(n.type=r.type.toLowerCase(),n.checked=r.checked,n.value=u_(r),(n.type===li||n.type===ci)&&(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=c_(n.bounds)),n.type){case li:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=a_;break;case ci:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=l_;break}return n}return e}(Nt),Mh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this,s=r.options[r.selectedIndex||0];return n.value=s&&s.text||"",n}return e}(Nt),Kh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.value=r.value,n}return e}(Nt),Gh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;n.src=r.src,n.width=parseInt(r.width,10)||0,n.height=parseInt(r.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(r.contentWindow&&r.contentWindow.document&&r.contentWindow.document.documentElement){n.tree=$h(t,r.contentWindow.document.documentElement);var s=r.contentWindow.document.documentElement?wn(t,getComputedStyle(r.contentWindow.document.documentElement).backgroundColor):Yt.TRANSPARENT,i=r.contentWindow.document.body?wn(t,getComputedStyle(r.contentWindow.document.body).backgroundColor):Yt.TRANSPARENT;n.backgroundColor=wA(s)?wA(i)?n.styles.backgroundColor:i:s}}catch{}return n}return e}(Nt),d_=["OL","UL","MENU"],ui=function(A,e,t,r){for(var n=e.firstChild,s=void 0;n;n=s)if(s=n.nextSibling,Wh(n)&&n.data.trim().length>0)t.textNodes.push(new n_(A,n,t.styles));else if(mr(n))if(Zh(n)&&n.assignedNodes)n.assignedNodes().forEach(function(o){return ui(A,o,t,r)});else{var i=jh(A,n);i.styles.isVisible()&&(f_(n,i,r)?i.flags|=4:g_(i.styles)&&(i.flags|=2),d_.indexOf(n.tagName)!==-1&&(i.flags|=8),t.elements.push(i),n.slot,n.shadowRoot?ui(A,n.shadowRoot,i,r):!di(n)&&!qh(n)&&!fi(n)&&ui(A,n,i,r))}},jh=function(A,e){return La(e)?new Dh(A,e):Jh(e)?new Oh(A,e):qh(e)?new Ph(A,e):p_(e)?new Nh(A,e):w_(e)?new Ra(A,e):B_(e)?new xa(A,e):fi(e)?new Mh(A,e):di(e)?new Kh(A,e):zh(e)?new Gh(A,e):new Nt(A,e)},$h=function(A,e){var t=jh(A,e);return t.flags|=4,ui(A,e,t,t),t},f_=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||Ha(A)&&t.styles.isTransparent()},g_=function(A){return A.isPositioned()||A.isFloating()},Wh=function(A){return A.nodeType===Node.TEXT_NODE},mr=function(A){return A.nodeType===Node.ELEMENT_NODE},ka=function(A){return mr(A)&&typeof A.style<"u"&&!hi(A)},hi=function(A){return typeof A.className=="object"},p_=function(A){return A.tagName==="LI"},w_=function(A){return A.tagName==="OL"},B_=function(A){return A.tagName==="INPUT"},m_=function(A){return A.tagName==="HTML"},qh=function(A){return A.tagName==="svg"},Ha=function(A){return A.tagName==="BODY"},Jh=function(A){return A.tagName==="CANVAS"},Xh=function(A){return A.tagName==="VIDEO"},La=function(A){return A.tagName==="IMG"},zh=function(A){return A.tagName==="IFRAME"},Yh=function(A){return A.tagName==="STYLE"},y_=function(A){return A.tagName==="SCRIPT"},di=function(A){return A.tagName==="TEXTAREA"},fi=function(A){return A.tagName==="SELECT"},Zh=function(A){return A.tagName==="SLOT"},ed=function(A){return A.tagName.indexOf("-")>0},v_=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},A.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},A.prototype.pop=function(e){var t=this;e.forEach(function(r){return t.counters[r].pop()})},A.prototype.parse=function(e){var t=this,r=e.counterIncrement,n=e.counterReset,s=!0;r!==null&&r.forEach(function(o){var l=t.counters[o.counter];l&&o.increment!==0&&(s=!1,l.length||l.push(1),l[Math.max(0,l.length-1)]+=o.increment)});var i=[];return s&&n.forEach(function(o){var l=t.counters[o.counter];i.push(o.counter),l||(l=t.counters[o.counter]=[]),l.push(o.reset)}),i},A}(),td={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"]},Ad={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},__={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},C_={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},yr=function(A,e,t,r,n,s){return A<e||A>t?_n(A,n,s.length>0):r.integers.reduce(function(i,o,l){for(;A>=o;)A-=o,i+=r.values[l];return i},"")+s},rd=function(A,e,t,r){var n="";do t||A--,n=r(A)+n,A/=e;while(A*e>=e);return n},Be=function(A,e,t,r,n){var s=t-e+1;return(A<0?"-":"")+(rd(Math.abs(A),s,r,function(i){return we(Math.floor(i%s)+e)})+n)},MA=function(A,e,t){t===void 0&&(t=". ");var r=e.length;return rd(Math.abs(A),r,!1,function(n){return e[Math.floor(n%r)]})+t},vr=1,mA=2,yA=4,vn=8,Zt=function(A,e,t,r,n,s){if(A<-9999||A>9999)return _n(A,4,n.length>0);var i=Math.abs(A),o=n;if(i===0)return e[0]+o;for(var l=0;i>0&&l<=4;l++){var c=i%10;c===0&&Ie(s,vr)&&o!==""?o=e[c]+o:c>1||c===1&&l===0||c===1&&l===1&&Ie(s,mA)||c===1&&l===1&&Ie(s,yA)&&A>100||c===1&&l>1&&Ie(s,vn)?o=e[c]+(l>0?t[l-1]:"")+o:c===1&&l>0&&(o=t[l-1]+o),i=Math.floor(i/10)}return(A<0?r:"")+o},nd="十百千萬",sd="拾佰仟萬",id="マイナス",Da="마이너스",_n=function(A,e,t){var r=t?". ":"",n=t?"、":"",s=t?", ":"",i=t?" ":"";switch(e){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var o=Be(A,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return MA(A,"〇一二三四五六七八九",n);case 6:return yr(A,1,3999,td,3,r).toLowerCase();case 7:return yr(A,1,3999,td,3,r);case 8:return Be(A,945,969,!1,r);case 9:return Be(A,97,122,!1,r);case 10:return Be(A,65,90,!1,r);case 11:return Be(A,1632,1641,!0,r);case 12:case 49:return yr(A,1,9999,Ad,3,r);case 35:return yr(A,1,9999,Ad,3,r).toLowerCase();case 13:return Be(A,2534,2543,!0,r);case 14:case 30:return Be(A,6112,6121,!0,r);case 15:return MA(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return MA(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Zt(A,"零一二三四五六七八九",nd,"負",n,mA|yA|vn);case 47:return Zt(A,"零壹貳參肆伍陸柒捌玖",sd,"負",n,vr|mA|yA|vn);case 42:return Zt(A,"零一二三四五六七八九",nd,"负",n,mA|yA|vn);case 41:return Zt(A,"零壹贰叁肆伍陆柒捌玖",sd,"负",n,vr|mA|yA|vn);case 26:return Zt(A,"〇一二三四五六七八九","十百千万",id,n,0);case 25:return Zt(A,"零壱弐参四伍六七八九","拾百千万",id,n,vr|mA|yA);case 31:return Zt(A,"영일이삼사오육칠팔구","십백천만",Da,s,vr|mA|yA);case 33:return Zt(A,"零一二三四五六七八九","十百千萬",Da,s,0);case 32:return Zt(A,"零壹貳參四五六七八九","拾百千",Da,s,vr|mA|yA);case 18:return Be(A,2406,2415,!0,r);case 20:return yr(A,1,19999,C_,3,r);case 21:return Be(A,2790,2799,!0,r);case 22:return Be(A,2662,2671,!0,r);case 22:return yr(A,1,10999,__,3,r);case 23:return MA(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return MA(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Be(A,3302,3311,!0,r);case 28:return MA(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return MA(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return Be(A,3792,3801,!0,r);case 37:return Be(A,6160,6169,!0,r);case 38:return Be(A,4160,4169,!0,r);case 39:return Be(A,2918,2927,!0,r);case 40:return Be(A,1776,1785,!0,r);case 43:return Be(A,3046,3055,!0,r);case 44:return Be(A,3174,3183,!0,r);case 45:return Be(A,3664,3673,!0,r);case 46:return Be(A,3872,3881,!0,r);case 3:default:return Be(A,48,57,!0,r)}},od="data-html2canvas-ignore",ad=function(){function A(e,t,r){if(this.context=e,this.options=r,this.scrolledElements=[],this.referenceElement=t,this.counters=new v_,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 A.prototype.toIFrame=function(e,t){var r=this,n=E_(e,t);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var s=e.defaultView.pageXOffset,i=e.defaultView.pageYOffset,o=n.contentWindow,l=o.document,c=Q_(n).then(function(){return Ye(r,void 0,void 0,function(){var u,d;return Ne(this,function(g){switch(g.label){case 0:return this.scrolledElements.forEach(S_),o&&(o.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(o.scrollY!==t.top||o.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-t.left,o.scrollY-t.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:g.sent(),g.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,U_(l)]:[3,4];case 3:g.sent(),g.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(l,d)}).then(function(){return n})]:[2,n]}})})});return l.open(),l.write(F_(document.doctype)+"<html></html>"),T_(this.referenceElement.ownerDocument,s,i),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},A.prototype.createElementClone=function(e){if(ya(e,2))debugger;if(Jh(e))return this.createCanvasClone(e);if(Xh(e))return this.createVideoClone(e);if(Yh(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return La(t)&&(La(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager")),ed(t)?this.createCustomElementClone(t):t},A.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return Oa(e.style,t),t},A.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var r=[].slice.call(t.cssRules,0).reduce(function(s,i){return i&&typeof i.cssText=="string"?s+i.cssText:s},""),n=e.cloneNode(!1);return n.textContent=r,n}}catch(s){if(this.context.logger.error("Unable to access cssRules property",s),s.name!=="SecurityError")throw s}return e.cloneNode(!1)},A.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var r=e.ownerDocument.createElement("img");try{return r.src=e.toDataURL(),r}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var s=e.getContext("2d"),i=n.getContext("2d");if(i)if(!this.options.allowTaint&&s)i.putImageData(s.getImageData(0,0,e.width,e.height),0,0);else{var o=(t=e.getContext("webgl2"))!==null&&t!==void 0?t:e.getContext("webgl");if(o){var l=o.getContextAttributes();(l==null?void 0:l.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}i.drawImage(e,0,0)}return n}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},A.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var r=t.getContext("2d");try{return r&&(r.drawImage(e,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",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},A.prototype.appendChildNode=function(e,t,r){(!mr(t)||!y_(t)&&!t.hasAttribute(od)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!mr(t)||!Yh(t))&&e.appendChild(this.cloneNode(t,r))},A.prototype.cloneChildNodes=function(e,t,r){for(var n=this,s=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;s;s=s.nextSibling)if(mr(s)&&Zh(s)&&typeof s.assignedNodes=="function"){var i=s.assignedNodes();i.length&&i.forEach(function(o){return n.appendChildNode(t,o,r)})}else this.appendChildNode(t,s,r)},A.prototype.cloneNode=function(e,t){if(Wh(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var r=e.ownerDocument.defaultView;if(r&&mr(e)&&(ka(e)||hi(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var s=r.getComputedStyle(e),i=r.getComputedStyle(e,":before"),o=r.getComputedStyle(e,":after");this.referenceElement===e&&ka(n)&&(this.clonedReferenceElement=n),Ha(n)&&k_(n);var l=this.counters.parse(new _h(this.context,s)),c=this.resolvePseudoContent(e,n,i,Cn.BEFORE);ed(e)&&(t=!0),Xh(e)||this.cloneChildNodes(e,n,t),c&&n.insertBefore(c,n.firstChild);var u=this.resolvePseudoContent(e,n,o,Cn.AFTER);return u&&n.appendChild(u),this.counters.pop(l),(s&&(this.options.copyStyles||hi(e))&&!zh(e)||t)&&Oa(s,n),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(di(e)||fi(e))&&(di(n)||fi(n))&&(n.value=e.value),n}return e.cloneNode(!1)},A.prototype.resolvePseudoContent=function(e,t,r,n){var s=this;if(r){var i=r.content,o=t.ownerDocument;if(!(!o||!i||i==="none"||i==="-moz-alt-content"||r.display==="none")){this.counters.parse(new _h(this.context,r));var l=new p0(this.context,r),c=o.createElement("html2canvaspseudoelement");Oa(r,c),l.content.forEach(function(d){if(d.type===0)c.appendChild(o.createTextNode(d.value));else if(d.type===22){var g=o.createElement("img");g.src=d.value,g.style.opacity="1",c.appendChild(g)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(ne);p.length&&c.appendChild(o.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var B=d.values.filter(wr),C=B[0],E=B[1];if(C&&ne(C)){var I=s.counters.getCounterValue(C.value),Q=E&&ne(E)?ma.parse(s.context,E.value):3;c.appendChild(o.createTextNode(_n(I,Q,!1)))}}else if(d.name==="counters"){var S=d.values.filter(wr),C=S[0],k=S[1],E=S[2];if(C&&ne(C)){var H=s.counters.getCounterValues(C.value),R=E&&ne(E)?ma.parse(s.context,E.value):3,_=k&&k.type===0?k.value:"",m=H.map(function(U){return _n(U,R,!1)}).join(_);c.appendChild(o.createTextNode(m))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(o.createTextNode(vh(l.quotes,s.quoteDepth++,!0)));break;case"close-quote":c.appendChild(o.createTextNode(vh(l.quotes,--s.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(d.value))}}),c.className=Pa+" "+Na;var u=n===Cn.BEFORE?" "+Pa:" "+Na;return hi(t)?t.className.baseValue+=u:t.className+=u,c}}},A.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},A}(),Cn;(function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"})(Cn||(Cn={}));var E_=function(A,e){var t=A.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=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(od,"true"),A.body.appendChild(t),t},b_=function(A){return new Promise(function(e){if(A.complete){e();return}if(!A.src){e();return}A.onload=e,A.onerror=e})},U_=function(A){return Promise.all([].slice.call(A.images,0).map(b_))},Q_=function(A){return new Promise(function(e,t){var r=A.contentWindow;if(!r)return t("No window assigned for iframe");var n=r.document;r.onload=A.onload=function(){r.onload=A.onload=null;var s=setInterval(function(){n.body.childNodes.length>0&&n.readyState==="complete"&&(clearInterval(s),e(A))},50)}})},I_=["all","d","content"],Oa=function(A,e){for(var t=A.length-1;t>=0;t--){var r=A.item(t);I_.indexOf(r)===-1&&e.style.setProperty(r,A.getPropertyValue(r))}return e},F_=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},T_=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},S_=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},R_=":before",x_=":after",Pa="___html2canvas___pseudoelement_before",Na="___html2canvas___pseudoelement_after",ld=`{
|
|
789
|
+
***************************************************************************** */var qo=function(A,e){return qo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])},qo(A,e)};function bt(A,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");qo(A,e);function t(){this.constructor=A}A.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Jo=function(){return Jo=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},Jo.apply(this,arguments)};function Ye(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,[])).next())})}function Ne(A,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,n,s,i;return i={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function o(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,n&&(s=c[0]&2?n.return:c[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,c[1])).done)return s;switch(n=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,n=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(A,t)}catch(u){c=[6,u],n=0}finally{r=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Fs(A,e,t){if(arguments.length===2)for(var r=0,n=e.length,s;r<n;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return A.concat(s||e)}for(var Xt=function(){function A(e,t,r,n){this.left=e,this.top=t,this.width=r,this.height=n}return A.prototype.add=function(e,t,r,n){return new A(this.left+e,this.top+t,this.width+r,this.height+n)},A.fromClientRect=function(e,t){return new A(t.left+e.windowBounds.left,t.top+e.windowBounds.top,t.width,t.height)},A.fromDOMRectList=function(e,t){var r=Array.from(t).find(function(n){return n.width!==0});return r?new A(r.left+e.windowBounds.left,r.top+e.windowBounds.top,r.width,r.height):A.EMPTY},A.EMPTY=new A(0,0,0,0),A}(),Ts=function(A,e){return Xt.fromClientRect(A,e.getBoundingClientRect())},qB=function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var r=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),n=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new Xt(0,0,r,n)},Ss=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var s=A.charCodeAt(t++);(s&64512)===56320?e.push(((n&1023)<<10)+(s&1023)+65536):(e.push(n),t--)}else e.push(n)}return e},we=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,s="";++n<t;){var i=A[n];i<=65535?r.push(i):(i-=65536,r.push((i>>10)+55296,i%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},Bu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",JB=typeof Uint8Array>"u"?[]:new Uint8Array(256),Rs=0;Rs<Bu.length;Rs++)JB[Bu.charCodeAt(Rs)]=Rs;for(var mu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",An=typeof Uint8Array>"u"?[]:new Uint8Array(256),xs=0;xs<mu.length;xs++)An[mu.charCodeAt(xs)]=xs;for(var XB=function(A){var e=A.length*.75,t=A.length,r,n=0,s,i,o,l;A[A.length-1]==="="&&(e--,A[A.length-2]==="="&&e--);var c=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(e):new Array(e),u=Array.isArray(c)?c:new Uint8Array(c);for(r=0;r<t;r+=4)s=An[A.charCodeAt(r)],i=An[A.charCodeAt(r+1)],o=An[A.charCodeAt(r+2)],l=An[A.charCodeAt(r+3)],u[n++]=s<<2|i>>4,u[n++]=(i&15)<<4|o>>2,u[n++]=(o&3)<<6|l&63;return c},zB=function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t},YB=function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t},OA=5,Xo=11,zo=2,ZB=Xo-OA,yu=65536>>OA,em=1<<OA,Yo=em-1,tm=1024>>OA,Am=yu+tm,rm=Am,nm=32,sm=rm+nm,im=65536>>Xo,om=1<<ZB,am=om-1,vu=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},lm=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},cm=function(A,e){var t=XB(A),r=Array.isArray(t)?YB(t):new Uint32Array(t),n=Array.isArray(t)?zB(t):new Uint16Array(t),s=24,i=vu(n,s/2,r[4]/2),o=r[5]===2?vu(n,(s+r[4])/2):lm(r,Math.ceil((s+r[4])/4));return new um(r[0],r[1],r[2],r[3],i,o)},um=function(){function A(e,t,r,n,s,i){this.initialValue=e,this.errorValue=t,this.highStart=r,this.highValueIndex=n,this.index=s,this.data=i}return A.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>OA],t=(t<<zo)+(e&Yo),this.data[t];if(e<=65535)return t=this.index[yu+(e-55296>>OA)],t=(t<<zo)+(e&Yo),this.data[t];if(e<this.highStart)return t=sm-im+(e>>Xo),t=this.index[t],t+=e>>OA&am,t=this.index[t],t=(t<<zo)+(e&Yo),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),_u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hm=typeof Uint8Array>"u"?[]:new Uint8Array(256),ks=0;ks<_u.length;ks++)hm[_u.charCodeAt(ks)]=ks;var dm="KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==",Cu=50,fm=1,Eu=2,bu=3,gm=4,pm=5,Uu=7,Qu=8,Iu=9,hA=10,Zo=11,Fu=12,ea=13,wm=14,rn=15,ta=16,Hs=17,nn=18,Bm=19,Tu=20,Aa=21,sn=22,ra=23,dr=24,ut=25,on=26,an=27,fr=28,mm=29,PA=30,ym=31,Ls=32,Ds=33,na=34,sa=35,ia=36,ln=37,oa=38,Os=39,Ps=40,aa=41,Su=42,vm=43,_m=[9001,65288],Ru="!",X="×",Ns="÷",la=cm(dm),zt=[PA,ia],ca=[fm,Eu,bu,pm],xu=[hA,Qu],ku=[an,on],Cm=ca.concat(xu),Hu=[oa,Os,Ps,na,sa],Em=[rn,ea],bm=function(A,e){e===void 0&&(e="strict");var t=[],r=[],n=[];return A.forEach(function(s,i){var o=la.get(s);if(o>Cu?(n.push(!0),o-=Cu):n.push(!1),["normal","auto","loose"].indexOf(e)!==-1&&[8208,8211,12316,12448].indexOf(s)!==-1)return r.push(i),t.push(ta);if(o===gm||o===Zo){if(i===0)return r.push(i),t.push(PA);var l=t[i-1];return Cm.indexOf(l)===-1?(r.push(r[i-1]),t.push(l)):(r.push(i),t.push(PA))}if(r.push(i),o===ym)return t.push(e==="strict"?Aa:ln);if(o===Su||o===mm)return t.push(PA);if(o===vm)return s>=131072&&s<=196605||s>=196608&&s<=262141?t.push(ln):t.push(PA);t.push(o)}),[r,t,n]},ua=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?A.indexOf(n)!==-1:A===n)for(var s=t;s<=r.length;){s++;var i=r[s];if(i===e)return!0;if(i!==hA)break}if(n===hA)for(var s=t;s>0;){s--;var o=r[s];if(Array.isArray(A)?A.indexOf(o)!==-1:A===o)for(var l=t;l<=r.length;){l++;var i=r[l];if(i===e)return!0;if(i!==hA)break}if(o!==hA)break}return!1},Lu=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r===hA)t--;else return r}return 0},Um=function(A,e,t,r,n){if(t[r]===0)return X;var s=r-1;if(Array.isArray(n)&&n[s]===!0)return X;var i=s-1,o=s+1,l=e[s],c=i>=0?e[i]:0,u=e[o];if(l===Eu&&u===bu)return X;if(ca.indexOf(l)!==-1)return Ru;if(ca.indexOf(u)!==-1||xu.indexOf(u)!==-1)return X;if(Lu(s,e)===Qu)return Ns;if(la.get(A[s])===Zo||(l===Ls||l===Ds)&&la.get(A[o])===Zo||l===Uu||u===Uu||l===Iu||[hA,ea,rn].indexOf(l)===-1&&u===Iu||[Hs,nn,Bm,dr,fr].indexOf(u)!==-1||Lu(s,e)===sn||ua(ra,sn,s,e)||ua([Hs,nn],Aa,s,e)||ua(Fu,Fu,s,e))return X;if(l===hA)return Ns;if(l===ra||u===ra)return X;if(u===ta||l===ta)return Ns;if([ea,rn,Aa].indexOf(u)!==-1||l===wm||c===ia&&Em.indexOf(l)!==-1||l===fr&&u===ia||u===Tu||zt.indexOf(u)!==-1&&l===ut||zt.indexOf(l)!==-1&&u===ut||l===an&&[ln,Ls,Ds].indexOf(u)!==-1||[ln,Ls,Ds].indexOf(l)!==-1&&u===on||zt.indexOf(l)!==-1&&ku.indexOf(u)!==-1||ku.indexOf(l)!==-1&&zt.indexOf(u)!==-1||[an,on].indexOf(l)!==-1&&(u===ut||[sn,rn].indexOf(u)!==-1&&e[o+1]===ut)||[sn,rn].indexOf(l)!==-1&&u===ut||l===ut&&[ut,fr,dr].indexOf(u)!==-1)return X;if([ut,fr,dr,Hs,nn].indexOf(u)!==-1)for(var d=s;d>=0;){var g=e[d];if(g===ut)return X;if([fr,dr].indexOf(g)!==-1)d--;else break}if([an,on].indexOf(u)!==-1)for(var d=[Hs,nn].indexOf(l)!==-1?i:s;d>=0;){var g=e[d];if(g===ut)return X;if([fr,dr].indexOf(g)!==-1)d--;else break}if(oa===l&&[oa,Os,na,sa].indexOf(u)!==-1||[Os,na].indexOf(l)!==-1&&[Os,Ps].indexOf(u)!==-1||[Ps,sa].indexOf(l)!==-1&&u===Ps||Hu.indexOf(l)!==-1&&[Tu,on].indexOf(u)!==-1||Hu.indexOf(u)!==-1&&l===an||zt.indexOf(l)!==-1&&zt.indexOf(u)!==-1||l===dr&&zt.indexOf(u)!==-1||zt.concat(ut).indexOf(l)!==-1&&u===sn&&_m.indexOf(A[o])===-1||zt.concat(ut).indexOf(u)!==-1&&l===nn)return X;if(l===aa&&u===aa){for(var p=t[s],B=1;p>0&&(p--,e[p]===aa);)B++;if(B%2!==0)return X}return l===Ls&&u===Ds?X:Ns},Qm=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=bm(A,e.lineBreak),r=t[0],n=t[1],s=t[2];(e.wordBreak==="break-all"||e.wordBreak==="break-word")&&(n=n.map(function(o){return[ut,PA,Su].indexOf(o)!==-1?ln:o}));var i=e.wordBreak==="keep-all"?s.map(function(o,l){return o&&A[l]>=19968&&A[l]<=40959}):void 0;return[r,n,i]},Im=function(){function A(e,t,r,n){this.codePoints=e,this.required=t===Ru,this.start=r,this.end=n}return A.prototype.slice=function(){return we.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),Fm=function(A,e){var t=Ss(A),r=Qm(t,e),n=r[0],s=r[1],i=r[2],o=t.length,l=0,c=0;return{next:function(){if(c>=o)return{done:!0,value:null};for(var u=X;c<o&&(u=Um(t,s,n,++c,i))===X;);if(u!==X||c===o){var d=new Im(t,u,l,c);return l=c,{value:d,done:!1}}return{done:!0,value:null}}}},Tm=1,Sm=2,cn=4,Du=8,Vs=10,Ou=47,un=92,Rm=9,xm=32,Ms=34,hn=61,km=35,Hm=36,Lm=37,Ks=39,Gs=40,dn=41,Dm=95,rt=45,Om=33,Pm=60,Nm=62,Vm=64,Mm=91,Km=93,Gm=61,jm=123,js=63,$m=125,Pu=124,Wm=126,qm=128,Nu=65533,ha=42,NA=43,Jm=44,Xm=58,zm=59,fn=46,Ym=0,Zm=8,ey=11,ty=14,Ay=31,ry=127,Ot=-1,Vu=48,Mu=97,Ku=101,ny=102,sy=117,iy=122,Gu=65,ju=69,$u=70,oy=85,ay=90,Ve=function(A){return A>=Vu&&A<=57},ly=function(A){return A>=55296&&A<=57343},gr=function(A){return Ve(A)||A>=Gu&&A<=$u||A>=Mu&&A<=ny},cy=function(A){return A>=Mu&&A<=iy},uy=function(A){return A>=Gu&&A<=ay},hy=function(A){return cy(A)||uy(A)},dy=function(A){return A>=qm},$s=function(A){return A===Vs||A===Rm||A===xm},Ws=function(A){return hy(A)||dy(A)||A===Dm},Wu=function(A){return Ws(A)||Ve(A)||A===rt},fy=function(A){return A>=Ym&&A<=Zm||A===ey||A>=ty&&A<=Ay||A===ry},dA=function(A,e){return A!==un?!1:e!==Vs},qs=function(A,e,t){return A===rt?Ws(e)||dA(e,t):Ws(A)?!0:!!(A===un&&dA(A,e))},da=function(A,e,t){return A===NA||A===rt?Ve(e)?!0:e===fn&&Ve(t):Ve(A===fn?e:A)},gy=function(A){var e=0,t=1;(A[e]===NA||A[e]===rt)&&(A[e]===rt&&(t=-1),e++);for(var r=[];Ve(A[e]);)r.push(A[e++]);var n=r.length?parseInt(we.apply(void 0,r),10):0;A[e]===fn&&e++;for(var s=[];Ve(A[e]);)s.push(A[e++]);var i=s.length,o=i?parseInt(we.apply(void 0,s),10):0;(A[e]===ju||A[e]===Ku)&&e++;var l=1;(A[e]===NA||A[e]===rt)&&(A[e]===rt&&(l=-1),e++);for(var c=[];Ve(A[e]);)c.push(A[e++]);var u=c.length?parseInt(we.apply(void 0,c),10):0;return t*(n+o*Math.pow(10,-i))*Math.pow(10,l*u)},py={type:2},wy={type:3},By={type:4},my={type:13},yy={type:8},vy={type:21},_y={type:9},Cy={type:10},Ey={type:11},by={type:12},Uy={type:14},Js={type:23},Qy={type:1},Iy={type:25},Fy={type:24},Ty={type:26},Sy={type:27},Ry={type:28},xy={type:29},ky={type:31},fa={type:32},qu=function(){function A(){this._value=[]}return A.prototype.write=function(e){this._value=this._value.concat(Ss(e))},A.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==fa;)e.push(t),t=this.consumeToken();return e},A.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case Ms:return this.consumeStringToken(Ms);case km:var t=this.peekCodePoint(0),r=this.peekCodePoint(1),n=this.peekCodePoint(2);if(Wu(t)||dA(r,n)){var s=qs(t,r,n)?Sm:Tm,i=this.consumeName();return{type:5,value:i,flags:s}}break;case Hm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),my;break;case Ks:return this.consumeStringToken(Ks);case Gs:return py;case dn:return wy;case ha:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),Uy;break;case NA:if(da(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case Jm:return By;case rt:var o=e,l=this.peekCodePoint(0),c=this.peekCodePoint(1);if(da(o,l,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(qs(o,l,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(l===rt&&c===Nm)return this.consumeCodePoint(),this.consumeCodePoint(),Fy;break;case fn:if(da(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case Ou:if(this.peekCodePoint(0)===ha)for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(u===ha&&(u=this.consumeCodePoint(),u===Ou))return this.consumeToken();if(u===Ot)return this.consumeToken()}break;case Xm:return Ty;case zm:return Sy;case Pm:if(this.peekCodePoint(0)===Om&&this.peekCodePoint(1)===rt&&this.peekCodePoint(2)===rt)return this.consumeCodePoint(),this.consumeCodePoint(),Iy;break;case Vm:var d=this.peekCodePoint(0),g=this.peekCodePoint(1),p=this.peekCodePoint(2);if(qs(d,g,p)){var i=this.consumeName();return{type:7,value:i}}break;case Mm:return Ry;case un:if(dA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case Km:return xy;case Gm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),yy;break;case jm:return Ey;case $m:return by;case sy:case oy:var B=this.peekCodePoint(0),C=this.peekCodePoint(1);return B===NA&&(gr(C)||C===js)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Pu:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),_y;if(this.peekCodePoint(0)===Pu)return this.consumeCodePoint(),vy;break;case Wm:if(this.peekCodePoint(0)===hn)return this.consumeCodePoint(),Cy;break;case Ot:return fa}return $s(e)?(this.consumeWhiteSpace(),ky):Ve(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Ws(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:we(e)}},A.prototype.consumeCodePoint=function(){var e=this._value.shift();return typeof e>"u"?-1:e},A.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},A.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},A.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gr(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var r=!1;t===js&&e.length<6;)e.push(t),t=this.consumeCodePoint(),r=!0;if(r){var n=parseInt(we.apply(void 0,e.map(function(l){return l===js?Vu:l})),16),s=parseInt(we.apply(void 0,e.map(function(l){return l===js?$u:l})),16);return{type:30,start:n,end:s}}var i=parseInt(we.apply(void 0,e),16);if(this.peekCodePoint(0)===rt&&gr(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gr(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var s=parseInt(we.apply(void 0,o),16);return{type:30,start:i,end:s}}else return{type:30,start:i,end:i}},A.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()==="url"&&this.peekCodePoint(0)===Gs?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Gs?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},A.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot)return{type:22,value:""};var t=this.peekCodePoint(0);if(t===Ks||t===Ms){var r=this.consumeStringToken(this.consumeCodePoint());return r.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot||this.peekCodePoint(0)===dn)?(this.consumeCodePoint(),{type:22,value:r.value}):(this.consumeBadUrlRemnants(),Js)}for(;;){var n=this.consumeCodePoint();if(n===Ot||n===dn)return{type:22,value:we.apply(void 0,e)};if($s(n))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Ot||this.peekCodePoint(0)===dn?(this.consumeCodePoint(),{type:22,value:we.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Js);if(n===Ms||n===Ks||n===Gs||fy(n))return this.consumeBadUrlRemnants(),Js;if(n===un)if(dA(n,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Js;else e.push(n)}},A.prototype.consumeWhiteSpace=function(){for(;$s(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===dn||e===Ot)return;dA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(e){for(var t=5e4,r="";e>0;){var n=Math.min(t,e);r+=we.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),r},A.prototype.consumeStringToken=function(e){var t="",r=0;do{var n=this._value[r];if(n===Ot||n===void 0||n===e)return t+=this.consumeStringSlice(r),{type:0,value:t};if(n===Vs)return this._value.splice(0,r),Qy;if(n===un){var s=this._value[r+1];s!==Ot&&s!==void 0&&(s===Vs?(t+=this.consumeStringSlice(r),r=-1,this._value.shift()):dA(n,s)&&(t+=this.consumeStringSlice(r),t+=we(this.consumeEscapedCodePoint()),r=-1))}r++}while(!0)},A.prototype.consumeNumber=function(){var e=[],t=cn,r=this.peekCodePoint(0);for((r===NA||r===rt)&&e.push(this.consumeCodePoint());Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());r=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(r===fn&&Ve(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=Du;Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());r=this.peekCodePoint(0),n=this.peekCodePoint(1);var s=this.peekCodePoint(2);if((r===ju||r===Ku)&&((n===NA||n===rt)&&Ve(s)||Ve(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=Du;Ve(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[gy(e),t]},A.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],r=e[1],n=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(qs(n,s,i)){var o=this.consumeName();return{type:15,number:t,flags:r,unit:o}}return n===Lm?(this.consumeCodePoint(),{type:16,number:t,flags:r}):{type:17,number:t,flags:r}},A.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gr(e)){for(var t=we(e);gr(this.peekCodePoint(0))&&t.length<6;)t+=we(this.consumeCodePoint());$s(this.peekCodePoint(0))&&this.consumeCodePoint();var r=parseInt(t,16);return r===0||ly(r)||r>1114111?Nu:r}return e===Ot?Nu:e},A.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Wu(t))e+=we(t);else if(dA(t,this.peekCodePoint(0)))e+=we(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},A}(),Ju=function(){function A(e){this._tokens=e}return A.create=function(e){var t=new qu;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},A.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},A.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},r=this.consumeToken();;){if(r.type===32||Ly(r,e))return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue()),r=this.consumeToken()}},A.prototype.consumeFunction=function(e){for(var t={name:e.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())}},A.prototype.consumeToken=function(){var e=this._tokens.shift();return typeof e>"u"?fa:e},A.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},A}(),gn=function(A){return A.type===15},pr=function(A){return A.type===17},ne=function(A){return A.type===20},Hy=function(A){return A.type===0},ga=function(A,e){return ne(A)&&A.value===e},Xu=function(A){return A.type!==31},wr=function(A){return A.type!==31&&A.type!==4},Pt=function(A){var e=[],t=[];return A.forEach(function(r){if(r.type===4){if(t.length===0)throw new Error("Error parsing function args, zero tokens for arg");e.push(t),t=[];return}r.type!==31&&t.push(r)}),t.length&&e.push(t),e},Ly=function(A,e){return e===11&&A.type===12||e===28&&A.type===29?!0:e===2&&A.type===3},fA=function(A){return A.type===17||A.type===15},_e=function(A){return A.type===16||fA(A)},zu=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},xe={type:17,number:0,flags:cn},pa={type:16,number:50,flags:cn},gA={type:16,number:100,flags:cn},pn=function(A,e,t){var r=A[0],n=A[1];return[oe(r,e),oe(typeof n<"u"?n:r,t)]},oe=function(A,e){if(A.type===16)return A.number/100*e;if(gn(A))switch(A.unit){case"rem":case"em":return 16*A.number;case"px":default:return A.number}return A.number},Yu="deg",Zu="grad",eh="rad",th="turn",Xs={name:"angle",parse:function(A,e){if(e.type===15)switch(e.unit){case Yu:return Math.PI*e.number/180;case Zu:return Math.PI/200*e.number;case eh:return e.number;case th:return Math.PI*2*e.number}throw new Error("Unsupported angle type")}},Ah=function(A){return A.type===15&&(A.unit===Yu||A.unit===Zu||A.unit===eh||A.unit===th)},rh=function(A){var e=A.filter(ne).map(function(t){return t.value}).join(" ");switch(e){case"to bottom right":case"to right bottom":case"left top":case"top left":return[xe,xe];case"to top":case"bottom":return Bt(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[xe,gA];case"to right":case"left":return Bt(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[gA,gA];case"to bottom":case"top":return Bt(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[gA,xe];case"to left":case"right":return Bt(270)}return 0},Bt=function(A){return Math.PI*A/180},pA={name:"color",parse:function(A,e){if(e.type===18){var t=Dy[e.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(e.type===5){if(e.value.length===3){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);return BA(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),1)}if(e.value.length===4){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3),i=e.value.substring(3,4);return BA(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),parseInt(i+i,16)/255)}if(e.value.length===6){var r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6);return BA(parseInt(r,16),parseInt(n,16),parseInt(s,16),1)}if(e.value.length===8){var r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),i=e.value.substring(6,8);return BA(parseInt(r,16),parseInt(n,16),parseInt(s,16),parseInt(i,16)/255)}}if(e.type===20){var o=Yt[e.value.toUpperCase()];if(typeof o<"u")return o}return Yt.TRANSPARENT}},wA=function(A){return(255&A)===0},Se=function(A){var e=255&A,t=255&A>>8,r=255&A>>16,n=255&A>>24;return e<255?"rgba("+n+","+r+","+t+","+e/255+")":"rgb("+n+","+r+","+t+")"},BA=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(r*255)<<0)>>>0},nh=function(A,e){if(A.type===17)return A.number;if(A.type===16){var t=e===3?1:255;return e===3?A.number/100*t:Math.round(A.number/100*t)}return 0},sh=function(A,e){var t=e.filter(wr);if(t.length===3){var r=t.map(nh),n=r[0],s=r[1],i=r[2];return BA(n,s,i,1)}if(t.length===4){var o=t.map(nh),n=o[0],s=o[1],i=o[2],l=o[3];return BA(n,s,i,l)}return 0};function wa(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<1/2?e:t<2/3?(e-A)*6*(2/3-t)+A:A}var ih=function(A,e){var t=e.filter(wr),r=t[0],n=t[1],s=t[2],i=t[3],o=(r.type===17?Bt(r.number):Xs.parse(A,r))/(Math.PI*2),l=_e(n)?n.number/100:0,c=_e(s)?s.number/100:0,u=typeof i<"u"&&_e(i)?oe(i,1):1;if(l===0)return BA(c*255,c*255,c*255,1);var d=c<=.5?c*(l+1):c+l-c*l,g=c*2-d,p=wa(g,d,o+1/3),B=wa(g,d,o),C=wa(g,d,o-1/3);return BA(p*255,B*255,C*255,u)},Dy={hsl:ih,hsla:ih,rgb:sh,rgba:sh},wn=function(A,e){return pA.parse(A,Ju.create(e).parseComponentValue())},Yt={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},Oy={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(t){if(ne(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Py={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},zs=function(A,e){var t=pA.parse(A,e[0]),r=e[1];return r&&_e(r)?{color:t,stop:r}:{color:t,stop:null}},oh=function(A,e){var t=A[0],r=A[A.length-1];t.stop===null&&(t.stop=xe),r.stop===null&&(r.stop=gA);for(var n=[],s=0,i=0;i<A.length;i++){var o=A[i].stop;if(o!==null){var l=oe(o,e);l>s?n.push(l):n.push(s),s=l}else n.push(null)}for(var c=null,i=0;i<n.length;i++){var u=n[i];if(u===null)c===null&&(c=i);else if(c!==null){for(var d=i-c,g=n[c-1],p=(u-g)/(d+1),B=1;B<=d;B++)n[c+B-1]=p*B;c=null}}return A.map(function(C,E){var I=C.color;return{color:I,stop:Math.max(Math.min(1,n[E]/e),0)}})},Ny=function(A,e,t){var r=e/2,n=t/2,s=oe(A[0],e)-r,i=n-oe(A[1],t);return(Math.atan2(i,s)+Math.PI*2)%(Math.PI*2)},Vy=function(A,e,t){var r=typeof A=="number"?A:Ny(A,e,t),n=Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r)),s=e/2,i=t/2,o=n/2,l=Math.sin(r-Math.PI/2)*o,c=Math.cos(r-Math.PI/2)*o;return[n,s-c,s+c,i-l,i+l]},Ut=function(A,e){return Math.sqrt(A*A+e*e)},ah=function(A,e,t,r,n){var s=[[0,0],[0,e],[A,0],[A,e]];return s.reduce(function(i,o){var l=o[0],c=o[1],u=Ut(t-l,r-c);return(n?u<i.optimumDistance:u>i.optimumDistance)?{optimumCorner:o,optimumDistance:u}:i},{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},My=function(A,e,t,r,n){var s=0,i=0;switch(A.size){case 0:A.shape===0?s=i=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===1&&(s=Math.min(Math.abs(e),Math.abs(e-r)),i=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(A.shape===0)s=i=Math.min(Ut(e,t),Ut(e,t-n),Ut(e-r,t),Ut(e-r,t-n));else if(A.shape===1){var o=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(e),Math.abs(e-r)),l=ah(r,n,e,t,!0),c=l[0],u=l[1];s=Ut(c-e,(u-t)/o),i=o*s}break;case 1:A.shape===0?s=i=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===1&&(s=Math.max(Math.abs(e),Math.abs(e-r)),i=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(A.shape===0)s=i=Math.max(Ut(e,t),Ut(e,t-n),Ut(e-r,t),Ut(e-r,t-n));else if(A.shape===1){var o=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(e),Math.abs(e-r)),d=ah(r,n,e,t,!1),c=d[0],u=d[1];s=Ut(c-e,(u-t)/o),i=o*s}break}return Array.isArray(A.size)&&(s=oe(A.size[0],r),i=A.size.length===2?oe(A.size[1],n):s),[s,i]},Ky=function(A,e){var t=Bt(180),r=[];return Pt(e).forEach(function(n,s){if(s===0){var i=n[0];if(i.type===20&&i.value==="to"){t=rh(n);return}else if(Ah(i)){t=Xs.parse(A,i);return}}var o=zs(A,n);r.push(o)}),{angle:t,stops:r,type:1}},Ys=function(A,e){var t=Bt(180),r=[];return Pt(e).forEach(function(n,s){if(s===0){var i=n[0];if(i.type===20&&["top","left","right","bottom"].indexOf(i.value)!==-1){t=rh(n);return}else if(Ah(i)){t=(Xs.parse(A,i)+Bt(270))%Bt(360);return}}var o=zs(A,n);r.push(o)}),{angle:t,stops:r,type:1}},Gy=function(A,e){var t=Bt(180),r=[],n=1,s=0,i=3,o=[];return Pt(e).forEach(function(l,c){var u=l[0];if(c===0){if(ne(u)&&u.value==="linear"){n=1;return}else if(ne(u)&&u.value==="radial"){n=2;return}}if(u.type===18){if(u.name==="from"){var d=pA.parse(A,u.values[0]);r.push({stop:xe,color:d})}else if(u.name==="to"){var d=pA.parse(A,u.values[0]);r.push({stop:gA,color:d})}else if(u.name==="color-stop"){var g=u.values.filter(wr);if(g.length===2){var d=pA.parse(A,g[1]),p=g[0];pr(p)&&r.push({stop:{type:16,number:p.number*100,flags:p.flags},color:d})}}}}),n===1?{angle:(t+Bt(180))%Bt(360),stops:r,type:n}:{size:i,shape:s,stops:r,position:o,type:n}},lh="closest-side",ch="farthest-side",uh="closest-corner",hh="farthest-corner",dh="circle",fh="ellipse",gh="cover",ph="contain",jy=function(A,e){var t=0,r=3,n=[],s=[];return Pt(e).forEach(function(i,o){var l=!0;if(o===0){var c=!1;l=i.reduce(function(d,g){if(c)if(ne(g))switch(g.value){case"center":return s.push(pa),d;case"top":case"left":return s.push(xe),d;case"right":case"bottom":return s.push(gA),d}else(_e(g)||fA(g))&&s.push(g);else if(ne(g))switch(g.value){case dh:return t=0,!1;case fh:return t=1,!1;case"at":return c=!0,!1;case lh:return r=0,!1;case gh:case ch:return r=1,!1;case ph:case uh:return r=2,!1;case hh:return r=3,!1}else if(fA(g)||_e(g))return Array.isArray(r)||(r=[]),r.push(g),!1;return d},l)}if(l){var u=zs(A,i);n.push(u)}}),{size:r,shape:t,stops:n,position:s,type:2}},Zs=function(A,e){var t=0,r=3,n=[],s=[];return Pt(e).forEach(function(i,o){var l=!0;if(o===0?l=i.reduce(function(u,d){if(ne(d))switch(d.value){case"center":return s.push(pa),!1;case"top":case"left":return s.push(xe),!1;case"right":case"bottom":return s.push(gA),!1}else if(_e(d)||fA(d))return s.push(d),!1;return u},l):o===1&&(l=i.reduce(function(u,d){if(ne(d))switch(d.value){case dh:return t=0,!1;case fh:return t=1,!1;case ph:case lh:return r=0,!1;case ch:return r=1,!1;case uh:return r=2,!1;case gh:case hh:return r=3,!1}else if(fA(d)||_e(d))return Array.isArray(r)||(r=[]),r.push(d),!1;return u},l)),l){var c=zs(A,i);n.push(c)}}),{size:r,shape:t,stops:n,position:s,type:2}},$y=function(A){return A.type===1},Wy=function(A){return A.type===2},Ba={name:"image",parse:function(A,e){if(e.type===22){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(e.type===18){var r=wh[e.name];if(typeof r>"u")throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return r(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function qy(A){return!(A.type===20&&A.value==="none")&&(A.type!==18||!!wh[A.name])}var wh={"linear-gradient":Ky,"-moz-linear-gradient":Ys,"-ms-linear-gradient":Ys,"-o-linear-gradient":Ys,"-webkit-linear-gradient":Ys,"radial-gradient":jy,"-moz-radial-gradient":Zs,"-ms-radial-gradient":Zs,"-o-radial-gradient":Zs,"-webkit-radial-gradient":Zs,"-webkit-gradient":Gy},Jy={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(e.length===0)return[];var t=e[0];return t.type===20&&t.value==="none"?[]:e.filter(function(r){return wr(r)&&qy(r)}).map(function(r){return Ba.parse(A,r)})}},Xy={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(t){if(ne(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},zy={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(_e)}).map(zu)}},Yy={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(ne).map(function(r){return r.value}).join(" ")}).map(Zy)}},Zy=function(A){switch(A){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}},Br;(function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"})(Br||(Br={}));var ev={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Pt(e).map(function(t){return t.filter(tv)})}},tv=function(A){return ne(A)||_e(A)},ei=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Av=ei("top"),rv=ei("right"),nv=ei("bottom"),sv=ei("left"),ti=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return zu(t.filter(_e))}}},iv=ti("top-left"),ov=ti("top-right"),av=ti("bottom-right"),lv=ti("bottom-left"),Ai=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},cv=Ai("top"),uv=Ai("right"),hv=Ai("bottom"),dv=Ai("left"),ri=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return gn(t)?t.number:0}}},fv=ri("top"),gv=ri("right"),pv=ri("bottom"),wv=ri("left"),Bv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},mv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){switch(e){case"rtl":return 1;case"ltr":default:return 0}}},yv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).reduce(function(t,r){return t|vv(r.value)},0)}},vv=function(A){switch(A){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},_v={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Cv={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return e.type===20&&e.value==="normal"?0:e.type===17||e.type===15?e.number:0}},ni;(function(A){A.NORMAL="normal",A.STRICT="strict"})(ni||(ni={}));var Ev={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"strict":return ni.STRICT;case"normal":default:return ni.NORMAL}}},bv={name:"line-height",initialValue:"normal",prefix:!1,type:4},Bh=function(A,e){return ne(A)&&A.value==="normal"?1.2*e:A.type===17?e*A.number:_e(A)?oe(A,e):e},Uv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return e.type===20&&e.value==="none"?null:Ba.parse(A,e)}},Qv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){switch(e){case"inside":return 0;case"outside":default:return 1}}},ma={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){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}}},si=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},Iv=si("top"),Fv=si("right"),Tv=si("bottom"),Sv=si("left"),Rv={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).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}})}},xv={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-word":return"break-word";case"normal":default:return"normal"}}},ii=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},kv=ii("top"),Hv=ii("right"),Lv=ii("bottom"),Dv=ii("left"),Ov={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},Pv={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Nv={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.length===1&&ga(e[0],"none")?[]:Pt(e).map(function(t){for(var r={color:Yt.TRANSPARENT,offsetX:xe,offsetY:xe,blur:xe},n=0,s=0;s<t.length;s++){var i=t[s];fA(i)?(n===0?r.offsetX=i:n===1?r.offsetY=i:r.blur=i,n++):r.color=pA.parse(A,i)}return r})}},Vv={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Mv={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(A,e){if(e.type===20&&e.value==="none")return null;if(e.type===18){var t=jv[e.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},Kv=function(A){var e=A.filter(function(t){return t.type===17}).map(function(t){return t.number});return e.length===6?e:null},Gv=function(A){var e=A.filter(function(l){return l.type===17}).map(function(l){return l.number}),t=e[0],r=e[1];e[2],e[3];var n=e[4],s=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var i=e[12],o=e[13];return e[14],e[15],e.length===16?[t,r,n,s,i,o]:null},jv={matrix:Kv,matrix3d:Gv},mh={type:16,number:50,flags:cn},$v=[mh,mh],Wv={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(_e);return t.length!==2?$v:[t[0],t[1]]}},qv={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},Bn;(function(A){A.NORMAL="normal",A.BREAK_ALL="break-all",A.KEEP_ALL="keep-all"})(Bn||(Bn={}));for(var Jv={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return Bn.BREAK_ALL;case"keep-all":return Bn.KEEP_ALL;case"normal":default:return Bn.NORMAL}}},Xv={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(A,e){if(e.type===20)return{auto:!0,order:0};if(pr(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},yh={name:"time",parse:function(A,e){if(e.type===15)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")}},zv={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return pr(e)?e.number:1}},Yv={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Zv={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(A,e){return e.filter(ne).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})}},e0={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(A,e){var t=[],r=[];return e.forEach(function(n){switch(n.type){case 20:case 0:t.push(n.value);break;case 17:t.push(n.number.toString());break;case 4:r.push(t.join(" ")),t.length=0;break}}),t.length&&r.push(t.join(" ")),r.map(function(n){return n.indexOf(" ")===-1?n:"'"+n+"'"})}},t0={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},A0={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(A,e){if(pr(e))return e.number;if(ne(e))switch(e.value){case"bold":return 700;case"normal":default:return 400}return 400}},r0={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(ne).map(function(t){return t.value})}},n0={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},Ie=function(A,e){return(A&e)!==0},s0={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(e.length===0)return[];var t=e[0];return t.type===20&&t.value==="none"?[]:e}},i0={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return null;var t=e[0];if(t.type===20&&t.value==="none")return null;for(var r=[],n=e.filter(Xu),s=0;s<n.length;s++){var i=n[s],o=n[s+1];if(i.type===20){var l=o&&pr(o)?o.number:1;r.push({counter:i.value,increment:l})}}return r}},o0={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return[];for(var t=[],r=e.filter(Xu),n=0;n<r.length;n++){var s=r[n],i=r[n+1];if(ne(s)&&s.value!=="none"){var o=i&&pr(i)?i.number:0;t.push({counter:s.value,reset:o})}}return t}},a0={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(gn).map(function(t){return yh.parse(A,t)})}},l0={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(e.length===0)return null;var t=e[0];if(t.type===20&&t.value==="none")return null;var r=[],n=e.filter(Hy);if(n.length%2!==0)return null;for(var s=0;s<n.length;s+=2){var i=n[s].value,o=n[s+1].value;r.push({open:i,close:o})}return r}},vh=function(A,e,t){if(!A)return"";var r=A[Math.min(e,A.length-1)];return r?t?r.open:r.close:""},c0={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.length===1&&ga(e[0],"none")?[]:Pt(e).map(function(t){for(var r={color:255,offsetX:xe,offsetY:xe,blur:xe,spread:xe,inset:!1},n=0,s=0;s<t.length;s++){var i=t[s];ga(i,"inset")?r.inset=!0:fA(i)?(n===0?r.offsetX=i:n===1?r.offsetY=i:n===2?r.blur=i:r.spread=i,n++):r.color=pA.parse(A,i)}return r})}},u0={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(A,e){var t=[0,1,2],r=[];return e.filter(ne).forEach(function(n){switch(n.value){case"stroke":r.push(1);break;case"fill":r.push(0);break;case"markers":r.push(2);break}}),t.forEach(function(n){r.indexOf(n)===-1&&r.push(n)}),r}},h0={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},d0={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return gn(e)?e.number:0}},f0=function(){function A(e,t){var r,n;this.animationDuration=V(e,a0,t.animationDuration),this.backgroundClip=V(e,Oy,t.backgroundClip),this.backgroundColor=V(e,Py,t.backgroundColor),this.backgroundImage=V(e,Jy,t.backgroundImage),this.backgroundOrigin=V(e,Xy,t.backgroundOrigin),this.backgroundPosition=V(e,zy,t.backgroundPosition),this.backgroundRepeat=V(e,Yy,t.backgroundRepeat),this.backgroundSize=V(e,ev,t.backgroundSize),this.borderTopColor=V(e,Av,t.borderTopColor),this.borderRightColor=V(e,rv,t.borderRightColor),this.borderBottomColor=V(e,nv,t.borderBottomColor),this.borderLeftColor=V(e,sv,t.borderLeftColor),this.borderTopLeftRadius=V(e,iv,t.borderTopLeftRadius),this.borderTopRightRadius=V(e,ov,t.borderTopRightRadius),this.borderBottomRightRadius=V(e,av,t.borderBottomRightRadius),this.borderBottomLeftRadius=V(e,lv,t.borderBottomLeftRadius),this.borderTopStyle=V(e,cv,t.borderTopStyle),this.borderRightStyle=V(e,uv,t.borderRightStyle),this.borderBottomStyle=V(e,hv,t.borderBottomStyle),this.borderLeftStyle=V(e,dv,t.borderLeftStyle),this.borderTopWidth=V(e,fv,t.borderTopWidth),this.borderRightWidth=V(e,gv,t.borderRightWidth),this.borderBottomWidth=V(e,pv,t.borderBottomWidth),this.borderLeftWidth=V(e,wv,t.borderLeftWidth),this.boxShadow=V(e,c0,t.boxShadow),this.color=V(e,Bv,t.color),this.direction=V(e,mv,t.direction),this.display=V(e,yv,t.display),this.float=V(e,_v,t.cssFloat),this.fontFamily=V(e,e0,t.fontFamily),this.fontSize=V(e,t0,t.fontSize),this.fontStyle=V(e,n0,t.fontStyle),this.fontVariant=V(e,r0,t.fontVariant),this.fontWeight=V(e,A0,t.fontWeight),this.letterSpacing=V(e,Cv,t.letterSpacing),this.lineBreak=V(e,Ev,t.lineBreak),this.lineHeight=V(e,bv,t.lineHeight),this.listStyleImage=V(e,Uv,t.listStyleImage),this.listStylePosition=V(e,Qv,t.listStylePosition),this.listStyleType=V(e,ma,t.listStyleType),this.marginTop=V(e,Iv,t.marginTop),this.marginRight=V(e,Fv,t.marginRight),this.marginBottom=V(e,Tv,t.marginBottom),this.marginLeft=V(e,Sv,t.marginLeft),this.opacity=V(e,zv,t.opacity);var s=V(e,Rv,t.overflow);this.overflowX=s[0],this.overflowY=s[s.length>1?1:0],this.overflowWrap=V(e,xv,t.overflowWrap),this.paddingTop=V(e,kv,t.paddingTop),this.paddingRight=V(e,Hv,t.paddingRight),this.paddingBottom=V(e,Lv,t.paddingBottom),this.paddingLeft=V(e,Dv,t.paddingLeft),this.paintOrder=V(e,u0,t.paintOrder),this.position=V(e,Pv,t.position),this.textAlign=V(e,Ov,t.textAlign),this.textDecorationColor=V(e,Yv,(r=t.textDecorationColor)!==null&&r!==void 0?r:t.color),this.textDecorationLine=V(e,Zv,(n=t.textDecorationLine)!==null&&n!==void 0?n:t.textDecoration),this.textShadow=V(e,Nv,t.textShadow),this.textTransform=V(e,Vv,t.textTransform),this.transform=V(e,Mv,t.transform),this.transformOrigin=V(e,Wv,t.transformOrigin),this.visibility=V(e,qv,t.visibility),this.webkitTextStrokeColor=V(e,h0,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=V(e,d0,t.webkitTextStrokeWidth),this.wordBreak=V(e,Jv,t.wordBreak),this.zIndex=V(e,Xv,t.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},A.prototype.isTransparent=function(){return wA(this.backgroundColor)},A.prototype.isTransformed=function(){return this.transform!==null},A.prototype.isPositioned=function(){return this.position!==0},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return this.float!==0},A.prototype.isInlineLevel=function(){return Ie(this.display,4)||Ie(this.display,33554432)||Ie(this.display,268435456)||Ie(this.display,536870912)||Ie(this.display,67108864)||Ie(this.display,134217728)},A}(),g0=function(){function A(e,t){this.content=V(e,s0,t.content),this.quotes=V(e,l0,t.quotes)}return A}(),_h=function(){function A(e,t){this.counterIncrement=V(e,i0,t.counterIncrement),this.counterReset=V(e,o0,t.counterReset)}return A}(),V=function(A,e,t){var r=new qu,n=t!==null&&typeof t<"u"?t.toString():e.initialValue;r.write(n);var s=new Ju(r.read());switch(e.type){case 2:var i=s.parseComponentValue();return e.parse(A,ne(i)?i.value:e.initialValue);case 0:return e.parse(A,s.parseComponentValue());case 1:return e.parse(A,s.parseComponentValues());case 4:return s.parseComponentValue();case 3:switch(e.format){case"angle":return Xs.parse(A,s.parseComponentValue());case"color":return pA.parse(A,s.parseComponentValue());case"image":return Ba.parse(A,s.parseComponentValue());case"length":var o=s.parseComponentValue();return fA(o)?o:xe;case"length-percentage":var l=s.parseComponentValue();return _e(l)?l:xe;case"time":return yh.parse(A,s.parseComponentValue())}break}},p0="data-html2canvas-debug",w0=function(A){var e=A.getAttribute(p0);switch(e){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},ya=function(A,e){var t=w0(A);return t===1||e===t},Nt=function(){function A(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,ya(t,3))debugger;this.styles=new f0(e,window.getComputedStyle(t,null)),ka(t)&&(this.styles.animationDuration.some(function(r){return r>0})&&(t.style.animationDuration="0s"),this.styles.transform!==null&&(t.style.transform="none")),this.bounds=Ts(this.context,t),ya(t,4)&&(this.flags|=16)}return A}(),B0="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",mn=typeof Uint8Array>"u"?[]:new Uint8Array(256),oi=0;oi<Ch.length;oi++)mn[Ch.charCodeAt(oi)]=oi;for(var m0=function(A){var e=A.length*.75,t=A.length,r,n=0,s,i,o,l;A[A.length-1]==="="&&(e--,A[A.length-2]==="="&&e--);var c=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(e):new Array(e),u=Array.isArray(c)?c:new Uint8Array(c);for(r=0;r<t;r+=4)s=mn[A.charCodeAt(r)],i=mn[A.charCodeAt(r+1)],o=mn[A.charCodeAt(r+2)],l=mn[A.charCodeAt(r+3)],u[n++]=s<<2|i>>4,u[n++]=(i&15)<<4|o>>2,u[n++]=(o&3)<<6|l&63;return c},y0=function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t},v0=function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t},VA=5,va=11,_a=2,_0=va-VA,Eh=65536>>VA,C0=1<<VA,Ca=C0-1,E0=1024>>VA,b0=Eh+E0,U0=b0,Q0=32,I0=U0+Q0,F0=65536>>va,T0=1<<_0,S0=T0-1,bh=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},R0=function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))},x0=function(A,e){var t=m0(A),r=Array.isArray(t)?v0(t):new Uint32Array(t),n=Array.isArray(t)?y0(t):new Uint16Array(t),s=24,i=bh(n,s/2,r[4]/2),o=r[5]===2?bh(n,(s+r[4])/2):R0(r,Math.ceil((s+r[4])/4));return new k0(r[0],r[1],r[2],r[3],i,o)},k0=function(){function A(e,t,r,n,s,i){this.initialValue=e,this.errorValue=t,this.highStart=r,this.highValueIndex=n,this.index=s,this.data=i}return A.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>VA],t=(t<<_a)+(e&Ca),this.data[t];if(e<=65535)return t=this.index[Eh+(e-55296>>VA)],t=(t<<_a)+(e&Ca),this.data[t];if(e<this.highStart)return t=I0-F0+(e>>va),t=this.index[t],t+=e>>VA&S0,t=this.index[t],t=(t<<_a)+(e&Ca),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),Uh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H0=typeof Uint8Array>"u"?[]:new Uint8Array(256),ai=0;ai<Uh.length;ai++)H0[Uh.charCodeAt(ai)]=ai;var L0=1,Ea=2,ba=3,Qh=4,Ih=5,D0=7,Fh=8,Ua=9,Qa=10,Th=11,Sh=12,Rh=13,xh=14,Ia=15,O0=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var s=A.charCodeAt(t++);(s&64512)===56320?e.push(((n&1023)<<10)+(s&1023)+65536):(e.push(n),t--)}else e.push(n)}return e},P0=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,s="";++n<t;){var i=A[n];i<=65535?r.push(i):(i-=65536,r.push((i>>10)+55296,i%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},N0=x0(B0),mt="×",Fa="÷",V0=function(A){return N0.get(A)},M0=function(A,e,t){var r=t-2,n=e[r],s=e[t-1],i=e[t];if(s===Ea&&i===ba)return mt;if(s===Ea||s===ba||s===Qh||i===Ea||i===ba||i===Qh)return Fa;if(s===Fh&&[Fh,Ua,Th,Sh].indexOf(i)!==-1||(s===Th||s===Ua)&&(i===Ua||i===Qa)||(s===Sh||s===Qa)&&i===Qa||i===Rh||i===Ih||i===D0||s===L0)return mt;if(s===Rh&&i===xh){for(;n===Ih;)n=e[--r];if(n===xh)return mt}if(s===Ia&&i===Ia){for(var o=0;n===Ia;)o++,n=e[--r];if(o%2===0)return mt}return Fa},K0=function(A){var e=O0(A),t=e.length,r=0,n=0,s=e.map(V0);return{next:function(){if(r>=t)return{done:!0,value:null};for(var i=mt;r<t&&(i=M0(e,s,++r))===mt;);if(i!==mt||r===t){var o=P0.apply(null,e.slice(n,r));return n=r,{value:o,done:!1}}return{done:!0,value:null}}}},G0=function(A){for(var e=K0(A),t=[],r;!(r=e.next()).done;)r.value&&t.push(r.value.slice());return t},j0=function(A){var e=123;if(A.createRange){var t=A.createRange();if(t.getBoundingClientRect){var r=A.createElement("boundtest");r.style.height=e+"px",r.style.display="block",A.body.appendChild(r),t.selectNode(r);var n=t.getBoundingClientRect(),s=Math.round(n.height);if(A.body.removeChild(r),s===e)return!0}}return!1},$0=function(A){var e=A.createElement("boundtest");e.style.width="50px",e.style.display="block",e.style.fontSize="12px",e.style.letterSpacing="0px",e.style.wordSpacing="0px",A.body.appendChild(e);var t=A.createRange();e.innerHTML=typeof"".repeat=="function"?"👨".repeat(10):"";var r=e.firstChild,n=Ss(r.data).map(function(l){return we(l)}),s=0,i={},o=n.every(function(l,c){t.setStart(r,s),t.setEnd(r,s+l.length);var u=t.getBoundingClientRect();s+=l.length;var d=u.x>i.x||u.y>i.y;return i=u,c===0?!0:d});return A.body.removeChild(e),o},W0=function(){return typeof new Image().crossOrigin<"u"},q0=function(){return typeof new XMLHttpRequest().responseType=="string"},J0=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{r.drawImage(e,0,0),t.toDataURL()}catch{return!1}return!0},kh=function(A){return A[0]===0&&A[1]===255&&A[2]===0&&A[3]===255},X0=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var r=e.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var n=new Image,s=e.toDataURL();n.src=s;var i=Ta(t,t,0,0,n);return r.fillStyle="red",r.fillRect(0,0,t,t),Hh(i).then(function(o){r.drawImage(o,0,0);var l=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var c=A.createElement("div");return c.style.backgroundImage="url("+s+")",c.style.height=t+"px",kh(l)?Hh(Ta(t,t,0,0,c)):Promise.reject(!1)}).then(function(o){return r.drawImage(o,0,0),kh(r.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Ta=function(A,e,t,r,n){var s="http://www.w3.org/2000/svg",i=document.createElementNS(s,"svg"),o=document.createElementNS(s,"foreignObject");return i.setAttributeNS(null,"width",A.toString()),i.setAttributeNS(null,"height",e.toString()),o.setAttributeNS(null,"width","100%"),o.setAttributeNS(null,"height","100%"),o.setAttributeNS(null,"x",t.toString()),o.setAttributeNS(null,"y",r.toString()),o.setAttributeNS(null,"externalResourcesRequired","true"),i.appendChild(o),o.appendChild(n),i},Hh=function(A){return new Promise(function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(A))})},ke={get SUPPORT_RANGE_BOUNDS(){var A=j0(document);return Object.defineProperty(ke,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=ke.SUPPORT_RANGE_BOUNDS&&$0(document);return Object.defineProperty(ke,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=J0(document);return Object.defineProperty(ke,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A=typeof Array.from=="function"&&typeof window.fetch=="function"?X0(document):Promise.resolve(!1);return Object.defineProperty(ke,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=W0();return Object.defineProperty(ke,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=q0();return Object.defineProperty(ke,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ke,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(ke,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},yn=function(){function A(e,t){this.text=e,this.bounds=t}return A}(),z0=function(A,e,t,r){var n=e_(e,t),s=[],i=0;return n.forEach(function(o){if(t.textDecorationLine.length||o.trim().length>0)if(ke.SUPPORT_RANGE_BOUNDS){var l=Lh(r,i,o.length).getClientRects();if(l.length>1){var c=Sa(o),u=0;c.forEach(function(g){s.push(new yn(g,Xt.fromDOMRectList(A,Lh(r,u+i,g.length).getClientRects()))),u+=g.length})}else s.push(new yn(o,Xt.fromDOMRectList(A,l)))}else{var d=r.splitText(o.length);s.push(new yn(o,Y0(A,r))),r=d}else ke.SUPPORT_RANGE_BOUNDS||(r=r.splitText(o.length));i+=o.length}),s},Y0=function(A,e){var t=e.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(e.cloneNode(!0));var n=e.parentNode;if(n){n.replaceChild(r,e);var s=Ts(A,r);return r.firstChild&&n.replaceChild(r.firstChild,r),s}}return Xt.EMPTY},Lh=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(A,e),n.setEnd(A,e+t),n},Sa=function(A){if(ke.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map(function(t){return t.segment})}return G0(A)},Z0=function(A,e){if(ke.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map(function(r){return r.segment})}return A_(A,e)},e_=function(A,e){return e.letterSpacing!==0?Sa(A):Z0(A,e)},t_=[32,160,4961,65792,65793,4153,4241],A_=function(A,e){for(var t=Fm(A,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap==="break-word"?"break-word":e.wordBreak}),r=[],n,s=function(){if(n.value){var i=n.value.slice(),o=Ss(i),l="";o.forEach(function(c){t_.indexOf(c)===-1?l+=we(c):(l.length&&r.push(l),r.push(we(c)),l="")}),l.length&&r.push(l)}};!(n=t.next()).done;)s();return r},r_=function(){function A(e,t,r){this.text=n_(t.data,r.textTransform),this.textBounds=z0(e,this.text,r,t)}return A}(),n_=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(s_,i_);case 2:return A.toUpperCase();default:return A}},s_=/(^|\s|:|-|\(|\))([a-z])/g,i_=function(A,e,t){return A.length>0?e+t.toUpperCase():A},Dh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.src=r.currentSrc||r.src,n.intrinsicWidth=r.naturalWidth,n.intrinsicHeight=r.naturalHeight,n.context.cache.addImage(n.src),n}return e}(Nt),Oh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.canvas=r,n.intrinsicWidth=r.width,n.intrinsicHeight=r.height,n}return e}(Nt),Ph=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this,s=new XMLSerializer,i=Ts(t,r);return r.setAttribute("width",i.width+"px"),r.setAttribute("height",i.height+"px"),n.svg="data:image/svg+xml,"+encodeURIComponent(s.serializeToString(r)),n.intrinsicWidth=r.width.baseVal.value,n.intrinsicHeight=r.height.baseVal.value,n.context.cache.addImage(n.svg),n}return e}(Nt),Nh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.value=r.value,n}return e}(Nt),Ra=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.start=r.start,n.reversed=typeof r.reversed=="boolean"&&r.reversed===!0,n}return e}(Nt),o_=[{type:15,flags:0,unit:"px",number:3}],a_=[{type:16,flags:0,number:50}],l_=function(A){return A.width>A.height?new Xt(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width<A.height?new Xt(A.left,A.top+(A.height-A.width)/2,A.width,A.width):A},c_=function(A){var e=A.type===u_?new Array(A.value.length+1).join("•"):A.value;return e.length===0?A.placeholder||"":e},li="checkbox",ci="radio",u_="password",Vh=707406591,xa=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;switch(n.type=r.type.toLowerCase(),n.checked=r.checked,n.value=c_(r),(n.type===li||n.type===ci)&&(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=l_(n.bounds)),n.type){case li:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=o_;break;case ci:n.styles.borderTopRightRadius=n.styles.borderTopLeftRadius=n.styles.borderBottomRightRadius=n.styles.borderBottomLeftRadius=a_;break}return n}return e}(Nt),Mh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this,s=r.options[r.selectedIndex||0];return n.value=s&&s.text||"",n}return e}(Nt),Kh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.value=r.value,n}return e}(Nt),Gh=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;n.src=r.src,n.width=parseInt(r.width,10)||0,n.height=parseInt(r.height,10)||0,n.backgroundColor=n.styles.backgroundColor;try{if(r.contentWindow&&r.contentWindow.document&&r.contentWindow.document.documentElement){n.tree=$h(t,r.contentWindow.document.documentElement);var s=r.contentWindow.document.documentElement?wn(t,getComputedStyle(r.contentWindow.document.documentElement).backgroundColor):Yt.TRANSPARENT,i=r.contentWindow.document.body?wn(t,getComputedStyle(r.contentWindow.document.body).backgroundColor):Yt.TRANSPARENT;n.backgroundColor=wA(s)?wA(i)?n.styles.backgroundColor:i:s}}catch{}return n}return e}(Nt),h_=["OL","UL","MENU"],ui=function(A,e,t,r){for(var n=e.firstChild,s=void 0;n;n=s)if(s=n.nextSibling,Wh(n)&&n.data.trim().length>0)t.textNodes.push(new r_(A,n,t.styles));else if(mr(n))if(Zh(n)&&n.assignedNodes)n.assignedNodes().forEach(function(o){return ui(A,o,t,r)});else{var i=jh(A,n);i.styles.isVisible()&&(d_(n,i,r)?i.flags|=4:f_(i.styles)&&(i.flags|=2),h_.indexOf(n.tagName)!==-1&&(i.flags|=8),t.elements.push(i),n.slot,n.shadowRoot?ui(A,n.shadowRoot,i,r):!di(n)&&!qh(n)&&!fi(n)&&ui(A,n,i,r))}},jh=function(A,e){return La(e)?new Dh(A,e):Jh(e)?new Oh(A,e):qh(e)?new Ph(A,e):g_(e)?new Nh(A,e):p_(e)?new Ra(A,e):w_(e)?new xa(A,e):fi(e)?new Mh(A,e):di(e)?new Kh(A,e):zh(e)?new Gh(A,e):new Nt(A,e)},$h=function(A,e){var t=jh(A,e);return t.flags|=4,ui(A,e,t,t),t},d_=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||Ha(A)&&t.styles.isTransparent()},f_=function(A){return A.isPositioned()||A.isFloating()},Wh=function(A){return A.nodeType===Node.TEXT_NODE},mr=function(A){return A.nodeType===Node.ELEMENT_NODE},ka=function(A){return mr(A)&&typeof A.style<"u"&&!hi(A)},hi=function(A){return typeof A.className=="object"},g_=function(A){return A.tagName==="LI"},p_=function(A){return A.tagName==="OL"},w_=function(A){return A.tagName==="INPUT"},B_=function(A){return A.tagName==="HTML"},qh=function(A){return A.tagName==="svg"},Ha=function(A){return A.tagName==="BODY"},Jh=function(A){return A.tagName==="CANVAS"},Xh=function(A){return A.tagName==="VIDEO"},La=function(A){return A.tagName==="IMG"},zh=function(A){return A.tagName==="IFRAME"},Yh=function(A){return A.tagName==="STYLE"},m_=function(A){return A.tagName==="SCRIPT"},di=function(A){return A.tagName==="TEXTAREA"},fi=function(A){return A.tagName==="SELECT"},Zh=function(A){return A.tagName==="SLOT"},ed=function(A){return A.tagName.indexOf("-")>0},y_=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},A.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},A.prototype.pop=function(e){var t=this;e.forEach(function(r){return t.counters[r].pop()})},A.prototype.parse=function(e){var t=this,r=e.counterIncrement,n=e.counterReset,s=!0;r!==null&&r.forEach(function(o){var l=t.counters[o.counter];l&&o.increment!==0&&(s=!1,l.length||l.push(1),l[Math.max(0,l.length-1)]+=o.increment)});var i=[];return s&&n.forEach(function(o){var l=t.counters[o.counter];i.push(o.counter),l||(l=t.counters[o.counter]=[]),l.push(o.reset)}),i},A}(),td={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"]},Ad={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},v_={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},__={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},yr=function(A,e,t,r,n,s){return A<e||A>t?_n(A,n,s.length>0):r.integers.reduce(function(i,o,l){for(;A>=o;)A-=o,i+=r.values[l];return i},"")+s},rd=function(A,e,t,r){var n="";do t||A--,n=r(A)+n,A/=e;while(A*e>=e);return n},Be=function(A,e,t,r,n){var s=t-e+1;return(A<0?"-":"")+(rd(Math.abs(A),s,r,function(i){return we(Math.floor(i%s)+e)})+n)},MA=function(A,e,t){t===void 0&&(t=". ");var r=e.length;return rd(Math.abs(A),r,!1,function(n){return e[Math.floor(n%r)]})+t},vr=1,mA=2,yA=4,vn=8,Zt=function(A,e,t,r,n,s){if(A<-9999||A>9999)return _n(A,4,n.length>0);var i=Math.abs(A),o=n;if(i===0)return e[0]+o;for(var l=0;i>0&&l<=4;l++){var c=i%10;c===0&&Ie(s,vr)&&o!==""?o=e[c]+o:c>1||c===1&&l===0||c===1&&l===1&&Ie(s,mA)||c===1&&l===1&&Ie(s,yA)&&A>100||c===1&&l>1&&Ie(s,vn)?o=e[c]+(l>0?t[l-1]:"")+o:c===1&&l>0&&(o=t[l-1]+o),i=Math.floor(i/10)}return(A<0?r:"")+o},nd="十百千萬",sd="拾佰仟萬",id="マイナス",Da="마이너스",_n=function(A,e,t){var r=t?". ":"",n=t?"、":"",s=t?", ":"",i=t?" ":"";switch(e){case 0:return"•"+i;case 1:return"◦"+i;case 2:return"◾"+i;case 5:var o=Be(A,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return MA(A,"〇一二三四五六七八九",n);case 6:return yr(A,1,3999,td,3,r).toLowerCase();case 7:return yr(A,1,3999,td,3,r);case 8:return Be(A,945,969,!1,r);case 9:return Be(A,97,122,!1,r);case 10:return Be(A,65,90,!1,r);case 11:return Be(A,1632,1641,!0,r);case 12:case 49:return yr(A,1,9999,Ad,3,r);case 35:return yr(A,1,9999,Ad,3,r).toLowerCase();case 13:return Be(A,2534,2543,!0,r);case 14:case 30:return Be(A,6112,6121,!0,r);case 15:return MA(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return MA(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Zt(A,"零一二三四五六七八九",nd,"負",n,mA|yA|vn);case 47:return Zt(A,"零壹貳參肆伍陸柒捌玖",sd,"負",n,vr|mA|yA|vn);case 42:return Zt(A,"零一二三四五六七八九",nd,"负",n,mA|yA|vn);case 41:return Zt(A,"零壹贰叁肆伍陆柒捌玖",sd,"负",n,vr|mA|yA|vn);case 26:return Zt(A,"〇一二三四五六七八九","十百千万",id,n,0);case 25:return Zt(A,"零壱弐参四伍六七八九","拾百千万",id,n,vr|mA|yA);case 31:return Zt(A,"영일이삼사오육칠팔구","십백천만",Da,s,vr|mA|yA);case 33:return Zt(A,"零一二三四五六七八九","十百千萬",Da,s,0);case 32:return Zt(A,"零壹貳參四五六七八九","拾百千",Da,s,vr|mA|yA);case 18:return Be(A,2406,2415,!0,r);case 20:return yr(A,1,19999,__,3,r);case 21:return Be(A,2790,2799,!0,r);case 22:return Be(A,2662,2671,!0,r);case 22:return yr(A,1,10999,v_,3,r);case 23:return MA(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return MA(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Be(A,3302,3311,!0,r);case 28:return MA(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return MA(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return Be(A,3792,3801,!0,r);case 37:return Be(A,6160,6169,!0,r);case 38:return Be(A,4160,4169,!0,r);case 39:return Be(A,2918,2927,!0,r);case 40:return Be(A,1776,1785,!0,r);case 43:return Be(A,3046,3055,!0,r);case 44:return Be(A,3174,3183,!0,r);case 45:return Be(A,3664,3673,!0,r);case 46:return Be(A,3872,3881,!0,r);case 3:default:return Be(A,48,57,!0,r)}},od="data-html2canvas-ignore",ad=function(){function A(e,t,r){if(this.context=e,this.options=r,this.scrolledElements=[],this.referenceElement=t,this.counters=new y_,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 A.prototype.toIFrame=function(e,t){var r=this,n=C_(e,t);if(!n.contentWindow)return Promise.reject("Unable to find iframe window");var s=e.defaultView.pageXOffset,i=e.defaultView.pageYOffset,o=n.contentWindow,l=o.document,c=U_(n).then(function(){return Ye(r,void 0,void 0,function(){var u,d;return Ne(this,function(g){switch(g.label){case 0:return this.scrolledElements.forEach(T_),o&&(o.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(o.scrollY!==t.top||o.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-t.left,o.scrollY-t.top,0,0))),u=this.options.onclone,d=this.clonedReferenceElement,typeof d>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:g.sent(),g.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,b_(l)]:[3,4];case 3:g.sent(),g.label=4;case 4:return typeof u=="function"?[2,Promise.resolve().then(function(){return u(l,d)}).then(function(){return n})]:[2,n]}})})});return l.open(),l.write(I_(document.doctype)+"<html></html>"),F_(this.referenceElement.ownerDocument,s,i),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},A.prototype.createElementClone=function(e){if(ya(e,2))debugger;if(Jh(e))return this.createCanvasClone(e);if(Xh(e))return this.createVideoClone(e);if(Yh(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return La(t)&&(La(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager")),ed(t)?this.createCustomElementClone(t):t},A.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return Oa(e.style,t),t},A.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var r=[].slice.call(t.cssRules,0).reduce(function(s,i){return i&&typeof i.cssText=="string"?s+i.cssText:s},""),n=e.cloneNode(!1);return n.textContent=r,n}}catch(s){if(this.context.logger.error("Unable to access cssRules property",s),s.name!=="SecurityError")throw s}return e.cloneNode(!1)},A.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var r=e.ownerDocument.createElement("img");try{return r.src=e.toDataURL(),r}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var s=e.getContext("2d"),i=n.getContext("2d");if(i)if(!this.options.allowTaint&&s)i.putImageData(s.getImageData(0,0,e.width,e.height),0,0);else{var o=(t=e.getContext("webgl2"))!==null&&t!==void 0?t:e.getContext("webgl");if(o){var l=o.getContextAttributes();(l==null?void 0:l.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}i.drawImage(e,0,0)}return n}catch{this.context.logger.info("Unable to clone canvas as it is tainted",e)}return n},A.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var r=t.getContext("2d");try{return r&&(r.drawImage(e,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",e)}var n=e.ownerDocument.createElement("canvas");return n.width=e.offsetWidth,n.height=e.offsetHeight,n},A.prototype.appendChildNode=function(e,t,r){(!mr(t)||!m_(t)&&!t.hasAttribute(od)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!mr(t)||!Yh(t))&&e.appendChild(this.cloneNode(t,r))},A.prototype.cloneChildNodes=function(e,t,r){for(var n=this,s=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;s;s=s.nextSibling)if(mr(s)&&Zh(s)&&typeof s.assignedNodes=="function"){var i=s.assignedNodes();i.length&&i.forEach(function(o){return n.appendChildNode(t,o,r)})}else this.appendChildNode(t,s,r)},A.prototype.cloneNode=function(e,t){if(Wh(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var r=e.ownerDocument.defaultView;if(r&&mr(e)&&(ka(e)||hi(e))){var n=this.createElementClone(e);n.style.transitionProperty="none";var s=r.getComputedStyle(e),i=r.getComputedStyle(e,":before"),o=r.getComputedStyle(e,":after");this.referenceElement===e&&ka(n)&&(this.clonedReferenceElement=n),Ha(n)&&x_(n);var l=this.counters.parse(new _h(this.context,s)),c=this.resolvePseudoContent(e,n,i,Cn.BEFORE);ed(e)&&(t=!0),Xh(e)||this.cloneChildNodes(e,n,t),c&&n.insertBefore(c,n.firstChild);var u=this.resolvePseudoContent(e,n,o,Cn.AFTER);return u&&n.appendChild(u),this.counters.pop(l),(s&&(this.options.copyStyles||hi(e))&&!zh(e)||t)&&Oa(s,n),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(di(e)||fi(e))&&(di(n)||fi(n))&&(n.value=e.value),n}return e.cloneNode(!1)},A.prototype.resolvePseudoContent=function(e,t,r,n){var s=this;if(r){var i=r.content,o=t.ownerDocument;if(!(!o||!i||i==="none"||i==="-moz-alt-content"||r.display==="none")){this.counters.parse(new _h(this.context,r));var l=new g0(this.context,r),c=o.createElement("html2canvaspseudoelement");Oa(r,c),l.content.forEach(function(d){if(d.type===0)c.appendChild(o.createTextNode(d.value));else if(d.type===22){var g=o.createElement("img");g.src=d.value,g.style.opacity="1",c.appendChild(g)}else if(d.type===18){if(d.name==="attr"){var p=d.values.filter(ne);p.length&&c.appendChild(o.createTextNode(e.getAttribute(p[0].value)||""))}else if(d.name==="counter"){var B=d.values.filter(wr),C=B[0],E=B[1];if(C&&ne(C)){var I=s.counters.getCounterValue(C.value),Q=E&&ne(E)?ma.parse(s.context,E.value):3;c.appendChild(o.createTextNode(_n(I,Q,!1)))}}else if(d.name==="counters"){var S=d.values.filter(wr),C=S[0],k=S[1],E=S[2];if(C&&ne(C)){var H=s.counters.getCounterValues(C.value),R=E&&ne(E)?ma.parse(s.context,E.value):3,_=k&&k.type===0?k.value:"",m=H.map(function(U){return _n(U,R,!1)}).join(_);c.appendChild(o.createTextNode(m))}}}else if(d.type===20)switch(d.value){case"open-quote":c.appendChild(o.createTextNode(vh(l.quotes,s.quoteDepth++,!0)));break;case"close-quote":c.appendChild(o.createTextNode(vh(l.quotes,--s.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(d.value))}}),c.className=Pa+" "+Na;var u=n===Cn.BEFORE?" "+Pa:" "+Na;return hi(t)?t.className.baseValue+=u:t.className+=u,c}}},A.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},A}(),Cn;(function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"})(Cn||(Cn={}));var C_=function(A,e){var t=A.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=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(od,"true"),A.body.appendChild(t),t},E_=function(A){return new Promise(function(e){if(A.complete){e();return}if(!A.src){e();return}A.onload=e,A.onerror=e})},b_=function(A){return Promise.all([].slice.call(A.images,0).map(E_))},U_=function(A){return new Promise(function(e,t){var r=A.contentWindow;if(!r)return t("No window assigned for iframe");var n=r.document;r.onload=A.onload=function(){r.onload=A.onload=null;var s=setInterval(function(){n.body.childNodes.length>0&&n.readyState==="complete"&&(clearInterval(s),e(A))},50)}})},Q_=["all","d","content"],Oa=function(A,e){for(var t=A.length-1;t>=0;t--){var r=A.item(t);Q_.indexOf(r)===-1&&e.style.setProperty(r,A.getPropertyValue(r))}return e},I_=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},F_=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},T_=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},S_=":before",R_=":after",Pa="___html2canvas___pseudoelement_before",Na="___html2canvas___pseudoelement_after",ld=`{
|
|
790
790
|
content: "" !important;
|
|
791
791
|
display: none !important;
|
|
792
|
-
}`,
|
|
793
|
-
.`+Na+x_+ld)},H_=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}},cd=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),L_=function(){function A(e,t){this.context=e,this._options=t,this._cache={}}return A.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)||(Ma(e)||N_(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),t},A.prototype.match=function(e){return this._cache[e]},A.prototype.loadImage=function(e){return Ye(this,void 0,void 0,function(){var t,r,n,s,i=this;return Ne(this,function(o){switch(o.label){case 0:return t=cd.isSameOrigin(e),r=!Va(e)&&this._options.useCORS===!0&&ke.SUPPORT_CORS_IMAGES&&!t,n=!Va(e)&&!t&&!Ma(e)&&typeof this._options.proxy=="string"&&ke.SUPPORT_CORS_XHR&&!r,!t&&this._options.allowTaint===!1&&!Va(e)&&!Ma(e)&&!n&&!r?[2]:(s=e,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(l,c){var u=new Image;u.onload=function(){return l(u)},u.onerror=c,(V_(s)||r)&&(u.crossOrigin="anonymous"),u.src=s,u.complete===!0&&setTimeout(function(){return l(u)},500),i._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},A.prototype.has=function(e){return typeof this._cache[e]<"u"},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(e){var t=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(s,i){var o=ke.SUPPORT_RESPONSE_TYPE?"blob":"text",l=new XMLHttpRequest;l.onload=function(){if(l.status===200)if(o==="text")s(l.response);else{var d=new FileReader;d.addEventListener("load",function(){return s(d.result)},!1),d.addEventListener("error",function(g){return i(g)},!1),d.readAsDataURL(l.response)}else i("Failed to proxy resource "+n+" with status code "+l.status)},l.onerror=i;var c=r.indexOf("?")>-1?"&":"?";if(l.open("GET",""+r+c+"url="+encodeURIComponent(e)+"&responseType="+o),o!=="text"&&l instanceof XMLHttpRequest&&(l.responseType=o),t._options.imageTimeout){var u=t._options.imageTimeout;l.timeout=u,l.ontimeout=function(){return i("Timed out ("+u+"ms) proxying "+n)}}l.send()})},A}(),D_=/^data:image\/svg\+xml/i,O_=/^data:image\/.*;base64,/i,P_=/^data:image\/.*/i,N_=function(A){return ke.SUPPORT_SVG_DRAWING||!M_(A)},Va=function(A){return P_.test(A)},V_=function(A){return O_.test(A)},Ma=function(A){return A.substr(0,4)==="blob"},M_=function(A){return A.substr(-3).toLowerCase()==="svg"||D_.test(A)},N=function(){function A(e,t){this.type=0,this.x=e,this.y=t}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),_r=function(A,e,t){return new N(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},gi=function(){function A(e,t,r,n){this.type=1,this.start=e,this.startControl=t,this.endControl=r,this.end=n}return A.prototype.subdivide=function(e,t){var r=_r(this.start,this.startControl,e),n=_r(this.startControl,this.endControl,e),s=_r(this.endControl,this.end,e),i=_r(r,n,e),o=_r(n,s,e),l=_r(i,o,e);return t?new A(this.start,r,i,l):new A(l,o,s,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),yt=function(A){return A.type===1},K_=function(){function A(e){var t=e.styles,r=e.bounds,n=pn(t.borderTopLeftRadius,r.width,r.height),s=n[0],i=n[1],o=pn(t.borderTopRightRadius,r.width,r.height),l=o[0],c=o[1],u=pn(t.borderBottomRightRadius,r.width,r.height),d=u[0],g=u[1],p=pn(t.borderBottomLeftRadius,r.width,r.height),B=p[0],C=p[1],E=[];E.push((s+l)/r.width),E.push((B+d)/r.width),E.push((i+C)/r.height),E.push((c+g)/r.height);var I=Math.max.apply(Math,E);I>1&&(s/=I,i/=I,l/=I,c/=I,d/=I,g/=I,B/=I,C/=I);var Q=r.width-l,S=r.height-g,k=r.width-d,H=r.height-C,R=t.borderTopWidth,_=t.borderRightWidth,m=t.borderBottomWidth,y=t.borderLeftWidth,b=oe(t.paddingTop,e.bounds.width),U=oe(t.paddingRight,e.bounds.width),F=oe(t.paddingBottom,e.bounds.width),v=oe(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?he(r.left+y/3,r.top+R/3,s-y/3,i-R/3,Ae.TOP_LEFT):new N(r.left+y/3,r.top+R/3),this.topRightBorderDoubleOuterBox=s>0||i>0?he(r.left+Q,r.top+R/3,l-_/3,c-R/3,Ae.TOP_RIGHT):new N(r.left+r.width-_/3,r.top+R/3),this.bottomRightBorderDoubleOuterBox=d>0||g>0?he(r.left+k,r.top+S,d-_/3,g-m/3,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_/3,r.top+r.height-m/3),this.bottomLeftBorderDoubleOuterBox=B>0||C>0?he(r.left+y/3,r.top+H,B-y/3,C-m/3,Ae.BOTTOM_LEFT):new N(r.left+y/3,r.top+r.height-m/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?he(r.left+y*2/3,r.top+R*2/3,s-y*2/3,i-R*2/3,Ae.TOP_LEFT):new N(r.left+y*2/3,r.top+R*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?he(r.left+Q,r.top+R*2/3,l-_*2/3,c-R*2/3,Ae.TOP_RIGHT):new N(r.left+r.width-_*2/3,r.top+R*2/3),this.bottomRightBorderDoubleInnerBox=d>0||g>0?he(r.left+k,r.top+S,d-_*2/3,g-m*2/3,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_*2/3,r.top+r.height-m*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||C>0?he(r.left+y*2/3,r.top+H,B-y*2/3,C-m*2/3,Ae.BOTTOM_LEFT):new N(r.left+y*2/3,r.top+r.height-m*2/3),this.topLeftBorderStroke=s>0||i>0?he(r.left+y/2,r.top+R/2,s-y/2,i-R/2,Ae.TOP_LEFT):new N(r.left+y/2,r.top+R/2),this.topRightBorderStroke=s>0||i>0?he(r.left+Q,r.top+R/2,l-_/2,c-R/2,Ae.TOP_RIGHT):new N(r.left+r.width-_/2,r.top+R/2),this.bottomRightBorderStroke=d>0||g>0?he(r.left+k,r.top+S,d-_/2,g-m/2,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_/2,r.top+r.height-m/2),this.bottomLeftBorderStroke=B>0||C>0?he(r.left+y/2,r.top+H,B-y/2,C-m/2,Ae.BOTTOM_LEFT):new N(r.left+y/2,r.top+r.height-m/2),this.topLeftBorderBox=s>0||i>0?he(r.left,r.top,s,i,Ae.TOP_LEFT):new N(r.left,r.top),this.topRightBorderBox=l>0||c>0?he(r.left+Q,r.top,l,c,Ae.TOP_RIGHT):new N(r.left+r.width,r.top),this.bottomRightBorderBox=d>0||g>0?he(r.left+k,r.top+S,d,g,Ae.BOTTOM_RIGHT):new N(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=B>0||C>0?he(r.left,r.top+H,B,C,Ae.BOTTOM_LEFT):new N(r.left,r.top+r.height),this.topLeftPaddingBox=s>0||i>0?he(r.left+y,r.top+R,Math.max(0,s-y),Math.max(0,i-R),Ae.TOP_LEFT):new N(r.left+y,r.top+R),this.topRightPaddingBox=l>0||c>0?he(r.left+Math.min(Q,r.width-_),r.top+R,Q>r.width+_?0:Math.max(0,l-_),Math.max(0,c-R),Ae.TOP_RIGHT):new N(r.left+r.width-_,r.top+R),this.bottomRightPaddingBox=d>0||g>0?he(r.left+Math.min(k,r.width-y),r.top+Math.min(S,r.height-m),Math.max(0,d-_),Math.max(0,g-m),Ae.BOTTOM_RIGHT):new N(r.left+r.width-_,r.top+r.height-m),this.bottomLeftPaddingBox=B>0||C>0?he(r.left+y,r.top+Math.min(H,r.height-m),Math.max(0,B-y),Math.max(0,C-m),Ae.BOTTOM_LEFT):new N(r.left+y,r.top+r.height-m),this.topLeftContentBox=s>0||i>0?he(r.left+y+v,r.top+R+b,Math.max(0,s-(y+v)),Math.max(0,i-(R+b)),Ae.TOP_LEFT):new N(r.left+y+v,r.top+R+b),this.topRightContentBox=l>0||c>0?he(r.left+Math.min(Q,r.width+y+v),r.top+R+b,Q>r.width+y+v?0:l-y+v,c-(R+b),Ae.TOP_RIGHT):new N(r.left+r.width-(_+U),r.top+R+b),this.bottomRightContentBox=d>0||g>0?he(r.left+Math.min(k,r.width-(y+v)),r.top+Math.min(S,r.height+R+b),Math.max(0,d-(_+U)),g-(m+F),Ae.BOTTOM_RIGHT):new N(r.left+r.width-(_+U),r.top+r.height-(m+F)),this.bottomLeftContentBox=B>0||C>0?he(r.left+y+v,r.top+H,Math.max(0,B-(y+v)),C-(m+F),Ae.BOTTOM_LEFT):new N(r.left+y+v,r.top+r.height-(m+F))}return A}(),Ae;(function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Ae||(Ae={}));var he=function(A,e,t,r,n){var s=4*((Math.sqrt(2)-1)/3),i=t*s,o=r*s,l=A+t,c=e+r;switch(n){case Ae.TOP_LEFT:return new gi(new N(A,c),new N(A,c-o),new N(l-i,e),new N(l,e));case Ae.TOP_RIGHT:return new gi(new N(A,e),new N(A+i,e),new N(l,c-o),new N(l,c));case Ae.BOTTOM_RIGHT:return new gi(new N(l,e),new N(l,e+o),new N(A+i,c),new N(A,c));case Ae.BOTTOM_LEFT:default:return new gi(new N(l,c),new N(l-i,c),new N(A,e+o),new N(A,e))}},pi=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},G_=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},wi=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},j_=function(){function A(e,t,r){this.offsetX=e,this.offsetY=t,this.matrix=r,this.type=0,this.target=6}return A}(),Bi=function(){function A(e,t){this.path=e,this.target=t,this.type=1}return A}(),$_=function(){function A(e){this.opacity=e,this.type=2,this.target=6}return A}(),W_=function(A){return A.type===0},ud=function(A){return A.type===1},q_=function(A){return A.type===2},hd=function(A,e){return A.length===e.length?A.some(function(t,r){return t===e[r]}):!1},J_=function(A,e,t,r,n){return A.map(function(s,i){switch(i){case 0:return s.add(e,t);case 1:return s.add(e+r,t);case 2:return s.add(e+r,t+n);case 3:return s.add(e,t+n)}return s})},dd=function(){function A(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),fd=function(){function A(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new K_(this.container),this.container.styles.opacity<1&&this.effects.push(new $_(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new j_(r,n,s))}if(this.container.styles.overflowX!==0){var i=pi(this.curves),o=wi(this.curves);hd(i,o)?this.effects.push(new Bi(i,6)):(this.effects.push(new Bi(i,2)),this.effects.push(new Bi(o,4)))}}return A.prototype.getEffects=function(e){for(var t=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,n=this.effects.slice(0);r;){var s=r.effects.filter(function(l){return!ud(l)});if(t||r.container.styles.position!==0||!r.parent){if(n.unshift.apply(n,s),t=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var i=pi(r.curves),o=wi(r.curves);hd(i,o)||n.unshift(new Bi(o,6))}}else n.unshift.apply(n,s);r=r.parent}return n.filter(function(l){return Ie(l.target,e)})},A}(),Ka=function(A,e,t,r){A.container.elements.forEach(function(n){var s=Ie(n.flags,4),i=Ie(n.flags,2),o=new fd(n,A);Ie(n.styles.display,2048)&&r.push(o);var l=Ie(n.flags,8)?[]:r;if(s||i){var c=s||n.styles.isPositioned()?t:e,u=new dd(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var d=n.styles.zIndex.order;if(d<0){var g=0;c.negativeZIndex.some(function(B,C){return d>B.element.container.styles.zIndex.order?(g=C,!1):g>0}),c.negativeZIndex.splice(g,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(B,C){return d>=B.element.container.styles.zIndex.order?(p=C+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else n.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Ka(o,u,s?u:t,l)}else n.styles.isInlineLevel()?e.inlineLevel.push(o):e.nonInlineLevel.push(o),Ka(o,e,t,l);Ie(n.flags,8)&&gd(n,l)})},gd=function(A,e){for(var t=A instanceof Ra?A.start:1,r=A instanceof Ra?A.reversed:!1,n=0;n<e.length;n++){var s=e[n];s.container instanceof Nh&&typeof s.container.value=="number"&&s.container.value!==0&&(t=s.container.value),s.listValue=_n(t,s.container.styles.listStyleType,!0),t+=r?-1:1}},X_=function(A){var e=new fd(A,null),t=new dd(e),r=[];return Ka(e,t,t,r),gd(e.container,r),t},pd=function(A,e){switch(e){case 0:return vt(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return vt(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return vt(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);case 3:default:return vt(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},z_=function(A,e){switch(e){case 0:return vt(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return vt(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return vt(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);case 3:default:return vt(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},Y_=function(A,e){switch(e){case 0:return vt(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return vt(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return vt(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);case 3:default:return vt(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Z_=function(A,e){switch(e){case 0:return mi(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return mi(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return mi(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);case 3:default:return mi(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},mi=function(A,e){var t=[];return yt(A)?t.push(A.subdivide(.5,!1)):t.push(A),yt(e)?t.push(e.subdivide(.5,!0)):t.push(e),t},vt=function(A,e,t,r){var n=[];return yt(A)?n.push(A.subdivide(.5,!1)):n.push(A),yt(t)?n.push(t.subdivide(.5,!0)):n.push(t),yt(r)?n.push(r.subdivide(.5,!0).reverse()):n.push(r),yt(e)?n.push(e.subdivide(.5,!1).reverse()):n.push(e),n},wd=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},yi=function(A){var e=A.styles,t=A.bounds,r=oe(e.paddingLeft,t.width),n=oe(e.paddingRight,t.width),s=oe(e.paddingTop,t.width),i=oe(e.paddingBottom,t.width);return t.add(r+e.borderLeftWidth,s+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+r+n),-(e.borderTopWidth+e.borderBottomWidth+s+i))},eC=function(A,e){return A===0?e.bounds:A===2?yi(e):wd(e)},tC=function(A,e){return A===0?e.bounds:A===2?yi(e):wd(e)},Ga=function(A,e,t){var r=eC(Er(A.styles.backgroundOrigin,e),A),n=tC(Er(A.styles.backgroundClip,e),A),s=AC(Er(A.styles.backgroundSize,e),t,r),i=s[0],o=s[1],l=pn(Er(A.styles.backgroundPosition,e),r.width-i,r.height-o),c=rC(Er(A.styles.backgroundRepeat,e),l,s,r,n),u=Math.round(r.left+l[0]),d=Math.round(r.top+l[1]);return[c,u,d,i,o]},Cr=function(A){return ne(A)&&A.value===Br.AUTO},vi=function(A){return typeof A=="number"},AC=function(A,e,t){var r=e[0],n=e[1],s=e[2],i=A[0],o=A[1];if(!i)return[0,0];if(_e(i)&&o&&_e(o))return[oe(i,t.width),oe(o,t.height)];var l=vi(s);if(ne(i)&&(i.value===Br.CONTAIN||i.value===Br.COVER)){if(vi(s)){var c=t.width/t.height;return c<s!=(i.value===Br.COVER)?[t.width,t.width/s]:[t.height*s,t.height]}return[t.width,t.height]}var u=vi(r),d=vi(n),g=u||d;if(Cr(i)&&(!o||Cr(o))){if(u&&d)return[r,n];if(!l&&!g)return[t.width,t.height];if(g&&l){var p=u?r:n*s,B=d?n:r/s;return[p,B]}var C=u?r:t.width,E=d?n:t.height;return[C,E]}if(l){var I=0,Q=0;return _e(i)?I=oe(i,t.width):_e(o)&&(Q=oe(o,t.height)),Cr(i)?I=Q*s:(!o||Cr(o))&&(Q=I/s),[I,Q]}var S=null,k=null;if(_e(i)?S=oe(i,t.width):o&&_e(o)&&(k=oe(o,t.height)),S!==null&&(!o||Cr(o))&&(k=u&&d?S/r*n:t.height),k!==null&&Cr(i)&&(S=u&&d?k/n*r:t.width),S!==null&&k!==null)return[S,k];throw new Error("Unable to calculate background-size for element")},Er=function(A,e){var t=A[e];return typeof t>"u"?A[0]:t},rC=function(A,e,t,r,n){var s=e[0],i=e[1],o=t[0],l=t[1];switch(A){case 2:return[new N(Math.round(r.left),Math.round(r.top+i)),new N(Math.round(r.left+r.width),Math.round(r.top+i)),new N(Math.round(r.left+r.width),Math.round(l+r.top+i)),new N(Math.round(r.left),Math.round(l+r.top+i))];case 3:return[new N(Math.round(r.left+s),Math.round(r.top)),new N(Math.round(r.left+s+o),Math.round(r.top)),new N(Math.round(r.left+s+o),Math.round(r.height+r.top)),new N(Math.round(r.left+s),Math.round(r.height+r.top))];case 1:return[new N(Math.round(r.left+s),Math.round(r.top+i)),new N(Math.round(r.left+s+o),Math.round(r.top+i)),new N(Math.round(r.left+s+o),Math.round(r.top+i+l)),new N(Math.round(r.left+s),Math.round(r.top+i+l))];default:return[new N(Math.round(n.left),Math.round(n.top)),new N(Math.round(n.left+n.width),Math.round(n.top)),new N(Math.round(n.left+n.width),Math.round(n.height+n.top)),new N(Math.round(n.left),Math.round(n.height+n.top))]}},nC="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Bd="Hidden Text",sC=function(){function A(e){this._data={},this._document=e}return A.prototype.parseMetrics=function(e,t){var r=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;r.style.visibility="hidden",r.style.fontFamily=e,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",i.appendChild(r),n.src=nC,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=e,s.style.fontSize=t,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(Bd)),r.appendChild(s),r.appendChild(n);var o=n.offsetTop-s.offsetTop+2;r.removeChild(s),r.appendChild(this._document.createTextNode(Bd)),r.style.lineHeight="normal",n.style.verticalAlign="super";var l=n.offsetTop-r.offsetTop+2;return i.removeChild(r),{baseline:o,middle:l}},A.prototype.getMetrics=function(e,t){var r=e+" "+t;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(e,t)),this._data[r]},A}(),md=function(){function A(e,t){this.context=e,this.options=t}return A}(),iC=1e4,oC=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n._activeEffects=[],n.canvas=r.canvas?r.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),r.canvas||(n.canvas.width=Math.floor(r.width*r.scale),n.canvas.height=Math.floor(r.height*r.scale),n.canvas.style.width=r.width+"px",n.canvas.style.height=r.height+"px"),n.fontMetrics=new sC(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-r.x,-r.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),n}return e.prototype.applyEffects=function(t){for(var r=this;this._activeEffects.length;)this.popEffect();t.forEach(function(n){return r.applyEffect(n)})},e.prototype.applyEffect=function(t){this.ctx.save(),q_(t)&&(this.ctx.globalAlpha=t.opacity),W_(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)),ud(t)&&(this.path(t.path),this.ctx.clip()),this._activeEffects.push(t)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(t){return Ye(this,void 0,void 0,function(){var r;return Ne(this,function(n){switch(n.label){case 0:return r=t.element.container.styles,r.isVisible()?[4,this.renderStackContent(t)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(t){return Ye(this,void 0,void 0,function(){return Ne(this,function(r){switch(r.label){case 0:if(Ie(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]}})})},e.prototype.renderTextWithLetterSpacing=function(t,r,n){var s=this;if(r===0)this.ctx.fillText(t.text,t.bounds.left,t.bounds.top+n);else{var i=Sa(t.text);i.reduce(function(o,l){return s.ctx.fillText(l,o,t.bounds.top+n),o+s.ctx.measureText(l).width},t.bounds.left)}},e.prototype.createFontStyle=function(t){var r=t.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=hC(t.fontFamily).join(", "),s=gn(t.fontSize)?""+t.fontSize.number+t.fontSize.unit:t.fontSize.number+"px";return[[t.fontStyle,r,t.fontWeight,s,n].join(" "),n,s]},e.prototype.renderTextNode=function(t,r){return Ye(this,void 0,void 0,function(){var n,s,i,o,l,c,u,d,g=this;return Ne(this,function(p){return n=this.createFontStyle(r),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",l=this.fontMetrics.getMetrics(i,o),c=l.baseline,u=l.middle,d=r.paintOrder,t.textBounds.forEach(function(B){d.forEach(function(C){switch(C){case 0:g.ctx.fillStyle=Se(r.color),g.renderTextWithLetterSpacing(B,r.letterSpacing,c);var E=r.textShadow;E.length&&B.text.trim().length&&(E.slice(0).reverse().forEach(function(I){g.ctx.shadowColor=Se(I.color),g.ctx.shadowOffsetX=I.offsetX.number*g.options.scale,g.ctx.shadowOffsetY=I.offsetY.number*g.options.scale,g.ctx.shadowBlur=I.blur.number,g.renderTextWithLetterSpacing(B,r.letterSpacing,c)}),g.ctx.shadowColor="",g.ctx.shadowOffsetX=0,g.ctx.shadowOffsetY=0,g.ctx.shadowBlur=0),r.textDecorationLine.length&&(g.ctx.fillStyle=Se(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(I){switch(I){case 1:g.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+c),B.bounds.width,1);break;case 2:g.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:g.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+u),B.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&B.text.trim().length&&(g.ctx.strokeStyle=Se(r.webkitTextStrokeColor),g.ctx.lineWidth=r.webkitTextStrokeWidth,g.ctx.lineJoin=window.chrome?"miter":"round",g.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+c)),g.ctx.strokeStyle="",g.ctx.lineWidth=0,g.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(t,r,n){if(n&&t.intrinsicWidth>0&&t.intrinsicHeight>0){var s=yi(t),i=wi(r);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,t.intrinsicWidth,t.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l,Q,Q,c,u,d,g,k,p,B,H,C,E,I,Q,S,k,H;return Ne(this,function(R){switch(R.label){case 0:this.applyEffects(t.getEffects(4)),r=t.container,n=t.curves,s=r.styles,i=0,o=r.textNodes,R.label=1;case 1:return i<o.length?(l=o[i],[4,this.renderTextNode(l,s)]):[3,4];case 2:R.sent(),R.label=3;case 3:return i++,[3,1];case 4:if(!(r instanceof Dh))return[3,8];R.label=5;case 5:return R.trys.push([5,7,,8]),[4,this.context.cache.match(r.src)];case 6:return Q=R.sent(),this.renderReplacedElement(r,n,Q),[3,8];case 7:return R.sent(),this.context.logger.error("Error loading image "+r.src),[3,8];case 8:if(r instanceof Oh&&this.renderReplacedElement(r,n,r.canvas),!(r instanceof Ph))return[3,12];R.label=9;case 9:return R.trys.push([9,11,,12]),[4,this.context.cache.match(r.svg)];case 10:return Q=R.sent(),this.renderReplacedElement(r,n,Q),[3,12];case 11:return R.sent(),this.context.logger.error("Error loading svg "+r.svg.substring(0,255)),[3,12];case 12:return r instanceof Gh&&r.tree?(c=new e(this.context,{scale:this.options.scale,backgroundColor:r.backgroundColor,x:0,y:0,width:r.width,height:r.height}),[4,c.render(r.tree)]):[3,14];case 13:u=R.sent(),r.width&&r.height&&this.ctx.drawImage(u,0,0,r.width,r.height,r.bounds.left,r.bounds.top,r.bounds.width,r.bounds.height),R.label=14;case 14:if(r instanceof xa&&(d=Math.min(r.bounds.width,r.bounds.height),r.type===li?r.checked&&(this.ctx.save(),this.path([new N(r.bounds.left+d*.39363,r.bounds.top+d*.79),new N(r.bounds.left+d*.16,r.bounds.top+d*.5549),new N(r.bounds.left+d*.27347,r.bounds.top+d*.44071),new N(r.bounds.left+d*.39694,r.bounds.top+d*.5649),new N(r.bounds.left+d*.72983,r.bounds.top+d*.23),new N(r.bounds.left+d*.84,r.bounds.top+d*.34085),new N(r.bounds.left+d*.39363,r.bounds.top+d*.79)]),this.ctx.fillStyle=Se(Vh),this.ctx.fill(),this.ctx.restore()):r.type===ci&&r.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(r.bounds.left+d/2,r.bounds.top+d/2,d/4,0,Math.PI*2,!0),this.ctx.fillStyle=Se(Vh),this.ctx.fill(),this.ctx.restore())),aC(r)&&r.value.length){switch(g=this.createFontStyle(s),k=g[0],p=g[1],B=this.fontMetrics.getMetrics(k,p).baseline,this.ctx.font=k,this.ctx.fillStyle=Se(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=cC(r.styles.textAlign),H=yi(r),C=0,r.styles.textAlign){case 1:C+=H.width/2;break;case 2:C+=H.width;break}E=H.add(C,0,0,-H.height/2+1),this.ctx.save(),this.path([new N(H.left,H.top),new N(H.left+H.width,H.top),new N(H.left+H.width,H.top+H.height),new N(H.left,H.top+H.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new yn(r.value,E),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Ie(r.styles.display,2048))return[3,20];if(r.styles.listStyleImage===null)return[3,19];if(I=r.styles.listStyleImage,I.type!==0)return[3,18];Q=void 0,S=I.url,R.label=15;case 15:return R.trys.push([15,17,,18]),[4,this.context.cache.match(S)];case 16:return Q=R.sent(),this.ctx.drawImage(Q,r.bounds.left-(Q.width+10),r.bounds.top),[3,18];case 17:return R.sent(),this.context.logger.error("Error loading list-style-image "+S),[3,18];case 18:return[3,20];case 19:t.listValue&&r.styles.listStyleType!==-1&&(k=this.createFontStyle(s)[0],this.ctx.font=k,this.ctx.fillStyle=Se(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",H=new Xt(r.bounds.left,r.bounds.top+oe(r.styles.paddingTop,r.bounds.width),r.bounds.width,Bh(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new yn(t.listValue,H),s.letterSpacing,Bh(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),R.label=20;case 20:return[2]}})})},e.prototype.renderStackContent=function(t){return Ye(this,void 0,void 0,function(){var r,n,I,s,i,I,o,l,I,c,u,I,d,g,I,p,B,I,C,E,I;return Ne(this,function(Q){switch(Q.label){case 0:if(Ie(t.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(t.element)];case 1:Q.sent(),r=0,n=t.negativeZIndex,Q.label=2;case 2:return r<n.length?(I=n[r],[4,this.renderStack(I)]):[3,5];case 3:Q.sent(),Q.label=4;case 4:return r++,[3,2];case 5:return[4,this.renderNodeContent(t.element)];case 6:Q.sent(),s=0,i=t.nonInlineLevel,Q.label=7;case 7:return s<i.length?(I=i[s],[4,this.renderNode(I)]):[3,10];case 8:Q.sent(),Q.label=9;case 9:return s++,[3,7];case 10:o=0,l=t.nonPositionedFloats,Q.label=11;case 11:return o<l.length?(I=l[o],[4,this.renderStack(I)]):[3,14];case 12:Q.sent(),Q.label=13;case 13:return o++,[3,11];case 14:c=0,u=t.nonPositionedInlineLevel,Q.label=15;case 15:return c<u.length?(I=u[c],[4,this.renderStack(I)]):[3,18];case 16:Q.sent(),Q.label=17;case 17:return c++,[3,15];case 18:d=0,g=t.inlineLevel,Q.label=19;case 19:return d<g.length?(I=g[d],[4,this.renderNode(I)]):[3,22];case 20:Q.sent(),Q.label=21;case 21:return d++,[3,19];case 22:p=0,B=t.zeroOrAutoZIndexOrTransformedOrOpacity,Q.label=23;case 23:return p<B.length?(I=B[p],[4,this.renderStack(I)]):[3,26];case 24:Q.sent(),Q.label=25;case 25:return p++,[3,23];case 26:C=0,E=t.positiveZIndex,Q.label=27;case 27:return C<E.length?(I=E[C],[4,this.renderStack(I)]):[3,30];case 28:Q.sent(),Q.label=29;case 29:return C++,[3,27];case 30:return[2]}})})},e.prototype.mask=function(t){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(t.slice(0).reverse()),this.ctx.closePath()},e.prototype.path=function(t){this.ctx.beginPath(),this.formatPath(t),this.ctx.closePath()},e.prototype.formatPath=function(t){var r=this;t.forEach(function(n,s){var i=yt(n)?n.start:n;s===0?r.ctx.moveTo(i.x,i.y):r.ctx.lineTo(i.x,i.y),yt(n)&&r.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},e.prototype.renderRepeat=function(t,r,n,s){this.path(t),this.ctx.fillStyle=r,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},e.prototype.resizeImage=function(t,r,n){var s;if(t.width===r&&t.height===n)return t;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,r),o.height=Math.max(1,n);var l=o.getContext("2d");return l.drawImage(t,0,0,t.width,t.height,0,0,r,n),o},e.prototype.renderBackgroundImage=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l;return Ne(this,function(c){switch(c.label){case 0:r=t.styles.backgroundImage.length-1,n=function(u){var d,g,p,b,$e,Qe,v,se,m,B,b,$e,Qe,v,se,C,E,I,Q,S,k,H,R,_,m,y,b,U,F,v,se,at,$e,Qe,ft,lt,Ht,oA,We,le,aA,et;return Ne(this,function(xA){switch(xA.label){case 0:if(u.type!==0)return[3,5];d=void 0,g=u.url,xA.label=1;case 1:return xA.trys.push([1,3,,4]),[4,s.context.cache.match(g)];case 2:return d=xA.sent(),[3,4];case 3:return xA.sent(),s.context.logger.error("Error loading background-image "+g),[3,4];case 4:return d&&(p=Ga(t,r,[d.width,d.height,d.width/d.height]),b=p[0],$e=p[1],Qe=p[2],v=p[3],se=p[4],m=s.ctx.createPattern(s.resizeImage(d,v,se),"repeat"),s.renderRepeat(b,m,$e,Qe)),[3,6];case 5:Wy(u)?(B=Ga(t,r,[null,null,null]),b=B[0],$e=B[1],Qe=B[2],v=B[3],se=B[4],C=My(u.angle,v,se),E=C[0],I=C[1],Q=C[2],S=C[3],k=C[4],H=document.createElement("canvas"),H.width=v,H.height=se,R=H.getContext("2d"),_=R.createLinearGradient(I,S,Q,k),oh(u.stops,E).forEach(function(qt){return _.addColorStop(qt.stop,Se(qt.color))}),R.fillStyle=_,R.fillRect(0,0,v,se),v>0&&se>0&&(m=s.ctx.createPattern(H,"repeat"),s.renderRepeat(b,m,$e,Qe))):qy(u)&&(y=Ga(t,r,[null,null,null]),b=y[0],U=y[1],F=y[2],v=y[3],se=y[4],at=u.position.length===0?[pa]:u.position,$e=oe(at[0],v),Qe=oe(at[at.length-1],se),ft=Ky(u,$e,Qe,v,se),lt=ft[0],Ht=ft[1],lt>0&&Ht>0&&(oA=s.ctx.createRadialGradient(U+$e,F+Qe,0,U+$e,F+Qe,lt),oh(u.stops,lt*2).forEach(function(qt){return oA.addColorStop(qt.stop,Se(qt.color))}),s.path(b),s.ctx.fillStyle=oA,lt!==Ht?(We=t.bounds.left+.5*t.bounds.width,le=t.bounds.top+.5*t.bounds.height,aA=Ht/lt,et=1/aA,s.ctx.save(),s.ctx.translate(We,le),s.ctx.transform(1,0,0,aA,0,0),s.ctx.translate(-We,-le),s.ctx.fillRect(U,et*(F-le)+le,v,se*et),s.ctx.restore()):s.ctx.fill())),xA.label=6;case 6:return r--,[2]}})},s=this,i=0,o=t.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return i<o.length?(l=o[i],[5,n(l)]):[3,4];case 2:c.sent(),c.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},e.prototype.renderSolidBorder=function(t,r,n){return Ye(this,void 0,void 0,function(){return Ne(this,function(s){return this.path(pd(n,r)),this.ctx.fillStyle=Se(t),this.ctx.fill(),[2]})})},e.prototype.renderDoubleBorder=function(t,r,n,s){return Ye(this,void 0,void 0,function(){var i,o;return Ne(this,function(l){switch(l.label){case 0:return r<3?[4,this.renderSolidBorder(t,n,s)]:[3,2];case 1:return l.sent(),[2];case 2:return i=z_(s,n),this.path(i),this.ctx.fillStyle=Se(t),this.ctx.fill(),o=Y_(s,n),this.path(o),this.ctx.fill(),[2]}})})},e.prototype.renderNodeBackgroundAndBorders=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l,c,u,d=this;return Ne(this,function(g){switch(g.label){case 0:return this.applyEffects(t.getEffects(2)),r=t.container.styles,n=!wA(r.backgroundColor)||r.backgroundImage.length,s=[{style:r.borderTopStyle,color:r.borderTopColor,width:r.borderTopWidth},{style:r.borderRightStyle,color:r.borderRightColor,width:r.borderRightWidth},{style:r.borderBottomStyle,color:r.borderBottomColor,width:r.borderBottomWidth},{style:r.borderLeftStyle,color:r.borderLeftColor,width:r.borderLeftWidth}],i=lC(Er(r.backgroundClip,0),t.curves),n||r.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),wA(r.backgroundColor)||(this.ctx.fillStyle=Se(r.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(t.container)]):[3,2];case 1:g.sent(),this.ctx.restore(),r.boxShadow.slice(0).reverse().forEach(function(p){d.ctx.save();var B=pi(t.curves),C=p.inset?0:iC,E=J_(B,-C+(p.inset?1:-1)*p.spread.number,(p.inset?1:-1)*p.spread.number,p.spread.number*(p.inset?-2:2),p.spread.number*(p.inset?-2:2));p.inset?(d.path(B),d.ctx.clip(),d.mask(E)):(d.mask(B),d.ctx.clip(),d.path(E)),d.ctx.shadowOffsetX=p.offsetX.number+C,d.ctx.shadowOffsetY=p.offsetY.number,d.ctx.shadowColor=Se(p.color),d.ctx.shadowBlur=p.blur.number,d.ctx.fillStyle=p.inset?Se(p.color):"rgba(0,0,0,1)",d.ctx.fill(),d.ctx.restore()}),g.label=2;case 2:o=0,l=0,c=s,g.label=3;case 3:return l<c.length?(u=c[l],u.style!==0&&!wA(u.color)&&u.width>0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,o,t.curves,2)]:[3,11]):[3,13];case 4:return g.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,o,t.curves,3)];case 6:return g.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,o,t.curves)];case 8:return g.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,o,t.curves)];case 10:g.sent(),g.label=11;case 11:o++,g.label=12;case 12:return l++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(t,r,n,s,i){return Ye(this,void 0,void 0,function(){var o,l,c,u,d,g,p,B,C,E,I,Q,S,k,H,R,H,R;return Ne(this,function(_){return this.ctx.save(),o=Z_(s,n),l=pd(s,n),i===2&&(this.path(l),this.ctx.clip()),yt(l[0])?(c=l[0].start.x,u=l[0].start.y):(c=l[0].x,u=l[0].y),yt(l[1])?(d=l[1].end.x,g=l[1].end.y):(d=l[1].x,g=l[1].y),n===0||n===2?p=Math.abs(c-d):p=Math.abs(u-g),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(l.slice(0,2)),B=r<3?r*3:r*2,C=r<3?r*2:r,i===3&&(B=r,C=r),E=!0,p<=B*2?E=!1:p<=B*2+C?(I=p/(2*B+C),B*=I,C*=I):(Q=Math.floor((p+C)/(B+C)),S=(p-Q*B)/(Q-1),k=(p-(Q+1)*B)/Q,C=k<=0||Math.abs(C-S)<Math.abs(C-k)?S:k),E&&(i===3?this.ctx.setLineDash([0,B+C]):this.ctx.setLineDash([B,C])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=r):this.ctx.lineWidth=r*2+1.1,this.ctx.strokeStyle=Se(t),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(yt(l[0])&&(H=l[3],R=l[0],this.ctx.beginPath(),this.formatPath([new N(H.end.x,H.end.y),new N(R.start.x,R.start.y)]),this.ctx.stroke()),yt(l[1])&&(H=l[1],R=l[2],this.ctx.beginPath(),this.formatPath([new N(H.end.x,H.end.y),new N(R.start.x,R.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},e.prototype.render=function(t){return Ye(this,void 0,void 0,function(){var r;return Ne(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=Se(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),r=X_(t),[4,this.renderStack(r)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},e}(md),aC=function(A){return A instanceof Kh||A instanceof Mh?!0:A instanceof xa&&A.type!==ci&&A.type!==li},lC=function(A,e){switch(A){case 0:return pi(e);case 2:return G_(e);case 1:default:return wi(e)}},cC=function(A){switch(A){case 1:return"center";case 2:return"right";case 0:default:return"left"}},uC=["-apple-system","system-ui"],hC=function(A){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?A.filter(function(e){return uC.indexOf(e)===-1}):A},dC=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.canvas=r.canvas?r.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=r,n.canvas.width=Math.floor(r.width*r.scale),n.canvas.height=Math.floor(r.height*r.scale),n.canvas.style.width=r.width+"px",n.canvas.style.height=r.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-r.x,-r.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+r.width+"x"+r.height+" at "+r.x+","+r.y+") with scale "+r.scale),n}return e.prototype.render=function(t){return Ye(this,void 0,void 0,function(){var r,n;return Ne(this,function(s){switch(s.label){case 0:return r=Ta(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,t),[4,fC(r)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=Se(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},e}(md),fC=function(A){return new Promise(function(e,t){var r=new Image;r.onload=function(){e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(A))})},gC=function(){function A(e){var t=e.id,r=e.enabled;this.id=t,this.enabled=r,this.start=Date.now()}return A.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.prototype.getTime=function(){return Date.now()-this.start},A.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Fs([this.id,this.getTime()+"ms"],e))},A.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.instances={},A}(),pC=function(){function A(e,t){var r;this.windowBounds=t,this.instanceName="#"+A.instanceCount++,this.logger=new gC({id:this.instanceName,enabled:e.logging}),this.cache=(r=e.cache)!==null&&r!==void 0?r:new L_(this,e)}return A.instanceCount=1,A}(),wC=function(A,e){return e===void 0&&(e={}),BC(A,e)};typeof window<"u"&&cd.setContext(window);var BC=function(A,e){return Ye(void 0,void 0,void 0,function(){var t,r,n,s,i,o,l,c,u,d,g,p,B,C,E,I,Q,S,k,H,_,R,_,m,y,b,U,F,v,se,at,$e,Qe,ft,lt,Ht,oA,We,le,aA;return Ne(this,function(et){switch(et.label){case 0:if(!A||typeof A!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(t=A.ownerDocument,!t)throw new Error("Element is not attached to a Document");if(r=t.defaultView,!r)throw new Error("Document is not attached to a Window");return n={allowTaint:(m=e.allowTaint)!==null&&m!==void 0?m:!1,imageTimeout:(y=e.imageTimeout)!==null&&y!==void 0?y:15e3,proxy:e.proxy,useCORS:(b=e.useCORS)!==null&&b!==void 0?b:!1},s=Jo({logging:(U=e.logging)!==null&&U!==void 0?U:!0,cache:e.cache},n),i={windowWidth:(F=e.windowWidth)!==null&&F!==void 0?F:r.innerWidth,windowHeight:(v=e.windowHeight)!==null&&v!==void 0?v:r.innerHeight,scrollX:(se=e.scrollX)!==null&&se!==void 0?se:r.pageXOffset,scrollY:(at=e.scrollY)!==null&&at!==void 0?at:r.pageYOffset},o=new Xt(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),l=new pC(s,o),c=($e=e.foreignObjectRendering)!==null&&$e!==void 0?$e:!1,u={allowTaint:(Qe=e.allowTaint)!==null&&Qe!==void 0?Qe:!1,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:c,copyStyles:c},l.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),d=new ad(l,A,u),g=d.clonedReferenceElement,g?[4,d.toIFrame(t,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return p=et.sent(),B=Ha(g)||m_(g)?JB(g.ownerDocument):Ts(l,g),C=B.width,E=B.height,I=B.left,Q=B.top,S=mC(l,g,e.backgroundColor),k={canvas:e.canvas,backgroundColor:S,scale:(lt=(ft=e.scale)!==null&&ft!==void 0?ft:r.devicePixelRatio)!==null&<!==void 0?lt:1,x:((Ht=e.x)!==null&&Ht!==void 0?Ht:0)+I,y:((oA=e.y)!==null&&oA!==void 0?oA:0)+Q,width:(We=e.width)!==null&&We!==void 0?We:Math.ceil(C),height:(le=e.height)!==null&&le!==void 0?le:Math.ceil(E)},c?(l.logger.debug("Document cloned, using foreign object rendering"),_=new dC(l,k),[4,_.render(g)]):[3,3];case 2:return H=et.sent(),[3,5];case 3:return l.logger.debug("Document cloned, element located at "+I+","+Q+" with size "+C+"x"+E+" using computed rendering"),l.logger.debug("Starting DOM parsing"),R=$h(l,g),S===R.styles.backgroundColor&&(R.styles.backgroundColor=Yt.TRANSPARENT),l.logger.debug("Starting renderer for element at "+k.x+","+k.y+" with size "+k.width+"x"+k.height),_=new oC(l,k),[4,_.render(R)];case 4:H=et.sent(),et.label=5;case 5:return(!((aA=e.removeContainer)!==null&&aA!==void 0)||aA)&&(ad.destroy(p)||l.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),l.logger.debug("Finished rendering"),[2,H]}})})},mC=function(A,e,t){var r=e.ownerDocument,n=r.documentElement?wn(A,getComputedStyle(r.documentElement).backgroundColor):Yt.TRANSPARENT,s=r.body?wn(A,getComputedStyle(r.body).backgroundColor):Yt.TRANSPARENT,i=typeof t=="string"?wn(A,t):t===null?Yt.TRANSPARENT:4294967295;return e===r.documentElement?wA(n)?wA(s)?i:s:n:i};const yC=Object.freeze(Object.defineProperty({__proto__:null,default:wC},Symbol.toStringTag,{value:"Module"}));/**
|
|
792
|
+
}`,x_=function(A){k_(A,"."+Pa+S_+ld+`
|
|
793
|
+
.`+Na+R_+ld)},k_=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}},cd=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),H_=function(){function A(e,t){this.context=e,this._options=t,this._cache={}}return A.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)||(Ma(e)||P_(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),t},A.prototype.match=function(e){return this._cache[e]},A.prototype.loadImage=function(e){return Ye(this,void 0,void 0,function(){var t,r,n,s,i=this;return Ne(this,function(o){switch(o.label){case 0:return t=cd.isSameOrigin(e),r=!Va(e)&&this._options.useCORS===!0&&ke.SUPPORT_CORS_IMAGES&&!t,n=!Va(e)&&!t&&!Ma(e)&&typeof this._options.proxy=="string"&&ke.SUPPORT_CORS_XHR&&!r,!t&&this._options.allowTaint===!1&&!Va(e)&&!Ma(e)&&!n&&!r?[2]:(s=e,n?[4,this.proxy(s)]:[3,2]);case 1:s=o.sent(),o.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(l,c){var u=new Image;u.onload=function(){return l(u)},u.onerror=c,(N_(s)||r)&&(u.crossOrigin="anonymous"),u.src=s,u.complete===!0&&setTimeout(function(){return l(u)},500),i._options.imageTimeout>0&&setTimeout(function(){return c("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,o.sent()]}})})},A.prototype.has=function(e){return typeof this._cache[e]<"u"},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(e){var t=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var n=e.substring(0,256);return new Promise(function(s,i){var o=ke.SUPPORT_RESPONSE_TYPE?"blob":"text",l=new XMLHttpRequest;l.onload=function(){if(l.status===200)if(o==="text")s(l.response);else{var d=new FileReader;d.addEventListener("load",function(){return s(d.result)},!1),d.addEventListener("error",function(g){return i(g)},!1),d.readAsDataURL(l.response)}else i("Failed to proxy resource "+n+" with status code "+l.status)},l.onerror=i;var c=r.indexOf("?")>-1?"&":"?";if(l.open("GET",""+r+c+"url="+encodeURIComponent(e)+"&responseType="+o),o!=="text"&&l instanceof XMLHttpRequest&&(l.responseType=o),t._options.imageTimeout){var u=t._options.imageTimeout;l.timeout=u,l.ontimeout=function(){return i("Timed out ("+u+"ms) proxying "+n)}}l.send()})},A}(),L_=/^data:image\/svg\+xml/i,D_=/^data:image\/.*;base64,/i,O_=/^data:image\/.*/i,P_=function(A){return ke.SUPPORT_SVG_DRAWING||!V_(A)},Va=function(A){return O_.test(A)},N_=function(A){return D_.test(A)},Ma=function(A){return A.substr(0,4)==="blob"},V_=function(A){return A.substr(-3).toLowerCase()==="svg"||L_.test(A)},N=function(){function A(e,t){this.type=0,this.x=e,this.y=t}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),_r=function(A,e,t){return new N(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},gi=function(){function A(e,t,r,n){this.type=1,this.start=e,this.startControl=t,this.endControl=r,this.end=n}return A.prototype.subdivide=function(e,t){var r=_r(this.start,this.startControl,e),n=_r(this.startControl,this.endControl,e),s=_r(this.endControl,this.end,e),i=_r(r,n,e),o=_r(n,s,e),l=_r(i,o,e);return t?new A(this.start,r,i,l):new A(l,o,s,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),yt=function(A){return A.type===1},M_=function(){function A(e){var t=e.styles,r=e.bounds,n=pn(t.borderTopLeftRadius,r.width,r.height),s=n[0],i=n[1],o=pn(t.borderTopRightRadius,r.width,r.height),l=o[0],c=o[1],u=pn(t.borderBottomRightRadius,r.width,r.height),d=u[0],g=u[1],p=pn(t.borderBottomLeftRadius,r.width,r.height),B=p[0],C=p[1],E=[];E.push((s+l)/r.width),E.push((B+d)/r.width),E.push((i+C)/r.height),E.push((c+g)/r.height);var I=Math.max.apply(Math,E);I>1&&(s/=I,i/=I,l/=I,c/=I,d/=I,g/=I,B/=I,C/=I);var Q=r.width-l,S=r.height-g,k=r.width-d,H=r.height-C,R=t.borderTopWidth,_=t.borderRightWidth,m=t.borderBottomWidth,y=t.borderLeftWidth,b=oe(t.paddingTop,e.bounds.width),U=oe(t.paddingRight,e.bounds.width),F=oe(t.paddingBottom,e.bounds.width),v=oe(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=s>0||i>0?he(r.left+y/3,r.top+R/3,s-y/3,i-R/3,Ae.TOP_LEFT):new N(r.left+y/3,r.top+R/3),this.topRightBorderDoubleOuterBox=s>0||i>0?he(r.left+Q,r.top+R/3,l-_/3,c-R/3,Ae.TOP_RIGHT):new N(r.left+r.width-_/3,r.top+R/3),this.bottomRightBorderDoubleOuterBox=d>0||g>0?he(r.left+k,r.top+S,d-_/3,g-m/3,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_/3,r.top+r.height-m/3),this.bottomLeftBorderDoubleOuterBox=B>0||C>0?he(r.left+y/3,r.top+H,B-y/3,C-m/3,Ae.BOTTOM_LEFT):new N(r.left+y/3,r.top+r.height-m/3),this.topLeftBorderDoubleInnerBox=s>0||i>0?he(r.left+y*2/3,r.top+R*2/3,s-y*2/3,i-R*2/3,Ae.TOP_LEFT):new N(r.left+y*2/3,r.top+R*2/3),this.topRightBorderDoubleInnerBox=s>0||i>0?he(r.left+Q,r.top+R*2/3,l-_*2/3,c-R*2/3,Ae.TOP_RIGHT):new N(r.left+r.width-_*2/3,r.top+R*2/3),this.bottomRightBorderDoubleInnerBox=d>0||g>0?he(r.left+k,r.top+S,d-_*2/3,g-m*2/3,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_*2/3,r.top+r.height-m*2/3),this.bottomLeftBorderDoubleInnerBox=B>0||C>0?he(r.left+y*2/3,r.top+H,B-y*2/3,C-m*2/3,Ae.BOTTOM_LEFT):new N(r.left+y*2/3,r.top+r.height-m*2/3),this.topLeftBorderStroke=s>0||i>0?he(r.left+y/2,r.top+R/2,s-y/2,i-R/2,Ae.TOP_LEFT):new N(r.left+y/2,r.top+R/2),this.topRightBorderStroke=s>0||i>0?he(r.left+Q,r.top+R/2,l-_/2,c-R/2,Ae.TOP_RIGHT):new N(r.left+r.width-_/2,r.top+R/2),this.bottomRightBorderStroke=d>0||g>0?he(r.left+k,r.top+S,d-_/2,g-m/2,Ae.BOTTOM_RIGHT):new N(r.left+r.width-_/2,r.top+r.height-m/2),this.bottomLeftBorderStroke=B>0||C>0?he(r.left+y/2,r.top+H,B-y/2,C-m/2,Ae.BOTTOM_LEFT):new N(r.left+y/2,r.top+r.height-m/2),this.topLeftBorderBox=s>0||i>0?he(r.left,r.top,s,i,Ae.TOP_LEFT):new N(r.left,r.top),this.topRightBorderBox=l>0||c>0?he(r.left+Q,r.top,l,c,Ae.TOP_RIGHT):new N(r.left+r.width,r.top),this.bottomRightBorderBox=d>0||g>0?he(r.left+k,r.top+S,d,g,Ae.BOTTOM_RIGHT):new N(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=B>0||C>0?he(r.left,r.top+H,B,C,Ae.BOTTOM_LEFT):new N(r.left,r.top+r.height),this.topLeftPaddingBox=s>0||i>0?he(r.left+y,r.top+R,Math.max(0,s-y),Math.max(0,i-R),Ae.TOP_LEFT):new N(r.left+y,r.top+R),this.topRightPaddingBox=l>0||c>0?he(r.left+Math.min(Q,r.width-_),r.top+R,Q>r.width+_?0:Math.max(0,l-_),Math.max(0,c-R),Ae.TOP_RIGHT):new N(r.left+r.width-_,r.top+R),this.bottomRightPaddingBox=d>0||g>0?he(r.left+Math.min(k,r.width-y),r.top+Math.min(S,r.height-m),Math.max(0,d-_),Math.max(0,g-m),Ae.BOTTOM_RIGHT):new N(r.left+r.width-_,r.top+r.height-m),this.bottomLeftPaddingBox=B>0||C>0?he(r.left+y,r.top+Math.min(H,r.height-m),Math.max(0,B-y),Math.max(0,C-m),Ae.BOTTOM_LEFT):new N(r.left+y,r.top+r.height-m),this.topLeftContentBox=s>0||i>0?he(r.left+y+v,r.top+R+b,Math.max(0,s-(y+v)),Math.max(0,i-(R+b)),Ae.TOP_LEFT):new N(r.left+y+v,r.top+R+b),this.topRightContentBox=l>0||c>0?he(r.left+Math.min(Q,r.width+y+v),r.top+R+b,Q>r.width+y+v?0:l-y+v,c-(R+b),Ae.TOP_RIGHT):new N(r.left+r.width-(_+U),r.top+R+b),this.bottomRightContentBox=d>0||g>0?he(r.left+Math.min(k,r.width-(y+v)),r.top+Math.min(S,r.height+R+b),Math.max(0,d-(_+U)),g-(m+F),Ae.BOTTOM_RIGHT):new N(r.left+r.width-(_+U),r.top+r.height-(m+F)),this.bottomLeftContentBox=B>0||C>0?he(r.left+y+v,r.top+H,Math.max(0,B-(y+v)),C-(m+F),Ae.BOTTOM_LEFT):new N(r.left+y+v,r.top+r.height-(m+F))}return A}(),Ae;(function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Ae||(Ae={}));var he=function(A,e,t,r,n){var s=4*((Math.sqrt(2)-1)/3),i=t*s,o=r*s,l=A+t,c=e+r;switch(n){case Ae.TOP_LEFT:return new gi(new N(A,c),new N(A,c-o),new N(l-i,e),new N(l,e));case Ae.TOP_RIGHT:return new gi(new N(A,e),new N(A+i,e),new N(l,c-o),new N(l,c));case Ae.BOTTOM_RIGHT:return new gi(new N(l,e),new N(l,e+o),new N(A+i,c),new N(A,c));case Ae.BOTTOM_LEFT:default:return new gi(new N(l,c),new N(l-i,c),new N(A,e+o),new N(A,e))}},pi=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},K_=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},wi=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},G_=function(){function A(e,t,r){this.offsetX=e,this.offsetY=t,this.matrix=r,this.type=0,this.target=6}return A}(),Bi=function(){function A(e,t){this.path=e,this.target=t,this.type=1}return A}(),j_=function(){function A(e){this.opacity=e,this.type=2,this.target=6}return A}(),$_=function(A){return A.type===0},ud=function(A){return A.type===1},W_=function(A){return A.type===2},hd=function(A,e){return A.length===e.length?A.some(function(t,r){return t===e[r]}):!1},q_=function(A,e,t,r,n){return A.map(function(s,i){switch(i){case 0:return s.add(e,t);case 1:return s.add(e+r,t);case 2:return s.add(e+r,t+n);case 3:return s.add(e,t+n)}return s})},dd=function(){function A(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),fd=function(){function A(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new M_(this.container),this.container.styles.opacity<1&&this.effects.push(new j_(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,n=this.container.bounds.top+this.container.styles.transformOrigin[1].number,s=this.container.styles.transform;this.effects.push(new G_(r,n,s))}if(this.container.styles.overflowX!==0){var i=pi(this.curves),o=wi(this.curves);hd(i,o)?this.effects.push(new Bi(i,6)):(this.effects.push(new Bi(i,2)),this.effects.push(new Bi(o,4)))}}return A.prototype.getEffects=function(e){for(var t=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,n=this.effects.slice(0);r;){var s=r.effects.filter(function(l){return!ud(l)});if(t||r.container.styles.position!==0||!r.parent){if(n.unshift.apply(n,s),t=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var i=pi(r.curves),o=wi(r.curves);hd(i,o)||n.unshift(new Bi(o,6))}}else n.unshift.apply(n,s);r=r.parent}return n.filter(function(l){return Ie(l.target,e)})},A}(),Ka=function(A,e,t,r){A.container.elements.forEach(function(n){var s=Ie(n.flags,4),i=Ie(n.flags,2),o=new fd(n,A);Ie(n.styles.display,2048)&&r.push(o);var l=Ie(n.flags,8)?[]:r;if(s||i){var c=s||n.styles.isPositioned()?t:e,u=new dd(o);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var d=n.styles.zIndex.order;if(d<0){var g=0;c.negativeZIndex.some(function(B,C){return d>B.element.container.styles.zIndex.order?(g=C,!1):g>0}),c.negativeZIndex.splice(g,0,u)}else if(d>0){var p=0;c.positiveZIndex.some(function(B,C){return d>=B.element.container.styles.zIndex.order?(p=C+1,!1):p>0}),c.positiveZIndex.splice(p,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else n.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Ka(o,u,s?u:t,l)}else n.styles.isInlineLevel()?e.inlineLevel.push(o):e.nonInlineLevel.push(o),Ka(o,e,t,l);Ie(n.flags,8)&&gd(n,l)})},gd=function(A,e){for(var t=A instanceof Ra?A.start:1,r=A instanceof Ra?A.reversed:!1,n=0;n<e.length;n++){var s=e[n];s.container instanceof Nh&&typeof s.container.value=="number"&&s.container.value!==0&&(t=s.container.value),s.listValue=_n(t,s.container.styles.listStyleType,!0),t+=r?-1:1}},J_=function(A){var e=new fd(A,null),t=new dd(e),r=[];return Ka(e,t,t,r),gd(e.container,r),t},pd=function(A,e){switch(e){case 0:return vt(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return vt(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return vt(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);case 3:default:return vt(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},X_=function(A,e){switch(e){case 0:return vt(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return vt(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return vt(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);case 3:default:return vt(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}},z_=function(A,e){switch(e){case 0:return vt(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return vt(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return vt(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);case 3:default:return vt(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}},Y_=function(A,e){switch(e){case 0:return mi(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return mi(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return mi(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);case 3:default:return mi(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}},mi=function(A,e){var t=[];return yt(A)?t.push(A.subdivide(.5,!1)):t.push(A),yt(e)?t.push(e.subdivide(.5,!0)):t.push(e),t},vt=function(A,e,t,r){var n=[];return yt(A)?n.push(A.subdivide(.5,!1)):n.push(A),yt(t)?n.push(t.subdivide(.5,!0)):n.push(t),yt(r)?n.push(r.subdivide(.5,!0).reverse()):n.push(r),yt(e)?n.push(e.subdivide(.5,!1).reverse()):n.push(e),n},wd=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},yi=function(A){var e=A.styles,t=A.bounds,r=oe(e.paddingLeft,t.width),n=oe(e.paddingRight,t.width),s=oe(e.paddingTop,t.width),i=oe(e.paddingBottom,t.width);return t.add(r+e.borderLeftWidth,s+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+r+n),-(e.borderTopWidth+e.borderBottomWidth+s+i))},Z_=function(A,e){return A===0?e.bounds:A===2?yi(e):wd(e)},eC=function(A,e){return A===0?e.bounds:A===2?yi(e):wd(e)},Ga=function(A,e,t){var r=Z_(Er(A.styles.backgroundOrigin,e),A),n=eC(Er(A.styles.backgroundClip,e),A),s=tC(Er(A.styles.backgroundSize,e),t,r),i=s[0],o=s[1],l=pn(Er(A.styles.backgroundPosition,e),r.width-i,r.height-o),c=AC(Er(A.styles.backgroundRepeat,e),l,s,r,n),u=Math.round(r.left+l[0]),d=Math.round(r.top+l[1]);return[c,u,d,i,o]},Cr=function(A){return ne(A)&&A.value===Br.AUTO},vi=function(A){return typeof A=="number"},tC=function(A,e,t){var r=e[0],n=e[1],s=e[2],i=A[0],o=A[1];if(!i)return[0,0];if(_e(i)&&o&&_e(o))return[oe(i,t.width),oe(o,t.height)];var l=vi(s);if(ne(i)&&(i.value===Br.CONTAIN||i.value===Br.COVER)){if(vi(s)){var c=t.width/t.height;return c<s!=(i.value===Br.COVER)?[t.width,t.width/s]:[t.height*s,t.height]}return[t.width,t.height]}var u=vi(r),d=vi(n),g=u||d;if(Cr(i)&&(!o||Cr(o))){if(u&&d)return[r,n];if(!l&&!g)return[t.width,t.height];if(g&&l){var p=u?r:n*s,B=d?n:r/s;return[p,B]}var C=u?r:t.width,E=d?n:t.height;return[C,E]}if(l){var I=0,Q=0;return _e(i)?I=oe(i,t.width):_e(o)&&(Q=oe(o,t.height)),Cr(i)?I=Q*s:(!o||Cr(o))&&(Q=I/s),[I,Q]}var S=null,k=null;if(_e(i)?S=oe(i,t.width):o&&_e(o)&&(k=oe(o,t.height)),S!==null&&(!o||Cr(o))&&(k=u&&d?S/r*n:t.height),k!==null&&Cr(i)&&(S=u&&d?k/n*r:t.width),S!==null&&k!==null)return[S,k];throw new Error("Unable to calculate background-size for element")},Er=function(A,e){var t=A[e];return typeof t>"u"?A[0]:t},AC=function(A,e,t,r,n){var s=e[0],i=e[1],o=t[0],l=t[1];switch(A){case 2:return[new N(Math.round(r.left),Math.round(r.top+i)),new N(Math.round(r.left+r.width),Math.round(r.top+i)),new N(Math.round(r.left+r.width),Math.round(l+r.top+i)),new N(Math.round(r.left),Math.round(l+r.top+i))];case 3:return[new N(Math.round(r.left+s),Math.round(r.top)),new N(Math.round(r.left+s+o),Math.round(r.top)),new N(Math.round(r.left+s+o),Math.round(r.height+r.top)),new N(Math.round(r.left+s),Math.round(r.height+r.top))];case 1:return[new N(Math.round(r.left+s),Math.round(r.top+i)),new N(Math.round(r.left+s+o),Math.round(r.top+i)),new N(Math.round(r.left+s+o),Math.round(r.top+i+l)),new N(Math.round(r.left+s),Math.round(r.top+i+l))];default:return[new N(Math.round(n.left),Math.round(n.top)),new N(Math.round(n.left+n.width),Math.round(n.top)),new N(Math.round(n.left+n.width),Math.round(n.height+n.top)),new N(Math.round(n.left),Math.round(n.height+n.top))]}},rC="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Bd="Hidden Text",nC=function(){function A(e){this._data={},this._document=e}return A.prototype.parseMetrics=function(e,t){var r=this._document.createElement("div"),n=this._document.createElement("img"),s=this._document.createElement("span"),i=this._document.body;r.style.visibility="hidden",r.style.fontFamily=e,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",i.appendChild(r),n.src=rC,n.width=1,n.height=1,n.style.margin="0",n.style.padding="0",n.style.verticalAlign="baseline",s.style.fontFamily=e,s.style.fontSize=t,s.style.margin="0",s.style.padding="0",s.appendChild(this._document.createTextNode(Bd)),r.appendChild(s),r.appendChild(n);var o=n.offsetTop-s.offsetTop+2;r.removeChild(s),r.appendChild(this._document.createTextNode(Bd)),r.style.lineHeight="normal",n.style.verticalAlign="super";var l=n.offsetTop-r.offsetTop+2;return i.removeChild(r),{baseline:o,middle:l}},A.prototype.getMetrics=function(e,t){var r=e+" "+t;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(e,t)),this._data[r]},A}(),md=function(){function A(e,t){this.context=e,this.options=t}return A}(),sC=1e4,iC=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n._activeEffects=[],n.canvas=r.canvas?r.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),r.canvas||(n.canvas.width=Math.floor(r.width*r.scale),n.canvas.height=Math.floor(r.height*r.scale),n.canvas.style.width=r.width+"px",n.canvas.style.height=r.height+"px"),n.fontMetrics=new nC(document),n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-r.x,-r.y),n.ctx.textBaseline="bottom",n._activeEffects=[],n.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),n}return e.prototype.applyEffects=function(t){for(var r=this;this._activeEffects.length;)this.popEffect();t.forEach(function(n){return r.applyEffect(n)})},e.prototype.applyEffect=function(t){this.ctx.save(),W_(t)&&(this.ctx.globalAlpha=t.opacity),$_(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)),ud(t)&&(this.path(t.path),this.ctx.clip()),this._activeEffects.push(t)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(t){return Ye(this,void 0,void 0,function(){var r;return Ne(this,function(n){switch(n.label){case 0:return r=t.element.container.styles,r.isVisible()?[4,this.renderStackContent(t)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},e.prototype.renderNode=function(t){return Ye(this,void 0,void 0,function(){return Ne(this,function(r){switch(r.label){case 0:if(Ie(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]}})})},e.prototype.renderTextWithLetterSpacing=function(t,r,n){var s=this;if(r===0)this.ctx.fillText(t.text,t.bounds.left,t.bounds.top+n);else{var i=Sa(t.text);i.reduce(function(o,l){return s.ctx.fillText(l,o,t.bounds.top+n),o+s.ctx.measureText(l).width},t.bounds.left)}},e.prototype.createFontStyle=function(t){var r=t.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),n=uC(t.fontFamily).join(", "),s=gn(t.fontSize)?""+t.fontSize.number+t.fontSize.unit:t.fontSize.number+"px";return[[t.fontStyle,r,t.fontWeight,s,n].join(" "),n,s]},e.prototype.renderTextNode=function(t,r){return Ye(this,void 0,void 0,function(){var n,s,i,o,l,c,u,d,g=this;return Ne(this,function(p){return n=this.createFontStyle(r),s=n[0],i=n[1],o=n[2],this.ctx.font=s,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",l=this.fontMetrics.getMetrics(i,o),c=l.baseline,u=l.middle,d=r.paintOrder,t.textBounds.forEach(function(B){d.forEach(function(C){switch(C){case 0:g.ctx.fillStyle=Se(r.color),g.renderTextWithLetterSpacing(B,r.letterSpacing,c);var E=r.textShadow;E.length&&B.text.trim().length&&(E.slice(0).reverse().forEach(function(I){g.ctx.shadowColor=Se(I.color),g.ctx.shadowOffsetX=I.offsetX.number*g.options.scale,g.ctx.shadowOffsetY=I.offsetY.number*g.options.scale,g.ctx.shadowBlur=I.blur.number,g.renderTextWithLetterSpacing(B,r.letterSpacing,c)}),g.ctx.shadowColor="",g.ctx.shadowOffsetX=0,g.ctx.shadowOffsetY=0,g.ctx.shadowBlur=0),r.textDecorationLine.length&&(g.ctx.fillStyle=Se(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(I){switch(I){case 1:g.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top+c),B.bounds.width,1);break;case 2:g.ctx.fillRect(B.bounds.left,Math.round(B.bounds.top),B.bounds.width,1);break;case 3:g.ctx.fillRect(B.bounds.left,Math.ceil(B.bounds.top+u),B.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&B.text.trim().length&&(g.ctx.strokeStyle=Se(r.webkitTextStrokeColor),g.ctx.lineWidth=r.webkitTextStrokeWidth,g.ctx.lineJoin=window.chrome?"miter":"round",g.ctx.strokeText(B.text,B.bounds.left,B.bounds.top+c)),g.ctx.strokeStyle="",g.ctx.lineWidth=0,g.ctx.lineJoin="miter";break}})}),[2]})})},e.prototype.renderReplacedElement=function(t,r,n){if(n&&t.intrinsicWidth>0&&t.intrinsicHeight>0){var s=yi(t),i=wi(r);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,t.intrinsicWidth,t.intrinsicHeight,s.left,s.top,s.width,s.height),this.ctx.restore()}},e.prototype.renderNodeContent=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l,Q,Q,c,u,d,g,k,p,B,H,C,E,I,Q,S,k,H;return Ne(this,function(R){switch(R.label){case 0:this.applyEffects(t.getEffects(4)),r=t.container,n=t.curves,s=r.styles,i=0,o=r.textNodes,R.label=1;case 1:return i<o.length?(l=o[i],[4,this.renderTextNode(l,s)]):[3,4];case 2:R.sent(),R.label=3;case 3:return i++,[3,1];case 4:if(!(r instanceof Dh))return[3,8];R.label=5;case 5:return R.trys.push([5,7,,8]),[4,this.context.cache.match(r.src)];case 6:return Q=R.sent(),this.renderReplacedElement(r,n,Q),[3,8];case 7:return R.sent(),this.context.logger.error("Error loading image "+r.src),[3,8];case 8:if(r instanceof Oh&&this.renderReplacedElement(r,n,r.canvas),!(r instanceof Ph))return[3,12];R.label=9;case 9:return R.trys.push([9,11,,12]),[4,this.context.cache.match(r.svg)];case 10:return Q=R.sent(),this.renderReplacedElement(r,n,Q),[3,12];case 11:return R.sent(),this.context.logger.error("Error loading svg "+r.svg.substring(0,255)),[3,12];case 12:return r instanceof Gh&&r.tree?(c=new e(this.context,{scale:this.options.scale,backgroundColor:r.backgroundColor,x:0,y:0,width:r.width,height:r.height}),[4,c.render(r.tree)]):[3,14];case 13:u=R.sent(),r.width&&r.height&&this.ctx.drawImage(u,0,0,r.width,r.height,r.bounds.left,r.bounds.top,r.bounds.width,r.bounds.height),R.label=14;case 14:if(r instanceof xa&&(d=Math.min(r.bounds.width,r.bounds.height),r.type===li?r.checked&&(this.ctx.save(),this.path([new N(r.bounds.left+d*.39363,r.bounds.top+d*.79),new N(r.bounds.left+d*.16,r.bounds.top+d*.5549),new N(r.bounds.left+d*.27347,r.bounds.top+d*.44071),new N(r.bounds.left+d*.39694,r.bounds.top+d*.5649),new N(r.bounds.left+d*.72983,r.bounds.top+d*.23),new N(r.bounds.left+d*.84,r.bounds.top+d*.34085),new N(r.bounds.left+d*.39363,r.bounds.top+d*.79)]),this.ctx.fillStyle=Se(Vh),this.ctx.fill(),this.ctx.restore()):r.type===ci&&r.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(r.bounds.left+d/2,r.bounds.top+d/2,d/4,0,Math.PI*2,!0),this.ctx.fillStyle=Se(Vh),this.ctx.fill(),this.ctx.restore())),oC(r)&&r.value.length){switch(g=this.createFontStyle(s),k=g[0],p=g[1],B=this.fontMetrics.getMetrics(k,p).baseline,this.ctx.font=k,this.ctx.fillStyle=Se(s.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lC(r.styles.textAlign),H=yi(r),C=0,r.styles.textAlign){case 1:C+=H.width/2;break;case 2:C+=H.width;break}E=H.add(C,0,0,-H.height/2+1),this.ctx.save(),this.path([new N(H.left,H.top),new N(H.left+H.width,H.top),new N(H.left+H.width,H.top+H.height),new N(H.left,H.top+H.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new yn(r.value,E),s.letterSpacing,B),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Ie(r.styles.display,2048))return[3,20];if(r.styles.listStyleImage===null)return[3,19];if(I=r.styles.listStyleImage,I.type!==0)return[3,18];Q=void 0,S=I.url,R.label=15;case 15:return R.trys.push([15,17,,18]),[4,this.context.cache.match(S)];case 16:return Q=R.sent(),this.ctx.drawImage(Q,r.bounds.left-(Q.width+10),r.bounds.top),[3,18];case 17:return R.sent(),this.context.logger.error("Error loading list-style-image "+S),[3,18];case 18:return[3,20];case 19:t.listValue&&r.styles.listStyleType!==-1&&(k=this.createFontStyle(s)[0],this.ctx.font=k,this.ctx.fillStyle=Se(s.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",H=new Xt(r.bounds.left,r.bounds.top+oe(r.styles.paddingTop,r.bounds.width),r.bounds.width,Bh(s.lineHeight,s.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new yn(t.listValue,H),s.letterSpacing,Bh(s.lineHeight,s.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),R.label=20;case 20:return[2]}})})},e.prototype.renderStackContent=function(t){return Ye(this,void 0,void 0,function(){var r,n,I,s,i,I,o,l,I,c,u,I,d,g,I,p,B,I,C,E,I;return Ne(this,function(Q){switch(Q.label){case 0:if(Ie(t.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(t.element)];case 1:Q.sent(),r=0,n=t.negativeZIndex,Q.label=2;case 2:return r<n.length?(I=n[r],[4,this.renderStack(I)]):[3,5];case 3:Q.sent(),Q.label=4;case 4:return r++,[3,2];case 5:return[4,this.renderNodeContent(t.element)];case 6:Q.sent(),s=0,i=t.nonInlineLevel,Q.label=7;case 7:return s<i.length?(I=i[s],[4,this.renderNode(I)]):[3,10];case 8:Q.sent(),Q.label=9;case 9:return s++,[3,7];case 10:o=0,l=t.nonPositionedFloats,Q.label=11;case 11:return o<l.length?(I=l[o],[4,this.renderStack(I)]):[3,14];case 12:Q.sent(),Q.label=13;case 13:return o++,[3,11];case 14:c=0,u=t.nonPositionedInlineLevel,Q.label=15;case 15:return c<u.length?(I=u[c],[4,this.renderStack(I)]):[3,18];case 16:Q.sent(),Q.label=17;case 17:return c++,[3,15];case 18:d=0,g=t.inlineLevel,Q.label=19;case 19:return d<g.length?(I=g[d],[4,this.renderNode(I)]):[3,22];case 20:Q.sent(),Q.label=21;case 21:return d++,[3,19];case 22:p=0,B=t.zeroOrAutoZIndexOrTransformedOrOpacity,Q.label=23;case 23:return p<B.length?(I=B[p],[4,this.renderStack(I)]):[3,26];case 24:Q.sent(),Q.label=25;case 25:return p++,[3,23];case 26:C=0,E=t.positiveZIndex,Q.label=27;case 27:return C<E.length?(I=E[C],[4,this.renderStack(I)]):[3,30];case 28:Q.sent(),Q.label=29;case 29:return C++,[3,27];case 30:return[2]}})})},e.prototype.mask=function(t){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(t.slice(0).reverse()),this.ctx.closePath()},e.prototype.path=function(t){this.ctx.beginPath(),this.formatPath(t),this.ctx.closePath()},e.prototype.formatPath=function(t){var r=this;t.forEach(function(n,s){var i=yt(n)?n.start:n;s===0?r.ctx.moveTo(i.x,i.y):r.ctx.lineTo(i.x,i.y),yt(n)&&r.ctx.bezierCurveTo(n.startControl.x,n.startControl.y,n.endControl.x,n.endControl.y,n.end.x,n.end.y)})},e.prototype.renderRepeat=function(t,r,n,s){this.path(t),this.ctx.fillStyle=r,this.ctx.translate(n,s),this.ctx.fill(),this.ctx.translate(-n,-s)},e.prototype.resizeImage=function(t,r,n){var s;if(t.width===r&&t.height===n)return t;var i=(s=this.canvas.ownerDocument)!==null&&s!==void 0?s:document,o=i.createElement("canvas");o.width=Math.max(1,r),o.height=Math.max(1,n);var l=o.getContext("2d");return l.drawImage(t,0,0,t.width,t.height,0,0,r,n),o},e.prototype.renderBackgroundImage=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l;return Ne(this,function(c){switch(c.label){case 0:r=t.styles.backgroundImage.length-1,n=function(u){var d,g,p,b,$e,Qe,v,se,m,B,b,$e,Qe,v,se,C,E,I,Q,S,k,H,R,_,m,y,b,U,F,v,se,at,$e,Qe,gt,lt,Ht,oA,We,le,aA,et;return Ne(this,function(xA){switch(xA.label){case 0:if(u.type!==0)return[3,5];d=void 0,g=u.url,xA.label=1;case 1:return xA.trys.push([1,3,,4]),[4,s.context.cache.match(g)];case 2:return d=xA.sent(),[3,4];case 3:return xA.sent(),s.context.logger.error("Error loading background-image "+g),[3,4];case 4:return d&&(p=Ga(t,r,[d.width,d.height,d.width/d.height]),b=p[0],$e=p[1],Qe=p[2],v=p[3],se=p[4],m=s.ctx.createPattern(s.resizeImage(d,v,se),"repeat"),s.renderRepeat(b,m,$e,Qe)),[3,6];case 5:$y(u)?(B=Ga(t,r,[null,null,null]),b=B[0],$e=B[1],Qe=B[2],v=B[3],se=B[4],C=Vy(u.angle,v,se),E=C[0],I=C[1],Q=C[2],S=C[3],k=C[4],H=document.createElement("canvas"),H.width=v,H.height=se,R=H.getContext("2d"),_=R.createLinearGradient(I,S,Q,k),oh(u.stops,E).forEach(function(qt){return _.addColorStop(qt.stop,Se(qt.color))}),R.fillStyle=_,R.fillRect(0,0,v,se),v>0&&se>0&&(m=s.ctx.createPattern(H,"repeat"),s.renderRepeat(b,m,$e,Qe))):Wy(u)&&(y=Ga(t,r,[null,null,null]),b=y[0],U=y[1],F=y[2],v=y[3],se=y[4],at=u.position.length===0?[pa]:u.position,$e=oe(at[0],v),Qe=oe(at[at.length-1],se),gt=My(u,$e,Qe,v,se),lt=gt[0],Ht=gt[1],lt>0&&Ht>0&&(oA=s.ctx.createRadialGradient(U+$e,F+Qe,0,U+$e,F+Qe,lt),oh(u.stops,lt*2).forEach(function(qt){return oA.addColorStop(qt.stop,Se(qt.color))}),s.path(b),s.ctx.fillStyle=oA,lt!==Ht?(We=t.bounds.left+.5*t.bounds.width,le=t.bounds.top+.5*t.bounds.height,aA=Ht/lt,et=1/aA,s.ctx.save(),s.ctx.translate(We,le),s.ctx.transform(1,0,0,aA,0,0),s.ctx.translate(-We,-le),s.ctx.fillRect(U,et*(F-le)+le,v,se*et),s.ctx.restore()):s.ctx.fill())),xA.label=6;case 6:return r--,[2]}})},s=this,i=0,o=t.styles.backgroundImage.slice(0).reverse(),c.label=1;case 1:return i<o.length?(l=o[i],[5,n(l)]):[3,4];case 2:c.sent(),c.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},e.prototype.renderSolidBorder=function(t,r,n){return Ye(this,void 0,void 0,function(){return Ne(this,function(s){return this.path(pd(n,r)),this.ctx.fillStyle=Se(t),this.ctx.fill(),[2]})})},e.prototype.renderDoubleBorder=function(t,r,n,s){return Ye(this,void 0,void 0,function(){var i,o;return Ne(this,function(l){switch(l.label){case 0:return r<3?[4,this.renderSolidBorder(t,n,s)]:[3,2];case 1:return l.sent(),[2];case 2:return i=X_(s,n),this.path(i),this.ctx.fillStyle=Se(t),this.ctx.fill(),o=z_(s,n),this.path(o),this.ctx.fill(),[2]}})})},e.prototype.renderNodeBackgroundAndBorders=function(t){return Ye(this,void 0,void 0,function(){var r,n,s,i,o,l,c,u,d=this;return Ne(this,function(g){switch(g.label){case 0:return this.applyEffects(t.getEffects(2)),r=t.container.styles,n=!wA(r.backgroundColor)||r.backgroundImage.length,s=[{style:r.borderTopStyle,color:r.borderTopColor,width:r.borderTopWidth},{style:r.borderRightStyle,color:r.borderRightColor,width:r.borderRightWidth},{style:r.borderBottomStyle,color:r.borderBottomColor,width:r.borderBottomWidth},{style:r.borderLeftStyle,color:r.borderLeftColor,width:r.borderLeftWidth}],i=aC(Er(r.backgroundClip,0),t.curves),n||r.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),wA(r.backgroundColor)||(this.ctx.fillStyle=Se(r.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(t.container)]):[3,2];case 1:g.sent(),this.ctx.restore(),r.boxShadow.slice(0).reverse().forEach(function(p){d.ctx.save();var B=pi(t.curves),C=p.inset?0:sC,E=q_(B,-C+(p.inset?1:-1)*p.spread.number,(p.inset?1:-1)*p.spread.number,p.spread.number*(p.inset?-2:2),p.spread.number*(p.inset?-2:2));p.inset?(d.path(B),d.ctx.clip(),d.mask(E)):(d.mask(B),d.ctx.clip(),d.path(E)),d.ctx.shadowOffsetX=p.offsetX.number+C,d.ctx.shadowOffsetY=p.offsetY.number,d.ctx.shadowColor=Se(p.color),d.ctx.shadowBlur=p.blur.number,d.ctx.fillStyle=p.inset?Se(p.color):"rgba(0,0,0,1)",d.ctx.fill(),d.ctx.restore()}),g.label=2;case 2:o=0,l=0,c=s,g.label=3;case 3:return l<c.length?(u=c[l],u.style!==0&&!wA(u.color)&&u.width>0?u.style!==2?[3,5]:[4,this.renderDashedDottedBorder(u.color,u.width,o,t.curves,2)]:[3,11]):[3,13];case 4:return g.sent(),[3,11];case 5:return u.style!==3?[3,7]:[4,this.renderDashedDottedBorder(u.color,u.width,o,t.curves,3)];case 6:return g.sent(),[3,11];case 7:return u.style!==4?[3,9]:[4,this.renderDoubleBorder(u.color,u.width,o,t.curves)];case 8:return g.sent(),[3,11];case 9:return[4,this.renderSolidBorder(u.color,o,t.curves)];case 10:g.sent(),g.label=11;case 11:o++,g.label=12;case 12:return l++,[3,3];case 13:return[2]}})})},e.prototype.renderDashedDottedBorder=function(t,r,n,s,i){return Ye(this,void 0,void 0,function(){var o,l,c,u,d,g,p,B,C,E,I,Q,S,k,H,R,H,R;return Ne(this,function(_){return this.ctx.save(),o=Y_(s,n),l=pd(s,n),i===2&&(this.path(l),this.ctx.clip()),yt(l[0])?(c=l[0].start.x,u=l[0].start.y):(c=l[0].x,u=l[0].y),yt(l[1])?(d=l[1].end.x,g=l[1].end.y):(d=l[1].x,g=l[1].y),n===0||n===2?p=Math.abs(c-d):p=Math.abs(u-g),this.ctx.beginPath(),i===3?this.formatPath(o):this.formatPath(l.slice(0,2)),B=r<3?r*3:r*2,C=r<3?r*2:r,i===3&&(B=r,C=r),E=!0,p<=B*2?E=!1:p<=B*2+C?(I=p/(2*B+C),B*=I,C*=I):(Q=Math.floor((p+C)/(B+C)),S=(p-Q*B)/(Q-1),k=(p-(Q+1)*B)/Q,C=k<=0||Math.abs(C-S)<Math.abs(C-k)?S:k),E&&(i===3?this.ctx.setLineDash([0,B+C]):this.ctx.setLineDash([B,C])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=r):this.ctx.lineWidth=r*2+1.1,this.ctx.strokeStyle=Se(t),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(yt(l[0])&&(H=l[3],R=l[0],this.ctx.beginPath(),this.formatPath([new N(H.end.x,H.end.y),new N(R.start.x,R.start.y)]),this.ctx.stroke()),yt(l[1])&&(H=l[1],R=l[2],this.ctx.beginPath(),this.formatPath([new N(H.end.x,H.end.y),new N(R.start.x,R.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},e.prototype.render=function(t){return Ye(this,void 0,void 0,function(){var r;return Ne(this,function(n){switch(n.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=Se(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),r=J_(t),[4,this.renderStack(r)];case 1:return n.sent(),this.applyEffects([]),[2,this.canvas]}})})},e}(md),oC=function(A){return A instanceof Kh||A instanceof Mh?!0:A instanceof xa&&A.type!==ci&&A.type!==li},aC=function(A,e){switch(A){case 0:return pi(e);case 2:return K_(e);case 1:default:return wi(e)}},lC=function(A){switch(A){case 1:return"center";case 2:return"right";case 0:default:return"left"}},cC=["-apple-system","system-ui"],uC=function(A){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?A.filter(function(e){return cC.indexOf(e)===-1}):A},hC=function(A){bt(e,A);function e(t,r){var n=A.call(this,t,r)||this;return n.canvas=r.canvas?r.canvas:document.createElement("canvas"),n.ctx=n.canvas.getContext("2d"),n.options=r,n.canvas.width=Math.floor(r.width*r.scale),n.canvas.height=Math.floor(r.height*r.scale),n.canvas.style.width=r.width+"px",n.canvas.style.height=r.height+"px",n.ctx.scale(n.options.scale,n.options.scale),n.ctx.translate(-r.x,-r.y),n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+r.width+"x"+r.height+" at "+r.x+","+r.y+") with scale "+r.scale),n}return e.prototype.render=function(t){return Ye(this,void 0,void 0,function(){var r,n;return Ne(this,function(s){switch(s.label){case 0:return r=Ta(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,t),[4,dC(r)];case 1:return n=s.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=Se(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(n,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},e}(md),dC=function(A){return new Promise(function(e,t){var r=new Image;r.onload=function(){e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(A))})},fC=function(){function A(e){var t=e.id,r=e.enabled;this.id=t,this.enabled=r,this.start=Date.now()}return A.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.prototype.getTime=function(){return Date.now()-this.start},A.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,Fs([this.id,this.getTime()+"ms"],e))},A.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,Fs([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},A.instances={},A}(),gC=function(){function A(e,t){var r;this.windowBounds=t,this.instanceName="#"+A.instanceCount++,this.logger=new fC({id:this.instanceName,enabled:e.logging}),this.cache=(r=e.cache)!==null&&r!==void 0?r:new H_(this,e)}return A.instanceCount=1,A}(),pC=function(A,e){return e===void 0&&(e={}),wC(A,e)};typeof window<"u"&&cd.setContext(window);var wC=function(A,e){return Ye(void 0,void 0,void 0,function(){var t,r,n,s,i,o,l,c,u,d,g,p,B,C,E,I,Q,S,k,H,_,R,_,m,y,b,U,F,v,se,at,$e,Qe,gt,lt,Ht,oA,We,le,aA;return Ne(this,function(et){switch(et.label){case 0:if(!A||typeof A!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(t=A.ownerDocument,!t)throw new Error("Element is not attached to a Document");if(r=t.defaultView,!r)throw new Error("Document is not attached to a Window");return n={allowTaint:(m=e.allowTaint)!==null&&m!==void 0?m:!1,imageTimeout:(y=e.imageTimeout)!==null&&y!==void 0?y:15e3,proxy:e.proxy,useCORS:(b=e.useCORS)!==null&&b!==void 0?b:!1},s=Jo({logging:(U=e.logging)!==null&&U!==void 0?U:!0,cache:e.cache},n),i={windowWidth:(F=e.windowWidth)!==null&&F!==void 0?F:r.innerWidth,windowHeight:(v=e.windowHeight)!==null&&v!==void 0?v:r.innerHeight,scrollX:(se=e.scrollX)!==null&&se!==void 0?se:r.pageXOffset,scrollY:(at=e.scrollY)!==null&&at!==void 0?at:r.pageYOffset},o=new Xt(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),l=new gC(s,o),c=($e=e.foreignObjectRendering)!==null&&$e!==void 0?$e:!1,u={allowTaint:(Qe=e.allowTaint)!==null&&Qe!==void 0?Qe:!1,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:c,copyStyles:c},l.logger.debug("Starting document clone with size "+o.width+"x"+o.height+" scrolled to "+-o.left+","+-o.top),d=new ad(l,A,u),g=d.clonedReferenceElement,g?[4,d.toIFrame(t,o)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return p=et.sent(),B=Ha(g)||B_(g)?qB(g.ownerDocument):Ts(l,g),C=B.width,E=B.height,I=B.left,Q=B.top,S=BC(l,g,e.backgroundColor),k={canvas:e.canvas,backgroundColor:S,scale:(lt=(gt=e.scale)!==null&>!==void 0?gt:r.devicePixelRatio)!==null&<!==void 0?lt:1,x:((Ht=e.x)!==null&&Ht!==void 0?Ht:0)+I,y:((oA=e.y)!==null&&oA!==void 0?oA:0)+Q,width:(We=e.width)!==null&&We!==void 0?We:Math.ceil(C),height:(le=e.height)!==null&&le!==void 0?le:Math.ceil(E)},c?(l.logger.debug("Document cloned, using foreign object rendering"),_=new hC(l,k),[4,_.render(g)]):[3,3];case 2:return H=et.sent(),[3,5];case 3:return l.logger.debug("Document cloned, element located at "+I+","+Q+" with size "+C+"x"+E+" using computed rendering"),l.logger.debug("Starting DOM parsing"),R=$h(l,g),S===R.styles.backgroundColor&&(R.styles.backgroundColor=Yt.TRANSPARENT),l.logger.debug("Starting renderer for element at "+k.x+","+k.y+" with size "+k.width+"x"+k.height),_=new iC(l,k),[4,_.render(R)];case 4:H=et.sent(),et.label=5;case 5:return(!((aA=e.removeContainer)!==null&&aA!==void 0)||aA)&&(ad.destroy(p)||l.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),l.logger.debug("Finished rendering"),[2,H]}})})},BC=function(A,e,t){var r=e.ownerDocument,n=r.documentElement?wn(A,getComputedStyle(r.documentElement).backgroundColor):Yt.TRANSPARENT,s=r.body?wn(A,getComputedStyle(r.body).backgroundColor):Yt.TRANSPARENT,i=typeof t=="string"?wn(A,t):t===null?Yt.TRANSPARENT:4294967295;return e===r.documentElement?wA(n)?wA(s)?i:s:n:i};const mC=Object.freeze(Object.defineProperty({__proto__:null,default:pC},Symbol.toStringTag,{value:"Module"}));/**
|
|
794
794
|
* @license
|
|
795
795
|
* Copyright 2017 Google LLC
|
|
796
796
|
*
|
|
@@ -820,7 +820,7 @@
|
|
|
820
820
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
821
821
|
* See the License for the specific language governing permissions and
|
|
822
822
|
* limitations under the License.
|
|
823
|
-
*/const yd=function(A){const e=[];let t=0;for(let r=0;r<A.length;r++){let n=A.charCodeAt(r);n<128?e[t++]=n:n<2048?(e[t++]=n>>6|192,e[t++]=n&63|128):(n&64512)===55296&&r+1<A.length&&(A.charCodeAt(r+1)&64512)===56320?(n=65536+((n&1023)<<10)+(A.charCodeAt(++r)&1023),e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128)}return e},
|
|
823
|
+
*/const yd=function(A){const e=[];let t=0;for(let r=0;r<A.length;r++){let n=A.charCodeAt(r);n<128?e[t++]=n:n<2048?(e[t++]=n>>6|192,e[t++]=n&63|128):(n&64512)===55296&&r+1<A.length&&(A.charCodeAt(r+1)&64512)===56320?(n=65536+((n&1023)<<10)+(A.charCodeAt(++r)&1023),e[t++]=n>>18|240,e[t++]=n>>12&63|128,e[t++]=n>>6&63|128,e[t++]=n&63|128):(e[t++]=n>>12|224,e[t++]=n>>6&63|128,e[t++]=n&63|128)}return e},yC=function(A){const e=[];let t=0,r=0;for(;t<A.length;){const n=A[t++];if(n<128)e[r++]=String.fromCharCode(n);else if(n>191&&n<224){const s=A[t++];e[r++]=String.fromCharCode((n&31)<<6|s&63)}else if(n>239&&n<365){const s=A[t++],i=A[t++],o=A[t++],l=((n&7)<<18|(s&63)<<12|(i&63)<<6|o&63)-65536;e[r++]=String.fromCharCode(55296+(l>>10)),e[r++]=String.fromCharCode(56320+(l&1023))}else{const s=A[t++],i=A[t++];e[r++]=String.fromCharCode((n&15)<<12|(s&63)<<6|i&63)}}return e.join("")},vd={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray(A,e){if(!Array.isArray(A))throw Error("encodeByteArray takes an array as a parameter");this.init_();const t=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let n=0;n<A.length;n+=3){const s=A[n],i=n+1<A.length,o=i?A[n+1]:0,l=n+2<A.length,c=l?A[n+2]:0,u=s>>2,d=(s&3)<<4|o>>4;let g=(o&15)<<2|c>>6,p=c&63;l||(p=64,i||(g=64)),r.push(t[u],t[d],t[g],t[p])}return r.join("")},encodeString(A,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(A):this.encodeByteArray(yd(A),e)},decodeString(A,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(A):yC(this.decodeStringToByteArray(A,e))},decodeStringToByteArray(A,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let n=0;n<A.length;){const s=t[A.charAt(n++)],o=n<A.length?t[A.charAt(n)]:0;++n;const c=n<A.length?t[A.charAt(n)]:64;++n;const d=n<A.length?t[A.charAt(n)]:64;if(++n,s==null||o==null||c==null||d==null)throw new vC;const g=s<<2|o>>4;if(r.push(g),c!==64){const p=o<<4&240|c>>2;if(r.push(p),d!==64){const B=c<<6&192|d;r.push(B)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let A=0;A<this.ENCODED_VALS.length;A++)this.byteToCharMap_[A]=this.ENCODED_VALS.charAt(A),this.charToByteMap_[this.byteToCharMap_[A]]=A,this.byteToCharMapWebSafe_[A]=this.ENCODED_VALS_WEBSAFE.charAt(A),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[A]]=A,A>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(A)]=A,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(A)]=A)}}};class vC extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const _C=function(A){const e=yd(A);return vd.encodeByteArray(e,!0)},_i=function(A){return _C(A).replace(/\./g,"")},CC=function(A){try{return vd.decodeString(A,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
|
|
824
824
|
* @license
|
|
825
825
|
* Copyright 2022 Google LLC
|
|
826
826
|
*
|
|
@@ -835,7 +835,7 @@
|
|
|
835
835
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
836
836
|
* See the License for the specific language governing permissions and
|
|
837
837
|
* limitations under the License.
|
|
838
|
-
*/function
|
|
838
|
+
*/function EC(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}/**
|
|
839
839
|
* @license
|
|
840
840
|
* Copyright 2022 Google LLC
|
|
841
841
|
*
|
|
@@ -850,7 +850,7 @@
|
|
|
850
850
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
851
851
|
* See the License for the specific language governing permissions and
|
|
852
852
|
* limitations under the License.
|
|
853
|
-
*/const
|
|
853
|
+
*/const bC=()=>EC().__FIREBASE_DEFAULTS__,UC=()=>{if(typeof process>"u"||typeof process.env>"u")return;const A=process.env.__FIREBASE_DEFAULTS__;if(A)return JSON.parse(A)},QC=()=>{if(typeof document>"u")return;let A;try{A=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=A&&CC(A[1]);return e&&JSON.parse(e)},ja=()=>{try{return bC()||UC()||QC()}catch(A){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${A}`);return}},IC=A=>{var e,t;return(t=(e=ja())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[A]},_d=A=>{const e=IC(A);if(!e)return;const t=e.lastIndexOf(":");if(t<=0||t+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const r=parseInt(e.substring(t+1),10);return e[0]==="["?[e.substring(1,t-1),r]:[e.substring(0,t),r]},Cd=()=>{var A;return(A=ja())===null||A===void 0?void 0:A.config};/**
|
|
854
854
|
* @license
|
|
855
855
|
* Copyright 2017 Google LLC
|
|
856
856
|
*
|
|
@@ -865,7 +865,7 @@
|
|
|
865
865
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
866
866
|
* See the License for the specific language governing permissions and
|
|
867
867
|
* limitations under the License.
|
|
868
|
-
*/let
|
|
868
|
+
*/let FC=class{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),typeof e=="function"&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,r))}}};/**
|
|
869
869
|
* @license
|
|
870
870
|
* Copyright 2021 Google LLC
|
|
871
871
|
*
|
|
@@ -895,7 +895,7 @@
|
|
|
895
895
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
896
896
|
* See the License for the specific language governing permissions and
|
|
897
897
|
* limitations under the License.
|
|
898
|
-
*/function
|
|
898
|
+
*/function TC(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function SC(){var A;const e=(A=ja())===null||A===void 0?void 0:A.forceEnvironment;if(e==="node")return!0;if(e==="browser")return!1;try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function RC(){return!SC()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function xC(){try{return typeof indexedDB=="object"}catch{return!1}}function kC(){return new Promise((A,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",n=self.indexedDB.open(r);n.onsuccess=()=>{n.result.close(),t||self.indexedDB.deleteDatabase(r),A(!0)},n.onupgradeneeded=()=>{t=!1},n.onerror=()=>{var s;e(((s=n.error)===null||s===void 0?void 0:s.message)||"")}}catch(t){e(t)}})}/**
|
|
899
899
|
* @license
|
|
900
900
|
* Copyright 2017 Google LLC
|
|
901
901
|
*
|
|
@@ -910,7 +910,7 @@
|
|
|
910
910
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
911
911
|
* See the License for the specific language governing permissions and
|
|
912
912
|
* limitations under the License.
|
|
913
|
-
*/const
|
|
913
|
+
*/const HC="FirebaseError";class KA extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=HC,Object.setPrototypeOf(this,KA.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,bd.prototype.create)}}class bd{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,s=this.errors[e],i=s?LC(s,r):"Error",o=`${this.serviceName}: ${i} (${n}).`;return new KA(n,o,r)}}function LC(A,e){return A.replace(DC,(t,r)=>{const n=e[r];return n!=null?String(n):`<${r}?>`})}const DC=/\{\$([^}]+)}/g;function $a(A,e){if(A===e)return!0;const t=Object.keys(A),r=Object.keys(e);for(const n of t){if(!r.includes(n))return!1;const s=A[n],i=e[n];if(Ud(s)&&Ud(i)){if(!$a(s,i))return!1}else if(s!==i)return!1}for(const n of r)if(!t.includes(n))return!1;return!0}function Ud(A){return A!==null&&typeof A=="object"}/**
|
|
914
914
|
* @license
|
|
915
915
|
* Copyright 2021 Google LLC
|
|
916
916
|
*
|
|
@@ -955,7 +955,7 @@
|
|
|
955
955
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
956
956
|
* See the License for the specific language governing permissions and
|
|
957
957
|
* limitations under the License.
|
|
958
|
-
*/class
|
|
958
|
+
*/class OC{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const r=new FC;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&r.resolve(n)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),n=(t=e==null?void 0:e.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(s){if(n)return null;throw s}else{if(n)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,!!this.shouldAutoInitialize()){if(NC(e))try{this.getOrInitializeService({instanceIdentifier:GA})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const n=this.normalizeInstanceIdentifier(t);try{const s=this.getOrInitializeService({instanceIdentifier:n});r.resolve(s)}catch{}}}}clearInstance(e=GA){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...e.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=GA){return this.instances.has(e)}getOptions(e=GA){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[s,i]of this.instancesDeferred.entries()){const o=this.normalizeInstanceIdentifier(s);r===o&&i.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),s=(r=this.onInitCallbacks.get(n))!==null&&r!==void 0?r:new Set;s.add(e),this.onInitCallbacks.set(n,s);const i=this.instances.get(n);return i&&e(i,n),()=>{s.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:PC(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=GA){return this.component?this.component.multipleInstances?e:GA:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function PC(A){return A===GA?void 0:A}function NC(A){return A.instantiationMode==="EAGER"}/**
|
|
959
959
|
* @license
|
|
960
960
|
* Copyright 2019 Google LLC
|
|
961
961
|
*
|
|
@@ -970,7 +970,7 @@
|
|
|
970
970
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
971
971
|
* See the License for the specific language governing permissions and
|
|
972
972
|
* limitations under the License.
|
|
973
|
-
*/class
|
|
973
|
+
*/class VC{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new OC(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
|
|
974
974
|
* @license
|
|
975
975
|
* Copyright 2017 Google LLC
|
|
976
976
|
*
|
|
@@ -985,7 +985,7 @@
|
|
|
985
985
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
986
986
|
* See the License for the specific language governing permissions and
|
|
987
987
|
* limitations under the License.
|
|
988
|
-
*/var Z;(function(A){A[A.DEBUG=0]="DEBUG",A[A.VERBOSE=1]="VERBOSE",A[A.INFO=2]="INFO",A[A.WARN=3]="WARN",A[A.ERROR=4]="ERROR",A[A.SILENT=5]="SILENT"})(Z||(Z={}));const
|
|
988
|
+
*/var Z;(function(A){A[A.DEBUG=0]="DEBUG",A[A.VERBOSE=1]="VERBOSE",A[A.INFO=2]="INFO",A[A.WARN=3]="WARN",A[A.ERROR=4]="ERROR",A[A.SILENT=5]="SILENT"})(Z||(Z={}));const MC={debug:Z.DEBUG,verbose:Z.VERBOSE,info:Z.INFO,warn:Z.WARN,error:Z.ERROR,silent:Z.SILENT},KC=Z.INFO,GC={[Z.DEBUG]:"log",[Z.VERBOSE]:"log",[Z.INFO]:"info",[Z.WARN]:"warn",[Z.ERROR]:"error"},jC=(A,e,...t)=>{if(e<A.logLevel)return;const r=new Date().toISOString(),n=GC[e];if(n)console[n](`[${r}] ${A.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Qd{constructor(e){this.name=e,this._logLevel=KC,this._logHandler=jC,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in Z))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?MC[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!="function")throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,Z.DEBUG,...e),this._logHandler(this,Z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,Z.VERBOSE,...e),this._logHandler(this,Z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,Z.INFO,...e),this._logHandler(this,Z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,Z.WARN,...e),this._logHandler(this,Z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,Z.ERROR,...e),this._logHandler(this,Z.ERROR,...e)}}const $C=(A,e)=>e.some(t=>A instanceof t);let Id,Fd;function WC(){return Id||(Id=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function qC(){return Fd||(Fd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Td=new WeakMap,Wa=new WeakMap,Sd=new WeakMap,qa=new WeakMap,Ja=new WeakMap;function JC(A){const e=new Promise((t,r)=>{const n=()=>{A.removeEventListener("success",s),A.removeEventListener("error",i)},s=()=>{t(vA(A.result)),n()},i=()=>{r(A.error),n()};A.addEventListener("success",s),A.addEventListener("error",i)});return e.then(t=>{t instanceof IDBCursor&&Td.set(t,A)}).catch(()=>{}),Ja.set(e,A),e}function XC(A){if(Wa.has(A))return;const e=new Promise((t,r)=>{const n=()=>{A.removeEventListener("complete",s),A.removeEventListener("error",i),A.removeEventListener("abort",i)},s=()=>{t(),n()},i=()=>{r(A.error||new DOMException("AbortError","AbortError")),n()};A.addEventListener("complete",s),A.addEventListener("error",i),A.addEventListener("abort",i)});Wa.set(A,e)}let Xa={get(A,e,t){if(A instanceof IDBTransaction){if(e==="done")return Wa.get(A);if(e==="objectStoreNames")return A.objectStoreNames||Sd.get(A);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return vA(A[e])},set(A,e,t){return A[e]=t,!0},has(A,e){return A instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in A}};function zC(A){Xa=A(Xa)}function YC(A){return A===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=A.call(za(this),e,...t);return Sd.set(r,e.sort?e.sort():[e]),vA(r)}:qC().includes(A)?function(...e){return A.apply(za(this),e),vA(Td.get(this))}:function(...e){return vA(A.apply(za(this),e))}}function ZC(A){return typeof A=="function"?YC(A):(A instanceof IDBTransaction&&XC(A),$C(A,WC())?new Proxy(A,Xa):A)}function vA(A){if(A instanceof IDBRequest)return JC(A);if(qa.has(A))return qa.get(A);const e=ZC(A);return e!==A&&(qa.set(A,e),Ja.set(e,A)),e}const za=A=>Ja.get(A);function eE(A,e,{blocked:t,upgrade:r,blocking:n,terminated:s}={}){const i=indexedDB.open(A,e),o=vA(i);return r&&i.addEventListener("upgradeneeded",l=>{r(vA(i.result),l.oldVersion,l.newVersion,vA(i.transaction),l)}),t&&i.addEventListener("blocked",l=>t(l.oldVersion,l.newVersion,l)),o.then(l=>{s&&l.addEventListener("close",()=>s()),n&&l.addEventListener("versionchange",c=>n(c.oldVersion,c.newVersion,c))}).catch(()=>{}),o}const tE=["get","getKey","getAll","getAllKeys","count"],AE=["put","add","delete","clear"],Ya=new Map;function Rd(A,e){if(!(A instanceof IDBDatabase&&!(e in A)&&typeof e=="string"))return;if(Ya.get(e))return Ya.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,n=AE.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(n||tE.includes(t)))return;const s=async function(i,...o){const l=this.transaction(i,n?"readwrite":"readonly");let c=l.store;return r&&(c=c.index(o.shift())),(await Promise.all([c[t](...o),n&&l.done]))[0]};return Ya.set(e,s),s}zC(A=>({...A,get:(e,t,r)=>Rd(e,t)||A.get(e,t,r),has:(e,t)=>!!Rd(e,t)||A.has(e,t)}));/**
|
|
989
989
|
* @license
|
|
990
990
|
* Copyright 2019 Google LLC
|
|
991
991
|
*
|
|
@@ -1000,7 +1000,7 @@
|
|
|
1000
1000
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1001
1001
|
* See the License for the specific language governing permissions and
|
|
1002
1002
|
* limitations under the License.
|
|
1003
|
-
*/class
|
|
1003
|
+
*/class rE{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(nE(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function nE(A){const e=A.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Za="@firebase/app",xd="0.10.13";/**
|
|
1004
1004
|
* @license
|
|
1005
1005
|
* Copyright 2019 Google LLC
|
|
1006
1006
|
*
|
|
@@ -1015,7 +1015,7 @@
|
|
|
1015
1015
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1016
1016
|
* See the License for the specific language governing permissions and
|
|
1017
1017
|
* limitations under the License.
|
|
1018
|
-
*/const eA=new Qd("@firebase/app"),
|
|
1018
|
+
*/const eA=new Qd("@firebase/app"),sE="@firebase/app-compat",iE="@firebase/analytics-compat",oE="@firebase/analytics",aE="@firebase/app-check-compat",lE="@firebase/app-check",cE="@firebase/auth",uE="@firebase/auth-compat",hE="@firebase/database",dE="@firebase/data-connect",fE="@firebase/database-compat",gE="@firebase/functions",pE="@firebase/functions-compat",wE="@firebase/installations",BE="@firebase/installations-compat",mE="@firebase/messaging",yE="@firebase/messaging-compat",vE="@firebase/performance",_E="@firebase/performance-compat",CE="@firebase/remote-config",EE="@firebase/remote-config-compat",bE="@firebase/storage",UE="@firebase/storage-compat",QE="@firebase/firestore",IE="@firebase/vertexai-preview",FE="@firebase/firestore-compat",TE="firebase",SE="10.14.1";/**
|
|
1019
1019
|
* @license
|
|
1020
1020
|
* Copyright 2019 Google LLC
|
|
1021
1021
|
*
|
|
@@ -1030,7 +1030,7 @@
|
|
|
1030
1030
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1031
1031
|
* See the License for the specific language governing permissions and
|
|
1032
1032
|
* limitations under the License.
|
|
1033
|
-
*/const el="[DEFAULT]",
|
|
1033
|
+
*/const el="[DEFAULT]",RE={[Za]:"fire-core",[sE]:"fire-core-compat",[oE]:"fire-analytics",[iE]:"fire-analytics-compat",[lE]:"fire-app-check",[aE]:"fire-app-check-compat",[cE]:"fire-auth",[uE]:"fire-auth-compat",[hE]:"fire-rtdb",[dE]:"fire-data-connect",[fE]:"fire-rtdb-compat",[gE]:"fire-fn",[pE]:"fire-fn-compat",[wE]:"fire-iid",[BE]:"fire-iid-compat",[mE]:"fire-fcm",[yE]:"fire-fcm-compat",[vE]:"fire-perf",[_E]:"fire-perf-compat",[CE]:"fire-rc",[EE]:"fire-rc-compat",[bE]:"fire-gcs",[UE]:"fire-gcs-compat",[QE]:"fire-fst",[FE]:"fire-fst-compat",[IE]:"fire-vertex","fire-js":"fire-js",[TE]:"fire-js-all"};/**
|
|
1034
1034
|
* @license
|
|
1035
1035
|
* Copyright 2019 Google LLC
|
|
1036
1036
|
*
|
|
@@ -1045,7 +1045,7 @@
|
|
|
1045
1045
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1046
1046
|
* See the License for the specific language governing permissions and
|
|
1047
1047
|
* limitations under the License.
|
|
1048
|
-
*/const En=new Map,
|
|
1048
|
+
*/const En=new Map,xE=new Map,tl=new Map;function kd(A,e){try{A.container.addComponent(e)}catch(t){eA.debug(`Component ${e.name} failed to register with FirebaseApp ${A.name}`,t)}}function bn(A){const e=A.name;if(tl.has(e))return eA.debug(`There were multiple attempts to register component ${e}.`),!1;tl.set(e,A);for(const t of En.values())kd(t,A);for(const t of xE.values())kd(t,A);return!0}function Hd(A,e){const t=A.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),A.container.getProvider(e)}/**
|
|
1049
1049
|
* @license
|
|
1050
1050
|
* Copyright 2019 Google LLC
|
|
1051
1051
|
*
|
|
@@ -1060,7 +1060,7 @@
|
|
|
1060
1060
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1061
1061
|
* See the License for the specific language governing permissions and
|
|
1062
1062
|
* limitations under the License.
|
|
1063
|
-
*/const
|
|
1063
|
+
*/const kE={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},_A=new bd("app","Firebase",kE);/**
|
|
1064
1064
|
* @license
|
|
1065
1065
|
* Copyright 2019 Google LLC
|
|
1066
1066
|
*
|
|
@@ -1075,7 +1075,7 @@
|
|
|
1075
1075
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1076
1076
|
* See the License for the specific language governing permissions and
|
|
1077
1077
|
* limitations under the License.
|
|
1078
|
-
*/class
|
|
1078
|
+
*/class HE{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new br("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw _A.create("app-deleted",{appName:this._name})}}/**
|
|
1079
1079
|
* @license
|
|
1080
1080
|
* Copyright 2019 Google LLC
|
|
1081
1081
|
*
|
|
@@ -1090,7 +1090,7 @@
|
|
|
1090
1090
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1091
1091
|
* See the License for the specific language governing permissions and
|
|
1092
1092
|
* limitations under the License.
|
|
1093
|
-
*/const Ld=
|
|
1093
|
+
*/const Ld=SE;function Dd(A,e={}){let t=A;typeof e!="object"&&(e={name:e});const r=Object.assign({name:el,automaticDataCollectionEnabled:!1},e),n=r.name;if(typeof n!="string"||!n)throw _A.create("bad-app-name",{appName:String(n)});if(t||(t=Cd()),!t)throw _A.create("no-options");const s=En.get(n);if(s){if($a(t,s.options)&&$a(r,s.config))return s;throw _A.create("duplicate-app",{appName:n})}const i=new VC(n);for(const l of tl.values())i.addComponent(l);const o=new HE(t,r,i);return En.set(n,o),o}function Od(A=el){const e=En.get(A);if(!e&&A===el&&Cd())return Dd();if(!e)throw _A.create("no-app",{appName:A});return e}function LE(){return Array.from(En.values())}function CA(A,e,t){var r;let n=(r=RE[A])!==null&&r!==void 0?r:A;t&&(n+=`-${t}`);const s=n.match(/\s|\//),i=e.match(/\s|\//);if(s||i){const o=[`Unable to register library "${n}" with version "${e}":`];s&&o.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&i&&o.push("and"),i&&o.push(`version name "${e}" contains illegal characters (whitespace or "/")`),eA.warn(o.join(" "));return}bn(new br(`${n}-version`,()=>({library:n,version:e}),"VERSION"))}/**
|
|
1094
1094
|
* @license
|
|
1095
1095
|
* Copyright 2021 Google LLC
|
|
1096
1096
|
*
|
|
@@ -1105,7 +1105,7 @@
|
|
|
1105
1105
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1106
1106
|
* See the License for the specific language governing permissions and
|
|
1107
1107
|
* limitations under the License.
|
|
1108
|
-
*/const
|
|
1108
|
+
*/const DE="firebase-heartbeat-database",OE=1,Un="firebase-heartbeat-store";let Al=null;function Pd(){return Al||(Al=eE(DE,OE,{upgrade:(A,e)=>{switch(e){case 0:try{A.createObjectStore(Un)}catch(t){console.warn(t)}}}}).catch(A=>{throw _A.create("idb-open",{originalErrorMessage:A.message})})),Al}async function PE(A){try{const t=(await Pd()).transaction(Un),r=await t.objectStore(Un).get(Vd(A));return await t.done,r}catch(e){if(e instanceof KA)eA.warn(e.message);else{const t=_A.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});eA.warn(t.message)}}}async function Nd(A,e){try{const r=(await Pd()).transaction(Un,"readwrite");await r.objectStore(Un).put(e,Vd(A)),await r.done}catch(t){if(t instanceof KA)eA.warn(t.message);else{const r=_A.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});eA.warn(r.message)}}}function Vd(A){return`${A.name}!${A.options.appId}`}/**
|
|
1109
1109
|
* @license
|
|
1110
1110
|
* Copyright 2021 Google LLC
|
|
1111
1111
|
*
|
|
@@ -1120,7 +1120,7 @@
|
|
|
1120
1120
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1121
1121
|
* See the License for the specific language governing permissions and
|
|
1122
1122
|
* limitations under the License.
|
|
1123
|
-
*/const
|
|
1123
|
+
*/const NE=1024,VE=30*24*60*60*1e3;class ME{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new GE(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){var e,t;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),s=Md();return((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,((t=this._heartbeatsCache)===null||t===void 0?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===s||this._heartbeatsCache.heartbeats.some(i=>i.date===s)?void 0:(this._heartbeatsCache.heartbeats.push({date:s,agent:n}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter(i=>{const o=new Date(i.date).valueOf();return Date.now()-o<=VE}),this._storage.overwrite(this._heartbeatsCache))}catch(r){eA.warn(r)}}async getHeartbeatsHeader(){var e;try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null||this._heartbeatsCache.heartbeats.length===0)return"";const t=Md(),{heartbeatsToSend:r,unsentEntries:n}=KE(this._heartbeatsCache.heartbeats),s=_i(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),s}catch(t){return eA.warn(t),""}}}function Md(){return new Date().toISOString().substring(0,10)}function KE(A,e=NE){const t=[];let r=A.slice();for(const n of A){const s=t.find(i=>i.agent===n.agent);if(s){if(s.dates.push(n.date),Kd(t)>e){s.dates.pop();break}}else if(t.push({agent:n.agent,dates:[n.date]}),Kd(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class GE{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return xC()?kC().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){const t=await PE(this.app);return t!=null&&t.heartbeats?t:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Nd(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Nd(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}else return}}function Kd(A){return _i(JSON.stringify({version:2,heartbeats:A})).length}/**
|
|
1124
1124
|
* @license
|
|
1125
1125
|
* Copyright 2019 Google LLC
|
|
1126
1126
|
*
|
|
@@ -1135,7 +1135,7 @@
|
|
|
1135
1135
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1136
1136
|
* See the License for the specific language governing permissions and
|
|
1137
1137
|
* limitations under the License.
|
|
1138
|
-
*/function
|
|
1138
|
+
*/function jE(A){bn(new br("platform-logger",e=>new rE(e),"PRIVATE")),bn(new br("heartbeat",e=>new ME(e),"PRIVATE")),CA(Za,xd,A),CA(Za,xd,"esm2017"),CA("fire-js","")}jE("");var $E="firebase",WE="10.14.1";/**
|
|
1139
1139
|
* @license
|
|
1140
1140
|
* Copyright 2020 Google LLC
|
|
1141
1141
|
*
|
|
@@ -1150,7 +1150,7 @@
|
|
|
1150
1150
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1151
1151
|
* See the License for the specific language governing permissions and
|
|
1152
1152
|
* limitations under the License.
|
|
1153
|
-
*/CA(WE,
|
|
1153
|
+
*/CA($E,WE,"app");var Gd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
|
|
1154
1154
|
Copyright The Closure Library Authors.
|
|
1155
1155
|
SPDX-License-Identifier: Apache-2.0
|
|
1156
1156
|
*/var jA,jd;(function(){var A;/** @license
|
|
@@ -1164,15 +1164,15 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1164
1164
|
|
|
1165
1165
|
Copyright The Closure Library Authors.
|
|
1166
1166
|
SPDX-License-Identifier: Apache-2.0
|
|
1167
|
-
*/var i=i||{},o=this||self;function l(a){var h=typeof a;return h=h!="object"?h:a?Array.isArray(a)?"array":h:"null",h=="array"||h=="object"&&typeof a.length=="number"}function c(a){var h=typeof a;return h=="object"&&a!=null||h=="function"}function u(a,h,f){return a.call.apply(a.bind,arguments)}function d(a,h,f){if(!a)throw Error();if(2<arguments.length){var w=Array.prototype.slice.call(arguments,2);return function(){var T=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(T,w),a.apply(h,T)}}return function(){return a.apply(h,arguments)}}function g(a,h,f){return g=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?u:d,g.apply(null,arguments)}function p(a,h){var f=Array.prototype.slice.call(arguments,1);return function(){var w=f.slice();return w.push.apply(w,arguments),a.apply(this,w)}}function B(a,h){function f(){}f.prototype=h.prototype,a.aa=h.prototype,a.prototype=new f,a.prototype.constructor=a,a.Qb=function(w,T,x){for(var O=Array(arguments.length-2),ie=2;ie<arguments.length;ie++)O[ie-2]=arguments[ie];return h.prototype[T].apply(w,O)}}function C(a){const h=a.length;if(0<h){const f=Array(h);for(let w=0;w<h;w++)f[w]=a[w];return f}return[]}function E(a,h){for(let f=1;f<arguments.length;f++){const w=arguments[f];if(l(w)){const T=a.length||0,x=w.length||0;a.length=T+x;for(let O=0;O<x;O++)a[T+O]=w[O]}else a.push(w)}}class I{constructor(h,f){this.i=h,this.j=f,this.h=0,this.g=null}get(){let h;return 0<this.h?(this.h--,h=this.g,this.g=h.next,h.next=null):h=this.i(),h}}function Q(a){return/^[\s\xa0]*$/.test(a)}function S(){var a=o.navigator;return a&&(a=a.userAgent)?a:""}function k(a){return k[" "](a),a}k[" "]=function(){};var H=S().indexOf("Gecko")!=-1&&!(S().toLowerCase().indexOf("webkit")!=-1&&S().indexOf("Edge")==-1)&&!(S().indexOf("Trident")!=-1||S().indexOf("MSIE")!=-1)&&S().indexOf("Edge")==-1;function R(a,h,f){for(const w in a)h.call(f,a[w],w,a)}function _(a,h){for(const f in a)h.call(void 0,a[f],f,a)}function m(a){const h={};for(const f in a)h[f]=a[f];return h}const y="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function b(a,h){let f,w;for(let T=1;T<arguments.length;T++){w=arguments[T];for(f in w)a[f]=w[f];for(let x=0;x<y.length;x++)f=y[x],Object.prototype.hasOwnProperty.call(w,f)&&(a[f]=w[f])}}function U(a){var h=1;a=a.split(":");const f=[];for(;0<h&&a.length;)f.push(a.shift()),h--;return a.length&&f.push(a.join(":")),f}function F(a){o.setTimeout(()=>{throw a},0)}function v(){var a=lt;let h=null;return a.g&&(h=a.g,a.g=a.g.next,a.g||(a.h=null),h.next=null),h}class se{constructor(){this.h=this.g=null}add(h,f){const w=at.get();w.set(h,f),this.h?this.h.next=w:this.g=w,this.h=w}}var at=new I(()=>new $e,a=>a.reset());class $e{constructor(){this.next=this.g=this.h=null}set(h,f){this.h=h,this.g=f,this.next=null}reset(){this.next=this.g=this.h=null}}let Qe,ft=!1,lt=new se,Ht=()=>{const a=o.Promise.resolve(void 0);Qe=()=>{a.then(oA)}};var oA=()=>{for(var a;a=v();){try{a.h.call(a.g)}catch(f){F(f)}var h=at;h.j(a),100>h.h&&(h.h++,a.next=h.g,h.g=a)}ft=!1};function We(){this.s=this.s,this.C=this.C}We.prototype.s=!1,We.prototype.ma=function(){this.s||(this.s=!0,this.N())},We.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function le(a,h){this.type=a,this.g=this.target=h,this.defaultPrevented=!1}le.prototype.h=function(){this.defaultPrevented=!0};var aA=function(){if(!o.addEventListener||!Object.defineProperty)return!1;var a=!1,h=Object.defineProperty({},"passive",{get:function(){a=!0}});try{const f=()=>{};o.addEventListener("test",f,h),o.removeEventListener("test",f,h)}catch{}return a}();function et(a,h){if(le.call(this,a?a.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,a){var f=this.type=a.type,w=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;if(this.target=a.target||a.srcElement,this.g=h,h=a.relatedTarget){if(H){e:{try{k(h.nodeName);var T=!0;break e}catch{}T=!1}T||(h=null)}}else f=="mouseover"?h=a.fromElement:f=="mouseout"&&(h=a.toElement);this.relatedTarget=h,w?(this.clientX=w.clientX!==void 0?w.clientX:w.pageX,this.clientY=w.clientY!==void 0?w.clientY:w.pageY,this.screenX=w.screenX||0,this.screenY=w.screenY||0):(this.clientX=a.clientX!==void 0?a.clientX:a.pageX,this.clientY=a.clientY!==void 0?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0),this.button=a.button,this.key=a.key||"",this.ctrlKey=a.ctrlKey,this.altKey=a.altKey,this.shiftKey=a.shiftKey,this.metaKey=a.metaKey,this.pointerId=a.pointerId||0,this.pointerType=typeof a.pointerType=="string"?a.pointerType:xA[a.pointerType]||"",this.state=a.state,this.i=a,a.defaultPrevented&&et.aa.h.call(this)}}B(et,le);var xA={2:"touch",3:"pen",4:"mouse"};et.prototype.h=function(){et.aa.h.call(this);var a=this.i;a.preventDefault?a.preventDefault():a.returnValue=!1};var qt="closure_listenable_"+(1e6*Math.random()|0),fR=0;function gR(a,h,f,w,T){this.listener=a,this.proxy=null,this.src=h,this.type=f,this.capture=!!w,this.ha=T,this.key=++fR,this.da=this.fa=!1}function Qo(a){a.da=!0,a.listener=null,a.proxy=null,a.src=null,a.ha=null}function Io(a){this.src=a,this.g={},this.h=0}Io.prototype.add=function(a,h,f,w,T){var x=a.toString();a=this.g[x],a||(a=this.g[x]=[],this.h++);var O=Mc(a,h,w,T);return-1<O?(h=a[O],f||(h.fa=!1)):(h=new gR(h,this.src,x,!!w,T),h.fa=f,a.push(h)),h};function Vc(a,h){var f=h.type;if(f in a.g){var w=a.g[f],T=Array.prototype.indexOf.call(w,h,void 0),x;(x=0<=T)&&Array.prototype.splice.call(w,T,1),x&&(Qo(h),a.g[f].length==0&&(delete a.g[f],a.h--))}}function Mc(a,h,f,w){for(var T=0;T<a.length;++T){var x=a[T];if(!x.da&&x.listener==h&&x.capture==!!f&&x.ha==w)return T}return-1}var Kc="closure_lm_"+(1e6*Math.random()|0),Gc={};function Iw(a,h,f,w,T){if(Array.isArray(h)){for(var x=0;x<h.length;x++)Iw(a,h[x],f,w,T);return null}return f=Sw(f),a&&a[qt]?a.K(h,f,c(w)?!!w.capture:!1,T):pR(a,h,f,!1,w,T)}function pR(a,h,f,w,T,x){if(!h)throw Error("Invalid event type");var O=c(T)?!!T.capture:!!T,ie=$c(a);if(ie||(a[Kc]=ie=new Io(a)),f=ie.add(h,f,w,O,x),f.proxy)return f;if(w=wR(),f.proxy=w,w.src=a,w.listener=f,a.addEventListener)aA||(T=O),T===void 0&&(T=!1),a.addEventListener(h.toString(),w,T);else if(a.attachEvent)a.attachEvent(Tw(h.toString()),w);else if(a.addListener&&a.removeListener)a.addListener(w);else throw Error("addEventListener and attachEvent are unavailable.");return f}function wR(){function a(f){return h.call(a.src,a.listener,f)}const h=BR;return a}function Fw(a,h,f,w,T){if(Array.isArray(h))for(var x=0;x<h.length;x++)Fw(a,h[x],f,w,T);else w=c(w)?!!w.capture:!!w,f=Sw(f),a&&a[qt]?(a=a.i,h=String(h).toString(),h in a.g&&(x=a.g[h],f=Mc(x,f,w,T),-1<f&&(Qo(x[f]),Array.prototype.splice.call(x,f,1),x.length==0&&(delete a.g[h],a.h--)))):a&&(a=$c(a))&&(h=a.g[h.toString()],a=-1,h&&(a=Mc(h,f,w,T)),(f=-1<a?h[a]:null)&&jc(f))}function jc(a){if(typeof a!="number"&&a&&!a.da){var h=a.src;if(h&&h[qt])Vc(h.i,a);else{var f=a.type,w=a.proxy;h.removeEventListener?h.removeEventListener(f,w,a.capture):h.detachEvent?h.detachEvent(Tw(f),w):h.addListener&&h.removeListener&&h.removeListener(w),(f=$c(h))?(Vc(f,a),f.h==0&&(f.src=null,h[Kc]=null)):Qo(a)}}}function Tw(a){return a in Gc?Gc[a]:Gc[a]="on"+a}function BR(a,h){if(a.da)a=!0;else{h=new et(h,this);var f=a.listener,w=a.ha||a.src;a.fa&&jc(a),a=f.call(w,h)}return a}function $c(a){return a=a[Kc],a instanceof Io?a:null}var Wc="__closure_events_fn_"+(1e9*Math.random()>>>0);function Sw(a){return typeof a=="function"?a:(a[Wc]||(a[Wc]=function(h){return a.handleEvent(h)}),a[Wc])}function qe(){We.call(this),this.i=new Io(this),this.M=this,this.F=null}B(qe,We),qe.prototype[qt]=!0,qe.prototype.removeEventListener=function(a,h,f,w){Fw(this,a,h,f,w)};function tt(a,h){var f,w=a.F;if(w)for(f=[];w;w=w.F)f.push(w);if(a=a.M,w=h.type||h,typeof h=="string")h=new le(h,a);else if(h instanceof le)h.target=h.target||a;else{var T=h;h=new le(w,a),b(h,T)}if(T=!0,f)for(var x=f.length-1;0<=x;x--){var O=h.g=f[x];T=Fo(O,w,!0,h)&&T}if(O=h.g=a,T=Fo(O,w,!0,h)&&T,T=Fo(O,w,!1,h)&&T,f)for(x=0;x<f.length;x++)O=h.g=f[x],T=Fo(O,w,!1,h)&&T}qe.prototype.N=function(){if(qe.aa.N.call(this),this.i){var a=this.i,h;for(h in a.g){for(var f=a.g[h],w=0;w<f.length;w++)Qo(f[w]);delete a.g[h],a.h--}}this.F=null},qe.prototype.K=function(a,h,f,w){return this.i.add(String(a),h,!1,f,w)},qe.prototype.L=function(a,h,f,w){return this.i.add(String(a),h,!0,f,w)};function Fo(a,h,f,w){if(h=a.i.g[String(h)],!h)return!0;h=h.concat();for(var T=!0,x=0;x<h.length;++x){var O=h[x];if(O&&!O.da&&O.capture==f){var ie=O.listener,Pe=O.ha||O.src;O.fa&&Vc(a.i,O),T=ie.call(Pe,w)!==!1&&T}}return T&&!w.defaultPrevented}function Rw(a,h,f){if(typeof a=="function")f&&(a=g(a,f));else if(a&&typeof a.handleEvent=="function")a=g(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(h)?-1:o.setTimeout(a,h||0)}function xw(a){a.g=Rw(()=>{a.g=null,a.i&&(a.i=!1,xw(a))},a.l);const h=a.h;a.h=null,a.m.apply(null,h)}class mR extends We{constructor(h,f){super(),this.m=h,this.l=f,this.h=null,this.i=!1,this.g=null}j(h){this.h=arguments,this.g?this.i=!0:xw(this)}N(){super.N(),this.g&&(o.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function gs(a){We.call(this),this.h=a,this.g={}}B(gs,We);var kw=[];function Hw(a){R(a.g,function(h,f){this.g.hasOwnProperty(f)&&jc(h)},a),a.g={}}gs.prototype.N=function(){gs.aa.N.call(this),Hw(this)},gs.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var qc=o.JSON.stringify,yR=o.JSON.parse,vR=class{stringify(a){return o.JSON.stringify(a,void 0)}parse(a){return o.JSON.parse(a,void 0)}};function Jc(){}Jc.prototype.h=null;function Lw(a){return a.h||(a.h=a.i())}function Dw(){}var ps={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function Xc(){le.call(this,"d")}B(Xc,le);function zc(){le.call(this,"c")}B(zc,le);var ar={},Ow=null;function To(){return Ow=Ow||new qe}ar.La="serverreachability";function Pw(a){le.call(this,ar.La,a)}B(Pw,le);function ws(a){const h=To();tt(h,new Pw(h))}ar.STAT_EVENT="statevent";function Nw(a,h){le.call(this,ar.STAT_EVENT,a),this.stat=h}B(Nw,le);function At(a){const h=To();tt(h,new Nw(h,a))}ar.Ma="timingevent";function Vw(a,h){le.call(this,ar.Ma,a),this.size=h}B(Vw,le);function Bs(a,h){if(typeof a!="function")throw Error("Fn must not be null and must be a function");return o.setTimeout(function(){a()},h)}function ms(){this.g=!0}ms.prototype.xa=function(){this.g=!1};function _R(a,h,f,w,T,x){a.info(function(){if(a.g)if(x)for(var O="",ie=x.split("&"),Pe=0;Pe<ie.length;Pe++){var te=ie[Pe].split("=");if(1<te.length){var Je=te[0];te=te[1];var Xe=Je.split("_");O=2<=Xe.length&&Xe[1]=="type"?O+(Je+"="+te+"&"):O+(Je+"=redacted&")}}else O=null;else O=x;return"XMLHTTP REQ ("+w+") [attempt "+T+"]: "+h+`
|
|
1167
|
+
*/var i=i||{},o=this||self;function l(a){var h=typeof a;return h=h!="object"?h:a?Array.isArray(a)?"array":h:"null",h=="array"||h=="object"&&typeof a.length=="number"}function c(a){var h=typeof a;return h=="object"&&a!=null||h=="function"}function u(a,h,f){return a.call.apply(a.bind,arguments)}function d(a,h,f){if(!a)throw Error();if(2<arguments.length){var w=Array.prototype.slice.call(arguments,2);return function(){var T=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(T,w),a.apply(h,T)}}return function(){return a.apply(h,arguments)}}function g(a,h,f){return g=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?u:d,g.apply(null,arguments)}function p(a,h){var f=Array.prototype.slice.call(arguments,1);return function(){var w=f.slice();return w.push.apply(w,arguments),a.apply(this,w)}}function B(a,h){function f(){}f.prototype=h.prototype,a.aa=h.prototype,a.prototype=new f,a.prototype.constructor=a,a.Qb=function(w,T,x){for(var O=Array(arguments.length-2),ie=2;ie<arguments.length;ie++)O[ie-2]=arguments[ie];return h.prototype[T].apply(w,O)}}function C(a){const h=a.length;if(0<h){const f=Array(h);for(let w=0;w<h;w++)f[w]=a[w];return f}return[]}function E(a,h){for(let f=1;f<arguments.length;f++){const w=arguments[f];if(l(w)){const T=a.length||0,x=w.length||0;a.length=T+x;for(let O=0;O<x;O++)a[T+O]=w[O]}else a.push(w)}}class I{constructor(h,f){this.i=h,this.j=f,this.h=0,this.g=null}get(){let h;return 0<this.h?(this.h--,h=this.g,this.g=h.next,h.next=null):h=this.i(),h}}function Q(a){return/^[\s\xa0]*$/.test(a)}function S(){var a=o.navigator;return a&&(a=a.userAgent)?a:""}function k(a){return k[" "](a),a}k[" "]=function(){};var H=S().indexOf("Gecko")!=-1&&!(S().toLowerCase().indexOf("webkit")!=-1&&S().indexOf("Edge")==-1)&&!(S().indexOf("Trident")!=-1||S().indexOf("MSIE")!=-1)&&S().indexOf("Edge")==-1;function R(a,h,f){for(const w in a)h.call(f,a[w],w,a)}function _(a,h){for(const f in a)h.call(void 0,a[f],f,a)}function m(a){const h={};for(const f in a)h[f]=a[f];return h}const y="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function b(a,h){let f,w;for(let T=1;T<arguments.length;T++){w=arguments[T];for(f in w)a[f]=w[f];for(let x=0;x<y.length;x++)f=y[x],Object.prototype.hasOwnProperty.call(w,f)&&(a[f]=w[f])}}function U(a){var h=1;a=a.split(":");const f=[];for(;0<h&&a.length;)f.push(a.shift()),h--;return a.length&&f.push(a.join(":")),f}function F(a){o.setTimeout(()=>{throw a},0)}function v(){var a=lt;let h=null;return a.g&&(h=a.g,a.g=a.g.next,a.g||(a.h=null),h.next=null),h}class se{constructor(){this.h=this.g=null}add(h,f){const w=at.get();w.set(h,f),this.h?this.h.next=w:this.g=w,this.h=w}}var at=new I(()=>new $e,a=>a.reset());class $e{constructor(){this.next=this.g=this.h=null}set(h,f){this.h=h,this.g=f,this.next=null}reset(){this.next=this.g=this.h=null}}let Qe,gt=!1,lt=new se,Ht=()=>{const a=o.Promise.resolve(void 0);Qe=()=>{a.then(oA)}};var oA=()=>{for(var a;a=v();){try{a.h.call(a.g)}catch(f){F(f)}var h=at;h.j(a),100>h.h&&(h.h++,a.next=h.g,h.g=a)}gt=!1};function We(){this.s=this.s,this.C=this.C}We.prototype.s=!1,We.prototype.ma=function(){this.s||(this.s=!0,this.N())},We.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function le(a,h){this.type=a,this.g=this.target=h,this.defaultPrevented=!1}le.prototype.h=function(){this.defaultPrevented=!0};var aA=function(){if(!o.addEventListener||!Object.defineProperty)return!1;var a=!1,h=Object.defineProperty({},"passive",{get:function(){a=!0}});try{const f=()=>{};o.addEventListener("test",f,h),o.removeEventListener("test",f,h)}catch{}return a}();function et(a,h){if(le.call(this,a?a.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,a){var f=this.type=a.type,w=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;if(this.target=a.target||a.srcElement,this.g=h,h=a.relatedTarget){if(H){e:{try{k(h.nodeName);var T=!0;break e}catch{}T=!1}T||(h=null)}}else f=="mouseover"?h=a.fromElement:f=="mouseout"&&(h=a.toElement);this.relatedTarget=h,w?(this.clientX=w.clientX!==void 0?w.clientX:w.pageX,this.clientY=w.clientY!==void 0?w.clientY:w.pageY,this.screenX=w.screenX||0,this.screenY=w.screenY||0):(this.clientX=a.clientX!==void 0?a.clientX:a.pageX,this.clientY=a.clientY!==void 0?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0),this.button=a.button,this.key=a.key||"",this.ctrlKey=a.ctrlKey,this.altKey=a.altKey,this.shiftKey=a.shiftKey,this.metaKey=a.metaKey,this.pointerId=a.pointerId||0,this.pointerType=typeof a.pointerType=="string"?a.pointerType:xA[a.pointerType]||"",this.state=a.state,this.i=a,a.defaultPrevented&&et.aa.h.call(this)}}B(et,le);var xA={2:"touch",3:"pen",4:"mouse"};et.prototype.h=function(){et.aa.h.call(this);var a=this.i;a.preventDefault?a.preventDefault():a.returnValue=!1};var qt="closure_listenable_"+(1e6*Math.random()|0),dR=0;function fR(a,h,f,w,T){this.listener=a,this.proxy=null,this.src=h,this.type=f,this.capture=!!w,this.ha=T,this.key=++dR,this.da=this.fa=!1}function Qo(a){a.da=!0,a.listener=null,a.proxy=null,a.src=null,a.ha=null}function Io(a){this.src=a,this.g={},this.h=0}Io.prototype.add=function(a,h,f,w,T){var x=a.toString();a=this.g[x],a||(a=this.g[x]=[],this.h++);var O=Mc(a,h,w,T);return-1<O?(h=a[O],f||(h.fa=!1)):(h=new fR(h,this.src,x,!!w,T),h.fa=f,a.push(h)),h};function Vc(a,h){var f=h.type;if(f in a.g){var w=a.g[f],T=Array.prototype.indexOf.call(w,h,void 0),x;(x=0<=T)&&Array.prototype.splice.call(w,T,1),x&&(Qo(h),a.g[f].length==0&&(delete a.g[f],a.h--))}}function Mc(a,h,f,w){for(var T=0;T<a.length;++T){var x=a[T];if(!x.da&&x.listener==h&&x.capture==!!f&&x.ha==w)return T}return-1}var Kc="closure_lm_"+(1e6*Math.random()|0),Gc={};function Iw(a,h,f,w,T){if(Array.isArray(h)){for(var x=0;x<h.length;x++)Iw(a,h[x],f,w,T);return null}return f=Sw(f),a&&a[qt]?a.K(h,f,c(w)?!!w.capture:!1,T):gR(a,h,f,!1,w,T)}function gR(a,h,f,w,T,x){if(!h)throw Error("Invalid event type");var O=c(T)?!!T.capture:!!T,ie=$c(a);if(ie||(a[Kc]=ie=new Io(a)),f=ie.add(h,f,w,O,x),f.proxy)return f;if(w=pR(),f.proxy=w,w.src=a,w.listener=f,a.addEventListener)aA||(T=O),T===void 0&&(T=!1),a.addEventListener(h.toString(),w,T);else if(a.attachEvent)a.attachEvent(Tw(h.toString()),w);else if(a.addListener&&a.removeListener)a.addListener(w);else throw Error("addEventListener and attachEvent are unavailable.");return f}function pR(){function a(f){return h.call(a.src,a.listener,f)}const h=wR;return a}function Fw(a,h,f,w,T){if(Array.isArray(h))for(var x=0;x<h.length;x++)Fw(a,h[x],f,w,T);else w=c(w)?!!w.capture:!!w,f=Sw(f),a&&a[qt]?(a=a.i,h=String(h).toString(),h in a.g&&(x=a.g[h],f=Mc(x,f,w,T),-1<f&&(Qo(x[f]),Array.prototype.splice.call(x,f,1),x.length==0&&(delete a.g[h],a.h--)))):a&&(a=$c(a))&&(h=a.g[h.toString()],a=-1,h&&(a=Mc(h,f,w,T)),(f=-1<a?h[a]:null)&&jc(f))}function jc(a){if(typeof a!="number"&&a&&!a.da){var h=a.src;if(h&&h[qt])Vc(h.i,a);else{var f=a.type,w=a.proxy;h.removeEventListener?h.removeEventListener(f,w,a.capture):h.detachEvent?h.detachEvent(Tw(f),w):h.addListener&&h.removeListener&&h.removeListener(w),(f=$c(h))?(Vc(f,a),f.h==0&&(f.src=null,h[Kc]=null)):Qo(a)}}}function Tw(a){return a in Gc?Gc[a]:Gc[a]="on"+a}function wR(a,h){if(a.da)a=!0;else{h=new et(h,this);var f=a.listener,w=a.ha||a.src;a.fa&&jc(a),a=f.call(w,h)}return a}function $c(a){return a=a[Kc],a instanceof Io?a:null}var Wc="__closure_events_fn_"+(1e9*Math.random()>>>0);function Sw(a){return typeof a=="function"?a:(a[Wc]||(a[Wc]=function(h){return a.handleEvent(h)}),a[Wc])}function qe(){We.call(this),this.i=new Io(this),this.M=this,this.F=null}B(qe,We),qe.prototype[qt]=!0,qe.prototype.removeEventListener=function(a,h,f,w){Fw(this,a,h,f,w)};function tt(a,h){var f,w=a.F;if(w)for(f=[];w;w=w.F)f.push(w);if(a=a.M,w=h.type||h,typeof h=="string")h=new le(h,a);else if(h instanceof le)h.target=h.target||a;else{var T=h;h=new le(w,a),b(h,T)}if(T=!0,f)for(var x=f.length-1;0<=x;x--){var O=h.g=f[x];T=Fo(O,w,!0,h)&&T}if(O=h.g=a,T=Fo(O,w,!0,h)&&T,T=Fo(O,w,!1,h)&&T,f)for(x=0;x<f.length;x++)O=h.g=f[x],T=Fo(O,w,!1,h)&&T}qe.prototype.N=function(){if(qe.aa.N.call(this),this.i){var a=this.i,h;for(h in a.g){for(var f=a.g[h],w=0;w<f.length;w++)Qo(f[w]);delete a.g[h],a.h--}}this.F=null},qe.prototype.K=function(a,h,f,w){return this.i.add(String(a),h,!1,f,w)},qe.prototype.L=function(a,h,f,w){return this.i.add(String(a),h,!0,f,w)};function Fo(a,h,f,w){if(h=a.i.g[String(h)],!h)return!0;h=h.concat();for(var T=!0,x=0;x<h.length;++x){var O=h[x];if(O&&!O.da&&O.capture==f){var ie=O.listener,Pe=O.ha||O.src;O.fa&&Vc(a.i,O),T=ie.call(Pe,w)!==!1&&T}}return T&&!w.defaultPrevented}function Rw(a,h,f){if(typeof a=="function")f&&(a=g(a,f));else if(a&&typeof a.handleEvent=="function")a=g(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(h)?-1:o.setTimeout(a,h||0)}function xw(a){a.g=Rw(()=>{a.g=null,a.i&&(a.i=!1,xw(a))},a.l);const h=a.h;a.h=null,a.m.apply(null,h)}class BR extends We{constructor(h,f){super(),this.m=h,this.l=f,this.h=null,this.i=!1,this.g=null}j(h){this.h=arguments,this.g?this.i=!0:xw(this)}N(){super.N(),this.g&&(o.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function gs(a){We.call(this),this.h=a,this.g={}}B(gs,We);var kw=[];function Hw(a){R(a.g,function(h,f){this.g.hasOwnProperty(f)&&jc(h)},a),a.g={}}gs.prototype.N=function(){gs.aa.N.call(this),Hw(this)},gs.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var qc=o.JSON.stringify,mR=o.JSON.parse,yR=class{stringify(a){return o.JSON.stringify(a,void 0)}parse(a){return o.JSON.parse(a,void 0)}};function Jc(){}Jc.prototype.h=null;function Lw(a){return a.h||(a.h=a.i())}function Dw(){}var ps={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function Xc(){le.call(this,"d")}B(Xc,le);function zc(){le.call(this,"c")}B(zc,le);var ar={},Ow=null;function To(){return Ow=Ow||new qe}ar.La="serverreachability";function Pw(a){le.call(this,ar.La,a)}B(Pw,le);function ws(a){const h=To();tt(h,new Pw(h))}ar.STAT_EVENT="statevent";function Nw(a,h){le.call(this,ar.STAT_EVENT,a),this.stat=h}B(Nw,le);function At(a){const h=To();tt(h,new Nw(h,a))}ar.Ma="timingevent";function Vw(a,h){le.call(this,ar.Ma,a),this.size=h}B(Vw,le);function Bs(a,h){if(typeof a!="function")throw Error("Fn must not be null and must be a function");return o.setTimeout(function(){a()},h)}function ms(){this.g=!0}ms.prototype.xa=function(){this.g=!1};function vR(a,h,f,w,T,x){a.info(function(){if(a.g)if(x)for(var O="",ie=x.split("&"),Pe=0;Pe<ie.length;Pe++){var te=ie[Pe].split("=");if(1<te.length){var Je=te[0];te=te[1];var Xe=Je.split("_");O=2<=Xe.length&&Xe[1]=="type"?O+(Je+"="+te+"&"):O+(Je+"=redacted&")}}else O=null;else O=x;return"XMLHTTP REQ ("+w+") [attempt "+T+"]: "+h+`
|
|
1168
1168
|
`+f+`
|
|
1169
|
-
`+O})}function
|
|
1169
|
+
`+O})}function _R(a,h,f,w,T,x,O){a.info(function(){return"XMLHTTP RESP ("+w+") [ attempt "+T+"]: "+h+`
|
|
1170
1170
|
`+f+`
|
|
1171
|
-
`+x+" "+O})}function zr(a,h,f,w){a.info(function(){return"XMLHTTP TEXT ("+h+"): "+
|
|
1172
|
-
`,f);return w==-1?Zc:(f=Number(h.substring(f,w)),isNaN(f)?Gw:(w+=1,w+f>h.length?Zc:(h=h.slice(w,w+f),a.C=w+f,h)))}kA.prototype.cancel=function(){this.J=!0,lr(this)};function xo(a){a.S=Date.now()+a.I,Ww(a,a.I)}function Ww(a,h){if(a.B!=null)throw Error("WatchDog timer not null");a.B=Bs(g(a.ba,a),h)}function tu(a){a.B&&(o.clearTimeout(a.B),a.B=null)}kA.prototype.ba=function(){this.B=null;const a=Date.now();0<=a-this.S?(ER(this.i,this.A),this.L!=2&&(ws(),At(17)),lr(this),this.s=2,ys(this)):Ww(this,this.S-a)};function ys(a){a.j.G==0||a.J||mB(a.j,a)}function lr(a){tu(a);var h=a.M;h&&typeof h.ma=="function"&&h.ma(),a.M=null,Hw(a.U),a.g&&(h=a.g,a.g=null,h.abort(),h.ma())}function Au(a,h){try{var f=a.j;if(f.G!=0&&(f.g==a||ru(f.h,a))){if(!a.K&&ru(f.h,a)&&f.G==3){try{var w=f.Da.g.parse(h)}catch{w=null}if(Array.isArray(w)&&w.length==3){var T=w;if(T[0]==0){e:if(!f.u){if(f.g)if(f.g.F+3e3<a.F)Mo(f),No(f);else break e;ou(f),At(18)}}else f.za=T[1],0<f.za-f.T&&37500>T[2]&&f.F&&f.v==0&&!f.C&&(f.C=Bs(g(f.Za,f),6e3));if(1>=Xw(f.h)&&f.ca){try{f.ca()}catch{}f.ca=void 0}}else ur(f,11)}else if((a.K||f.g==a)&&Mo(f),!Q(h))for(T=f.Da.g.parse(h),h=0;h<T.length;h++){let te=T[h];if(f.T=te[0],te=te[1],f.G==2)if(te[0]=="c"){f.K=te[1],f.ia=te[2];const Je=te[3];Je!=null&&(f.la=Je,f.j.info("VER="+f.la));const Xe=te[4];Xe!=null&&(f.Aa=Xe,f.j.info("SVER="+f.Aa));const en=te[5];en!=null&&typeof en=="number"&&0<en&&(w=1.5*en,f.L=w,f.j.info("backChannelRequestTimeoutMs_="+w)),w=f;const Lt=a.g;if(Lt){const Go=Lt.g?Lt.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Go){var x=w.h;x.g||Go.indexOf("spdy")==-1&&Go.indexOf("quic")==-1&&Go.indexOf("h2")==-1||(x.j=x.l,x.g=new Set,x.h&&(nu(x,x.h),x.h=null))}if(w.D){const lu=Lt.g?Lt.g.getResponseHeader("X-HTTP-Session-Id"):null;lu&&(w.ya=lu,ue(w.I,w.D,lu))}}f.G=3,f.l&&f.l.ua(),f.ba&&(f.R=Date.now()-a.F,f.j.info("Handshake RTT: "+f.R+"ms")),w=f;var O=a;if(w.qa=_B(w,w.J?w.ia:null,w.W),O.K){zw(w.h,O);var ie=O,Pe=w.L;Pe&&(ie.I=Pe),ie.B&&(tu(ie),xo(ie)),w.g=O}else wB(w);0<f.i.length&&Vo(f)}else te[0]!="stop"&&te[0]!="close"||ur(f,7);else f.G==3&&(te[0]=="stop"||te[0]=="close"?te[0]=="stop"?ur(f,7):iu(f):te[0]!="noop"&&f.l&&f.l.ta(te),f.v=0)}}ws(4)}catch{}}var QR=class{constructor(a,h){this.g=a,this.map=h}};function qw(a){this.l=a||10,o.PerformanceNavigationTiming?(a=o.performance.getEntriesByType("navigation"),a=0<a.length&&(a[0].nextHopProtocol=="hq"||a[0].nextHopProtocol=="h2")):a=!!(o.chrome&&o.chrome.loadTimes&&o.chrome.loadTimes()&&o.chrome.loadTimes().wasFetchedViaSpdy),this.j=a?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Jw(a){return a.h?!0:a.g?a.g.size>=a.j:!1}function Xw(a){return a.h?1:a.g?a.g.size:0}function ru(a,h){return a.h?a.h==h:a.g?a.g.has(h):!1}function nu(a,h){a.g?a.g.add(h):a.h=h}function zw(a,h){a.h&&a.h==h?a.h=null:a.g&&a.g.has(h)&&a.g.delete(h)}qw.prototype.cancel=function(){if(this.i=Yw(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const a of this.g.values())a.cancel();this.g.clear()}};function Yw(a){if(a.h!=null)return a.i.concat(a.h.D);if(a.g!=null&&a.g.size!==0){let h=a.i;for(const f of a.g.values())h=h.concat(f.D);return h}return C(a.i)}function IR(a){if(a.V&&typeof a.V=="function")return a.V();if(typeof Map<"u"&&a instanceof Map||typeof Set<"u"&&a instanceof Set)return Array.from(a.values());if(typeof a=="string")return a.split("");if(l(a)){for(var h=[],f=a.length,w=0;w<f;w++)h.push(a[w]);return h}h=[],f=0;for(w in a)h[f++]=a[w];return h}function FR(a){if(a.na&&typeof a.na=="function")return a.na();if(!a.V||typeof a.V!="function"){if(typeof Map<"u"&&a instanceof Map)return Array.from(a.keys());if(!(typeof Set<"u"&&a instanceof Set)){if(l(a)||typeof a=="string"){var h=[];a=a.length;for(var f=0;f<a;f++)h.push(f);return h}h=[],f=0;for(const w in a)h[f++]=w;return h}}}function Zw(a,h){if(a.forEach&&typeof a.forEach=="function")a.forEach(h,void 0);else if(l(a)||typeof a=="string")Array.prototype.forEach.call(a,h,void 0);else for(var f=FR(a),w=IR(a),T=w.length,x=0;x<T;x++)h.call(void 0,w[x],f&&f[x],a)}var eB=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function TR(a,h){if(a){a=a.split("&");for(var f=0;f<a.length;f++){var w=a[f].indexOf("="),T=null;if(0<=w){var x=a[f].substring(0,w);T=a[f].substring(w+1)}else x=a[f];h(x,T?decodeURIComponent(T.replace(/\+/g," ")):"")}}}function cr(a){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,a instanceof cr){this.h=a.h,ko(this,a.j),this.o=a.o,this.g=a.g,Ho(this,a.s),this.l=a.l;var h=a.i,f=new Cs;f.i=h.i,h.g&&(f.g=new Map(h.g),f.h=h.h),tB(this,f),this.m=a.m}else a&&(h=String(a).match(eB))?(this.h=!1,ko(this,h[1]||"",!0),this.o=vs(h[2]||""),this.g=vs(h[3]||"",!0),Ho(this,h[4]),this.l=vs(h[5]||"",!0),tB(this,h[6]||"",!0),this.m=vs(h[7]||"")):(this.h=!1,this.i=new Cs(null,this.h))}cr.prototype.toString=function(){var a=[],h=this.j;h&&a.push(_s(h,AB,!0),":");var f=this.g;return(f||h=="file")&&(a.push("//"),(h=this.o)&&a.push(_s(h,AB,!0),"@"),a.push(encodeURIComponent(String(f)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),f=this.s,f!=null&&a.push(":",String(f))),(f=this.l)&&(this.g&&f.charAt(0)!="/"&&a.push("/"),a.push(_s(f,f.charAt(0)=="/"?xR:RR,!0))),(f=this.i.toString())&&a.push("?",f),(f=this.m)&&a.push("#",_s(f,HR)),a.join("")};function lA(a){return new cr(a)}function ko(a,h,f){a.j=f?vs(h,!0):h,a.j&&(a.j=a.j.replace(/:$/,""))}function Ho(a,h){if(h){if(h=Number(h),isNaN(h)||0>h)throw Error("Bad port number "+h);a.s=h}else a.s=null}function tB(a,h,f){h instanceof Cs?(a.i=h,LR(a.i,a.h)):(f||(h=_s(h,kR)),a.i=new Cs(h,a.h))}function ue(a,h,f){a.i.set(h,f)}function Lo(a){return ue(a,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),a}function vs(a,h){return a?h?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function _s(a,h,f){return typeof a=="string"?(a=encodeURI(a).replace(h,SR),f&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function SR(a){return a=a.charCodeAt(0),"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var AB=/[#\/\?@]/g,RR=/[#\?:]/g,xR=/[#\?]/g,kR=/[#\?@]/g,HR=/#/g;function Cs(a,h){this.h=this.g=null,this.i=a||null,this.j=!!h}function HA(a){a.g||(a.g=new Map,a.h=0,a.i&&TR(a.i,function(h,f){a.add(decodeURIComponent(h.replace(/\+/g," ")),f)}))}A=Cs.prototype,A.add=function(a,h){HA(this),this.i=null,a=Yr(this,a);var f=this.g.get(a);return f||this.g.set(a,f=[]),f.push(h),this.h+=1,this};function rB(a,h){HA(a),h=Yr(a,h),a.g.has(h)&&(a.i=null,a.h-=a.g.get(h).length,a.g.delete(h))}function nB(a,h){return HA(a),h=Yr(a,h),a.g.has(h)}A.forEach=function(a,h){HA(this),this.g.forEach(function(f,w){f.forEach(function(T){a.call(h,T,w,this)},this)},this)},A.na=function(){HA(this);const a=Array.from(this.g.values()),h=Array.from(this.g.keys()),f=[];for(let w=0;w<h.length;w++){const T=a[w];for(let x=0;x<T.length;x++)f.push(h[w])}return f},A.V=function(a){HA(this);let h=[];if(typeof a=="string")nB(this,a)&&(h=h.concat(this.g.get(Yr(this,a))));else{a=Array.from(this.g.values());for(let f=0;f<a.length;f++)h=h.concat(a[f])}return h},A.set=function(a,h){return HA(this),this.i=null,a=Yr(this,a),nB(this,a)&&(this.h-=this.g.get(a).length),this.g.set(a,[h]),this.h+=1,this},A.get=function(a,h){return a?(a=this.V(a),0<a.length?String(a[0]):h):h};function sB(a,h,f){rB(a,h),0<f.length&&(a.i=null,a.g.set(Yr(a,h),C(f)),a.h+=f.length)}A.toString=function(){if(this.i)return this.i;if(!this.g)return"";const a=[],h=Array.from(this.g.keys());for(var f=0;f<h.length;f++){var w=h[f];const x=encodeURIComponent(String(w)),O=this.V(w);for(w=0;w<O.length;w++){var T=x;O[w]!==""&&(T+="="+encodeURIComponent(String(O[w]))),a.push(T)}}return this.i=a.join("&")};function Yr(a,h){return h=String(h),a.j&&(h=h.toLowerCase()),h}function LR(a,h){h&&!a.j&&(HA(a),a.i=null,a.g.forEach(function(f,w){var T=w.toLowerCase();w!=T&&(rB(this,w),sB(this,T,f))},a)),a.j=h}function DR(a,h){const f=new ms;if(o.Image){const w=new Image;w.onload=p(LA,f,"TestLoadImage: loaded",!0,h,w),w.onerror=p(LA,f,"TestLoadImage: error",!1,h,w),w.onabort=p(LA,f,"TestLoadImage: abort",!1,h,w),w.ontimeout=p(LA,f,"TestLoadImage: timeout",!1,h,w),o.setTimeout(function(){w.ontimeout&&w.ontimeout()},1e4),w.src=a}else h(!1)}function OR(a,h){const f=new ms,w=new AbortController,T=setTimeout(()=>{w.abort(),LA(f,"TestPingServer: timeout",!1,h)},1e4);fetch(a,{signal:w.signal}).then(x=>{clearTimeout(T),x.ok?LA(f,"TestPingServer: ok",!0,h):LA(f,"TestPingServer: server error",!1,h)}).catch(()=>{clearTimeout(T),LA(f,"TestPingServer: error",!1,h)})}function LA(a,h,f,w,T){try{T&&(T.onload=null,T.onerror=null,T.onabort=null,T.ontimeout=null),w(f)}catch{}}function PR(){this.g=new vR}function NR(a,h,f){const w=f||"";try{Zw(a,function(T,x){let O=T;c(T)&&(O=qc(T)),h.push(w+x+"="+encodeURIComponent(O))})}catch(T){throw h.push(w+"type="+encodeURIComponent("_badmap")),T}}function Do(a){this.l=a.Ub||null,this.j=a.eb||!1}B(Do,Jc),Do.prototype.g=function(){return new Oo(this.l,this.j)},Do.prototype.i=function(a){return function(){return a}}({});function Oo(a,h){qe.call(this),this.D=a,this.o=h,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}B(Oo,qe),A=Oo.prototype,A.open=function(a,h){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=a,this.A=h,this.readyState=1,bs(this)},A.send=function(a){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const h={headers:this.u,method:this.B,credentials:this.m,cache:void 0};a&&(h.body=a),(this.D||o).fetch(new Request(this.A,h)).then(this.Sa.bind(this),this.ga.bind(this))},A.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Es(this)),this.readyState=0},A.Sa=function(a){if(this.g&&(this.l=a,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=a.headers,this.readyState=2,bs(this)),this.g&&(this.readyState=3,bs(this),this.g)))if(this.responseType==="arraybuffer")a.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof o.ReadableStream<"u"&&"body"in a){if(this.j=a.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.v=new TextDecoder;iB(this)}else a.text().then(this.Ra.bind(this),this.ga.bind(this))};function iB(a){a.j.read().then(a.Pa.bind(a)).catch(a.ga.bind(a))}A.Pa=function(a){if(this.g){if(this.o&&a.value)this.response.push(a.value);else if(!this.o){var h=a.value?a.value:new Uint8Array(0);(h=this.v.decode(h,{stream:!a.done}))&&(this.response=this.responseText+=h)}a.done?Es(this):bs(this),this.readyState==3&&iB(this)}},A.Ra=function(a){this.g&&(this.response=this.responseText=a,Es(this))},A.Qa=function(a){this.g&&(this.response=a,Es(this))},A.ga=function(){this.g&&Es(this)};function Es(a){a.readyState=4,a.l=null,a.j=null,a.v=null,bs(a)}A.setRequestHeader=function(a,h){this.u.append(a,h)},A.getResponseHeader=function(a){return this.h&&this.h.get(a.toLowerCase())||""},A.getAllResponseHeaders=function(){if(!this.h)return"";const a=[],h=this.h.entries();for(var f=h.next();!f.done;)f=f.value,a.push(f[0]+": "+f[1]),f=h.next();return a.join(`\r
|
|
1171
|
+
`+x+" "+O})}function zr(a,h,f,w){a.info(function(){return"XMLHTTP TEXT ("+h+"): "+ER(a,f)+(w?" "+w:"")})}function CR(a,h){a.info(function(){return"TIMEOUT: "+h})}ms.prototype.info=function(){};function ER(a,h){if(!a.g)return h;if(!h)return null;try{var f=JSON.parse(h);if(f){for(a=0;a<f.length;a++)if(Array.isArray(f[a])){var w=f[a];if(!(2>w.length)){var T=w[1];if(Array.isArray(T)&&!(1>T.length)){var x=T[0];if(x!="noop"&&x!="stop"&&x!="close")for(var O=1;O<T.length;O++)T[O]=""}}}}return qc(f)}catch{return h}}var So={NO_ERROR:0,gb:1,tb:2,sb:3,nb:4,rb:5,ub:6,Ia:7,TIMEOUT:8,xb:9},Mw={lb:"complete",Hb:"success",Ja:"error",Ia:"abort",zb:"ready",Ab:"readystatechange",TIMEOUT:"timeout",vb:"incrementaldata",yb:"progress",ob:"downloadprogress",Pb:"uploadprogress"},Yc;function Ro(){}B(Ro,Jc),Ro.prototype.g=function(){return new XMLHttpRequest},Ro.prototype.i=function(){return{}},Yc=new Ro;function kA(a,h,f,w){this.j=a,this.i=h,this.l=f,this.R=w||1,this.U=new gs(this),this.I=45e3,this.H=null,this.o=!1,this.m=this.A=this.v=this.L=this.F=this.S=this.B=null,this.D=[],this.g=null,this.C=0,this.s=this.u=null,this.X=-1,this.J=!1,this.O=0,this.M=null,this.W=this.K=this.T=this.P=!1,this.h=new Kw}function Kw(){this.i=null,this.g="",this.h=!1}var Gw={},Zc={};function eu(a,h,f){a.L=1,a.v=Lo(lA(h)),a.m=f,a.P=!0,jw(a,null)}function jw(a,h){a.F=Date.now(),xo(a),a.A=lA(a.v);var f=a.A,w=a.R;Array.isArray(w)||(w=[String(w)]),sB(f.i,"t",w),a.C=0,f=a.j.J,a.h=new Kw,a.g=CB(a.j,f?h:null,!a.m),0<a.O&&(a.M=new BR(g(a.Y,a,a.g),a.O)),h=a.U,f=a.g,w=a.ca;var T="readystatechange";Array.isArray(T)||(T&&(kw[0]=T.toString()),T=kw);for(var x=0;x<T.length;x++){var O=Iw(f,T[x],w||h.handleEvent,!1,h.h||h);if(!O)break;h.g[O.key]=O}h=a.H?m(a.H):{},a.m?(a.u||(a.u="POST"),h["Content-Type"]="application/x-www-form-urlencoded",a.g.ea(a.A,a.u,a.m,h)):(a.u="GET",a.g.ea(a.A,a.u,null,h)),ws(),vR(a.i,a.u,a.A,a.l,a.R,a.m)}kA.prototype.ca=function(a){a=a.target;const h=this.M;h&&cA(a)==3?h.j():this.Y(a)},kA.prototype.Y=function(a){try{if(a==this.g)e:{const Xe=cA(this.g);var h=this.g.Ba();const en=this.g.Z();if(!(3>Xe)&&(Xe!=3||this.g&&(this.h.h||this.g.oa()||hB(this.g)))){this.J||Xe!=4||h==7||(h==8||0>=en?ws(3):ws(2)),tu(this);var f=this.g.Z();this.X=f;t:if($w(this)){var w=hB(this.g);a="";var T=w.length,x=cA(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){lr(this),ys(this);var O="";break t}this.h.i=new o.TextDecoder}for(h=0;h<T;h++)this.h.h=!0,a+=this.h.i.decode(w[h],{stream:!(x&&h==T-1)});w.length=0,this.h.g+=a,this.C=0,O=this.h.g}else O=this.g.oa();if(this.o=f==200,_R(this.i,this.u,this.A,this.l,this.R,Xe,f),this.o){if(this.T&&!this.K){t:{if(this.g){var ie,Pe=this.g;if((ie=Pe.g?Pe.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!Q(ie)){var te=ie;break t}}te=null}if(f=te)zr(this.i,this.l,f,"Initial handshake response via X-HTTP-Initial-Response"),this.K=!0,Au(this,f);else{this.o=!1,this.s=3,At(12),lr(this),ys(this);break e}}if(this.P){f=!0;let Lt;for(;!this.J&&this.C<O.length;)if(Lt=bR(this,O),Lt==Zc){Xe==4&&(this.s=4,At(14),f=!1),zr(this.i,this.l,null,"[Incomplete Response]");break}else if(Lt==Gw){this.s=4,At(15),zr(this.i,this.l,O,"[Invalid Chunk]"),f=!1;break}else zr(this.i,this.l,Lt,null),Au(this,Lt);if($w(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),Xe!=4||O.length!=0||this.h.h||(this.s=1,At(16),f=!1),this.o=this.o&&f,!f)zr(this.i,this.l,O,"[Invalid Chunked Response]"),lr(this),ys(this);else if(0<O.length&&!this.W){this.W=!0;var Je=this.j;Je.g==this&&Je.ba&&!Je.M&&(Je.j.info("Great, no buffering proxy detected. Bytes received: "+O.length),au(Je),Je.M=!0,At(11))}}else zr(this.i,this.l,O,null),Au(this,O);Xe==4&&lr(this),this.o&&!this.J&&(Xe==4?mB(this.j,this):(this.o=!1,xo(this)))}else MR(this.g),f==400&&0<O.indexOf("Unknown SID")?(this.s=3,At(12)):(this.s=0,At(13)),lr(this),ys(this)}}}catch{}finally{}};function $w(a){return a.g?a.u=="GET"&&a.L!=2&&a.j.Ca:!1}function bR(a,h){var f=a.C,w=h.indexOf(`
|
|
1172
|
+
`,f);return w==-1?Zc:(f=Number(h.substring(f,w)),isNaN(f)?Gw:(w+=1,w+f>h.length?Zc:(h=h.slice(w,w+f),a.C=w+f,h)))}kA.prototype.cancel=function(){this.J=!0,lr(this)};function xo(a){a.S=Date.now()+a.I,Ww(a,a.I)}function Ww(a,h){if(a.B!=null)throw Error("WatchDog timer not null");a.B=Bs(g(a.ba,a),h)}function tu(a){a.B&&(o.clearTimeout(a.B),a.B=null)}kA.prototype.ba=function(){this.B=null;const a=Date.now();0<=a-this.S?(CR(this.i,this.A),this.L!=2&&(ws(),At(17)),lr(this),this.s=2,ys(this)):Ww(this,this.S-a)};function ys(a){a.j.G==0||a.J||mB(a.j,a)}function lr(a){tu(a);var h=a.M;h&&typeof h.ma=="function"&&h.ma(),a.M=null,Hw(a.U),a.g&&(h=a.g,a.g=null,h.abort(),h.ma())}function Au(a,h){try{var f=a.j;if(f.G!=0&&(f.g==a||ru(f.h,a))){if(!a.K&&ru(f.h,a)&&f.G==3){try{var w=f.Da.g.parse(h)}catch{w=null}if(Array.isArray(w)&&w.length==3){var T=w;if(T[0]==0){e:if(!f.u){if(f.g)if(f.g.F+3e3<a.F)Mo(f),No(f);else break e;ou(f),At(18)}}else f.za=T[1],0<f.za-f.T&&37500>T[2]&&f.F&&f.v==0&&!f.C&&(f.C=Bs(g(f.Za,f),6e3));if(1>=Xw(f.h)&&f.ca){try{f.ca()}catch{}f.ca=void 0}}else ur(f,11)}else if((a.K||f.g==a)&&Mo(f),!Q(h))for(T=f.Da.g.parse(h),h=0;h<T.length;h++){let te=T[h];if(f.T=te[0],te=te[1],f.G==2)if(te[0]=="c"){f.K=te[1],f.ia=te[2];const Je=te[3];Je!=null&&(f.la=Je,f.j.info("VER="+f.la));const Xe=te[4];Xe!=null&&(f.Aa=Xe,f.j.info("SVER="+f.Aa));const en=te[5];en!=null&&typeof en=="number"&&0<en&&(w=1.5*en,f.L=w,f.j.info("backChannelRequestTimeoutMs_="+w)),w=f;const Lt=a.g;if(Lt){const Go=Lt.g?Lt.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Go){var x=w.h;x.g||Go.indexOf("spdy")==-1&&Go.indexOf("quic")==-1&&Go.indexOf("h2")==-1||(x.j=x.l,x.g=new Set,x.h&&(nu(x,x.h),x.h=null))}if(w.D){const lu=Lt.g?Lt.g.getResponseHeader("X-HTTP-Session-Id"):null;lu&&(w.ya=lu,ue(w.I,w.D,lu))}}f.G=3,f.l&&f.l.ua(),f.ba&&(f.R=Date.now()-a.F,f.j.info("Handshake RTT: "+f.R+"ms")),w=f;var O=a;if(w.qa=_B(w,w.J?w.ia:null,w.W),O.K){zw(w.h,O);var ie=O,Pe=w.L;Pe&&(ie.I=Pe),ie.B&&(tu(ie),xo(ie)),w.g=O}else wB(w);0<f.i.length&&Vo(f)}else te[0]!="stop"&&te[0]!="close"||ur(f,7);else f.G==3&&(te[0]=="stop"||te[0]=="close"?te[0]=="stop"?ur(f,7):iu(f):te[0]!="noop"&&f.l&&f.l.ta(te),f.v=0)}}ws(4)}catch{}}var UR=class{constructor(a,h){this.g=a,this.map=h}};function qw(a){this.l=a||10,o.PerformanceNavigationTiming?(a=o.performance.getEntriesByType("navigation"),a=0<a.length&&(a[0].nextHopProtocol=="hq"||a[0].nextHopProtocol=="h2")):a=!!(o.chrome&&o.chrome.loadTimes&&o.chrome.loadTimes()&&o.chrome.loadTimes().wasFetchedViaSpdy),this.j=a?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function Jw(a){return a.h?!0:a.g?a.g.size>=a.j:!1}function Xw(a){return a.h?1:a.g?a.g.size:0}function ru(a,h){return a.h?a.h==h:a.g?a.g.has(h):!1}function nu(a,h){a.g?a.g.add(h):a.h=h}function zw(a,h){a.h&&a.h==h?a.h=null:a.g&&a.g.has(h)&&a.g.delete(h)}qw.prototype.cancel=function(){if(this.i=Yw(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const a of this.g.values())a.cancel();this.g.clear()}};function Yw(a){if(a.h!=null)return a.i.concat(a.h.D);if(a.g!=null&&a.g.size!==0){let h=a.i;for(const f of a.g.values())h=h.concat(f.D);return h}return C(a.i)}function QR(a){if(a.V&&typeof a.V=="function")return a.V();if(typeof Map<"u"&&a instanceof Map||typeof Set<"u"&&a instanceof Set)return Array.from(a.values());if(typeof a=="string")return a.split("");if(l(a)){for(var h=[],f=a.length,w=0;w<f;w++)h.push(a[w]);return h}h=[],f=0;for(w in a)h[f++]=a[w];return h}function IR(a){if(a.na&&typeof a.na=="function")return a.na();if(!a.V||typeof a.V!="function"){if(typeof Map<"u"&&a instanceof Map)return Array.from(a.keys());if(!(typeof Set<"u"&&a instanceof Set)){if(l(a)||typeof a=="string"){var h=[];a=a.length;for(var f=0;f<a;f++)h.push(f);return h}h=[],f=0;for(const w in a)h[f++]=w;return h}}}function Zw(a,h){if(a.forEach&&typeof a.forEach=="function")a.forEach(h,void 0);else if(l(a)||typeof a=="string")Array.prototype.forEach.call(a,h,void 0);else for(var f=IR(a),w=QR(a),T=w.length,x=0;x<T;x++)h.call(void 0,w[x],f&&f[x],a)}var eB=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function FR(a,h){if(a){a=a.split("&");for(var f=0;f<a.length;f++){var w=a[f].indexOf("="),T=null;if(0<=w){var x=a[f].substring(0,w);T=a[f].substring(w+1)}else x=a[f];h(x,T?decodeURIComponent(T.replace(/\+/g," ")):"")}}}function cr(a){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,a instanceof cr){this.h=a.h,ko(this,a.j),this.o=a.o,this.g=a.g,Ho(this,a.s),this.l=a.l;var h=a.i,f=new Cs;f.i=h.i,h.g&&(f.g=new Map(h.g),f.h=h.h),tB(this,f),this.m=a.m}else a&&(h=String(a).match(eB))?(this.h=!1,ko(this,h[1]||"",!0),this.o=vs(h[2]||""),this.g=vs(h[3]||"",!0),Ho(this,h[4]),this.l=vs(h[5]||"",!0),tB(this,h[6]||"",!0),this.m=vs(h[7]||"")):(this.h=!1,this.i=new Cs(null,this.h))}cr.prototype.toString=function(){var a=[],h=this.j;h&&a.push(_s(h,AB,!0),":");var f=this.g;return(f||h=="file")&&(a.push("//"),(h=this.o)&&a.push(_s(h,AB,!0),"@"),a.push(encodeURIComponent(String(f)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),f=this.s,f!=null&&a.push(":",String(f))),(f=this.l)&&(this.g&&f.charAt(0)!="/"&&a.push("/"),a.push(_s(f,f.charAt(0)=="/"?RR:SR,!0))),(f=this.i.toString())&&a.push("?",f),(f=this.m)&&a.push("#",_s(f,kR)),a.join("")};function lA(a){return new cr(a)}function ko(a,h,f){a.j=f?vs(h,!0):h,a.j&&(a.j=a.j.replace(/:$/,""))}function Ho(a,h){if(h){if(h=Number(h),isNaN(h)||0>h)throw Error("Bad port number "+h);a.s=h}else a.s=null}function tB(a,h,f){h instanceof Cs?(a.i=h,HR(a.i,a.h)):(f||(h=_s(h,xR)),a.i=new Cs(h,a.h))}function ue(a,h,f){a.i.set(h,f)}function Lo(a){return ue(a,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),a}function vs(a,h){return a?h?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function _s(a,h,f){return typeof a=="string"?(a=encodeURI(a).replace(h,TR),f&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function TR(a){return a=a.charCodeAt(0),"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var AB=/[#\/\?@]/g,SR=/[#\?:]/g,RR=/[#\?]/g,xR=/[#\?@]/g,kR=/#/g;function Cs(a,h){this.h=this.g=null,this.i=a||null,this.j=!!h}function HA(a){a.g||(a.g=new Map,a.h=0,a.i&&FR(a.i,function(h,f){a.add(decodeURIComponent(h.replace(/\+/g," ")),f)}))}A=Cs.prototype,A.add=function(a,h){HA(this),this.i=null,a=Yr(this,a);var f=this.g.get(a);return f||this.g.set(a,f=[]),f.push(h),this.h+=1,this};function rB(a,h){HA(a),h=Yr(a,h),a.g.has(h)&&(a.i=null,a.h-=a.g.get(h).length,a.g.delete(h))}function nB(a,h){return HA(a),h=Yr(a,h),a.g.has(h)}A.forEach=function(a,h){HA(this),this.g.forEach(function(f,w){f.forEach(function(T){a.call(h,T,w,this)},this)},this)},A.na=function(){HA(this);const a=Array.from(this.g.values()),h=Array.from(this.g.keys()),f=[];for(let w=0;w<h.length;w++){const T=a[w];for(let x=0;x<T.length;x++)f.push(h[w])}return f},A.V=function(a){HA(this);let h=[];if(typeof a=="string")nB(this,a)&&(h=h.concat(this.g.get(Yr(this,a))));else{a=Array.from(this.g.values());for(let f=0;f<a.length;f++)h=h.concat(a[f])}return h},A.set=function(a,h){return HA(this),this.i=null,a=Yr(this,a),nB(this,a)&&(this.h-=this.g.get(a).length),this.g.set(a,[h]),this.h+=1,this},A.get=function(a,h){return a?(a=this.V(a),0<a.length?String(a[0]):h):h};function sB(a,h,f){rB(a,h),0<f.length&&(a.i=null,a.g.set(Yr(a,h),C(f)),a.h+=f.length)}A.toString=function(){if(this.i)return this.i;if(!this.g)return"";const a=[],h=Array.from(this.g.keys());for(var f=0;f<h.length;f++){var w=h[f];const x=encodeURIComponent(String(w)),O=this.V(w);for(w=0;w<O.length;w++){var T=x;O[w]!==""&&(T+="="+encodeURIComponent(String(O[w]))),a.push(T)}}return this.i=a.join("&")};function Yr(a,h){return h=String(h),a.j&&(h=h.toLowerCase()),h}function HR(a,h){h&&!a.j&&(HA(a),a.i=null,a.g.forEach(function(f,w){var T=w.toLowerCase();w!=T&&(rB(this,w),sB(this,T,f))},a)),a.j=h}function LR(a,h){const f=new ms;if(o.Image){const w=new Image;w.onload=p(LA,f,"TestLoadImage: loaded",!0,h,w),w.onerror=p(LA,f,"TestLoadImage: error",!1,h,w),w.onabort=p(LA,f,"TestLoadImage: abort",!1,h,w),w.ontimeout=p(LA,f,"TestLoadImage: timeout",!1,h,w),o.setTimeout(function(){w.ontimeout&&w.ontimeout()},1e4),w.src=a}else h(!1)}function DR(a,h){const f=new ms,w=new AbortController,T=setTimeout(()=>{w.abort(),LA(f,"TestPingServer: timeout",!1,h)},1e4);fetch(a,{signal:w.signal}).then(x=>{clearTimeout(T),x.ok?LA(f,"TestPingServer: ok",!0,h):LA(f,"TestPingServer: server error",!1,h)}).catch(()=>{clearTimeout(T),LA(f,"TestPingServer: error",!1,h)})}function LA(a,h,f,w,T){try{T&&(T.onload=null,T.onerror=null,T.onabort=null,T.ontimeout=null),w(f)}catch{}}function OR(){this.g=new yR}function PR(a,h,f){const w=f||"";try{Zw(a,function(T,x){let O=T;c(T)&&(O=qc(T)),h.push(w+x+"="+encodeURIComponent(O))})}catch(T){throw h.push(w+"type="+encodeURIComponent("_badmap")),T}}function Do(a){this.l=a.Ub||null,this.j=a.eb||!1}B(Do,Jc),Do.prototype.g=function(){return new Oo(this.l,this.j)},Do.prototype.i=function(a){return function(){return a}}({});function Oo(a,h){qe.call(this),this.D=a,this.o=h,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}B(Oo,qe),A=Oo.prototype,A.open=function(a,h){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=a,this.A=h,this.readyState=1,bs(this)},A.send=function(a){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const h={headers:this.u,method:this.B,credentials:this.m,cache:void 0};a&&(h.body=a),(this.D||o).fetch(new Request(this.A,h)).then(this.Sa.bind(this),this.ga.bind(this))},A.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Es(this)),this.readyState=0},A.Sa=function(a){if(this.g&&(this.l=a,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=a.headers,this.readyState=2,bs(this)),this.g&&(this.readyState=3,bs(this),this.g)))if(this.responseType==="arraybuffer")a.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof o.ReadableStream<"u"&&"body"in a){if(this.j=a.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.v=new TextDecoder;iB(this)}else a.text().then(this.Ra.bind(this),this.ga.bind(this))};function iB(a){a.j.read().then(a.Pa.bind(a)).catch(a.ga.bind(a))}A.Pa=function(a){if(this.g){if(this.o&&a.value)this.response.push(a.value);else if(!this.o){var h=a.value?a.value:new Uint8Array(0);(h=this.v.decode(h,{stream:!a.done}))&&(this.response=this.responseText+=h)}a.done?Es(this):bs(this),this.readyState==3&&iB(this)}},A.Ra=function(a){this.g&&(this.response=this.responseText=a,Es(this))},A.Qa=function(a){this.g&&(this.response=a,Es(this))},A.ga=function(){this.g&&Es(this)};function Es(a){a.readyState=4,a.l=null,a.j=null,a.v=null,bs(a)}A.setRequestHeader=function(a,h){this.u.append(a,h)},A.getResponseHeader=function(a){return this.h&&this.h.get(a.toLowerCase())||""},A.getAllResponseHeaders=function(){if(!this.h)return"";const a=[],h=this.h.entries();for(var f=h.next();!f.done;)f=f.value,a.push(f[0]+": "+f[1]),f=h.next();return a.join(`\r
|
|
1173
1173
|
`)};function bs(a){a.onreadystatechange&&a.onreadystatechange.call(a)}Object.defineProperty(Oo.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(a){this.m=a?"include":"same-origin"}});function oB(a){let h="";return R(a,function(f,w){h+=w,h+=":",h+=f,h+=`\r
|
|
1174
|
-
`}),h}function su(a,h,f){e:{for(w in f){var w=!1;break e}w=!0}w||(f=oB(f),typeof a=="string"?f!=null&&encodeURIComponent(String(f)):ue(a,h,f))}function pe(a){qe.call(this),this.headers=new Map,this.o=a||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}B(pe,qe);var
|
|
1175
|
-
`);for(let w=0;w<a.length;w++){if(Q(a[w]))continue;var f=U(a[w]);const T=f[0];if(f=f[1],typeof f!="string")continue;f=f.trim();const x=h[T]||[];h[T]=x,x.push(f)}_(h,function(w){return w.join(", ")})}A.Ba=function(){return this.m},A.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Us(a,h,f){return f&&f.internalChannelParams&&f.internalChannelParams[a]||h}function dB(a){this.Aa=0,this.i=[],this.j=new ms,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Us("failFast",!1,a),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Us("baseRetryDelayMs",5e3,a),this.cb=Us("retryDelaySeedMs",1e4,a),this.Wa=Us("forwardChannelMaxRetries",2,a),this.wa=Us("forwardChannelRequestTimeoutMs",2e4,a),this.pa=a&&a.xmlHttpFactory||void 0,this.Xa=a&&a.Tb||void 0,this.Ca=a&&a.useFetchStreams||!1,this.L=void 0,this.J=a&&a.supportsCrossDomainXhr||!1,this.K="",this.h=new qw(a&&a.concurrentRequestLimit),this.Da=new
|
|
1174
|
+
`}),h}function su(a,h,f){e:{for(w in f){var w=!1;break e}w=!0}w||(f=oB(f),typeof a=="string"?f!=null&&encodeURIComponent(String(f)):ue(a,h,f))}function pe(a){qe.call(this),this.headers=new Map,this.o=a||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}B(pe,qe);var NR=/^https?$/i,VR=["POST","PUT"];A=pe.prototype,A.Ha=function(a){this.J=a},A.ea=function(a,h,f,w){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+a);h=h?h.toUpperCase():"GET",this.D=a,this.l="",this.m=0,this.A=!1,this.h=!0,this.g=this.o?this.o.g():Yc.g(),this.v=this.o?Lw(this.o):Lw(Yc),this.g.onreadystatechange=g(this.Ea,this);try{this.B=!0,this.g.open(h,String(a),!0),this.B=!1}catch(x){aB(this,x);return}if(a=f||"",f=new Map(this.headers),w)if(Object.getPrototypeOf(w)===Object.prototype)for(var T in w)f.set(T,w[T]);else if(typeof w.keys=="function"&&typeof w.get=="function")for(const x of w.keys())f.set(x,w.get(x));else throw Error("Unknown input type for opt_headers: "+String(w));w=Array.from(f.keys()).find(x=>x.toLowerCase()=="content-type"),T=o.FormData&&a instanceof o.FormData,!(0<=Array.prototype.indexOf.call(VR,h,void 0))||w||T||f.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(const[x,O]of f)this.g.setRequestHeader(x,O);this.H&&(this.g.responseType=this.H),"withCredentials"in this.g&&this.g.withCredentials!==this.J&&(this.g.withCredentials=this.J);try{uB(this),this.u=!0,this.g.send(a),this.u=!1}catch(x){aB(this,x)}};function aB(a,h){a.h=!1,a.g&&(a.j=!0,a.g.abort(),a.j=!1),a.l=h,a.m=5,lB(a),Po(a)}function lB(a){a.A||(a.A=!0,tt(a,"complete"),tt(a,"error"))}A.abort=function(a){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.m=a||7,tt(this,"complete"),tt(this,"abort"),Po(this))},A.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Po(this,!0)),pe.aa.N.call(this)},A.Ea=function(){this.s||(this.B||this.u||this.j?cB(this):this.bb())},A.bb=function(){cB(this)};function cB(a){if(a.h&&typeof i<"u"&&(!a.v[1]||cA(a)!=4||a.Z()!=2)){if(a.u&&cA(a)==4)Rw(a.Ea,0,a);else if(tt(a,"readystatechange"),cA(a)==4){a.h=!1;try{const O=a.Z();e:switch(O){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var h=!0;break e;default:h=!1}var f;if(!(f=h)){var w;if(w=O===0){var T=String(a.D).match(eB)[1]||null;!T&&o.self&&o.self.location&&(T=o.self.location.protocol.slice(0,-1)),w=!NR.test(T?T.toLowerCase():"")}f=w}if(f)tt(a,"complete"),tt(a,"success");else{a.m=6;try{var x=2<cA(a)?a.g.statusText:""}catch{x=""}a.l=x+" ["+a.Z()+"]",lB(a)}}finally{Po(a)}}}}function Po(a,h){if(a.g){uB(a);const f=a.g,w=a.v[0]?()=>{}:null;a.g=null,a.v=null,h||tt(a,"ready");try{f.onreadystatechange=w}catch{}}}function uB(a){a.I&&(o.clearTimeout(a.I),a.I=null)}A.isActive=function(){return!!this.g};function cA(a){return a.g?a.g.readyState:0}A.Z=function(){try{return 2<cA(this)?this.g.status:-1}catch{return-1}},A.oa=function(){try{return this.g?this.g.responseText:""}catch{return""}},A.Oa=function(a){if(this.g){var h=this.g.responseText;return a&&h.indexOf(a)==0&&(h=h.substring(a.length)),mR(h)}};function hB(a){try{if(!a.g)return null;if("response"in a.g)return a.g.response;switch(a.H){case"":case"text":return a.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in a.g)return a.g.mozResponseArrayBuffer}return null}catch{return null}}function MR(a){const h={};a=(a.g&&2<=cA(a)&&a.g.getAllResponseHeaders()||"").split(`\r
|
|
1175
|
+
`);for(let w=0;w<a.length;w++){if(Q(a[w]))continue;var f=U(a[w]);const T=f[0];if(f=f[1],typeof f!="string")continue;f=f.trim();const x=h[T]||[];h[T]=x,x.push(f)}_(h,function(w){return w.join(", ")})}A.Ba=function(){return this.m},A.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Us(a,h,f){return f&&f.internalChannelParams&&f.internalChannelParams[a]||h}function dB(a){this.Aa=0,this.i=[],this.j=new ms,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Us("failFast",!1,a),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Us("baseRetryDelayMs",5e3,a),this.cb=Us("retryDelaySeedMs",1e4,a),this.Wa=Us("forwardChannelMaxRetries",2,a),this.wa=Us("forwardChannelRequestTimeoutMs",2e4,a),this.pa=a&&a.xmlHttpFactory||void 0,this.Xa=a&&a.Tb||void 0,this.Ca=a&&a.useFetchStreams||!1,this.L=void 0,this.J=a&&a.supportsCrossDomainXhr||!1,this.K="",this.h=new qw(a&&a.concurrentRequestLimit),this.Da=new OR,this.P=a&&a.fastHandshake||!1,this.O=a&&a.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=a&&a.Rb||!1,a&&a.xa&&this.j.xa(),a&&a.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&a&&a.detectBufferingProxy||!1,this.ja=void 0,a&&a.longPollingTimeout&&0<a.longPollingTimeout&&(this.ja=a.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}A=dB.prototype,A.la=8,A.G=1,A.connect=function(a,h,f,w){At(0),this.W=a,this.H=h||{},f&&w!==void 0&&(this.H.OSID=f,this.H.OAID=w),this.F=this.X,this.I=_B(this,null,this.W),Vo(this)};function iu(a){if(fB(a),a.G==3){var h=a.U++,f=lA(a.I);if(ue(f,"SID",a.K),ue(f,"RID",h),ue(f,"TYPE","terminate"),Qs(a,f),h=new kA(a,a.j,h),h.L=2,h.v=Lo(lA(f)),f=!1,o.navigator&&o.navigator.sendBeacon)try{f=o.navigator.sendBeacon(h.v.toString(),"")}catch{}!f&&o.Image&&(new Image().src=h.v,f=!0),f||(h.g=CB(h.j,null),h.g.ea(h.v)),h.F=Date.now(),xo(h)}vB(a)}function No(a){a.g&&(au(a),a.g.cancel(),a.g=null)}function fB(a){No(a),a.u&&(o.clearTimeout(a.u),a.u=null),Mo(a),a.h.cancel(),a.s&&(typeof a.s=="number"&&o.clearTimeout(a.s),a.s=null)}function Vo(a){if(!Jw(a.h)&&!a.s){a.s=!0;var h=a.Ga;Qe||Ht(),gt||(Qe(),gt=!0),lt.add(h,a),a.B=0}}function KR(a,h){return Xw(a.h)>=a.h.j-(a.s?1:0)?!1:a.s?(a.i=h.D.concat(a.i),!0):a.G==1||a.G==2||a.B>=(a.Va?0:a.Wa)?!1:(a.s=Bs(g(a.Ga,a,h),yB(a,a.B)),a.B++,!0)}A.Ga=function(a){if(this.s)if(this.s=null,this.G==1){if(!a){this.U=Math.floor(1e5*Math.random()),a=this.U++;const T=new kA(this,this.j,a);let x=this.o;if(this.S&&(x?(x=m(x),b(x,this.S)):x=this.S),this.m!==null||this.O||(T.H=x,x=null),this.P)e:{for(var h=0,f=0;f<this.i.length;f++){t:{var w=this.i[f];if("__data__"in w.map&&(w=w.map.__data__,typeof w=="string")){w=w.length;break t}w=void 0}if(w===void 0)break;if(h+=w,4096<h){h=f;break e}if(h===4096||f===this.i.length-1){h=f+1;break e}}h=1e3}else h=1e3;h=pB(this,T,h),f=lA(this.I),ue(f,"RID",a),ue(f,"CVER",22),this.D&&ue(f,"X-HTTP-Session-Id",this.D),Qs(this,f),x&&(this.O?h="headers="+encodeURIComponent(String(oB(x)))+"&"+h:this.m&&su(f,this.m,x)),nu(this.h,T),this.Ua&&ue(f,"TYPE","init"),this.P?(ue(f,"$req",h),ue(f,"SID","null"),T.T=!0,eu(T,f,null)):eu(T,f,h),this.G=2}}else this.G==3&&(a?gB(this,a):this.i.length==0||Jw(this.h)||gB(this))};function gB(a,h){var f;h?f=h.l:f=a.U++;const w=lA(a.I);ue(w,"SID",a.K),ue(w,"RID",f),ue(w,"AID",a.T),Qs(a,w),a.m&&a.o&&su(w,a.m,a.o),f=new kA(a,a.j,f,a.B+1),a.m===null&&(f.H=a.o),h&&(a.i=h.D.concat(a.i)),h=pB(a,f,1e3),f.I=Math.round(.5*a.wa)+Math.round(.5*a.wa*Math.random()),nu(a.h,f),eu(f,w,h)}function Qs(a,h){a.H&&R(a.H,function(f,w){ue(h,w,f)}),a.l&&Zw({},function(f,w){ue(h,w,f)})}function pB(a,h,f){f=Math.min(a.i.length,f);var w=a.l?g(a.l.Na,a.l,a):null;e:{var T=a.i;let x=-1;for(;;){const O=["count="+f];x==-1?0<f?(x=T[0].g,O.push("ofs="+x)):x=0:O.push("ofs="+x);let ie=!0;for(let Pe=0;Pe<f;Pe++){let te=T[Pe].g;const Je=T[Pe].map;if(te-=x,0>te)x=Math.max(0,T[Pe].g-100),ie=!1;else try{PR(Je,O,"req"+te+"_")}catch{w&&w(Je)}}if(ie){w=O.join("&");break e}}}return a=a.i.splice(0,f),h.D=a,w}function wB(a){if(!a.g&&!a.u){a.Y=1;var h=a.Fa;Qe||Ht(),gt||(Qe(),gt=!0),lt.add(h,a),a.v=0}}function ou(a){return a.g||a.u||3<=a.v?!1:(a.Y++,a.u=Bs(g(a.Fa,a),yB(a,a.v)),a.v++,!0)}A.Fa=function(){if(this.u=null,BB(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var a=2*this.R;this.j.info("BP detection timer enabled: "+a),this.A=Bs(g(this.ab,this),a)}},A.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,At(10),No(this),BB(this))};function au(a){a.A!=null&&(o.clearTimeout(a.A),a.A=null)}function BB(a){a.g=new kA(a,a.j,"rpc",a.Y),a.m===null&&(a.g.H=a.o),a.g.O=0;var h=lA(a.qa);ue(h,"RID","rpc"),ue(h,"SID",a.K),ue(h,"AID",a.T),ue(h,"CI",a.F?"0":"1"),!a.F&&a.ja&&ue(h,"TO",a.ja),ue(h,"TYPE","xmlhttp"),Qs(a,h),a.m&&a.o&&su(h,a.m,a.o),a.L&&(a.g.I=a.L);var f=a.g;a=a.ia,f.L=1,f.v=Lo(lA(h)),f.m=null,f.P=!0,jw(f,a)}A.Za=function(){this.C!=null&&(this.C=null,No(this),ou(this),At(19))};function Mo(a){a.C!=null&&(o.clearTimeout(a.C),a.C=null)}function mB(a,h){var f=null;if(a.g==h){Mo(a),au(a),a.g=null;var w=2}else if(ru(a.h,h))f=h.D,zw(a.h,h),w=1;else return;if(a.G!=0){if(h.o)if(w==1){f=h.m?h.m.length:0,h=Date.now()-h.F;var T=a.B;w=To(),tt(w,new Vw(w,f)),Vo(a)}else wB(a);else if(T=h.s,T==3||T==0&&0<h.X||!(w==1&&KR(a,h)||w==2&&ou(a)))switch(f&&0<f.length&&(h=a.h,h.i=h.i.concat(f)),T){case 1:ur(a,5);break;case 4:ur(a,10);break;case 3:ur(a,6);break;default:ur(a,2)}}}function yB(a,h){let f=a.Ta+Math.floor(Math.random()*a.cb);return a.isActive()||(f*=2),f*h}function ur(a,h){if(a.j.info("Error code "+h),h==2){var f=g(a.fb,a),w=a.Xa;const T=!w;w=new cr(w||"//www.google.com/images/cleardot.gif"),o.location&&o.location.protocol=="http"||ko(w,"https"),Lo(w),T?LR(w.toString(),f):DR(w.toString(),f)}else At(2);a.G=0,a.l&&a.l.sa(h),vB(a),fB(a)}A.fb=function(a){a?(this.j.info("Successfully pinged google.com"),At(2)):(this.j.info("Failed to ping google.com"),At(1))};function vB(a){if(a.G=0,a.ka=[],a.l){const h=Yw(a.h);(h.length!=0||a.i.length!=0)&&(E(a.ka,h),E(a.ka,a.i),a.h.i.length=0,C(a.i),a.i.length=0),a.l.ra()}}function _B(a,h,f){var w=f instanceof cr?lA(f):new cr(f);if(w.g!="")h&&(w.g=h+"."+w.g),Ho(w,w.s);else{var T=o.location;w=T.protocol,h=h?h+"."+T.hostname:T.hostname,T=+T.port;var x=new cr(null);w&&ko(x,w),h&&(x.g=h),T&&Ho(x,T),f&&(x.l=f),w=x}return f=a.D,h=a.ya,f&&h&&ue(w,f,h),ue(w,"VER",a.la),Qs(a,w),w}function CB(a,h,f){if(h&&!a.J)throw Error("Can't create secondary domain capable XhrIo object.");return h=a.Ca&&!a.pa?new pe(new Do({eb:f})):new pe(a.pa),h.Ha(a.J),h}A.isActive=function(){return!!this.l&&this.l.isActive(this)};function EB(){}A=EB.prototype,A.ua=function(){},A.ta=function(){},A.sa=function(){},A.ra=function(){},A.isActive=function(){return!0},A.Na=function(){};function Ko(){}Ko.prototype.g=function(a,h){return new pt(a,h)};function pt(a,h){qe.call(this),this.g=new dB(h),this.l=a,this.h=h&&h.messageUrlParams||null,a=h&&h.messageHeaders||null,h&&h.clientProtocolHeaderRequired&&(a?a["X-Client-Protocol"]="webchannel":a={"X-Client-Protocol":"webchannel"}),this.g.o=a,a=h&&h.initMessageHeaders||null,h&&h.messageContentType&&(a?a["X-WebChannel-Content-Type"]=h.messageContentType:a={"X-WebChannel-Content-Type":h.messageContentType}),h&&h.va&&(a?a["X-WebChannel-Client-Profile"]=h.va:a={"X-WebChannel-Client-Profile":h.va}),this.g.S=a,(a=h&&h.Sb)&&!Q(a)&&(this.g.m=a),this.v=h&&h.supportsCrossDomainXhr||!1,this.u=h&&h.sendRawJson||!1,(h=h&&h.httpSessionIdParam)&&!Q(h)&&(this.g.D=h,a=this.h,a!==null&&h in a&&(a=this.h,h in a&&delete a[h])),this.j=new Zr(this)}B(pt,qe),pt.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},pt.prototype.close=function(){iu(this.g)},pt.prototype.o=function(a){var h=this.g;if(typeof a=="string"){var f={};f.__data__=a,a=f}else this.u&&(f={},f.__data__=qc(a),a=f);h.i.push(new UR(h.Ya++,a)),h.G==3&&Vo(h)},pt.prototype.N=function(){this.g.l=null,delete this.j,iu(this.g),delete this.g,pt.aa.N.call(this)};function bB(a){Xc.call(this),a.__headers__&&(this.headers=a.__headers__,this.statusCode=a.__status__,delete a.__headers__,delete a.__status__);var h=a.__sm__;if(h){e:{for(const f in h){a=f;break e}a=void 0}(this.i=a)&&(a=this.i,h=h!==null&&a in h?h[a]:void 0),this.data=h}else this.data=a}B(bB,Xc);function UB(){zc.call(this),this.status=1}B(UB,zc);function Zr(a){this.g=a}B(Zr,EB),Zr.prototype.ua=function(){tt(this.g,"a")},Zr.prototype.ta=function(a){tt(this.g,new bB(a))},Zr.prototype.sa=function(a){tt(this.g,new UB)},Zr.prototype.ra=function(){tt(this.g,"b")},Ko.prototype.createWebChannel=Ko.prototype.g,pt.prototype.send=pt.prototype.o,pt.prototype.open=pt.prototype.m,pt.prototype.close=pt.prototype.close,Xd=function(){return new Ko},Jd=function(){return To()},qd=ar,rl={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},So.NO_ERROR=0,So.TIMEOUT=8,So.HTTP_ERROR=6,Ei=So,Mw.COMPLETE="complete",Wd=Mw,Dw.EventType=ps,ps.OPEN="a",ps.CLOSE="b",ps.ERROR="c",ps.MESSAGE="d",qe.prototype.listen=qe.prototype.K,Qn=Dw,pe.prototype.listenOnce=pe.prototype.L,pe.prototype.getLastError=pe.prototype.Ka,pe.prototype.getLastErrorCode=pe.prototype.Ba,pe.prototype.getStatus=pe.prototype.Z,pe.prototype.getResponseJson=pe.prototype.Oa,pe.prototype.getResponseText=pe.prototype.oa,pe.prototype.send=pe.prototype.ea,pe.prototype.setWithCredentials=pe.prototype.Ha,$d=pe}).apply(typeof Ci<"u"?Ci:typeof self<"u"?self:typeof window<"u"?window:{});const zd="@firebase/firestore";/**
|
|
1176
1176
|
* @license
|
|
1177
1177
|
* Copyright 2017 Google LLC
|
|
1178
1178
|
*
|
|
@@ -1292,7 +1292,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1292
1292
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1293
1293
|
* See the License for the specific language governing permissions and
|
|
1294
1294
|
* limitations under the License.
|
|
1295
|
-
*/class Yd{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class
|
|
1295
|
+
*/class Yd{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class qE{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(Me.UNAUTHENTICATED))}shutdown(){}}class JE{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class XE{constructor(e){this.t=e,this.currentUser=Me.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){re(this.o===void 0);let r=this.i;const n=l=>this.i!==r?(r=this.i,t(l)):Promise.resolve();let s=new EA;this.o=()=>{this.i++,this.currentUser=this.u(),s.resolve(),s=new EA,e.enqueueRetryable(()=>n(this.currentUser))};const i=()=>{const l=s;e.enqueueRetryable(async()=>{await l.promise,await n(this.currentUser)})},o=l=>{G("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=l,this.o&&(this.auth.addAuthTokenListener(this.o),i())};this.t.onInit(l=>o(l)),setTimeout(()=>{if(!this.auth){const l=this.t.getImmediate({optional:!0});l?o(l):(G("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new EA)}},0),i()}getToken(){const e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(r=>this.i!==e?(G("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(re(typeof r.accessToken=="string"),new Yd(r.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){const e=this.auth&&this.auth.getUid();return re(e===null||typeof e=="string"),new Me(e)}}class zE{constructor(e,t,r){this.l=e,this.h=t,this.P=r,this.type="FirstParty",this.user=Me.FIRST_PARTY,this.I=new Map}T(){return this.P?this.P():null}get headers(){this.I.set("X-Goog-AuthUser",this.l);const e=this.T();return e&&this.I.set("Authorization",e),this.h&&this.I.set("X-Goog-Iam-Authorization-Token",this.h),this.I}}class YE{constructor(e,t,r){this.l=e,this.h=t,this.P=r}getToken(){return Promise.resolve(new zE(this.l,this.h,this.P))}start(e,t){e.enqueueRetryable(()=>t(Me.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class ZE{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&e.length>0&&this.headers.set("x-firebase-appcheck",this.value)}}class eb{constructor(e){this.A=e,this.forceRefresh=!1,this.appCheck=null,this.R=null}start(e,t){re(this.o===void 0);const r=s=>{s.error!=null&&G("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${s.error.message}`);const i=s.token!==this.R;return this.R=s.token,G("FirebaseAppCheckTokenProvider",`Received ${i?"new":"existing"} token.`),i?t(s.token):Promise.resolve()};this.o=s=>{e.enqueueRetryable(()=>r(s))};const n=s=>{G("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=s,this.o&&this.appCheck.addTokenListener(this.o)};this.A.onInit(s=>n(s)),setTimeout(()=>{if(!this.appCheck){const s=this.A.getImmediate({optional:!0});s?n(s):G("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){const e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(t=>t?(re(typeof t.token=="string"),this.R=t.token,new ZE(t.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}/**
|
|
1296
1296
|
* @license
|
|
1297
1297
|
* Copyright 2020 Google LLC
|
|
1298
1298
|
*
|
|
@@ -1307,7 +1307,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1307
1307
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1308
1308
|
* See the License for the specific language governing permissions and
|
|
1309
1309
|
* limitations under the License.
|
|
1310
|
-
*/function
|
|
1310
|
+
*/function tb(A){const e=typeof self<"u"&&(self.crypto||self.msCrypto),t=new Uint8Array(A);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<A;r++)t[r]=Math.floor(256*Math.random());return t}/**
|
|
1311
1311
|
* @license
|
|
1312
1312
|
* Copyright 2017 Google LLC
|
|
1313
1313
|
*
|
|
@@ -1322,7 +1322,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1322
1322
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1323
1323
|
* See the License for the specific language governing permissions and
|
|
1324
1324
|
* limitations under the License.
|
|
1325
|
-
*/class Zd{static newId(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=Math.floor(256/e.length)*e.length;let r="";for(;r.length<20;){const n=
|
|
1325
|
+
*/class Zd{static newId(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=Math.floor(256/e.length)*e.length;let r="";for(;r.length<20;){const n=tb(40);for(let s=0;s<n.length;++s)r.length<20&&n[s]<t&&(r+=e.charAt(n[s]%e.length))}return r}}function ee(A,e){return A<e?-1:A>e?1:0}function Ir(A,e,t){return A.length===e.length&&A.every((r,n)=>t(r,e[n]))}/**
|
|
1326
1326
|
* @license
|
|
1327
1327
|
* Copyright 2017 Google LLC
|
|
1328
1328
|
*
|
|
@@ -1367,7 +1367,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1367
1367
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1368
1368
|
* See the License for the specific language governing permissions and
|
|
1369
1369
|
* limitations under the License.
|
|
1370
|
-
*/class Fn{constructor(e,t,r){t===void 0?t=0:t>e.length&&W(),r===void 0?r=e.length-t:r>e.length-t&&W(),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return Fn.comparator(this,e)===0}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof Fn?e.forEach(r=>{t.push(r)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return this.length===0}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){const r=Math.min(e.length,t.length);for(let n=0;n<r;n++){const s=e.get(n),i=t.get(n);if(s<i)return-1;if(s>i)return 1}return e.length<t.length?-1:e.length>t.length?1:0}}class ce extends Fn{construct(e,t,r){return new ce(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){const t=[];for(const r of e){if(r.indexOf("//")>=0)throw new M(L.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(n=>n.length>0))}return new ce(t)}static emptyPath(){return new ce([])}}const
|
|
1370
|
+
*/class Fn{constructor(e,t,r){t===void 0?t=0:t>e.length&&W(),r===void 0?r=e.length-t:r>e.length-t&&W(),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return Fn.comparator(this,e)===0}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof Fn?e.forEach(r=>{t.push(r)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return this.length===0}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){const r=Math.min(e.length,t.length);for(let n=0;n<r;n++){const s=e.get(n),i=t.get(n);if(s<i)return-1;if(s>i)return 1}return e.length<t.length?-1:e.length>t.length?1:0}}class ce extends Fn{construct(e,t,r){return new ce(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){const t=[];for(const r of e){if(r.indexOf("//")>=0)throw new M(L.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(n=>n.length>0))}return new ce(t)}static emptyPath(){return new ce([])}}const Ab=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class He extends Fn{construct(e,t,r){return new He(e,t,r)}static isValidIdentifier(e){return Ab.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),He.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)==="__name__"}static keyField(){return new He(["__name__"])}static fromServerFormat(e){const t=[];let r="",n=0;const s=()=>{if(r.length===0)throw new M(L.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(r),r=""};let i=!1;for(;n<e.length;){const o=e[n];if(o==="\\"){if(n+1===e.length)throw new M(L.INVALID_ARGUMENT,"Path has trailing escape character: "+e);const l=e[n+1];if(l!=="\\"&&l!=="."&&l!=="`")throw new M(L.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);r+=l,n+=2}else o==="`"?(i=!i,n++):o!=="."||i?(r+=o,n++):(s(),n++)}if(s(),i)throw new M(L.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new He(t)}static emptyPath(){return new He([])}}/**
|
|
1371
1371
|
* @license
|
|
1372
1372
|
* Copyright 2017 Google LLC
|
|
1373
1373
|
*
|
|
@@ -1382,7 +1382,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1382
1382
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1383
1383
|
* See the License for the specific language governing permissions and
|
|
1384
1384
|
* limitations under the License.
|
|
1385
|
-
*/class j{constructor(e){this.path=e}static fromPath(e){return new j(ce.fromString(e))}static fromName(e){return new j(ce.fromString(e).popFirst(5))}static empty(){return new j(ce.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return e!==null&&ce.comparator(this.path,e.path)===0}toString(){return this.path.toString()}static comparator(e,t){return ce.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new j(new ce(e.slice()))}}function
|
|
1385
|
+
*/class j{constructor(e){this.path=e}static fromPath(e){return new j(ce.fromString(e))}static fromName(e){return new j(ce.fromString(e).popFirst(5))}static empty(){return new j(ce.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return e!==null&&ce.comparator(this.path,e.path)===0}toString(){return this.path.toString()}static comparator(e,t){return ce.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new j(new ce(e.slice()))}}function rb(A,e){const t=A.toTimestamp().seconds,r=A.toTimestamp().nanoseconds+1,n=J.fromTimestamp(r===1e9?new Fe(t+1,0):new Fe(t,r));return new bA(n,j.empty(),e)}function nb(A){return new bA(A.readTime,A.key,-1)}class bA{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new bA(J.min(),j.empty(),-1)}static max(){return new bA(J.max(),j.empty(),-1)}}function sb(A,e){let t=A.readTime.compareTo(e.readTime);return t!==0?t:(t=j.comparator(A.documentKey,e.documentKey),t!==0?t:ee(A.largestBatchId,e.largestBatchId))}/**
|
|
1386
1386
|
* @license
|
|
1387
1387
|
* Copyright 2020 Google LLC
|
|
1388
1388
|
*
|
|
@@ -1397,7 +1397,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1397
1397
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1398
1398
|
* See the License for the specific language governing permissions and
|
|
1399
1399
|
* limitations under the License.
|
|
1400
|
-
*/const
|
|
1400
|
+
*/const ib="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class ob{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}/**
|
|
1401
1401
|
* @license
|
|
1402
1402
|
* Copyright 2017 Google LLC
|
|
1403
1403
|
*
|
|
@@ -1412,7 +1412,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1412
1412
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1413
1413
|
* See the License for the specific language governing permissions and
|
|
1414
1414
|
* limitations under the License.
|
|
1415
|
-
*/async function Tn(A){if(A.code!==L.FAILED_PRECONDITION||A.message!==
|
|
1415
|
+
*/async function Tn(A){if(A.code!==L.FAILED_PRECONDITION||A.message!==ib)throw A;G("LocalStore","Unexpectedly lost primary lease")}/**
|
|
1416
1416
|
* @license
|
|
1417
1417
|
* Copyright 2017 Google LLC
|
|
1418
1418
|
*
|
|
@@ -1427,7 +1427,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1427
1427
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1428
1428
|
* See the License for the specific language governing permissions and
|
|
1429
1429
|
* limitations under the License.
|
|
1430
|
-
*/class D{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)},t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&W(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new D((r,n)=>{this.nextCallback=s=>{this.wrapSuccess(e,s).next(r,n)},this.catchCallback=s=>{this.wrapFailure(t,s).next(r,n)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{const t=e();return t instanceof D?t:D.resolve(t)}catch(t){return D.reject(t)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):D.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):D.reject(t)}static resolve(e){return new D((t,r)=>{t(e)})}static reject(e){return new D((t,r)=>{r(e)})}static waitFor(e){return new D((t,r)=>{let n=0,s=0,i=!1;e.forEach(o=>{++n,o.next(()=>{++s,i&&s===n&&t()},l=>r(l))}),i=!0,s===n&&t()})}static or(e){let t=D.resolve(!1);for(const r of e)t=t.next(n=>n?D.resolve(n):r());return t}static forEach(e,t){const r=[];return e.forEach((n,s)=>{r.push(t.call(this,n,s))}),this.waitFor(r)}static mapArray(e,t){return new D((r,n)=>{const s=e.length,i=new Array(s);let o=0;for(let l=0;l<s;l++){const c=l;t(e[c]).next(u=>{i[c]=u,++o,o===s&&r(i)},u=>n(u))}})}static doWhile(e,t){return new D((r,n)=>{const s=()=>{e()===!0?t().next(()=>{s()},n):r()};s()})}}function
|
|
1430
|
+
*/class D{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)},t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&W(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new D((r,n)=>{this.nextCallback=s=>{this.wrapSuccess(e,s).next(r,n)},this.catchCallback=s=>{this.wrapFailure(t,s).next(r,n)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{const t=e();return t instanceof D?t:D.resolve(t)}catch(t){return D.reject(t)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):D.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):D.reject(t)}static resolve(e){return new D((t,r)=>{t(e)})}static reject(e){return new D((t,r)=>{r(e)})}static waitFor(e){return new D((t,r)=>{let n=0,s=0,i=!1;e.forEach(o=>{++n,o.next(()=>{++s,i&&s===n&&t()},l=>r(l))}),i=!0,s===n&&t()})}static or(e){let t=D.resolve(!1);for(const r of e)t=t.next(n=>n?D.resolve(n):r());return t}static forEach(e,t){const r=[];return e.forEach((n,s)=>{r.push(t.call(this,n,s))}),this.waitFor(r)}static mapArray(e,t){return new D((r,n)=>{const s=e.length,i=new Array(s);let o=0;for(let l=0;l<s;l++){const c=l;t(e[c]).next(u=>{i[c]=u,++o,o===s&&r(i)},u=>n(u))}})}static doWhile(e,t){return new D((r,n)=>{const s=()=>{e()===!0?t().next(()=>{s()},n):r()};s()})}}function ab(A){const e=A.match(/Android ([\d.]+)/i),t=e?e[1].split(".").slice(0,2).join("."):"-1";return Number(t)}function Sn(A){return A.name==="IndexedDbTransactionError"}/**
|
|
1431
1431
|
* @license
|
|
1432
1432
|
* Copyright 2018 Google LLC
|
|
1433
1433
|
*
|
|
@@ -1442,7 +1442,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1442
1442
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1443
1443
|
* See the License for the specific language governing permissions and
|
|
1444
1444
|
* limitations under the License.
|
|
1445
|
-
*/class sl{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=r=>this.ie(r),this.se=r=>t.writeSequenceNumber(r))}ie(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){const e=++this.previousValue;return this.se&&this.se(e),e}}sl.oe=-1;function bi(A){return A==null}function Ui(A){return A===0&&1/A==-1/0}function
|
|
1445
|
+
*/class sl{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=r=>this.ie(r),this.se=r=>t.writeSequenceNumber(r))}ie(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){const e=++this.previousValue;return this.se&&this.se(e),e}}sl.oe=-1;function bi(A){return A==null}function Ui(A){return A===0&&1/A==-1/0}function lb(A){return typeof A=="number"&&Number.isInteger(A)&&!Ui(A)&&A<=Number.MAX_SAFE_INTEGER&&A>=Number.MIN_SAFE_INTEGER}/**
|
|
1446
1446
|
* @license
|
|
1447
1447
|
* Copyright 2017 Google LLC
|
|
1448
1448
|
*
|
|
@@ -1502,7 +1502,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1502
1502
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1503
1503
|
* See the License for the specific language governing permissions and
|
|
1504
1504
|
* limitations under the License.
|
|
1505
|
-
*/class
|
|
1505
|
+
*/class ht{constructor(e){this.fields=e,e.sort(He.comparator)}static empty(){return new ht([])}unionWith(e){let t=new De(He.comparator);for(const r of this.fields)t=t.add(r);for(const r of e)t=t.add(r);return new ht(t.toArray())}covers(e){for(const t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return Ir(this.fields,e.fields,(t,r)=>t.isEqual(r))}}/**
|
|
1506
1506
|
* @license
|
|
1507
1507
|
* Copyright 2023 Google LLC
|
|
1508
1508
|
*
|
|
@@ -1532,7 +1532,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1532
1532
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1533
1533
|
* See the License for the specific language governing permissions and
|
|
1534
1534
|
* limitations under the License.
|
|
1535
|
-
*/class Oe{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(n){try{return atob(n)}catch(s){throw typeof DOMException<"u"&&s instanceof DOMException?new rf("Invalid base64 string: "+s):s}}(e);return new Oe(t)}static fromUint8Array(e){const t=function(n){let s="";for(let i=0;i<n.length;++i)s+=String.fromCharCode(n[i]);return s}(e);return new Oe(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return function(t){return btoa(t)}(this.binaryString)}toUint8Array(){return function(t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return ee(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}Oe.EMPTY_BYTE_STRING=new Oe("");const
|
|
1535
|
+
*/class Oe{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(n){try{return atob(n)}catch(s){throw typeof DOMException<"u"&&s instanceof DOMException?new rf("Invalid base64 string: "+s):s}}(e);return new Oe(t)}static fromUint8Array(e){const t=function(n){let s="";for(let i=0;i<n.length;++i)s+=String.fromCharCode(n[i]);return s}(e);return new Oe(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return function(t){return btoa(t)}(this.binaryString)}toUint8Array(){return function(t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return ee(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}Oe.EMPTY_BYTE_STRING=new Oe("");const cb=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function UA(A){if(re(!!A),typeof A=="string"){let e=0;const t=cb.exec(A);if(re(!!t),t[1]){let n=t[1];n=(n+"000000000").substr(0,9),e=Number(n)}const r=new Date(A);return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}return{seconds:me(A.seconds),nanos:me(A.nanos)}}function me(A){return typeof A=="number"?A:typeof A=="string"?Number(A):0}function qA(A){return typeof A=="string"?Oe.fromBase64String(A):Oe.fromUint8Array(A)}/**
|
|
1536
1536
|
* @license
|
|
1537
1537
|
* Copyright 2020 Google LLC
|
|
1538
1538
|
*
|
|
@@ -1562,7 +1562,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1562
1562
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1563
1563
|
* See the License for the specific language governing permissions and
|
|
1564
1564
|
* limitations under the License.
|
|
1565
|
-
*/class
|
|
1565
|
+
*/class ub{constructor(e,t,r,n,s,i,o,l,c){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=s,this.forceLongPolling=i,this.autoDetectLongPolling=o,this.longPollingOptions=l,this.useFetchStreams=c}}class xn{constructor(e,t){this.projectId=e,this.database=t||"(default)"}static empty(){return new xn("","")}get isDefaultDatabase(){return this.database==="(default)"}isEqual(e){return e instanceof xn&&e.projectId===this.projectId&&e.database===this.database}}/**
|
|
1566
1566
|
* @license
|
|
1567
1567
|
* Copyright 2020 Google LLC
|
|
1568
1568
|
*
|
|
@@ -1577,7 +1577,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1577
1577
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1578
1578
|
* See the License for the specific language governing permissions and
|
|
1579
1579
|
* limitations under the License.
|
|
1580
|
-
*/const Ii={mapValue:{}};function JA(A){return"nullValue"in A?0:"booleanValue"in A?1:"integerValue"in A||"doubleValue"in A?2:"timestampValue"in A?3:"stringValue"in A?5:"bytesValue"in A?6:"referenceValue"in A?7:"geoPointValue"in A?8:"arrayValue"in A?9:"mapValue"in A?il(A)?4:
|
|
1580
|
+
*/const Ii={mapValue:{}};function JA(A){return"nullValue"in A?0:"booleanValue"in A?1:"integerValue"in A||"doubleValue"in A?2:"timestampValue"in A?3:"stringValue"in A?5:"bytesValue"in A?6:"referenceValue"in A?7:"geoPointValue"in A?8:"arrayValue"in A?9:"mapValue"in A?il(A)?4:db(A)?9007199254740991:hb(A)?10:11:W()}function Vt(A,e){if(A===e)return!0;const t=JA(A);if(t!==JA(e))return!1;switch(t){case 0:case 9007199254740991:return!0;case 1:return A.booleanValue===e.booleanValue;case 4:return Rn(A).isEqual(Rn(e));case 3:return function(n,s){if(typeof n.timestampValue=="string"&&typeof s.timestampValue=="string"&&n.timestampValue.length===s.timestampValue.length)return n.timestampValue===s.timestampValue;const i=UA(n.timestampValue),o=UA(s.timestampValue);return i.seconds===o.seconds&&i.nanos===o.nanos}(A,e);case 5:return A.stringValue===e.stringValue;case 6:return function(n,s){return qA(n.bytesValue).isEqual(qA(s.bytesValue))}(A,e);case 7:return A.referenceValue===e.referenceValue;case 8:return function(n,s){return me(n.geoPointValue.latitude)===me(s.geoPointValue.latitude)&&me(n.geoPointValue.longitude)===me(s.geoPointValue.longitude)}(A,e);case 2:return function(n,s){if("integerValue"in n&&"integerValue"in s)return me(n.integerValue)===me(s.integerValue);if("doubleValue"in n&&"doubleValue"in s){const i=me(n.doubleValue),o=me(s.doubleValue);return i===o?Ui(i)===Ui(o):isNaN(i)&&isNaN(o)}return!1}(A,e);case 9:return Ir(A.arrayValue.values||[],e.arrayValue.values||[],Vt);case 10:case 11:return function(n,s){const i=n.mapValue.fields||{},o=s.mapValue.fields||{};if(ef(i)!==ef(o))return!1;for(const l in i)if(i.hasOwnProperty(l)&&(o[l]===void 0||!Vt(i[l],o[l])))return!1;return!0}(A,e);default:return W()}}function kn(A,e){return(A.values||[]).find(t=>Vt(t,e))!==void 0}function Fr(A,e){if(A===e)return 0;const t=JA(A),r=JA(e);if(t!==r)return ee(t,r);switch(t){case 0:case 9007199254740991:return 0;case 1:return ee(A.booleanValue,e.booleanValue);case 2:return function(s,i){const o=me(s.integerValue||s.doubleValue),l=me(i.integerValue||i.doubleValue);return o<l?-1:o>l?1:o===l?0:isNaN(o)?isNaN(l)?0:-1:1}(A,e);case 3:return nf(A.timestampValue,e.timestampValue);case 4:return nf(Rn(A),Rn(e));case 5:return ee(A.stringValue,e.stringValue);case 6:return function(s,i){const o=qA(s),l=qA(i);return o.compareTo(l)}(A.bytesValue,e.bytesValue);case 7:return function(s,i){const o=s.split("/"),l=i.split("/");for(let c=0;c<o.length&&c<l.length;c++){const u=ee(o[c],l[c]);if(u!==0)return u}return ee(o.length,l.length)}(A.referenceValue,e.referenceValue);case 8:return function(s,i){const o=ee(me(s.latitude),me(i.latitude));return o!==0?o:ee(me(s.longitude),me(i.longitude))}(A.geoPointValue,e.geoPointValue);case 9:return sf(A.arrayValue,e.arrayValue);case 10:return function(s,i){var o,l,c,u;const d=s.fields||{},g=i.fields||{},p=(o=d.value)===null||o===void 0?void 0:o.arrayValue,B=(l=g.value)===null||l===void 0?void 0:l.arrayValue,C=ee(((c=p==null?void 0:p.values)===null||c===void 0?void 0:c.length)||0,((u=B==null?void 0:B.values)===null||u===void 0?void 0:u.length)||0);return C!==0?C:sf(p,B)}(A.mapValue,e.mapValue);case 11:return function(s,i){if(s===Ii.mapValue&&i===Ii.mapValue)return 0;if(s===Ii.mapValue)return 1;if(i===Ii.mapValue)return-1;const o=s.fields||{},l=Object.keys(o),c=i.fields||{},u=Object.keys(c);l.sort(),u.sort();for(let d=0;d<l.length&&d<u.length;++d){const g=ee(l[d],u[d]);if(g!==0)return g;const p=Fr(o[l[d]],c[u[d]]);if(p!==0)return p}return ee(l.length,u.length)}(A.mapValue,e.mapValue);default:throw W()}}function nf(A,e){if(typeof A=="string"&&typeof e=="string"&&A.length===e.length)return ee(A,e);const t=UA(A),r=UA(e),n=ee(t.seconds,r.seconds);return n!==0?n:ee(t.nanos,r.nanos)}function sf(A,e){const t=A.values||[],r=e.values||[];for(let n=0;n<t.length&&n<r.length;++n){const s=Fr(t[n],r[n]);if(s)return s}return ee(t.length,r.length)}function Tr(A){return al(A)}function al(A){return"nullValue"in A?"null":"booleanValue"in A?""+A.booleanValue:"integerValue"in A?""+A.integerValue:"doubleValue"in A?""+A.doubleValue:"timestampValue"in A?function(t){const r=UA(t);return`time(${r.seconds},${r.nanos})`}(A.timestampValue):"stringValue"in A?A.stringValue:"bytesValue"in A?function(t){return qA(t).toBase64()}(A.bytesValue):"referenceValue"in A?function(t){return j.fromName(t).toString()}(A.referenceValue):"geoPointValue"in A?function(t){return`geo(${t.latitude},${t.longitude})`}(A.geoPointValue):"arrayValue"in A?function(t){let r="[",n=!0;for(const s of t.values||[])n?n=!1:r+=",",r+=al(s);return r+"]"}(A.arrayValue):"mapValue"in A?function(t){const r=Object.keys(t.fields||{}).sort();let n="{",s=!0;for(const i of r)s?s=!1:n+=",",n+=`${i}:${al(t.fields[i])}`;return n+"}"}(A.mapValue):W()}function of(A,e){return{referenceValue:`projects/${A.projectId}/databases/${A.database}/documents/${e.path.canonicalString()}`}}function ll(A){return!!A&&"integerValue"in A}function cl(A){return!!A&&"arrayValue"in A}function af(A){return!!A&&"nullValue"in A}function lf(A){return!!A&&"doubleValue"in A&&isNaN(Number(A.doubleValue))}function Fi(A){return!!A&&"mapValue"in A}function hb(A){var e,t;return((t=(((e=A==null?void 0:A.mapValue)===null||e===void 0?void 0:e.fields)||{}).__type__)===null||t===void 0?void 0:t.stringValue)==="__vector__"}function Hn(A){if(A.geoPointValue)return{geoPointValue:Object.assign({},A.geoPointValue)};if(A.timestampValue&&typeof A.timestampValue=="object")return{timestampValue:Object.assign({},A.timestampValue)};if(A.mapValue){const e={mapValue:{fields:{}}};return WA(A.mapValue.fields,(t,r)=>e.mapValue.fields[t]=Hn(r)),e}if(A.arrayValue){const e={arrayValue:{values:[]}};for(let t=0;t<(A.arrayValue.values||[]).length;++t)e.arrayValue.values[t]=Hn(A.arrayValue.values[t]);return e}return Object.assign({},A)}function db(A){return(((A.mapValue||{}).fields||{}).__type__||{}).stringValue==="__max__"}/**
|
|
1581
1581
|
* @license
|
|
1582
1582
|
* Copyright 2017 Google LLC
|
|
1583
1583
|
*
|
|
@@ -1592,7 +1592,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1592
1592
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1593
1593
|
* See the License for the specific language governing permissions and
|
|
1594
1594
|
* limitations under the License.
|
|
1595
|
-
*/class st{constructor(e){this.value=e}static empty(){return new st({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(t=(t.mapValue.fields||{})[e.get(r)],!Fi(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=Hn(t)}setAll(e){let t=He.emptyPath(),r={},n=[];e.forEach((i,o)=>{if(!t.isImmediateParentOf(o)){const l=this.getFieldsMap(t);this.applyChanges(l,r,n),r={},n=[],t=o.popLast()}i?r[o.lastSegment()]=Hn(i):n.push(o.lastSegment())});const s=this.getFieldsMap(t);this.applyChanges(s,r,n)}delete(e){const t=this.field(e.popLast());Fi(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Vt(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let r=0;r<e.length;++r){let n=t.mapValue.fields[e.get(r)];Fi(n)&&n.mapValue.fields||(n={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=n),t=n}return t.mapValue.fields}applyChanges(e,t,r){WA(t,(n,s)=>e[n]=s);for(const n of r)delete e[n]}clone(){return new st(Hn(this.value))}}function cf(A){const e=[];return WA(A.fields,(t,r)=>{const n=new He([t]);if(Fi(r)){const s=cf(r.mapValue).fields;if(s.length===0)e.push(n);else for(const i of s)e.push(n.child(i))}else e.push(n)}),new
|
|
1595
|
+
*/class st{constructor(e){this.value=e}static empty(){return new st({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(t=(t.mapValue.fields||{})[e.get(r)],!Fi(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=Hn(t)}setAll(e){let t=He.emptyPath(),r={},n=[];e.forEach((i,o)=>{if(!t.isImmediateParentOf(o)){const l=this.getFieldsMap(t);this.applyChanges(l,r,n),r={},n=[],t=o.popLast()}i?r[o.lastSegment()]=Hn(i):n.push(o.lastSegment())});const s=this.getFieldsMap(t);this.applyChanges(s,r,n)}delete(e){const t=this.field(e.popLast());Fi(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Vt(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let r=0;r<e.length;++r){let n=t.mapValue.fields[e.get(r)];Fi(n)&&n.mapValue.fields||(n={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=n),t=n}return t.mapValue.fields}applyChanges(e,t,r){WA(t,(n,s)=>e[n]=s);for(const n of r)delete e[n]}clone(){return new st(Hn(this.value))}}function cf(A){const e=[];return WA(A.fields,(t,r)=>{const n=new He([t]);if(Fi(r)){const s=cf(r.mapValue).fields;if(s.length===0)e.push(n);else for(const i of s)e.push(n.child(i))}else e.push(n)}),new ht(e)}/**
|
|
1596
1596
|
* @license
|
|
1597
1597
|
* Copyright 2017 Google LLC
|
|
1598
1598
|
*
|
|
@@ -1637,7 +1637,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1637
1637
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1638
1638
|
* See the License for the specific language governing permissions and
|
|
1639
1639
|
* limitations under the License.
|
|
1640
|
-
*/class Si{constructor(e,t="asc"){this.field=e,this.dir=t}}function
|
|
1640
|
+
*/class Si{constructor(e,t="asc"){this.field=e,this.dir=t}}function fb(A,e){return A.dir===e.dir&&A.field.isEqual(e.field)}/**
|
|
1641
1641
|
* @license
|
|
1642
1642
|
* Copyright 2022 Google LLC
|
|
1643
1643
|
*
|
|
@@ -1652,7 +1652,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1652
1652
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1653
1653
|
* See the License for the specific language governing permissions and
|
|
1654
1654
|
* limitations under the License.
|
|
1655
|
-
*/class df{}class Ce extends df{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?t==="in"||t==="not-in"?this.createKeyFieldInFilter(e,t,r):new
|
|
1655
|
+
*/class df{}class Ce extends df{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?t==="in"||t==="not-in"?this.createKeyFieldInFilter(e,t,r):new pb(e,t,r):t==="array-contains"?new mb(e,r):t==="in"?new yb(e,r):t==="not-in"?new vb(e,r):t==="array-contains-any"?new _b(e,r):new Ce(e,t,r)}static createKeyFieldInFilter(e,t,r){return t==="in"?new wb(e,r):new Bb(e,r)}matches(e){const t=e.data.field(this.field);return this.op==="!="?t!==null&&this.matchesComparison(Fr(t,this.value)):t!==null&&JA(this.value)===JA(t)&&this.matchesComparison(Fr(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return e===0;case"!=":return e!==0;case">":return e>0;case">=":return e>=0;default:return W()}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class Qt extends df{constructor(e,t){super(),this.filters=e,this.op=t,this.ae=null}static create(e,t){return new Qt(e,t)}matches(e){return ff(this)?this.filters.find(t=>!t.matches(e))===void 0:this.filters.find(t=>t.matches(e))!==void 0}getFlattenedFilters(){return this.ae!==null||(this.ae=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.ae}getFilters(){return Object.assign([],this.filters)}}function ff(A){return A.op==="and"}function gf(A){return gb(A)&&ff(A)}function gb(A){for(const e of A.filters)if(e instanceof Qt)return!1;return!0}function ul(A){if(A instanceof Ce)return A.field.canonicalString()+A.op.toString()+Tr(A.value);if(gf(A))return A.filters.map(e=>ul(e)).join(",");{const e=A.filters.map(t=>ul(t)).join(",");return`${A.op}(${e})`}}function pf(A,e){return A instanceof Ce?function(r,n){return n instanceof Ce&&r.op===n.op&&r.field.isEqual(n.field)&&Vt(r.value,n.value)}(A,e):A instanceof Qt?function(r,n){return n instanceof Qt&&r.op===n.op&&r.filters.length===n.filters.length?r.filters.reduce((s,i,o)=>s&&pf(i,n.filters[o]),!0):!1}(A,e):void W()}function wf(A){return A instanceof Ce?function(t){return`${t.field.canonicalString()} ${t.op} ${Tr(t.value)}`}(A):A instanceof Qt?function(t){return t.op.toString()+" {"+t.getFilters().map(wf).join(" ,")+"}"}(A):"Filter"}class pb extends Ce{constructor(e,t,r){super(e,t,r),this.key=j.fromName(r.referenceValue)}matches(e){const t=j.comparator(e.key,this.key);return this.matchesComparison(t)}}class wb extends Ce{constructor(e,t){super(e,"in",t),this.keys=Bf("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class Bb extends Ce{constructor(e,t){super(e,"not-in",t),this.keys=Bf("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function Bf(A,e){var t;return(((t=e.arrayValue)===null||t===void 0?void 0:t.values)||[]).map(r=>j.fromName(r.referenceValue))}class mb extends Ce{constructor(e,t){super(e,"array-contains",t)}matches(e){const t=e.data.field(this.field);return cl(t)&&kn(t.arrayValue,this.value)}}class yb extends Ce{constructor(e,t){super(e,"in",t)}matches(e){const t=e.data.field(this.field);return t!==null&&kn(this.value.arrayValue,t)}}class vb extends Ce{constructor(e,t){super(e,"not-in",t)}matches(e){if(kn(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;const t=e.data.field(this.field);return t!==null&&!kn(this.value.arrayValue,t)}}class _b extends Ce{constructor(e,t){super(e,"array-contains-any",t)}matches(e){const t=e.data.field(this.field);return!(!cl(t)||!t.arrayValue.values)&&t.arrayValue.values.some(r=>kn(this.value.arrayValue,r))}}/**
|
|
1656
1656
|
* @license
|
|
1657
1657
|
* Copyright 2019 Google LLC
|
|
1658
1658
|
*
|
|
@@ -1667,7 +1667,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1667
1667
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1668
1668
|
* See the License for the specific language governing permissions and
|
|
1669
1669
|
* limitations under the License.
|
|
1670
|
-
*/class
|
|
1670
|
+
*/class Cb{constructor(e,t=null,r=[],n=[],s=null,i=null,o=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=s,this.startAt=i,this.endAt=o,this.ue=null}}function mf(A,e=null,t=[],r=[],n=null,s=null,i=null){return new Cb(A,e,t,r,n,s,i)}function hl(A){const e=q(A);if(e.ue===null){let t=e.path.canonicalString();e.collectionGroup!==null&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(r=>ul(r)).join(","),t+="|ob:",t+=e.orderBy.map(r=>function(s){return s.field.canonicalString()+s.dir}(r)).join(","),bi(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(r=>Tr(r)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(r=>Tr(r)).join(",")),e.ue=t}return e.ue}function dl(A,e){if(A.limit!==e.limit||A.orderBy.length!==e.orderBy.length)return!1;for(let t=0;t<A.orderBy.length;t++)if(!fb(A.orderBy[t],e.orderBy[t]))return!1;if(A.filters.length!==e.filters.length)return!1;for(let t=0;t<A.filters.length;t++)if(!pf(A.filters[t],e.filters[t]))return!1;return A.collectionGroup===e.collectionGroup&&!!A.path.isEqual(e.path)&&!!hf(A.startAt,e.startAt)&&hf(A.endAt,e.endAt)}function fl(A){return j.isDocumentKey(A.path)&&A.collectionGroup===null&&A.filters.length===0}/**
|
|
1671
1671
|
* @license
|
|
1672
1672
|
* Copyright 2017 Google LLC
|
|
1673
1673
|
*
|
|
@@ -1682,7 +1682,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1682
1682
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1683
1683
|
* See the License for the specific language governing permissions and
|
|
1684
1684
|
* limitations under the License.
|
|
1685
|
-
*/class Ln{constructor(e,t=null,r=[],n=[],s=null,i="F",o=null,l=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=s,this.limitType=i,this.startAt=o,this.endAt=l,this.ce=null,this.le=null,this.he=null,this.startAt,this.endAt}}function
|
|
1685
|
+
*/class Ln{constructor(e,t=null,r=[],n=[],s=null,i="F",o=null,l=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=s,this.limitType=i,this.startAt=o,this.endAt=l,this.ce=null,this.le=null,this.he=null,this.startAt,this.endAt}}function Eb(A,e,t,r,n,s,i,o){return new Ln(A,e,t,r,n,s,i,o)}function gl(A){return new Ln(A)}function yf(A){return A.filters.length===0&&A.limit===null&&A.startAt==null&&A.endAt==null&&(A.explicitOrderBy.length===0||A.explicitOrderBy.length===1&&A.explicitOrderBy[0].field.isKeyField())}function vf(A){return A.collectionGroup!==null}function Dn(A){const e=q(A);if(e.ce===null){e.ce=[];const t=new Set;for(const s of e.explicitOrderBy)e.ce.push(s),t.add(s.field.canonicalString());const r=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(function(i){let o=new De(He.comparator);return i.filters.forEach(l=>{l.getFlattenedFilters().forEach(c=>{c.isInequality()&&(o=o.add(c.field))})}),o})(e).forEach(s=>{t.has(s.canonicalString())||s.isKeyField()||e.ce.push(new Si(s,r))}),t.has(He.keyField().canonicalString())||e.ce.push(new Si(He.keyField(),r))}return e.ce}function Mt(A){const e=q(A);return e.le||(e.le=bb(e,Dn(A))),e.le}function bb(A,e){if(A.limitType==="F")return mf(A.path,A.collectionGroup,e,A.filters,A.limit,A.startAt,A.endAt);{e=e.map(n=>{const s=n.dir==="desc"?"asc":"desc";return new Si(n.field,s)});const t=A.endAt?new Ti(A.endAt.position,A.endAt.inclusive):null,r=A.startAt?new Ti(A.startAt.position,A.startAt.inclusive):null;return mf(A.path,A.collectionGroup,e,A.filters,A.limit,t,r)}}function pl(A,e){const t=A.filters.concat([e]);return new Ln(A.path,A.collectionGroup,A.explicitOrderBy.slice(),t,A.limit,A.limitType,A.startAt,A.endAt)}function wl(A,e,t){return new Ln(A.path,A.collectionGroup,A.explicitOrderBy.slice(),A.filters.slice(),e,t,A.startAt,A.endAt)}function Ri(A,e){return dl(Mt(A),Mt(e))&&A.limitType===e.limitType}function _f(A){return`${hl(Mt(A))}|lt:${A.limitType}`}function Sr(A){return`Query(target=${function(t){let r=t.path.canonicalString();return t.collectionGroup!==null&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(n=>wf(n)).join(", ")}]`),bi(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(n=>function(i){return`${i.field.canonicalString()} (${i.dir})`}(n)).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(n=>Tr(n)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(n=>Tr(n)).join(",")),`Target(${r})`}(Mt(A))}; limitType=${A.limitType})`}function xi(A,e){return e.isFoundDocument()&&function(r,n){const s=n.key.path;return r.collectionGroup!==null?n.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(s):j.isDocumentKey(r.path)?r.path.isEqual(s):r.path.isImmediateParentOf(s)}(A,e)&&function(r,n){for(const s of Dn(r))if(!s.field.isKeyField()&&n.data.field(s.field)===null)return!1;return!0}(A,e)&&function(r,n){for(const s of r.filters)if(!s.matches(n))return!1;return!0}(A,e)&&function(r,n){return!(r.startAt&&!function(i,o,l){const c=uf(i,o,l);return i.inclusive?c<=0:c<0}(r.startAt,Dn(r),n)||r.endAt&&!function(i,o,l){const c=uf(i,o,l);return i.inclusive?c>=0:c>0}(r.endAt,Dn(r),n))}(A,e)}function Ub(A){return A.collectionGroup||(A.path.length%2==1?A.path.lastSegment():A.path.get(A.path.length-2))}function Cf(A){return(e,t)=>{let r=!1;for(const n of Dn(A)){const s=Qb(n,e,t);if(s!==0)return s;r=r||n.field.isKeyField()}return 0}}function Qb(A,e,t){const r=A.field.isKeyField()?j.comparator(e.key,t.key):function(s,i,o){const l=i.data.field(s),c=o.data.field(s);return l!==null&&c!==null?Fr(l,c):W()}(A.field,e,t);switch(A.dir){case"asc":return r;case"desc":return-1*r;default:return W()}}/**
|
|
1686
1686
|
* @license
|
|
1687
1687
|
* Copyright 2017 Google LLC
|
|
1688
1688
|
*
|
|
@@ -1712,7 +1712,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1712
1712
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1713
1713
|
* See the License for the specific language governing permissions and
|
|
1714
1714
|
* limitations under the License.
|
|
1715
|
-
*/const
|
|
1715
|
+
*/const Ib=new de(j.comparator);function AA(){return Ib}const Ef=new de(j.comparator);function On(...A){let e=Ef;for(const t of A)e=e.insert(t.key,t);return e}function bf(A){let e=Ef;return A.forEach((t,r)=>e=e.insert(t,r.overlayedDocument)),e}function XA(){return Pn()}function Uf(){return Pn()}function Pn(){return new Rr(A=>A.toString(),(A,e)=>A.isEqual(e))}const Fb=new de(j.comparator),Tb=new De(j.comparator);function z(...A){let e=Tb;for(const t of A)e=e.add(t);return e}const Sb=new De(ee);function Rb(){return Sb}/**
|
|
1716
1716
|
* @license
|
|
1717
1717
|
* Copyright 2020 Google LLC
|
|
1718
1718
|
*
|
|
@@ -1727,7 +1727,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1727
1727
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1728
1728
|
* See the License for the specific language governing permissions and
|
|
1729
1729
|
* limitations under the License.
|
|
1730
|
-
*/function Bl(A,e){if(A.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Ui(e)?"-0":e}}function Qf(A){return{integerValue:""+A}}function
|
|
1730
|
+
*/function Bl(A,e){if(A.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Ui(e)?"-0":e}}function Qf(A){return{integerValue:""+A}}function xb(A,e){return lb(e)?Qf(e):Bl(A,e)}/**
|
|
1731
1731
|
* @license
|
|
1732
1732
|
* Copyright 2018 Google LLC
|
|
1733
1733
|
*
|
|
@@ -1742,7 +1742,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1742
1742
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1743
1743
|
* See the License for the specific language governing permissions and
|
|
1744
1744
|
* limitations under the License.
|
|
1745
|
-
*/class ki{constructor(){this._=void 0}}function
|
|
1745
|
+
*/class ki{constructor(){this._=void 0}}function kb(A,e,t){return A instanceof Hi?function(n,s){const i={fields:{__type__:{stringValue:"server_timestamp"},__local_write_time__:{timestampValue:{seconds:n.seconds,nanos:n.nanoseconds}}}};return s&&il(s)&&(s=ol(s)),s&&(i.fields.__previous_value__=s),{mapValue:i}}(t,e):A instanceof Nn?Ff(A,e):A instanceof Vn?Tf(A,e):function(n,s){const i=If(n,s),o=Sf(i)+Sf(n.Pe);return ll(i)&&ll(n.Pe)?Qf(o):Bl(n.serializer,o)}(A,e)}function Hb(A,e,t){return A instanceof Nn?Ff(A,e):A instanceof Vn?Tf(A,e):t}function If(A,e){return A instanceof Li?function(r){return ll(r)||function(s){return!!s&&"doubleValue"in s}(r)}(e)?e:{integerValue:0}:null}class Hi extends ki{}class Nn extends ki{constructor(e){super(),this.elements=e}}function Ff(A,e){const t=Rf(e);for(const r of A.elements)t.some(n=>Vt(n,r))||t.push(r);return{arrayValue:{values:t}}}class Vn extends ki{constructor(e){super(),this.elements=e}}function Tf(A,e){let t=Rf(e);for(const r of A.elements)t=t.filter(n=>!Vt(n,r));return{arrayValue:{values:t}}}class Li extends ki{constructor(e,t){super(),this.serializer=e,this.Pe=t}}function Sf(A){return me(A.integerValue||A.doubleValue)}function Rf(A){return cl(A)&&A.arrayValue.values?A.arrayValue.values.slice():[]}function Lb(A,e){return A.field.isEqual(e.field)&&function(r,n){return r instanceof Nn&&n instanceof Nn||r instanceof Vn&&n instanceof Vn?Ir(r.elements,n.elements,Vt):r instanceof Li&&n instanceof Li?Vt(r.Pe,n.Pe):r instanceof Hi&&n instanceof Hi}(A.transform,e.transform)}class Db{constructor(e,t){this.version=e,this.transformResults=t}}class It{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new It}static exists(e){return new It(void 0,e)}static updateTime(e){return new It(e)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Di(A,e){return A.updateTime!==void 0?e.isFoundDocument()&&e.version.isEqual(A.updateTime):A.exists===void 0||A.exists===e.isFoundDocument()}class Oi{}function xf(A,e){if(!A.hasLocalMutations||e&&e.fields.length===0)return null;if(e===null)return A.isNoDocument()?new ml(A.key,It.none()):new Kn(A.key,A.data,It.none());{const t=A.data,r=st.empty();let n=new De(He.comparator);for(let s of e.fields)if(!n.has(s)){let i=t.field(s);i===null&&s.length>1&&(s=s.popLast(),i=t.field(s)),i===null?r.delete(s):r.set(s,i),n=n.add(s)}return new QA(A.key,r,new ht(n.toArray()),It.none())}}function Ob(A,e,t){A instanceof Kn?function(n,s,i){const o=n.value.clone(),l=Lf(n.fieldTransforms,s,i.transformResults);o.setAll(l),s.convertToFoundDocument(i.version,o).setHasCommittedMutations()}(A,e,t):A instanceof QA?function(n,s,i){if(!Di(n.precondition,s))return void s.convertToUnknownDocument(i.version);const o=Lf(n.fieldTransforms,s,i.transformResults),l=s.data;l.setAll(Hf(n)),l.setAll(o),s.convertToFoundDocument(i.version,l).setHasCommittedMutations()}(A,e,t):function(n,s,i){s.convertToNoDocument(i.version).setHasCommittedMutations()}(0,e,t)}function Mn(A,e,t,r){return A instanceof Kn?function(s,i,o,l){if(!Di(s.precondition,i))return o;const c=s.value.clone(),u=Df(s.fieldTransforms,l,i);return c.setAll(u),i.convertToFoundDocument(i.version,c).setHasLocalMutations(),null}(A,e,t,r):A instanceof QA?function(s,i,o,l){if(!Di(s.precondition,i))return o;const c=Df(s.fieldTransforms,l,i),u=i.data;return u.setAll(Hf(s)),u.setAll(c),i.convertToFoundDocument(i.version,u).setHasLocalMutations(),o===null?null:o.unionWith(s.fieldMask.fields).unionWith(s.fieldTransforms.map(d=>d.field))}(A,e,t,r):function(s,i,o){return Di(s.precondition,i)?(i.convertToNoDocument(i.version).setHasLocalMutations(),null):o}(A,e,t)}function Pb(A,e){let t=null;for(const r of A.fieldTransforms){const n=e.data.field(r.field),s=If(r.transform,n||null);s!=null&&(t===null&&(t=st.empty()),t.set(r.field,s))}return t||null}function kf(A,e){return A.type===e.type&&!!A.key.isEqual(e.key)&&!!A.precondition.isEqual(e.precondition)&&!!function(r,n){return r===void 0&&n===void 0||!(!r||!n)&&Ir(r,n,(s,i)=>Lb(s,i))}(A.fieldTransforms,e.fieldTransforms)&&(A.type===0?A.value.isEqual(e.value):A.type!==1||A.data.isEqual(e.data)&&A.fieldMask.isEqual(e.fieldMask))}class Kn extends Oi{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class QA extends Oi{constructor(e,t,r,n,s=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=s,this.type=1}getFieldMask(){return this.fieldMask}}function Hf(A){const e=new Map;return A.fieldMask.fields.forEach(t=>{if(!t.isEmpty()){const r=A.data.field(t);e.set(t,r)}}),e}function Lf(A,e,t){const r=new Map;re(A.length===t.length);for(let n=0;n<t.length;n++){const s=A[n],i=s.transform,o=e.data.field(s.field);r.set(s.field,Hb(i,o,t[n]))}return r}function Df(A,e,t){const r=new Map;for(const n of A){const s=n.transform,i=t.data.field(n.field);r.set(n.field,kb(s,i,e))}return r}class ml extends Oi{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class Nb extends Oi{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}/**
|
|
1746
1746
|
* @license
|
|
1747
1747
|
* Copyright 2017 Google LLC
|
|
1748
1748
|
*
|
|
@@ -1757,7 +1757,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1757
1757
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1758
1758
|
* See the License for the specific language governing permissions and
|
|
1759
1759
|
* limitations under the License.
|
|
1760
|
-
*/class
|
|
1760
|
+
*/class Vb{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){const r=t.mutationResults;for(let n=0;n<this.mutations.length;n++){const s=this.mutations[n];s.key.isEqual(e.key)&&Ob(s,e,r[n])}}applyToLocalView(e,t){for(const r of this.baseMutations)r.key.isEqual(e.key)&&(t=Mn(r,e,t,this.localWriteTime));for(const r of this.mutations)r.key.isEqual(e.key)&&(t=Mn(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){const r=Uf();return this.mutations.forEach(n=>{const s=e.get(n.key),i=s.overlayedDocument;let o=this.applyToLocalView(i,s.mutatedFields);o=t.has(n.key)?null:o;const l=xf(i,o);l!==null&&r.set(n.key,l),i.isValidDocument()||i.convertToNoDocument(J.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),z())}isEqual(e){return this.batchId===e.batchId&&Ir(this.mutations,e.mutations,(t,r)=>kf(t,r))&&Ir(this.baseMutations,e.baseMutations,(t,r)=>kf(t,r))}}class yl{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){re(e.mutations.length===r.length);let n=function(){return Fb}();const s=e.mutations;for(let i=0;i<s.length;i++)n=n.insert(s[i].key,r[i].version);return new yl(e,t,r,n)}}/**
|
|
1761
1761
|
* @license
|
|
1762
1762
|
* Copyright 2022 Google LLC
|
|
1763
1763
|
*
|
|
@@ -1772,7 +1772,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1772
1772
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1773
1773
|
* See the License for the specific language governing permissions and
|
|
1774
1774
|
* limitations under the License.
|
|
1775
|
-
*/class
|
|
1775
|
+
*/class Mb{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return e!==null&&this.mutation===e.mutation}toString(){return`Overlay{
|
|
1776
1776
|
largestBatchId: ${this.largestBatchId},
|
|
1777
1777
|
mutation: ${this.mutation.toString()}
|
|
1778
1778
|
}`}}/**
|
|
@@ -1790,7 +1790,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1790
1790
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1791
1791
|
* See the License for the specific language governing permissions and
|
|
1792
1792
|
* limitations under the License.
|
|
1793
|
-
*/class
|
|
1793
|
+
*/class Kb{constructor(e,t){this.count=e,this.unchangedNames=t}}/**
|
|
1794
1794
|
* @license
|
|
1795
1795
|
* Copyright 2017 Google LLC
|
|
1796
1796
|
*
|
|
@@ -1805,7 +1805,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1805
1805
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1806
1806
|
* See the License for the specific language governing permissions and
|
|
1807
1807
|
* limitations under the License.
|
|
1808
|
-
*/var Ee,Y;function
|
|
1808
|
+
*/var Ee,Y;function Gb(A){switch(A){default:return W();case L.CANCELLED:case L.UNKNOWN:case L.DEADLINE_EXCEEDED:case L.RESOURCE_EXHAUSTED:case L.INTERNAL:case L.UNAVAILABLE:case L.UNAUTHENTICATED:return!1;case L.INVALID_ARGUMENT:case L.NOT_FOUND:case L.ALREADY_EXISTS:case L.PERMISSION_DENIED:case L.FAILED_PRECONDITION:case L.ABORTED:case L.OUT_OF_RANGE:case L.UNIMPLEMENTED:case L.DATA_LOSS:return!0}}function Of(A){if(A===void 0)return tA("GRPC error has no .code"),L.UNKNOWN;switch(A){case Ee.OK:return L.OK;case Ee.CANCELLED:return L.CANCELLED;case Ee.UNKNOWN:return L.UNKNOWN;case Ee.DEADLINE_EXCEEDED:return L.DEADLINE_EXCEEDED;case Ee.RESOURCE_EXHAUSTED:return L.RESOURCE_EXHAUSTED;case Ee.INTERNAL:return L.INTERNAL;case Ee.UNAVAILABLE:return L.UNAVAILABLE;case Ee.UNAUTHENTICATED:return L.UNAUTHENTICATED;case Ee.INVALID_ARGUMENT:return L.INVALID_ARGUMENT;case Ee.NOT_FOUND:return L.NOT_FOUND;case Ee.ALREADY_EXISTS:return L.ALREADY_EXISTS;case Ee.PERMISSION_DENIED:return L.PERMISSION_DENIED;case Ee.FAILED_PRECONDITION:return L.FAILED_PRECONDITION;case Ee.ABORTED:return L.ABORTED;case Ee.OUT_OF_RANGE:return L.OUT_OF_RANGE;case Ee.UNIMPLEMENTED:return L.UNIMPLEMENTED;case Ee.DATA_LOSS:return L.DATA_LOSS;default:return W()}}(Y=Ee||(Ee={}))[Y.OK=0]="OK",Y[Y.CANCELLED=1]="CANCELLED",Y[Y.UNKNOWN=2]="UNKNOWN",Y[Y.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",Y[Y.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",Y[Y.NOT_FOUND=5]="NOT_FOUND",Y[Y.ALREADY_EXISTS=6]="ALREADY_EXISTS",Y[Y.PERMISSION_DENIED=7]="PERMISSION_DENIED",Y[Y.UNAUTHENTICATED=16]="UNAUTHENTICATED",Y[Y.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",Y[Y.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",Y[Y.ABORTED=10]="ABORTED",Y[Y.OUT_OF_RANGE=11]="OUT_OF_RANGE",Y[Y.UNIMPLEMENTED=12]="UNIMPLEMENTED",Y[Y.INTERNAL=13]="INTERNAL",Y[Y.UNAVAILABLE=14]="UNAVAILABLE",Y[Y.DATA_LOSS=15]="DATA_LOSS";/**
|
|
1809
1809
|
* @license
|
|
1810
1810
|
* Copyright 2023 Google LLC
|
|
1811
1811
|
*
|
|
@@ -1820,7 +1820,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1820
1820
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1821
1821
|
* See the License for the specific language governing permissions and
|
|
1822
1822
|
* limitations under the License.
|
|
1823
|
-
*/function
|
|
1823
|
+
*/function jb(){return new TextEncoder}/**
|
|
1824
1824
|
* @license
|
|
1825
1825
|
* Copyright 2022 Google LLC
|
|
1826
1826
|
*
|
|
@@ -1835,7 +1835,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1835
1835
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1836
1836
|
* See the License for the specific language governing permissions and
|
|
1837
1837
|
* limitations under the License.
|
|
1838
|
-
*/const
|
|
1838
|
+
*/const $b=new jA([4294967295,4294967295],0);function Pf(A){const e=jb().encode(A),t=new jd;return t.update(e),new Uint8Array(t.digest())}function Nf(A){const e=new DataView(A.buffer),t=e.getUint32(0,!0),r=e.getUint32(4,!0),n=e.getUint32(8,!0),s=e.getUint32(12,!0);return[new jA([t,r],0),new jA([n,s],0)]}class vl{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||t>=8)throw new Gn(`Invalid padding: ${t}`);if(r<0)throw new Gn(`Invalid hash count: ${r}`);if(e.length>0&&this.hashCount===0)throw new Gn(`Invalid hash count: ${r}`);if(e.length===0&&t!==0)throw new Gn(`Invalid padding when bitmap length is 0: ${t}`);this.Ie=8*e.length-t,this.Te=jA.fromNumber(this.Ie)}Ee(e,t,r){let n=e.add(t.multiply(jA.fromNumber(r)));return n.compare($b)===1&&(n=new jA([n.getBits(0),n.getBits(1)],0)),n.modulo(this.Te).toNumber()}de(e){return(this.bitmap[Math.floor(e/8)]&1<<e%8)!=0}mightContain(e){if(this.Ie===0)return!1;const t=Pf(e),[r,n]=Nf(t);for(let s=0;s<this.hashCount;s++){const i=this.Ee(r,n,s);if(!this.de(i))return!1}return!0}static create(e,t,r){const n=e%8==0?0:8-e%8,s=new Uint8Array(Math.ceil(e/8)),i=new vl(s,n,t);return r.forEach(o=>i.insert(o)),i}insert(e){if(this.Ie===0)return;const t=Pf(e),[r,n]=Nf(t);for(let s=0;s<this.hashCount;s++){const i=this.Ee(r,n,s);this.Ae(i)}}Ae(e){const t=Math.floor(e/8),r=e%8;this.bitmap[t]|=1<<r}}class Gn extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}/**
|
|
1839
1839
|
* @license
|
|
1840
1840
|
* Copyright 2017 Google LLC
|
|
1841
1841
|
*
|
|
@@ -1865,7 +1865,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1865
1865
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1866
1866
|
* See the License for the specific language governing permissions and
|
|
1867
1867
|
* limitations under the License.
|
|
1868
|
-
*/class Ni{constructor(e,t,r,n){this.Re=e,this.removedTargetIds=t,this.key=r,this.Ve=n}}class Vf{constructor(e,t){this.targetId=e,this.me=t}}class Mf{constructor(e,t,r=Oe.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class Kf{constructor(){this.fe=0,this.ge=jf(),this.pe=Oe.EMPTY_BYTE_STRING,this.ye=!1,this.we=!0}get current(){return this.ye}get resumeToken(){return this.pe}get Se(){return this.fe!==0}get be(){return this.we}De(e){e.approximateByteSize()>0&&(this.we=!0,this.pe=e)}ve(){let e=z(),t=z(),r=z();return this.ge.forEach((n,s)=>{switch(s){case 0:e=e.add(n);break;case 2:t=t.add(n);break;case 1:r=r.add(n);break;default:W()}}),new jn(this.pe,this.ye,e,t,r)}Ce(){this.we=!1,this.ge=jf()}Fe(e,t){this.we=!0,this.ge=this.ge.insert(e,t)}Me(e){this.we=!0,this.ge=this.ge.remove(e)}xe(){this.fe+=1}Oe(){this.fe-=1,re(this.fe>=0)}Ne(){this.we=!0,this.ye=!0}}class qb{constructor(e){this.Le=e,this.Be=new Map,this.ke=AA(),this.qe=Gf(),this.Qe=new de(ee)}Ke(e){for(const t of e.Re)e.Ve&&e.Ve.isFoundDocument()?this.$e(t,e.Ve):this.Ue(t,e.key,e.Ve);for(const t of e.removedTargetIds)this.Ue(t,e.key,e.Ve)}We(e){this.forEachTarget(e,t=>{const r=this.Ge(t);switch(e.state){case 0:this.ze(t)&&r.De(e.resumeToken);break;case 1:r.Oe(),r.Se||r.Ce(),r.De(e.resumeToken);break;case 2:r.Oe(),r.Se||this.removeTarget(t);break;case 3:this.ze(t)&&(r.Ne(),r.De(e.resumeToken));break;case 4:this.ze(t)&&(this.je(t),r.De(e.resumeToken));break;default:W()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.Be.forEach((r,n)=>{this.ze(n)&&t(n)})}He(e){const t=e.targetId,r=e.me.count,n=this.Je(t);if(n){const s=n.target;if(fl(s))if(r===0){const i=new j(s.path);this.Ue(t,i,Ke.newNoDocument(i,J.min()))}else re(r===1);else{const i=this.Ye(t);if(i!==r){const o=this.Ze(e),l=o?this.Xe(o,e,i):1;if(l!==0){this.je(t);const c=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Qe=this.Qe.insert(t,c)}}}}}Ze(e){const t=e.me.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:n=0},hashCount:s=0}=t;let i,o;try{i=qA(r).toUint8Array()}catch(l){if(l instanceof rf)return Qr("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{o=new vl(i,n,s)}catch(l){return Qr(l instanceof Gn?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return o.Ie===0?null:o}Xe(e,t,r){return t.me.count===r-this.nt(e,t.targetId)?0:2}nt(e,t){const r=this.Le.getRemoteKeysForTarget(t);let n=0;return r.forEach(s=>{const i=this.Le.tt(),o=`projects/${i.projectId}/databases/${i.database}/documents/${s.path.canonicalString()}`;e.mightContain(o)||(this.Ue(t,s,null),n++)}),n}rt(e){const t=new Map;this.Be.forEach((s,i)=>{const o=this.Je(i);if(o){if(s.current&&fl(o.target)){const l=new j(o.target.path);this.ke.get(l)!==null||this.it(i,l)||this.Ue(i,l,Ke.newNoDocument(l,e))}s.be&&(t.set(i,s.ve()),s.Ce())}});let r=z();this.qe.forEach((s,i)=>{let o=!0;i.forEachWhile(l=>{const c=this.Je(l);return!c||c.purpose==="TargetPurposeLimboResolution"||(o=!1,!1)}),o&&(r=r.add(s))}),this.ke.forEach((s,i)=>i.setReadTime(e));const n=new Pi(e,t,this.Qe,this.ke,r);return this.ke=AA(),this.qe=Gf(),this.Qe=new de(ee),n}$e(e,t){if(!this.ze(e))return;const r=this.it(e,t.key)?2:0;this.Ge(e).Fe(t.key,r),this.ke=this.ke.insert(t.key,t),this.qe=this.qe.insert(t.key,this.st(t.key).add(e))}Ue(e,t,r){if(!this.ze(e))return;const n=this.Ge(e);this.it(e,t)?n.Fe(t,1):n.Me(t),this.qe=this.qe.insert(t,this.st(t).delete(e)),r&&(this.ke=this.ke.insert(t,r))}removeTarget(e){this.Be.delete(e)}Ye(e){const t=this.Ge(e).ve();return this.Le.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}xe(e){this.Ge(e).xe()}Ge(e){let t=this.Be.get(e);return t||(t=new Kf,this.Be.set(e,t)),t}st(e){let t=this.qe.get(e);return t||(t=new De(ee),this.qe=this.qe.insert(e,t)),t}ze(e){const t=this.Je(e)!==null;return t||G("WatchChangeAggregator","Detected inactive target",e),t}Je(e){const t=this.Be.get(e);return t&&t.Se?null:this.Le.ot(e)}je(e){this.Be.set(e,new Kf),this.Le.getRemoteKeysForTarget(e).forEach(t=>{this.Ue(e,t,null)})}it(e,t){return this.Le.getRemoteKeysForTarget(e).has(t)}}function Gf(){return new de(j.comparator)}function jf(){return new de(j.comparator)}const Jb={asc:"ASCENDING",desc:"DESCENDING"},Xb={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},zb={and:"AND",or:"OR"};class Yb{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function _l(A,e){return A.useProto3Json||bi(e)?e:{value:e}}function Vi(A,e){return A.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function $f(A,e){return A.useProto3Json?e.toBase64():e.toUint8Array()}function Zb(A,e){return Vi(A,e.toTimestamp())}function Kt(A){return re(!!A),J.fromTimestamp(function(t){const r=UA(t);return new Fe(r.seconds,r.nanos)}(A))}function Cl(A,e){return El(A,e).canonicalString()}function El(A,e){const t=function(n){return new ce(["projects",n.projectId,"databases",n.database])}(A).child("documents");return e===void 0?t:t.child(e)}function Wf(A){const e=ce.fromString(A);return re(Zf(e)),e}function bl(A,e){return Cl(A.databaseId,e.path)}function Ul(A,e){const t=Wf(e);if(t.get(1)!==A.databaseId.projectId)throw new M(L.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+A.databaseId.projectId);if(t.get(3)!==A.databaseId.database)throw new M(L.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+A.databaseId.database);return new j(Jf(t))}function qf(A,e){return Cl(A.databaseId,e)}function eU(A){const e=Wf(A);return e.length===4?ce.emptyPath():Jf(e)}function Ql(A){return new ce(["projects",A.databaseId.projectId,"databases",A.databaseId.database]).canonicalString()}function Jf(A){return re(A.length>4&&A.get(4)==="documents"),A.popFirst(5)}function Xf(A,e,t){return{name:bl(A,e),fields:t.value.mapValue.fields}}function tU(A,e){let t;if("targetChange"in e){e.targetChange;const r=function(c){return c==="NO_CHANGE"?0:c==="ADD"?1:c==="REMOVE"?2:c==="CURRENT"?3:c==="RESET"?4:W()}(e.targetChange.targetChangeType||"NO_CHANGE"),n=e.targetChange.targetIds||[],s=function(c,u){return c.useProto3Json?(re(u===void 0||typeof u=="string"),Oe.fromBase64String(u||"")):(re(u===void 0||u instanceof Buffer||u instanceof Uint8Array),Oe.fromUint8Array(u||new Uint8Array))}(A,e.targetChange.resumeToken),i=e.targetChange.cause,o=i&&function(c){const u=c.code===void 0?L.UNKNOWN:Of(c.code);return new M(u,c.message||"")}(i);t=new Mf(r,n,s,o||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const n=Ul(A,r.document.name),s=Kt(r.document.updateTime),i=r.document.createTime?Kt(r.document.createTime):J.min(),o=new st({mapValue:{fields:r.document.fields}}),l=Ke.newFoundDocument(n,s,i,o),c=r.targetIds||[],u=r.removedTargetIds||[];t=new Ni(c,u,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const n=Ul(A,r.document),s=r.readTime?Kt(r.readTime):J.min(),i=Ke.newNoDocument(n,s),o=r.removedTargetIds||[];t=new Ni([],o,i.key,i)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const n=Ul(A,r.document),s=r.removedTargetIds||[];t=new Ni([],s,n,null)}else{if(!("filter"in e))return W();{e.filter;const r=e.filter;r.targetId;const{count:n=0,unchangedNames:s}=r,i=new Gb(n,s),o=r.targetId;t=new Vf(o,i)}}return t}function AU(A,e){let t;if(e instanceof Kn)t={update:Xf(A,e.key,e.value)};else if(e instanceof ml)t={delete:bl(A,e.key)};else if(e instanceof QA)t={update:Xf(A,e.key,e.data),updateMask:uU(e.fieldMask)};else{if(!(e instanceof Vb))return W();t={verify:bl(A,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(s,i){const o=i.transform;if(o instanceof Hi)return{fieldPath:i.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(o instanceof Nn)return{fieldPath:i.field.canonicalString(),appendMissingElements:{values:o.elements}};if(o instanceof Vn)return{fieldPath:i.field.canonicalString(),removeAllFromArray:{values:o.elements}};if(o instanceof Li)return{fieldPath:i.field.canonicalString(),increment:o.Pe};throw W()}(0,r))),e.precondition.isNone||(t.currentDocument=function(n,s){return s.updateTime!==void 0?{updateTime:Zb(n,s.updateTime)}:s.exists!==void 0?{exists:s.exists}:W()}(A,e.precondition)),t}function rU(A,e){return A&&A.length>0?(re(e!==void 0),A.map(t=>function(n,s){let i=n.updateTime?Kt(n.updateTime):Kt(s);return i.isEqual(J.min())&&(i=Kt(s)),new Ob(i,n.transformResults||[])}(t,e))):[]}function nU(A,e){return{documents:[qf(A,e.path)]}}function sU(A,e){const t={structuredQuery:{}},r=e.path;let n;e.collectionGroup!==null?(n=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=qf(A,n);const s=function(c){if(c.length!==0)return Yf(Qt.create(c,"and"))}(e.filters);s&&(t.structuredQuery.where=s);const i=function(c){if(c.length!==0)return c.map(u=>function(g){return{field:xr(g.field),direction:aU(g.dir)}}(u))}(e.orderBy);i&&(t.structuredQuery.orderBy=i);const o=_l(A,e.limit);return o!==null&&(t.structuredQuery.limit=o),e.startAt&&(t.structuredQuery.startAt=function(c){return{before:c.inclusive,values:c.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(c){return{before:!c.inclusive,values:c.position}}(e.endAt)),{_t:t,parent:n}}function iU(A){let e=eU(A.parent);const t=A.structuredQuery,r=t.from?t.from.length:0;let n=null;if(r>0){re(r===1);const u=t.from[0];u.allDescendants?n=u.collectionId:e=e.child(u.collectionId)}let s=[];t.where&&(s=function(d){const g=zf(d);return g instanceof Qt&&gf(g)?g.getFilters():[g]}(t.where));let i=[];t.orderBy&&(i=function(d){return d.map(g=>function(B){return new Si(kr(B.field),function(E){switch(E){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(B.direction))}(g))}(t.orderBy));let o=null;t.limit&&(o=function(d){let g;return g=typeof d=="object"?d.value:d,bi(g)?null:g}(t.limit));let l=null;t.startAt&&(l=function(d){const g=!!d.before,p=d.values||[];return new Ti(p,g)}(t.startAt));let c=null;return t.endAt&&(c=function(d){const g=!d.before,p=d.values||[];return new Ti(p,g)}(t.endAt)),bb(e,n,i,s,o,"F",l,c)}function oU(A,e){const t=function(n){switch(n){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return W()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function zf(A){return A.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=kr(t.unaryFilter.field);return Ce.create(r,"==",{doubleValue:NaN});case"IS_NULL":const n=kr(t.unaryFilter.field);return Ce.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const s=kr(t.unaryFilter.field);return Ce.create(s,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const i=kr(t.unaryFilter.field);return Ce.create(i,"!=",{nullValue:"NULL_VALUE"});default:return W()}}(A):A.fieldFilter!==void 0?function(t){return Ce.create(kr(t.fieldFilter.field),function(n){switch(n){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";default:return W()}}(t.fieldFilter.op),t.fieldFilter.value)}(A):A.compositeFilter!==void 0?function(t){return Qt.create(t.compositeFilter.filters.map(r=>zf(r)),function(n){switch(n){case"AND":return"and";case"OR":return"or";default:return W()}}(t.compositeFilter.op))}(A):W()}function aU(A){return Jb[A]}function lU(A){return Xb[A]}function cU(A){return zb[A]}function xr(A){return{fieldPath:A.canonicalString()}}function kr(A){return He.fromServerFormat(A.fieldPath)}function Yf(A){return A instanceof Ce?function(t){if(t.op==="=="){if(lf(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NAN"}};if(af(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(lf(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NOT_NAN"}};if(af(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:xr(t.field),op:lU(t.op),value:t.value}}}(A):A instanceof Qt?function(t){const r=t.getFilters().map(n=>Yf(n));return r.length===1?r[0]:{compositeFilter:{op:cU(t.op),filters:r}}}(A):W()}function uU(A){const e=[];return A.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function Zf(A){return A.length>=4&&A.get(0)==="projects"&&A.get(2)==="databases"}/**
|
|
1868
|
+
*/class Ni{constructor(e,t,r,n){this.Re=e,this.removedTargetIds=t,this.key=r,this.Ve=n}}class Vf{constructor(e,t){this.targetId=e,this.me=t}}class Mf{constructor(e,t,r=Oe.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class Kf{constructor(){this.fe=0,this.ge=jf(),this.pe=Oe.EMPTY_BYTE_STRING,this.ye=!1,this.we=!0}get current(){return this.ye}get resumeToken(){return this.pe}get Se(){return this.fe!==0}get be(){return this.we}De(e){e.approximateByteSize()>0&&(this.we=!0,this.pe=e)}ve(){let e=z(),t=z(),r=z();return this.ge.forEach((n,s)=>{switch(s){case 0:e=e.add(n);break;case 2:t=t.add(n);break;case 1:r=r.add(n);break;default:W()}}),new jn(this.pe,this.ye,e,t,r)}Ce(){this.we=!1,this.ge=jf()}Fe(e,t){this.we=!0,this.ge=this.ge.insert(e,t)}Me(e){this.we=!0,this.ge=this.ge.remove(e)}xe(){this.fe+=1}Oe(){this.fe-=1,re(this.fe>=0)}Ne(){this.we=!0,this.ye=!0}}class Wb{constructor(e){this.Le=e,this.Be=new Map,this.ke=AA(),this.qe=Gf(),this.Qe=new de(ee)}Ke(e){for(const t of e.Re)e.Ve&&e.Ve.isFoundDocument()?this.$e(t,e.Ve):this.Ue(t,e.key,e.Ve);for(const t of e.removedTargetIds)this.Ue(t,e.key,e.Ve)}We(e){this.forEachTarget(e,t=>{const r=this.Ge(t);switch(e.state){case 0:this.ze(t)&&r.De(e.resumeToken);break;case 1:r.Oe(),r.Se||r.Ce(),r.De(e.resumeToken);break;case 2:r.Oe(),r.Se||this.removeTarget(t);break;case 3:this.ze(t)&&(r.Ne(),r.De(e.resumeToken));break;case 4:this.ze(t)&&(this.je(t),r.De(e.resumeToken));break;default:W()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.Be.forEach((r,n)=>{this.ze(n)&&t(n)})}He(e){const t=e.targetId,r=e.me.count,n=this.Je(t);if(n){const s=n.target;if(fl(s))if(r===0){const i=new j(s.path);this.Ue(t,i,Ke.newNoDocument(i,J.min()))}else re(r===1);else{const i=this.Ye(t);if(i!==r){const o=this.Ze(e),l=o?this.Xe(o,e,i):1;if(l!==0){this.je(t);const c=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Qe=this.Qe.insert(t,c)}}}}}Ze(e){const t=e.me.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:n=0},hashCount:s=0}=t;let i,o;try{i=qA(r).toUint8Array()}catch(l){if(l instanceof rf)return Qr("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{o=new vl(i,n,s)}catch(l){return Qr(l instanceof Gn?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return o.Ie===0?null:o}Xe(e,t,r){return t.me.count===r-this.nt(e,t.targetId)?0:2}nt(e,t){const r=this.Le.getRemoteKeysForTarget(t);let n=0;return r.forEach(s=>{const i=this.Le.tt(),o=`projects/${i.projectId}/databases/${i.database}/documents/${s.path.canonicalString()}`;e.mightContain(o)||(this.Ue(t,s,null),n++)}),n}rt(e){const t=new Map;this.Be.forEach((s,i)=>{const o=this.Je(i);if(o){if(s.current&&fl(o.target)){const l=new j(o.target.path);this.ke.get(l)!==null||this.it(i,l)||this.Ue(i,l,Ke.newNoDocument(l,e))}s.be&&(t.set(i,s.ve()),s.Ce())}});let r=z();this.qe.forEach((s,i)=>{let o=!0;i.forEachWhile(l=>{const c=this.Je(l);return!c||c.purpose==="TargetPurposeLimboResolution"||(o=!1,!1)}),o&&(r=r.add(s))}),this.ke.forEach((s,i)=>i.setReadTime(e));const n=new Pi(e,t,this.Qe,this.ke,r);return this.ke=AA(),this.qe=Gf(),this.Qe=new de(ee),n}$e(e,t){if(!this.ze(e))return;const r=this.it(e,t.key)?2:0;this.Ge(e).Fe(t.key,r),this.ke=this.ke.insert(t.key,t),this.qe=this.qe.insert(t.key,this.st(t.key).add(e))}Ue(e,t,r){if(!this.ze(e))return;const n=this.Ge(e);this.it(e,t)?n.Fe(t,1):n.Me(t),this.qe=this.qe.insert(t,this.st(t).delete(e)),r&&(this.ke=this.ke.insert(t,r))}removeTarget(e){this.Be.delete(e)}Ye(e){const t=this.Ge(e).ve();return this.Le.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}xe(e){this.Ge(e).xe()}Ge(e){let t=this.Be.get(e);return t||(t=new Kf,this.Be.set(e,t)),t}st(e){let t=this.qe.get(e);return t||(t=new De(ee),this.qe=this.qe.insert(e,t)),t}ze(e){const t=this.Je(e)!==null;return t||G("WatchChangeAggregator","Detected inactive target",e),t}Je(e){const t=this.Be.get(e);return t&&t.Se?null:this.Le.ot(e)}je(e){this.Be.set(e,new Kf),this.Le.getRemoteKeysForTarget(e).forEach(t=>{this.Ue(e,t,null)})}it(e,t){return this.Le.getRemoteKeysForTarget(e).has(t)}}function Gf(){return new de(j.comparator)}function jf(){return new de(j.comparator)}const qb={asc:"ASCENDING",desc:"DESCENDING"},Jb={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},Xb={and:"AND",or:"OR"};class zb{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function _l(A,e){return A.useProto3Json||bi(e)?e:{value:e}}function Vi(A,e){return A.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function $f(A,e){return A.useProto3Json?e.toBase64():e.toUint8Array()}function Yb(A,e){return Vi(A,e.toTimestamp())}function Kt(A){return re(!!A),J.fromTimestamp(function(t){const r=UA(t);return new Fe(r.seconds,r.nanos)}(A))}function Cl(A,e){return El(A,e).canonicalString()}function El(A,e){const t=function(n){return new ce(["projects",n.projectId,"databases",n.database])}(A).child("documents");return e===void 0?t:t.child(e)}function Wf(A){const e=ce.fromString(A);return re(Zf(e)),e}function bl(A,e){return Cl(A.databaseId,e.path)}function Ul(A,e){const t=Wf(e);if(t.get(1)!==A.databaseId.projectId)throw new M(L.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+A.databaseId.projectId);if(t.get(3)!==A.databaseId.database)throw new M(L.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+A.databaseId.database);return new j(Jf(t))}function qf(A,e){return Cl(A.databaseId,e)}function Zb(A){const e=Wf(A);return e.length===4?ce.emptyPath():Jf(e)}function Ql(A){return new ce(["projects",A.databaseId.projectId,"databases",A.databaseId.database]).canonicalString()}function Jf(A){return re(A.length>4&&A.get(4)==="documents"),A.popFirst(5)}function Xf(A,e,t){return{name:bl(A,e),fields:t.value.mapValue.fields}}function eU(A,e){let t;if("targetChange"in e){e.targetChange;const r=function(c){return c==="NO_CHANGE"?0:c==="ADD"?1:c==="REMOVE"?2:c==="CURRENT"?3:c==="RESET"?4:W()}(e.targetChange.targetChangeType||"NO_CHANGE"),n=e.targetChange.targetIds||[],s=function(c,u){return c.useProto3Json?(re(u===void 0||typeof u=="string"),Oe.fromBase64String(u||"")):(re(u===void 0||u instanceof Buffer||u instanceof Uint8Array),Oe.fromUint8Array(u||new Uint8Array))}(A,e.targetChange.resumeToken),i=e.targetChange.cause,o=i&&function(c){const u=c.code===void 0?L.UNKNOWN:Of(c.code);return new M(u,c.message||"")}(i);t=new Mf(r,n,s,o||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const n=Ul(A,r.document.name),s=Kt(r.document.updateTime),i=r.document.createTime?Kt(r.document.createTime):J.min(),o=new st({mapValue:{fields:r.document.fields}}),l=Ke.newFoundDocument(n,s,i,o),c=r.targetIds||[],u=r.removedTargetIds||[];t=new Ni(c,u,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const n=Ul(A,r.document),s=r.readTime?Kt(r.readTime):J.min(),i=Ke.newNoDocument(n,s),o=r.removedTargetIds||[];t=new Ni([],o,i.key,i)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const n=Ul(A,r.document),s=r.removedTargetIds||[];t=new Ni([],s,n,null)}else{if(!("filter"in e))return W();{e.filter;const r=e.filter;r.targetId;const{count:n=0,unchangedNames:s}=r,i=new Kb(n,s),o=r.targetId;t=new Vf(o,i)}}return t}function tU(A,e){let t;if(e instanceof Kn)t={update:Xf(A,e.key,e.value)};else if(e instanceof ml)t={delete:bl(A,e.key)};else if(e instanceof QA)t={update:Xf(A,e.key,e.data),updateMask:cU(e.fieldMask)};else{if(!(e instanceof Nb))return W();t={verify:bl(A,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(s,i){const o=i.transform;if(o instanceof Hi)return{fieldPath:i.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(o instanceof Nn)return{fieldPath:i.field.canonicalString(),appendMissingElements:{values:o.elements}};if(o instanceof Vn)return{fieldPath:i.field.canonicalString(),removeAllFromArray:{values:o.elements}};if(o instanceof Li)return{fieldPath:i.field.canonicalString(),increment:o.Pe};throw W()}(0,r))),e.precondition.isNone||(t.currentDocument=function(n,s){return s.updateTime!==void 0?{updateTime:Yb(n,s.updateTime)}:s.exists!==void 0?{exists:s.exists}:W()}(A,e.precondition)),t}function AU(A,e){return A&&A.length>0?(re(e!==void 0),A.map(t=>function(n,s){let i=n.updateTime?Kt(n.updateTime):Kt(s);return i.isEqual(J.min())&&(i=Kt(s)),new Db(i,n.transformResults||[])}(t,e))):[]}function rU(A,e){return{documents:[qf(A,e.path)]}}function nU(A,e){const t={structuredQuery:{}},r=e.path;let n;e.collectionGroup!==null?(n=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(n=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=qf(A,n);const s=function(c){if(c.length!==0)return Yf(Qt.create(c,"and"))}(e.filters);s&&(t.structuredQuery.where=s);const i=function(c){if(c.length!==0)return c.map(u=>function(g){return{field:xr(g.field),direction:oU(g.dir)}}(u))}(e.orderBy);i&&(t.structuredQuery.orderBy=i);const o=_l(A,e.limit);return o!==null&&(t.structuredQuery.limit=o),e.startAt&&(t.structuredQuery.startAt=function(c){return{before:c.inclusive,values:c.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(c){return{before:!c.inclusive,values:c.position}}(e.endAt)),{_t:t,parent:n}}function sU(A){let e=Zb(A.parent);const t=A.structuredQuery,r=t.from?t.from.length:0;let n=null;if(r>0){re(r===1);const u=t.from[0];u.allDescendants?n=u.collectionId:e=e.child(u.collectionId)}let s=[];t.where&&(s=function(d){const g=zf(d);return g instanceof Qt&&gf(g)?g.getFilters():[g]}(t.where));let i=[];t.orderBy&&(i=function(d){return d.map(g=>function(B){return new Si(kr(B.field),function(E){switch(E){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(B.direction))}(g))}(t.orderBy));let o=null;t.limit&&(o=function(d){let g;return g=typeof d=="object"?d.value:d,bi(g)?null:g}(t.limit));let l=null;t.startAt&&(l=function(d){const g=!!d.before,p=d.values||[];return new Ti(p,g)}(t.startAt));let c=null;return t.endAt&&(c=function(d){const g=!d.before,p=d.values||[];return new Ti(p,g)}(t.endAt)),Eb(e,n,i,s,o,"F",l,c)}function iU(A,e){const t=function(n){switch(n){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return W()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function zf(A){return A.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=kr(t.unaryFilter.field);return Ce.create(r,"==",{doubleValue:NaN});case"IS_NULL":const n=kr(t.unaryFilter.field);return Ce.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const s=kr(t.unaryFilter.field);return Ce.create(s,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const i=kr(t.unaryFilter.field);return Ce.create(i,"!=",{nullValue:"NULL_VALUE"});default:return W()}}(A):A.fieldFilter!==void 0?function(t){return Ce.create(kr(t.fieldFilter.field),function(n){switch(n){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";default:return W()}}(t.fieldFilter.op),t.fieldFilter.value)}(A):A.compositeFilter!==void 0?function(t){return Qt.create(t.compositeFilter.filters.map(r=>zf(r)),function(n){switch(n){case"AND":return"and";case"OR":return"or";default:return W()}}(t.compositeFilter.op))}(A):W()}function oU(A){return qb[A]}function aU(A){return Jb[A]}function lU(A){return Xb[A]}function xr(A){return{fieldPath:A.canonicalString()}}function kr(A){return He.fromServerFormat(A.fieldPath)}function Yf(A){return A instanceof Ce?function(t){if(t.op==="=="){if(lf(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NAN"}};if(af(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(lf(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NOT_NAN"}};if(af(t.value))return{unaryFilter:{field:xr(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:xr(t.field),op:aU(t.op),value:t.value}}}(A):A instanceof Qt?function(t){const r=t.getFilters().map(n=>Yf(n));return r.length===1?r[0]:{compositeFilter:{op:lU(t.op),filters:r}}}(A):W()}function cU(A){const e=[];return A.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function Zf(A){return A.length>=4&&A.get(0)==="projects"&&A.get(2)==="databases"}/**
|
|
1869
1869
|
* @license
|
|
1870
1870
|
* Copyright 2017 Google LLC
|
|
1871
1871
|
*
|
|
@@ -1895,7 +1895,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1895
1895
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1896
1896
|
* See the License for the specific language governing permissions and
|
|
1897
1897
|
* limitations under the License.
|
|
1898
|
-
*/class
|
|
1898
|
+
*/class uU{constructor(e){this.ct=e}}function hU(A){const e=sU({parent:A.parent,structuredQuery:A.structuredQuery});return A.limitType==="LAST"?wl(e,e.limit,"L"):e}/**
|
|
1899
1899
|
* @license
|
|
1900
1900
|
* Copyright 2019 Google LLC
|
|
1901
1901
|
*
|
|
@@ -1910,7 +1910,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1910
1910
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1911
1911
|
* See the License for the specific language governing permissions and
|
|
1912
1912
|
* limitations under the License.
|
|
1913
|
-
*/class
|
|
1913
|
+
*/class dU{constructor(){this.un=new fU}addToCollectionParentIndex(e,t){return this.un.add(t),D.resolve()}getCollectionParents(e,t){return D.resolve(this.un.getEntries(t))}addFieldIndex(e,t){return D.resolve()}deleteFieldIndex(e,t){return D.resolve()}deleteAllFieldIndexes(e){return D.resolve()}createTargetIndexes(e,t){return D.resolve()}getDocumentsMatchingTarget(e,t){return D.resolve(null)}getIndexType(e,t){return D.resolve(0)}getFieldIndexes(e,t){return D.resolve([])}getNextCollectionGroupToUpdate(e){return D.resolve(null)}getMinOffset(e,t){return D.resolve(bA.min())}getMinOffsetFromCollectionGroup(e,t){return D.resolve(bA.min())}updateCollectionGroup(e,t,r){return D.resolve()}updateIndexEntries(e,t){return D.resolve()}}class fU{constructor(){this.index={}}add(e){const t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new De(ce.comparator),s=!n.has(r);return this.index[t]=n.add(r),s}has(e){const t=e.lastSegment(),r=e.popLast(),n=this.index[t];return n&&n.has(r)}getEntries(e){return(this.index[e]||new De(ce.comparator)).toArray()}}/**
|
|
1914
1914
|
* @license
|
|
1915
1915
|
* Copyright 2017 Google LLC
|
|
1916
1916
|
*
|
|
@@ -1940,7 +1940,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1940
1940
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1941
1941
|
* See the License for the specific language governing permissions and
|
|
1942
1942
|
* limitations under the License.
|
|
1943
|
-
*/class
|
|
1943
|
+
*/class gU{constructor(){this.changes=new Rr(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,Ke.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();const r=this.changes.get(t);return r!==void 0?D.resolve(r):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}/**
|
|
1944
1944
|
* @license
|
|
1945
1945
|
* Copyright 2017 Google LLC
|
|
1946
1946
|
*
|
|
@@ -1970,7 +1970,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1970
1970
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1971
1971
|
* See the License for the specific language governing permissions and
|
|
1972
1972
|
* limitations under the License.
|
|
1973
|
-
*/class
|
|
1973
|
+
*/class pU{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}/**
|
|
1974
1974
|
* @license
|
|
1975
1975
|
* Copyright 2017 Google LLC
|
|
1976
1976
|
*
|
|
@@ -1985,7 +1985,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1985
1985
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1986
1986
|
* See the License for the specific language governing permissions and
|
|
1987
1987
|
* limitations under the License.
|
|
1988
|
-
*/class
|
|
1988
|
+
*/class wU{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(n=>(r=n,this.remoteDocumentCache.getEntry(e,t))).next(n=>(r!==null&&Mn(r.mutation,n,ht.empty(),Fe.now()),n))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.getLocalViewOfDocuments(e,r,z()).next(()=>r))}getLocalViewOfDocuments(e,t,r=z()){const n=XA();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(s=>{let i=On();return s.forEach((o,l)=>{i=i.insert(o,l.overlayedDocument)}),i}))}getOverlayedDocuments(e,t){const r=XA();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,z()))}populateOverlays(e,t,r){const n=[];return r.forEach(s=>{t.has(s)||n.push(s)}),this.documentOverlayCache.getOverlays(e,n).next(s=>{s.forEach((i,o)=>{t.set(i,o)})})}computeViews(e,t,r,n){let s=AA();const i=Pn(),o=function(){return Pn()}();return t.forEach((l,c)=>{const u=r.get(c.key);n.has(c.key)&&(u===void 0||u.mutation instanceof QA)?s=s.insert(c.key,c):u!==void 0?(i.set(c.key,u.mutation.getFieldMask()),Mn(u.mutation,c,u.mutation.getFieldMask(),Fe.now())):i.set(c.key,ht.empty())}),this.recalculateAndSaveOverlays(e,s).next(l=>(l.forEach((c,u)=>i.set(c,u)),t.forEach((c,u)=>{var d;return o.set(c,new pU(u,(d=i.get(c))!==null&&d!==void 0?d:null))}),o))}recalculateAndSaveOverlays(e,t){const r=Pn();let n=new de((i,o)=>i-o),s=z();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(i=>{for(const o of i)o.keys().forEach(l=>{const c=t.get(l);if(c===null)return;let u=r.get(l)||ht.empty();u=o.applyToLocalView(c,u),r.set(l,u);const d=(n.get(o.batchId)||z()).add(l);n=n.insert(o.batchId,d)})}).next(()=>{const i=[],o=n.getReverseIterator();for(;o.hasNext();){const l=o.getNext(),c=l.key,u=l.value,d=Uf();u.forEach(g=>{if(!s.has(g)){const p=xf(t.get(g),r.get(g));p!==null&&d.set(g,p),s=s.add(g)}}),i.push(this.documentOverlayCache.saveOverlays(e,c,d))}return D.waitFor(i)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.recalculateAndSaveOverlays(e,r))}getDocumentsMatchingQuery(e,t,r,n){return function(i){return j.isDocumentKey(i.path)&&i.collectionGroup===null&&i.filters.length===0}(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):vf(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n)}getNextDocuments(e,t,r,n){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,n).next(s=>{const i=n-s.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,n-s.size):D.resolve(XA());let o=-1,l=s;return i.next(c=>D.forEach(c,(u,d)=>(o<d.largestBatchId&&(o=d.largestBatchId),s.get(u)?D.resolve():this.remoteDocumentCache.getEntry(e,u).next(g=>{l=l.insert(u,g)}))).next(()=>this.populateOverlays(e,c,s)).next(()=>this.computeViews(e,l,c,z())).next(u=>({batchId:o,changes:bf(u)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new j(t)).next(r=>{let n=On();return r.isFoundDocument()&&(n=n.insert(r.key,r)),n})}getDocumentsMatchingCollectionGroupQuery(e,t,r,n){const s=t.collectionGroup;let i=On();return this.indexManager.getCollectionParents(e,s).next(o=>D.forEach(o,l=>{const c=function(d,g){return new Ln(g,null,d.explicitOrderBy.slice(),d.filters.slice(),d.limit,d.limitType,d.startAt,d.endAt)}(t,l.child(s));return this.getDocumentsMatchingCollectionQuery(e,c,r,n).next(u=>{u.forEach((d,g)=>{i=i.insert(d,g)})})}).next(()=>i))}getDocumentsMatchingCollectionQuery(e,t,r,n){let s;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(i=>(s=i,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,s,n))).next(i=>{s.forEach((l,c)=>{const u=c.getKey();i.get(u)===null&&(i=i.insert(u,Ke.newInvalidDocument(u)))});let o=On();return i.forEach((l,c)=>{const u=s.get(l);u!==void 0&&Mn(u.mutation,c,ht.empty(),Fe.now()),xi(t,c)&&(o=o.insert(l,c))}),o})}}/**
|
|
1989
1989
|
* @license
|
|
1990
1990
|
* Copyright 2020 Google LLC
|
|
1991
1991
|
*
|
|
@@ -2000,7 +2000,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2000
2000
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2001
2001
|
* See the License for the specific language governing permissions and
|
|
2002
2002
|
* limitations under the License.
|
|
2003
|
-
*/class
|
|
2003
|
+
*/class BU{constructor(e){this.serializer=e,this.hr=new Map,this.Pr=new Map}getBundleMetadata(e,t){return D.resolve(this.hr.get(t))}saveBundleMetadata(e,t){return this.hr.set(t.id,function(n){return{id:n.id,version:n.version,createTime:Kt(n.createTime)}}(t)),D.resolve()}getNamedQuery(e,t){return D.resolve(this.Pr.get(t))}saveNamedQuery(e,t){return this.Pr.set(t.name,function(n){return{name:n.name,query:hU(n.bundledQuery),readTime:Kt(n.readTime)}}(t)),D.resolve()}}/**
|
|
2004
2004
|
* @license
|
|
2005
2005
|
* Copyright 2022 Google LLC
|
|
2006
2006
|
*
|
|
@@ -2015,7 +2015,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2015
2015
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2016
2016
|
* See the License for the specific language governing permissions and
|
|
2017
2017
|
* limitations under the License.
|
|
2018
|
-
*/class
|
|
2018
|
+
*/class mU{constructor(){this.overlays=new de(j.comparator),this.Ir=new Map}getOverlay(e,t){return D.resolve(this.overlays.get(t))}getOverlays(e,t){const r=XA();return D.forEach(t,n=>this.getOverlay(e,n).next(s=>{s!==null&&r.set(n,s)})).next(()=>r)}saveOverlays(e,t,r){return r.forEach((n,s)=>{this.ht(e,t,s)}),D.resolve()}removeOverlaysForBatchId(e,t,r){const n=this.Ir.get(r);return n!==void 0&&(n.forEach(s=>this.overlays=this.overlays.remove(s)),this.Ir.delete(r)),D.resolve()}getOverlaysForCollection(e,t,r){const n=XA(),s=t.length+1,i=new j(t.child("")),o=this.overlays.getIteratorFrom(i);for(;o.hasNext();){const l=o.getNext().value,c=l.getKey();if(!t.isPrefixOf(c.path))break;c.path.length===s&&l.largestBatchId>r&&n.set(l.getKey(),l)}return D.resolve(n)}getOverlaysForCollectionGroup(e,t,r,n){let s=new de((c,u)=>c-u);const i=this.overlays.getIterator();for(;i.hasNext();){const c=i.getNext().value;if(c.getKey().getCollectionGroup()===t&&c.largestBatchId>r){let u=s.get(c.largestBatchId);u===null&&(u=XA(),s=s.insert(c.largestBatchId,u)),u.set(c.getKey(),c)}}const o=XA(),l=s.getIterator();for(;l.hasNext()&&(l.getNext().value.forEach((c,u)=>o.set(c,u)),!(o.size()>=n)););return D.resolve(o)}ht(e,t,r){const n=this.overlays.get(r.key);if(n!==null){const i=this.Ir.get(n.largestBatchId).delete(r.key);this.Ir.set(n.largestBatchId,i)}this.overlays=this.overlays.insert(r.key,new Mb(t,r));let s=this.Ir.get(t);s===void 0&&(s=z(),this.Ir.set(t,s)),this.Ir.set(t,s.add(r.key))}}/**
|
|
2019
2019
|
* @license
|
|
2020
2020
|
* Copyright 2024 Google LLC
|
|
2021
2021
|
*
|
|
@@ -2030,7 +2030,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2030
2030
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2031
2031
|
* See the License for the specific language governing permissions and
|
|
2032
2032
|
* limitations under the License.
|
|
2033
|
-
*/class
|
|
2033
|
+
*/class yU{constructor(){this.sessionToken=Oe.EMPTY_BYTE_STRING}getSessionToken(e){return D.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,D.resolve()}}/**
|
|
2034
2034
|
* @license
|
|
2035
2035
|
* Copyright 2017 Google LLC
|
|
2036
2036
|
*
|
|
@@ -2060,7 +2060,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2060
2060
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2061
2061
|
* See the License for the specific language governing permissions and
|
|
2062
2062
|
* limitations under the License.
|
|
2063
|
-
*/class
|
|
2063
|
+
*/class vU{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Sr=1,this.br=new De(Re.Er)}checkEmpty(e){return D.resolve(this.mutationQueue.length===0)}addMutationBatch(e,t,r,n){const s=this.Sr;this.Sr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const i=new Vb(s,t,r,n);this.mutationQueue.push(i);for(const o of n)this.br=this.br.add(new Re(o.key,s)),this.indexManager.addToCollectionParentIndex(e,o.key.path.popLast());return D.resolve(i)}lookupMutationBatch(e,t){return D.resolve(this.Dr(t))}getNextMutationBatchAfterBatchId(e,t){const r=t+1,n=this.vr(r),s=n<0?0:n;return D.resolve(this.mutationQueue.length>s?this.mutationQueue[s]:null)}getHighestUnacknowledgedBatchId(){return D.resolve(this.mutationQueue.length===0?-1:this.Sr-1)}getAllMutationBatches(e){return D.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){const r=new Re(t,0),n=new Re(t,Number.POSITIVE_INFINITY),s=[];return this.br.forEachInRange([r,n],i=>{const o=this.Dr(i.wr);s.push(o)}),D.resolve(s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new De(ee);return t.forEach(n=>{const s=new Re(n,0),i=new Re(n,Number.POSITIVE_INFINITY);this.br.forEachInRange([s,i],o=>{r=r.add(o.wr)})}),D.resolve(this.Cr(r))}getAllMutationBatchesAffectingQuery(e,t){const r=t.path,n=r.length+1;let s=r;j.isDocumentKey(s)||(s=s.child(""));const i=new Re(new j(s),0);let o=new De(ee);return this.br.forEachWhile(l=>{const c=l.key.path;return!!r.isPrefixOf(c)&&(c.length===n&&(o=o.add(l.wr)),!0)},i),D.resolve(this.Cr(o))}Cr(e){const t=[];return e.forEach(r=>{const n=this.Dr(r);n!==null&&t.push(n)}),t}removeMutationBatch(e,t){re(this.Fr(t.batchId,"removed")===0),this.mutationQueue.shift();let r=this.br;return D.forEach(t.mutations,n=>{const s=new Re(n.key,t.batchId);return r=r.delete(s),this.referenceDelegate.markPotentiallyOrphaned(e,n.key)}).next(()=>{this.br=r})}On(e){}containsKey(e,t){const r=new Re(t,0),n=this.br.firstAfterOrEqual(r);return D.resolve(t.isEqual(n&&n.key))}performConsistencyCheck(e){return this.mutationQueue.length,D.resolve()}Fr(e,t){return this.vr(e)}vr(e){return this.mutationQueue.length===0?0:e-this.mutationQueue[0].batchId}Dr(e){const t=this.vr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}/**
|
|
2064
2064
|
* @license
|
|
2065
2065
|
* Copyright 2017 Google LLC
|
|
2066
2066
|
*
|
|
@@ -2075,7 +2075,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2075
2075
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2076
2076
|
* See the License for the specific language governing permissions and
|
|
2077
2077
|
* limitations under the License.
|
|
2078
|
-
*/class
|
|
2078
|
+
*/class _U{constructor(e){this.Mr=e,this.docs=function(){return new de(j.comparator)}(),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){const r=t.key,n=this.docs.get(r),s=n?n.size:0,i=this.Mr(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:i}),this.size+=i-s,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){const t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){const r=this.docs.get(t);return D.resolve(r?r.document.mutableCopy():Ke.newInvalidDocument(t))}getEntries(e,t){let r=AA();return t.forEach(n=>{const s=this.docs.get(n);r=r.insert(n,s?s.document.mutableCopy():Ke.newInvalidDocument(n))}),D.resolve(r)}getDocumentsMatchingQuery(e,t,r,n){let s=AA();const i=t.path,o=new j(i.child("")),l=this.docs.getIteratorFrom(o);for(;l.hasNext();){const{key:c,value:{document:u}}=l.getNext();if(!i.isPrefixOf(c.path))break;c.path.length>i.length+1||sb(nb(u),r)<=0||(n.has(u.key)||xi(t,u))&&(s=s.insert(u.key,u.mutableCopy()))}return D.resolve(s)}getAllFromCollectionGroup(e,t,r,n){W()}Or(e,t){return D.forEach(this.docs,r=>t(r))}newChangeBuffer(e){return new CU(this)}getSize(e){return D.resolve(this.size)}}class CU extends gU{constructor(e){super(),this.cr=e}applyChanges(e){const t=[];return this.changes.forEach((r,n)=>{n.isValidDocument()?t.push(this.cr.addEntry(e,n)):this.cr.removeEntry(r)}),D.waitFor(t)}getFromCache(e,t){return this.cr.getEntry(e,t)}getAllFromCache(e,t){return this.cr.getEntries(e,t)}}/**
|
|
2079
2079
|
* @license
|
|
2080
2080
|
* Copyright 2017 Google LLC
|
|
2081
2081
|
*
|
|
@@ -2090,7 +2090,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2090
2090
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2091
2091
|
* See the License for the specific language governing permissions and
|
|
2092
2092
|
* limitations under the License.
|
|
2093
|
-
*/class
|
|
2093
|
+
*/class EU{constructor(e){this.persistence=e,this.Nr=new Rr(t=>hl(t),dl),this.lastRemoteSnapshotVersion=J.min(),this.highestTargetId=0,this.Lr=0,this.Br=new Il,this.targetCount=0,this.kr=Hr.Bn()}forEachTarget(e,t){return this.Nr.forEach((r,n)=>t(n)),D.resolve()}getLastRemoteSnapshotVersion(e){return D.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return D.resolve(this.Lr)}allocateTargetId(e){return this.highestTargetId=this.kr.next(),D.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.Lr&&(this.Lr=t),D.resolve()}Kn(e){this.Nr.set(e.target,e);const t=e.targetId;t>this.highestTargetId&&(this.kr=new Hr(t),this.highestTargetId=t),e.sequenceNumber>this.Lr&&(this.Lr=e.sequenceNumber)}addTargetData(e,t){return this.Kn(t),this.targetCount+=1,D.resolve()}updateTargetData(e,t){return this.Kn(t),D.resolve()}removeTargetData(e,t){return this.Nr.delete(t.target),this.Br.gr(t.targetId),this.targetCount-=1,D.resolve()}removeTargets(e,t,r){let n=0;const s=[];return this.Nr.forEach((i,o)=>{o.sequenceNumber<=t&&r.get(o.targetId)===null&&(this.Nr.delete(i),s.push(this.removeMatchingKeysForTargetId(e,o.targetId)),n++)}),D.waitFor(s).next(()=>n)}getTargetCount(e){return D.resolve(this.targetCount)}getTargetData(e,t){const r=this.Nr.get(t)||null;return D.resolve(r)}addMatchingKeys(e,t,r){return this.Br.Rr(t,r),D.resolve()}removeMatchingKeys(e,t,r){this.Br.mr(t,r);const n=this.persistence.referenceDelegate,s=[];return n&&t.forEach(i=>{s.push(n.markPotentiallyOrphaned(e,i))}),D.waitFor(s)}removeMatchingKeysForTargetId(e,t){return this.Br.gr(t),D.resolve()}getMatchingKeysForTargetId(e,t){const r=this.Br.yr(t);return D.resolve(r)}containsKey(e,t){return D.resolve(this.Br.containsKey(t))}}/**
|
|
2094
2094
|
* @license
|
|
2095
2095
|
* Copyright 2017 Google LLC
|
|
2096
2096
|
*
|
|
@@ -2105,7 +2105,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2105
2105
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2106
2106
|
* See the License for the specific language governing permissions and
|
|
2107
2107
|
* limitations under the License.
|
|
2108
|
-
*/class
|
|
2108
|
+
*/class bU{constructor(e,t){this.qr={},this.overlays={},this.Qr=new sl(0),this.Kr=!1,this.Kr=!0,this.$r=new yU,this.referenceDelegate=e(this),this.Ur=new EU(this),this.indexManager=new dU,this.remoteDocumentCache=function(n){return new _U(n)}(r=>this.referenceDelegate.Wr(r)),this.serializer=new uU(t),this.Gr=new BU(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.Kr=!1,Promise.resolve()}get started(){return this.Kr}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new mU,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.qr[e.toKey()];return r||(r=new vU(t,this.referenceDelegate),this.qr[e.toKey()]=r),r}getGlobalsCache(){return this.$r}getTargetCache(){return this.Ur}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Gr}runTransaction(e,t,r){G("MemoryPersistence","Starting transaction:",e);const n=new UU(this.Qr.next());return this.referenceDelegate.zr(),r(n).next(s=>this.referenceDelegate.jr(n).next(()=>s)).toPromise().then(s=>(n.raiseOnCommittedEvent(),s))}Hr(e,t){return D.or(Object.values(this.qr).map(r=>()=>r.containsKey(e,t)))}}class UU extends ob{constructor(e){super(),this.currentSequenceNumber=e}}class Fl{constructor(e){this.persistence=e,this.Jr=new Il,this.Yr=null}static Zr(e){return new Fl(e)}get Xr(){if(this.Yr)return this.Yr;throw W()}addReference(e,t,r){return this.Jr.addReference(r,t),this.Xr.delete(r.toString()),D.resolve()}removeReference(e,t,r){return this.Jr.removeReference(r,t),this.Xr.add(r.toString()),D.resolve()}markPotentiallyOrphaned(e,t){return this.Xr.add(t.toString()),D.resolve()}removeTarget(e,t){this.Jr.gr(t.targetId).forEach(n=>this.Xr.add(n.toString()));const r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(n=>{n.forEach(s=>this.Xr.add(s.toString()))}).next(()=>r.removeTargetData(e,t))}zr(){this.Yr=new Set}jr(e){const t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return D.forEach(this.Xr,r=>{const n=j.fromPath(r);return this.ei(e,n).next(s=>{s||t.removeEntry(n,J.min())})}).next(()=>(this.Yr=null,t.apply(e)))}updateLimboDocument(e,t){return this.ei(e,t).next(r=>{r?this.Xr.delete(t.toString()):this.Xr.add(t.toString())})}Wr(e){return 0}ei(e,t){return D.or([()=>D.resolve(this.Jr.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Hr(e,t)])}}/**
|
|
2109
2109
|
* @license
|
|
2110
2110
|
* Copyright 2017 Google LLC
|
|
2111
2111
|
*
|
|
@@ -2135,7 +2135,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2135
2135
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2136
2136
|
* See the License for the specific language governing permissions and
|
|
2137
2137
|
* limitations under the License.
|
|
2138
|
-
*/class
|
|
2138
|
+
*/class QU{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}/**
|
|
2139
2139
|
* @license
|
|
2140
2140
|
* Copyright 2019 Google LLC
|
|
2141
2141
|
*
|
|
@@ -2150,7 +2150,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2150
2150
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2151
2151
|
* See the License for the specific language governing permissions and
|
|
2152
2152
|
* limitations under the License.
|
|
2153
|
-
*/class
|
|
2153
|
+
*/class IU{constructor(){this.Gi=!1,this.zi=!1,this.ji=100,this.Hi=function(){return RC()?8:ab(TC())>0?6:4}()}initialize(e,t){this.Ji=e,this.indexManager=t,this.Gi=!0}getDocumentsMatchingQuery(e,t,r,n){const s={result:null};return this.Yi(e,t).next(i=>{s.result=i}).next(()=>{if(!s.result)return this.Zi(e,t,n,r).next(i=>{s.result=i})}).next(()=>{if(s.result)return;const i=new QU;return this.Xi(e,t,i).next(o=>{if(s.result=o,this.zi)return this.es(e,t,i,o.size)})}).next(()=>s.result)}es(e,t,r,n){return r.documentReadCount<this.ji?(In()<=Z.DEBUG&&G("QueryEngine","SDK will not create cache indexes for query:",Sr(t),"since it only creates cache indexes for collection contains","more than or equal to",this.ji,"documents"),D.resolve()):(In()<=Z.DEBUG&&G("QueryEngine","Query:",Sr(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.Hi*n?(In()<=Z.DEBUG&&G("QueryEngine","The SDK decides to create cache indexes for query:",Sr(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,Mt(t))):D.resolve())}Yi(e,t){if(yf(t))return D.resolve(null);let r=Mt(t);return this.indexManager.getIndexType(e,r).next(n=>n===0?null:(t.limit!==null&&n===1&&(t=wl(t,null,"F"),r=Mt(t)),this.indexManager.getDocumentsMatchingTarget(e,r).next(s=>{const i=z(...s);return this.Ji.getDocuments(e,i).next(o=>this.indexManager.getMinOffset(e,r).next(l=>{const c=this.ts(t,o);return this.ns(t,c,i,l.readTime)?this.Yi(e,wl(t,null,"F")):this.rs(e,c,t,l)}))})))}Zi(e,t,r,n){return yf(t)||n.isEqual(J.min())?D.resolve(null):this.Ji.getDocuments(e,r).next(s=>{const i=this.ts(t,s);return this.ns(t,i,r,n)?D.resolve(null):(In()<=Z.DEBUG&&G("QueryEngine","Re-using previous result from %s to execute query: %s",n.toString(),Sr(t)),this.rs(e,i,t,rb(n,-1)).next(o=>o))})}ts(e,t){let r=new De(Cf(e));return t.forEach((n,s)=>{xi(e,s)&&(r=r.add(s))}),r}ns(e,t,r,n){if(e.limit===null)return!1;if(r.size!==t.size)return!0;const s=e.limitType==="F"?t.last():t.first();return!!s&&(s.hasPendingWrites||s.version.compareTo(n)>0)}Xi(e,t,r){return In()<=Z.DEBUG&&G("QueryEngine","Using full collection scan to execute query:",Sr(t)),this.Ji.getDocumentsMatchingQuery(e,t,bA.min(),r)}rs(e,t,r,n){return this.Ji.getDocumentsMatchingQuery(e,r,n).next(s=>(t.forEach(i=>{s=s.insert(i.key,i)}),s))}}/**
|
|
2154
2154
|
* @license
|
|
2155
2155
|
* Copyright 2020 Google LLC
|
|
2156
2156
|
*
|
|
@@ -2165,7 +2165,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2165
2165
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2166
2166
|
* See the License for the specific language governing permissions and
|
|
2167
2167
|
* limitations under the License.
|
|
2168
|
-
*/class
|
|
2168
|
+
*/class FU{constructor(e,t,r,n){this.persistence=e,this.ss=t,this.serializer=n,this.os=new de(ee),this._s=new Rr(s=>hl(s),dl),this.us=new Map,this.cs=e.getRemoteDocumentCache(),this.Ur=e.getTargetCache(),this.Gr=e.getBundleCache(),this.ls(r)}ls(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new wU(this.cs,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.cs.setIndexManager(this.indexManager),this.ss.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.os))}}function TU(A,e,t,r){return new FU(A,e,t,r)}async function eg(A,e){const t=q(A);return await t.persistence.runTransaction("Handle user change","readonly",r=>{let n;return t.mutationQueue.getAllMutationBatches(r).next(s=>(n=s,t.ls(e),t.mutationQueue.getAllMutationBatches(r))).next(s=>{const i=[],o=[];let l=z();for(const c of n){i.push(c.batchId);for(const u of c.mutations)l=l.add(u.key)}for(const c of s){o.push(c.batchId);for(const u of c.mutations)l=l.add(u.key)}return t.localDocuments.getDocuments(r,l).next(c=>({hs:c,removedBatchIds:i,addedBatchIds:o}))})})}function SU(A,e){const t=q(A);return t.persistence.runTransaction("Acknowledge batch","readwrite-primary",r=>{const n=e.batch.keys(),s=t.cs.newChangeBuffer({trackRemovals:!0});return function(o,l,c,u){const d=c.batch,g=d.keys();let p=D.resolve();return g.forEach(B=>{p=p.next(()=>u.getEntry(l,B)).next(C=>{const E=c.docVersions.get(B);re(E!==null),C.version.compareTo(E)<0&&(d.applyToRemoteDocument(C,c),C.isValidDocument()&&(C.setReadTime(c.commitVersion),u.addEntry(C)))})}),p.next(()=>o.mutationQueue.removeMutationBatch(l,d))}(t,r,e,s).next(()=>s.apply(r)).next(()=>t.mutationQueue.performConsistencyCheck(r)).next(()=>t.documentOverlayCache.removeOverlaysForBatchId(r,n,e.batch.batchId)).next(()=>t.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,function(o){let l=z();for(let c=0;c<o.mutationResults.length;++c)o.mutationResults[c].transformResults.length>0&&(l=l.add(o.batch.mutations[c].key));return l}(e))).next(()=>t.localDocuments.getDocuments(r,n))})}function tg(A){const e=q(A);return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.Ur.getLastRemoteSnapshotVersion(t))}function RU(A,e){const t=q(A),r=e.snapshotVersion;let n=t.os;return t.persistence.runTransaction("Apply remote event","readwrite-primary",s=>{const i=t.cs.newChangeBuffer({trackRemovals:!0});n=t.os;const o=[];e.targetChanges.forEach((u,d)=>{const g=n.get(d);if(!g)return;o.push(t.Ur.removeMatchingKeys(s,u.removedDocuments,d).next(()=>t.Ur.addMatchingKeys(s,u.addedDocuments,d)));let p=g.withSequenceNumber(s.currentSequenceNumber);e.targetMismatches.get(d)!==null?p=p.withResumeToken(Oe.EMPTY_BYTE_STRING,J.min()).withLastLimboFreeSnapshotVersion(J.min()):u.resumeToken.approximateByteSize()>0&&(p=p.withResumeToken(u.resumeToken,r)),n=n.insert(d,p),function(C,E,I){return C.resumeToken.approximateByteSize()===0||E.snapshotVersion.toMicroseconds()-C.snapshotVersion.toMicroseconds()>=3e8?!0:I.addedDocuments.size+I.modifiedDocuments.size+I.removedDocuments.size>0}(g,p,u)&&o.push(t.Ur.updateTargetData(s,p))});let l=AA(),c=z();if(e.documentUpdates.forEach(u=>{e.resolvedLimboDocuments.has(u)&&o.push(t.persistence.referenceDelegate.updateLimboDocument(s,u))}),o.push(xU(s,i,e.documentUpdates).next(u=>{l=u.Ps,c=u.Is})),!r.isEqual(J.min())){const u=t.Ur.getLastRemoteSnapshotVersion(s).next(d=>t.Ur.setTargetsMetadata(s,s.currentSequenceNumber,r));o.push(u)}return D.waitFor(o).next(()=>i.apply(s)).next(()=>t.localDocuments.getLocalViewOfDocuments(s,l,c)).next(()=>l)}).then(s=>(t.os=n,s))}function xU(A,e,t){let r=z(),n=z();return t.forEach(s=>r=r.add(s)),e.getEntries(A,r).next(s=>{let i=AA();return t.forEach((o,l)=>{const c=s.get(o);l.isFoundDocument()!==c.isFoundDocument()&&(n=n.add(o)),l.isNoDocument()&&l.version.isEqual(J.min())?(e.removeEntry(o,l.readTime),i=i.insert(o,l)):!c.isValidDocument()||l.version.compareTo(c.version)>0||l.version.compareTo(c.version)===0&&c.hasPendingWrites?(e.addEntry(l),i=i.insert(o,l)):G("LocalStore","Ignoring outdated watch update for ",o,". Current version:",c.version," Watch version:",l.version)}),{Ps:i,Is:n}})}function kU(A,e){const t=q(A);return t.persistence.runTransaction("Get next mutation batch","readonly",r=>(e===void 0&&(e=-1),t.mutationQueue.getNextMutationBatchAfterBatchId(r,e)))}function HU(A,e){const t=q(A);return t.persistence.runTransaction("Allocate target","readwrite",r=>{let n;return t.Ur.getTargetData(r,e).next(s=>s?(n=s,D.resolve(n)):t.Ur.allocateTargetId(r).next(i=>(n=new IA(e,i,"TargetPurposeListen",r.currentSequenceNumber),t.Ur.addTargetData(r,n).next(()=>n))))}).then(r=>{const n=t.os.get(r.targetId);return(n===null||r.snapshotVersion.compareTo(n.snapshotVersion)>0)&&(t.os=t.os.insert(r.targetId,r),t._s.set(e,r.targetId)),r})}async function Sl(A,e,t){const r=q(A),n=r.os.get(e),s=t?"readwrite":"readwrite-primary";try{t||await r.persistence.runTransaction("Release target",s,i=>r.persistence.referenceDelegate.removeTarget(i,n))}catch(i){if(!Sn(i))throw i;G("LocalStore",`Failed to update sequence numbers for target ${e}: ${i}`)}r.os=r.os.remove(e),r._s.delete(n.target)}function Ag(A,e,t){const r=q(A);let n=J.min(),s=z();return r.persistence.runTransaction("Execute query","readwrite",i=>function(l,c,u){const d=q(l),g=d._s.get(u);return g!==void 0?D.resolve(d.os.get(g)):d.Ur.getTargetData(c,u)}(r,i,Mt(e)).next(o=>{if(o)return n=o.lastLimboFreeSnapshotVersion,r.Ur.getMatchingKeysForTargetId(i,o.targetId).next(l=>{s=l})}).next(()=>r.ss.getDocumentsMatchingQuery(i,e,t?n:J.min(),t?s:z())).next(o=>(LU(r,Ub(e),o),{documents:o,Ts:s})))}function LU(A,e,t){let r=A.us.get(e)||J.min();t.forEach((n,s)=>{s.readTime.compareTo(r)>0&&(r=s.readTime)}),A.us.set(e,r)}class rg{constructor(){this.activeTargetIds=Rb()}fs(e){this.activeTargetIds=this.activeTargetIds.add(e)}gs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Vs(){const e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class DU{constructor(){this.so=new rg,this.oo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.so.fs(e),this.oo[e]||"not-current"}updateQueryState(e,t,r){this.oo[e]=t}removeLocalQueryTarget(e){this.so.gs(e)}isLocalQueryTarget(e){return this.so.activeTargetIds.has(e)}clearQueryState(e){delete this.oo[e]}getAllActiveQueryTargets(){return this.so.activeTargetIds}isActiveQueryTarget(e){return this.so.activeTargetIds.has(e)}start(){return this.so=new rg,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}/**
|
|
2169
2169
|
* @license
|
|
2170
2170
|
* Copyright 2019 Google LLC
|
|
2171
2171
|
*
|
|
@@ -2180,7 +2180,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2180
2180
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2181
2181
|
* See the License for the specific language governing permissions and
|
|
2182
2182
|
* limitations under the License.
|
|
2183
|
-
*/class
|
|
2183
|
+
*/class OU{_o(e){}shutdown(){}}/**
|
|
2184
2184
|
* @license
|
|
2185
2185
|
* Copyright 2019 Google LLC
|
|
2186
2186
|
*
|
|
@@ -2225,7 +2225,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2225
2225
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2226
2226
|
* See the License for the specific language governing permissions and
|
|
2227
2227
|
* limitations under the License.
|
|
2228
|
-
*/const
|
|
2228
|
+
*/const PU={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"};/**
|
|
2229
2229
|
* @license
|
|
2230
2230
|
* Copyright 2017 Google LLC
|
|
2231
2231
|
*
|
|
@@ -2240,7 +2240,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2240
2240
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2241
2241
|
* See the License for the specific language governing permissions and
|
|
2242
2242
|
* limitations under the License.
|
|
2243
|
-
*/class
|
|
2243
|
+
*/class NU{constructor(e){this.Io=e.Io,this.To=e.To}Eo(e){this.Ao=e}Ro(e){this.Vo=e}mo(e){this.fo=e}onMessage(e){this.po=e}close(){this.To()}send(e){this.Io(e)}yo(){this.Ao()}wo(){this.Vo()}So(e){this.fo(e)}bo(e){this.po(e)}}/**
|
|
2244
2244
|
* @license
|
|
2245
2245
|
* Copyright 2017 Google LLC
|
|
2246
2246
|
*
|
|
@@ -2255,7 +2255,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2255
2255
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2256
2256
|
* See the License for the specific language governing permissions and
|
|
2257
2257
|
* limitations under the License.
|
|
2258
|
-
*/const Ge="WebChannelConnection";class
|
|
2258
|
+
*/const Ge="WebChannelConnection";class VU extends class{constructor(t){this.databaseInfo=t,this.databaseId=t.databaseId;const r=t.ssl?"https":"http",n=encodeURIComponent(this.databaseId.projectId),s=encodeURIComponent(this.databaseId.database);this.Do=r+"://"+t.host,this.vo=`projects/${n}/databases/${s}`,this.Co=this.databaseId.database==="(default)"?`project_id=${n}`:`project_id=${n}&database_id=${s}`}get Fo(){return!1}Mo(t,r,n,s,i){const o=Rl(),l=this.xo(t,r.toUriEncodedString());G("RestConnection",`Sending RPC '${t}' ${o}:`,l,n);const c={"google-cloud-resource-prefix":this.vo,"x-goog-request-params":this.Co};return this.Oo(c,s,i),this.No(t,l,c,n).then(u=>(G("RestConnection",`Received RPC '${t}' ${o}: `,u),u),u=>{throw Qr("RestConnection",`RPC '${t}' ${o} failed with error: `,u,"url: ",l,"request:",n),u})}Lo(t,r,n,s,i,o){return this.Mo(t,r,n,s,i)}Oo(t,r,n){t["X-Goog-Api-Client"]=function(){return"gl-js/ fire/"+Ur}(),t["Content-Type"]="text/plain",this.databaseInfo.appId&&(t["X-Firebase-GMPID"]=this.databaseInfo.appId),r&&r.headers.forEach((s,i)=>t[i]=s),n&&n.headers.forEach((s,i)=>t[i]=s)}xo(t,r){const n=PU[t];return`${this.Do}/v1/${r}:${n}`}terminate(){}}{constructor(e){super(e),this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}No(e,t,r,n){const s=Rl();return new Promise((i,o)=>{const l=new $d;l.setWithCredentials(!0),l.listenOnce(Wd.COMPLETE,()=>{try{switch(l.getLastErrorCode()){case Ei.NO_ERROR:const u=l.getResponseJson();G(Ge,`XHR for RPC '${e}' ${s} received:`,JSON.stringify(u)),i(u);break;case Ei.TIMEOUT:G(Ge,`RPC '${e}' ${s} timed out`),o(new M(L.DEADLINE_EXCEEDED,"Request time out"));break;case Ei.HTTP_ERROR:const d=l.getStatus();if(G(Ge,`RPC '${e}' ${s} failed with status:`,d,"response text:",l.getResponseText()),d>0){let g=l.getResponseJson();Array.isArray(g)&&(g=g[0]);const p=g==null?void 0:g.error;if(p&&p.status&&p.message){const B=function(E){const I=E.toLowerCase().replace(/_/g,"-");return Object.values(L).indexOf(I)>=0?I:L.UNKNOWN}(p.status);o(new M(B,p.message))}else o(new M(L.UNKNOWN,"Server responded with status "+l.getStatus()))}else o(new M(L.UNAVAILABLE,"Connection failed."));break;default:W()}}finally{G(Ge,`RPC '${e}' ${s} completed.`)}});const c=JSON.stringify(n);G(Ge,`RPC '${e}' ${s} sending request:`,n),l.send(t,"POST",c,r,15)})}Bo(e,t,r){const n=Rl(),s=[this.Do,"/","google.firestore.v1.Firestore","/",e,"/channel"],i=Xd(),o=Jd(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},c=this.longPollingOptions.timeoutSeconds;c!==void 0&&(l.longPollingTimeout=Math.round(1e3*c)),this.useFetchStreams&&(l.useFetchStreams=!0),this.Oo(l.initMessageHeaders,t,r),l.encodeInitMessageHeaders=!0;const u=s.join("");G(Ge,`Creating RPC '${e}' stream ${n}: ${u}`,l);const d=i.createWebChannel(u,l);let g=!1,p=!1;const B=new NU({Io:E=>{p?G(Ge,`Not sending because RPC '${e}' stream ${n} is closed:`,E):(g||(G(Ge,`Opening RPC '${e}' stream ${n} transport.`),d.open(),g=!0),G(Ge,`RPC '${e}' stream ${n} sending:`,E),d.send(E))},To:()=>d.close()}),C=(E,I,Q)=>{E.listen(I,S=>{try{Q(S)}catch(k){setTimeout(()=>{throw k},0)}})};return C(d,Qn.EventType.OPEN,()=>{p||(G(Ge,`RPC '${e}' stream ${n} transport opened.`),B.yo())}),C(d,Qn.EventType.CLOSE,()=>{p||(p=!0,G(Ge,`RPC '${e}' stream ${n} transport closed`),B.So())}),C(d,Qn.EventType.ERROR,E=>{p||(p=!0,Qr(Ge,`RPC '${e}' stream ${n} transport errored:`,E),B.So(new M(L.UNAVAILABLE,"The operation could not be completed")))}),C(d,Qn.EventType.MESSAGE,E=>{var I;if(!p){const Q=E.data[0];re(!!Q);const S=Q,k=S.error||((I=S[0])===null||I===void 0?void 0:I.error);if(k){G(Ge,`RPC '${e}' stream ${n} received error:`,k);const H=k.status;let R=function(y){const b=Ee[y];if(b!==void 0)return Of(b)}(H),_=k.message;R===void 0&&(R=L.INTERNAL,_="Unknown error status: "+H+" with message "+k.message),p=!0,B.So(new M(R,_)),d.close()}else G(Ge,`RPC '${e}' stream ${n} received:`,Q),B.bo(Q)}}),C(o,qd.STAT_EVENT,E=>{E.stat===rl.PROXY?G(Ge,`RPC '${e}' stream ${n} detected buffering proxy`):E.stat===rl.NOPROXY&&G(Ge,`RPC '${e}' stream ${n} detected no buffering proxy`)}),setTimeout(()=>{B.wo()},0),B}}function xl(){return typeof document<"u"?document:null}/**
|
|
2259
2259
|
* @license
|
|
2260
2260
|
* Copyright 2020 Google LLC
|
|
2261
2261
|
*
|
|
@@ -2270,7 +2270,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2270
2270
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2271
2271
|
* See the License for the specific language governing permissions and
|
|
2272
2272
|
* limitations under the License.
|
|
2273
|
-
*/function Ki(A){return new
|
|
2273
|
+
*/function Ki(A){return new zb(A,!0)}/**
|
|
2274
2274
|
* @license
|
|
2275
2275
|
* Copyright 2017 Google LLC
|
|
2276
2276
|
*
|
|
@@ -2300,7 +2300,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2300
2300
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2301
2301
|
* See the License for the specific language governing permissions and
|
|
2302
2302
|
* limitations under the License.
|
|
2303
|
-
*/class ig{constructor(e,t,r,n,s,i,o,l){this.ui=e,this.Ho=r,this.Jo=n,this.connection=s,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=o,this.listener=l,this.state=0,this.Yo=0,this.Zo=null,this.Xo=null,this.stream=null,this.e_=0,this.t_=new sg(e,t)}n_(){return this.state===1||this.state===5||this.r_()}r_(){return this.state===2||this.state===3}start(){this.e_=0,this.state!==4?this.auth():this.i_()}async stop(){this.n_()&&await this.close(0)}s_(){this.state=0,this.t_.reset()}o_(){this.r_()&&this.Zo===null&&(this.Zo=this.ui.enqueueAfterDelay(this.Ho,6e4,()=>this.__()))}a_(e){this.u_(),this.stream.send(e)}async __(){if(this.r_())return this.close(0)}u_(){this.Zo&&(this.Zo.cancel(),this.Zo=null)}c_(){this.Xo&&(this.Xo.cancel(),this.Xo=null)}async close(e,t){this.u_(),this.c_(),this.t_.cancel(),this.Yo++,e!==4?this.t_.reset():t&&t.code===L.RESOURCE_EXHAUSTED?(tA(t.toString()),tA("Using maximum backoff delay to prevent overloading the backend."),this.t_.Wo()):t&&t.code===L.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.l_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.mo(t)}l_(){}auth(){this.state=1;const e=this.h_(this.Yo),t=this.Yo;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([r,n])=>{this.Yo===t&&this.P_(r,n)},r=>{e(()=>{const n=new M(L.UNKNOWN,"Fetching auth token failed: "+r.message);return this.I_(n)})})}P_(e,t){const r=this.h_(this.Yo);this.stream=this.T_(e,t),this.stream.Eo(()=>{r(()=>this.listener.Eo())}),this.stream.Ro(()=>{r(()=>(this.state=2,this.Xo=this.ui.enqueueAfterDelay(this.Jo,1e4,()=>(this.r_()&&(this.state=3),Promise.resolve())),this.listener.Ro()))}),this.stream.mo(n=>{r(()=>this.I_(n))}),this.stream.onMessage(n=>{r(()=>++this.e_==1?this.E_(n):this.onNext(n))})}i_(){this.state=5,this.t_.Go(async()=>{this.state=0,this.start()})}I_(e){return G("PersistentStream",`close with error: ${e}`),this.stream=null,this.close(4,e)}h_(e){return t=>{this.ui.enqueueAndForget(()=>this.Yo===e?t():(G("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class
|
|
2303
|
+
*/class ig{constructor(e,t,r,n,s,i,o,l){this.ui=e,this.Ho=r,this.Jo=n,this.connection=s,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=o,this.listener=l,this.state=0,this.Yo=0,this.Zo=null,this.Xo=null,this.stream=null,this.e_=0,this.t_=new sg(e,t)}n_(){return this.state===1||this.state===5||this.r_()}r_(){return this.state===2||this.state===3}start(){this.e_=0,this.state!==4?this.auth():this.i_()}async stop(){this.n_()&&await this.close(0)}s_(){this.state=0,this.t_.reset()}o_(){this.r_()&&this.Zo===null&&(this.Zo=this.ui.enqueueAfterDelay(this.Ho,6e4,()=>this.__()))}a_(e){this.u_(),this.stream.send(e)}async __(){if(this.r_())return this.close(0)}u_(){this.Zo&&(this.Zo.cancel(),this.Zo=null)}c_(){this.Xo&&(this.Xo.cancel(),this.Xo=null)}async close(e,t){this.u_(),this.c_(),this.t_.cancel(),this.Yo++,e!==4?this.t_.reset():t&&t.code===L.RESOURCE_EXHAUSTED?(tA(t.toString()),tA("Using maximum backoff delay to prevent overloading the backend."),this.t_.Wo()):t&&t.code===L.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.l_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.mo(t)}l_(){}auth(){this.state=1;const e=this.h_(this.Yo),t=this.Yo;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([r,n])=>{this.Yo===t&&this.P_(r,n)},r=>{e(()=>{const n=new M(L.UNKNOWN,"Fetching auth token failed: "+r.message);return this.I_(n)})})}P_(e,t){const r=this.h_(this.Yo);this.stream=this.T_(e,t),this.stream.Eo(()=>{r(()=>this.listener.Eo())}),this.stream.Ro(()=>{r(()=>(this.state=2,this.Xo=this.ui.enqueueAfterDelay(this.Jo,1e4,()=>(this.r_()&&(this.state=3),Promise.resolve())),this.listener.Ro()))}),this.stream.mo(n=>{r(()=>this.I_(n))}),this.stream.onMessage(n=>{r(()=>++this.e_==1?this.E_(n):this.onNext(n))})}i_(){this.state=5,this.t_.Go(async()=>{this.state=0,this.start()})}I_(e){return G("PersistentStream",`close with error: ${e}`),this.stream=null,this.close(4,e)}h_(e){return t=>{this.ui.enqueueAndForget(()=>this.Yo===e?t():(G("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class MU extends ig{constructor(e,t,r,n,s,i){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}T_(e,t){return this.connection.Bo("Listen",e,t)}E_(e){return this.onNext(e)}onNext(e){this.t_.reset();const t=eU(this.serializer,e),r=function(s){if(!("targetChange"in s))return J.min();const i=s.targetChange;return i.targetIds&&i.targetIds.length?J.min():i.readTime?Kt(i.readTime):J.min()}(e);return this.listener.d_(t,r)}A_(e){const t={};t.database=Ql(this.serializer),t.addTarget=function(s,i){let o;const l=i.target;if(o=fl(l)?{documents:rU(s,l)}:{query:nU(s,l)._t},o.targetId=i.targetId,i.resumeToken.approximateByteSize()>0){o.resumeToken=$f(s,i.resumeToken);const c=_l(s,i.expectedCount);c!==null&&(o.expectedCount=c)}else if(i.snapshotVersion.compareTo(J.min())>0){o.readTime=Vi(s,i.snapshotVersion.toTimestamp());const c=_l(s,i.expectedCount);c!==null&&(o.expectedCount=c)}return o}(this.serializer,e);const r=iU(this.serializer,e);r&&(t.labels=r),this.a_(t)}R_(e){const t={};t.database=Ql(this.serializer),t.removeTarget=e,this.a_(t)}}class KU extends ig{constructor(e,t,r,n,s,i){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}get V_(){return this.e_>0}start(){this.lastStreamToken=void 0,super.start()}l_(){this.V_&&this.m_([])}T_(e,t){return this.connection.Bo("Write",e,t)}E_(e){return re(!!e.streamToken),this.lastStreamToken=e.streamToken,re(!e.writeResults||e.writeResults.length===0),this.listener.f_()}onNext(e){re(!!e.streamToken),this.lastStreamToken=e.streamToken,this.t_.reset();const t=AU(e.writeResults,e.commitTime),r=Kt(e.commitTime);return this.listener.g_(r,t)}p_(){const e={};e.database=Ql(this.serializer),this.a_(e)}m_(e){const t={streamToken:this.lastStreamToken,writes:e.map(r=>tU(this.serializer,r))};this.a_(t)}}/**
|
|
2304
2304
|
* @license
|
|
2305
2305
|
* Copyright 2017 Google LLC
|
|
2306
2306
|
*
|
|
@@ -2315,7 +2315,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
2315
2315
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2316
2316
|
* See the License for the specific language governing permissions and
|
|
2317
2317
|
* limitations under the License.
|
|
2318
|
-
*/class
|
|
2318
|
+
*/class GU extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.y_=!1}w_(){if(this.y_)throw new M(L.FAILED_PRECONDITION,"The client has already been terminated.")}Mo(e,t,r,n){return this.w_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([s,i])=>this.connection.Mo(e,El(t,r),n,s,i)).catch(s=>{throw s.name==="FirebaseError"?(s.code===L.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),s):new M(L.UNKNOWN,s.toString())})}Lo(e,t,r,n,s){return this.w_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,o])=>this.connection.Lo(e,El(t,r),n,i,o,s)).catch(i=>{throw i.name==="FirebaseError"?(i.code===L.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),i):new M(L.UNKNOWN,i.toString())})}terminate(){this.y_=!0,this.connection.terminate()}}class jU{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.S_=0,this.b_=null,this.D_=!0}v_(){this.S_===0&&(this.C_("Unknown"),this.b_=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.b_=null,this.F_("Backend didn't respond within 10 seconds."),this.C_("Offline"),Promise.resolve())))}M_(e){this.state==="Online"?this.C_("Unknown"):(this.S_++,this.S_>=1&&(this.x_(),this.F_(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.C_("Offline")))}set(e){this.x_(),this.S_=0,e==="Online"&&(this.D_=!1),this.C_(e)}C_(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}F_(e){const t=`Could not reach Cloud Firestore backend. ${e}
|
|
2319
2319
|
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.D_?(tA(t),this.D_=!1):G("OnlineStateTracker",t)}x_(){this.b_!==null&&(this.b_.cancel(),this.b_=null)}}/**
|
|
2320
2320
|
* @license
|
|
2321
2321
|
* Copyright 2017 Google LLC
|
|
@@ -2331,7 +2331,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2331
2331
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2332
2332
|
* See the License for the specific language governing permissions and
|
|
2333
2333
|
* limitations under the License.
|
|
2334
|
-
*/class
|
|
2334
|
+
*/class $U{constructor(e,t,r,n,s){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.O_=[],this.N_=new Map,this.L_=new Set,this.B_=[],this.k_=s,this.k_._o(i=>{r.enqueueAndForget(async()=>{zA(this)&&(G("RemoteStore","Restarting streams for network reachability change."),await async function(l){const c=q(l);c.L_.add(4),await $n(c),c.q_.set("Unknown"),c.L_.delete(4),await Gi(c)}(this))})}),this.q_=new jU(r,n)}}async function Gi(A){if(zA(A))for(const e of A.B_)await e(!0)}async function $n(A){for(const e of A.B_)await e(!1)}function og(A,e){const t=q(A);t.N_.has(e.targetId)||(t.N_.set(e.targetId,e),Dl(t)?Ll(t):Lr(t).r_()&&Hl(t,e))}function kl(A,e){const t=q(A),r=Lr(t);t.N_.delete(e),r.r_()&&ag(t,e),t.N_.size===0&&(r.r_()?r.o_():zA(t)&&t.q_.set("Unknown"))}function Hl(A,e){if(A.Q_.xe(e.targetId),e.resumeToken.approximateByteSize()>0||e.snapshotVersion.compareTo(J.min())>0){const t=A.remoteSyncer.getRemoteKeysForTarget(e.targetId).size;e=e.withExpectedCount(t)}Lr(A).A_(e)}function ag(A,e){A.Q_.xe(e),Lr(A).R_(e)}function Ll(A){A.Q_=new Wb({getRemoteKeysForTarget:e=>A.remoteSyncer.getRemoteKeysForTarget(e),ot:e=>A.N_.get(e)||null,tt:()=>A.datastore.serializer.databaseId}),Lr(A).start(),A.q_.v_()}function Dl(A){return zA(A)&&!Lr(A).n_()&&A.N_.size>0}function zA(A){return q(A).L_.size===0}function lg(A){A.Q_=void 0}async function WU(A){A.q_.set("Online")}async function qU(A){A.N_.forEach((e,t)=>{Hl(A,e)})}async function JU(A,e){lg(A),Dl(A)?(A.q_.M_(e),Ll(A)):A.q_.set("Unknown")}async function XU(A,e,t){if(A.q_.set("Online"),e instanceof Mf&&e.state===2&&e.cause)try{await async function(n,s){const i=s.cause;for(const o of s.targetIds)n.N_.has(o)&&(await n.remoteSyncer.rejectListen(o,i),n.N_.delete(o),n.Q_.removeTarget(o))}(A,e)}catch(r){G("RemoteStore","Failed to remove targets %s: %s ",e.targetIds.join(","),r),await ji(A,r)}else if(e instanceof Ni?A.Q_.Ke(e):e instanceof Vf?A.Q_.He(e):A.Q_.We(e),!t.isEqual(J.min()))try{const r=await tg(A.localStore);t.compareTo(r)>=0&&await function(s,i){const o=s.Q_.rt(i);return o.targetChanges.forEach((l,c)=>{if(l.resumeToken.approximateByteSize()>0){const u=s.N_.get(c);u&&s.N_.set(c,u.withResumeToken(l.resumeToken,i))}}),o.targetMismatches.forEach((l,c)=>{const u=s.N_.get(l);if(!u)return;s.N_.set(l,u.withResumeToken(Oe.EMPTY_BYTE_STRING,u.snapshotVersion)),ag(s,l);const d=new IA(u.target,l,c,u.sequenceNumber);Hl(s,d)}),s.remoteSyncer.applyRemoteEvent(o)}(A,t)}catch(r){G("RemoteStore","Failed to raise snapshot:",r),await ji(A,r)}}async function ji(A,e,t){if(!Sn(e))throw e;A.L_.add(1),await $n(A),A.q_.set("Offline"),t||(t=()=>tg(A.localStore)),A.asyncQueue.enqueueRetryable(async()=>{G("RemoteStore","Retrying IndexedDB access"),await t(),A.L_.delete(1),await Gi(A)})}function cg(A,e){return e().catch(t=>ji(A,t,e))}async function $i(A){const e=q(A),t=FA(e);let r=e.O_.length>0?e.O_[e.O_.length-1].batchId:-1;for(;zU(e);)try{const n=await kU(e.localStore,r);if(n===null){e.O_.length===0&&t.o_();break}r=n.batchId,YU(e,n)}catch(n){await ji(e,n)}ug(e)&&hg(e)}function zU(A){return zA(A)&&A.O_.length<10}function YU(A,e){A.O_.push(e);const t=FA(A);t.r_()&&t.V_&&t.m_(e.mutations)}function ug(A){return zA(A)&&!FA(A).n_()&&A.O_.length>0}function hg(A){FA(A).start()}async function ZU(A){FA(A).p_()}async function eQ(A){const e=FA(A);for(const t of A.O_)e.m_(t.mutations)}async function tQ(A,e,t){const r=A.O_.shift(),n=yl.from(r,e,t);await cg(A,()=>A.remoteSyncer.applySuccessfulWrite(n)),await $i(A)}async function AQ(A,e){e&&FA(A).V_&&await async function(r,n){if(function(i){return Gb(i)&&i!==L.ABORTED}(n.code)){const s=r.O_.shift();FA(r).s_(),await cg(r,()=>r.remoteSyncer.rejectFailedWrite(s.batchId,n)),await $i(r)}}(A,e),ug(A)&&hg(A)}async function dg(A,e){const t=q(A);t.asyncQueue.verifyOperationInProgress(),G("RemoteStore","RemoteStore received new credentials");const r=zA(t);t.L_.add(3),await $n(t),r&&t.q_.set("Unknown"),await t.remoteSyncer.handleCredentialChange(e),t.L_.delete(3),await Gi(t)}async function rQ(A,e){const t=q(A);e?(t.L_.delete(2),await Gi(t)):e||(t.L_.add(2),await $n(t),t.q_.set("Unknown"))}function Lr(A){return A.K_||(A.K_=function(t,r,n){const s=q(t);return s.w_(),new MU(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)}(A.datastore,A.asyncQueue,{Eo:WU.bind(null,A),Ro:qU.bind(null,A),mo:JU.bind(null,A),d_:XU.bind(null,A)}),A.B_.push(async e=>{e?(A.K_.s_(),Dl(A)?Ll(A):A.q_.set("Unknown")):(await A.K_.stop(),lg(A))})),A.K_}function FA(A){return A.U_||(A.U_=function(t,r,n){const s=q(t);return s.w_(),new KU(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)}(A.datastore,A.asyncQueue,{Eo:()=>Promise.resolve(),Ro:ZU.bind(null,A),mo:AQ.bind(null,A),f_:eQ.bind(null,A),g_:tQ.bind(null,A)}),A.B_.push(async e=>{e?(A.U_.s_(),await $i(A)):(await A.U_.stop(),A.O_.length>0&&(G("RemoteStore",`Stopping write stream with ${A.O_.length} pending writes`),A.O_=[]))})),A.U_}/**
|
|
2335
2335
|
* @license
|
|
2336
2336
|
* Copyright 2017 Google LLC
|
|
2337
2337
|
*
|
|
@@ -2394,7 +2394,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2394
2394
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2395
2395
|
* See the License for the specific language governing permissions and
|
|
2396
2396
|
* limitations under the License.
|
|
2397
|
-
*/class
|
|
2397
|
+
*/class nQ{constructor(){this.z_=void 0,this.j_=[]}H_(){return this.j_.some(e=>e.J_())}}class sQ{constructor(){this.queries=gg(),this.onlineState="Unknown",this.Y_=new Set}terminate(){(function(t,r){const n=q(t),s=n.queries;n.queries=gg(),s.forEach((i,o)=>{for(const l of o.j_)l.onError(r)})})(this,new M(L.ABORTED,"Firestore shutting down"))}}function gg(){return new Rr(A=>_f(A),Ri)}async function pg(A,e){const t=q(A);let r=3;const n=e.query;let s=t.queries.get(n);s?!s.H_()&&e.J_()&&(r=2):(s=new nQ,r=e.J_()?0:1);try{switch(r){case 0:s.z_=await t.onListen(n,!0);break;case 1:s.z_=await t.onListen(n,!1);break;case 2:await t.onFirstRemoteStoreListen(n)}}catch(i){const o=Pl(i,`Initialization of query '${Sr(e.query)}' failed`);return void e.onError(o)}t.queries.set(n,s),s.j_.push(e),e.Z_(t.onlineState),s.z_&&e.X_(s.z_)&&Nl(t)}async function wg(A,e){const t=q(A),r=e.query;let n=3;const s=t.queries.get(r);if(s){const i=s.j_.indexOf(e);i>=0&&(s.j_.splice(i,1),s.j_.length===0?n=e.J_()?0:1:!s.H_()&&e.J_()&&(n=2))}switch(n){case 0:return t.queries.delete(r),t.onUnlisten(r,!0);case 1:return t.queries.delete(r),t.onUnlisten(r,!1);case 2:return t.onLastRemoteStoreUnlisten(r);default:return}}function iQ(A,e){const t=q(A);let r=!1;for(const n of e){const s=n.query,i=t.queries.get(s);if(i){for(const o of i.j_)o.X_(n)&&(r=!0);i.z_=n}}r&&Nl(t)}function oQ(A,e,t){const r=q(A),n=r.queries.get(e);if(n)for(const s of n.j_)s.onError(t);r.queries.delete(e)}function Nl(A){A.Y_.forEach(e=>{e.next()})}var Vl,Bg;(Bg=Vl||(Vl={})).ea="default",Bg.Cache="cache";class mg{constructor(e,t,r){this.query=e,this.ta=t,this.na=!1,this.ra=null,this.onlineState="Unknown",this.options=r||{}}X_(e){if(!this.options.includeMetadataChanges){const r=[];for(const n of e.docChanges)n.type!==3&&r.push(n);e=new Or(e.query,e.docs,e.oldDocs,r,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.na?this.ia(e)&&(this.ta.next(e),t=!0):this.sa(e,this.onlineState)&&(this.oa(e),t=!0),this.ra=e,t}onError(e){this.ta.error(e)}Z_(e){this.onlineState=e;let t=!1;return this.ra&&!this.na&&this.sa(this.ra,e)&&(this.oa(this.ra),t=!0),t}sa(e,t){if(!e.fromCache||!this.J_())return!0;const r=t!=="Offline";return(!this.options._a||!r)&&(!e.docs.isEmpty()||e.hasCachedResults||t==="Offline")}ia(e){if(e.docChanges.length>0)return!0;const t=this.ra&&this.ra.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&this.options.includeMetadataChanges===!0}oa(e){e=Or.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.na=!0,this.ta.next(e)}J_(){return this.options.source!==Vl.Cache}}/**
|
|
2398
2398
|
* @license
|
|
2399
2399
|
* Copyright 2017 Google LLC
|
|
2400
2400
|
*
|
|
@@ -2409,7 +2409,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2409
2409
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2410
2410
|
* See the License for the specific language governing permissions and
|
|
2411
2411
|
* limitations under the License.
|
|
2412
|
-
*/class yg{constructor(e){this.key=e}}class vg{constructor(e){this.key=e}}class lQ{constructor(e,t){this.query=e,this.Ta=t,this.Ea=null,this.hasCachedResults=!1,this.current=!1,this.da=z(),this.mutatedKeys=z(),this.Aa=Cf(e),this.Ra=new Dr(this.Aa)}get Va(){return this.Ta}ma(e,t){const r=t?t.fa:new fg,n=t?t.Ra:this.Ra;let s=t?t.mutatedKeys:this.mutatedKeys,i=n,o=!1;const l=this.query.limitType==="F"&&n.size===this.query.limit?n.last():null,c=this.query.limitType==="L"&&n.size===this.query.limit?n.first():null;if(e.inorderTraversal((u,d)=>{const g=n.get(u),p=xi(this.query,d)?d:null,B=!!g&&this.mutatedKeys.has(g.key),C=!!p&&(p.hasLocalMutations||this.mutatedKeys.has(p.key)&&p.hasCommittedMutations);let E=!1;g&&p?g.data.isEqual(p.data)?B!==C&&(r.track({type:3,doc:p}),E=!0):this.ga(g,p)||(r.track({type:2,doc:p}),E=!0,(l&&this.Aa(p,l)>0||c&&this.Aa(p,c)<0)&&(o=!0)):!g&&p?(r.track({type:0,doc:p}),E=!0):g&&!p&&(r.track({type:1,doc:g}),E=!0,(l||c)&&(o=!0)),E&&(p?(i=i.add(p),s=C?s.add(u):s.delete(u)):(i=i.delete(u),s=s.delete(u)))}),this.query.limit!==null)for(;i.size>this.query.limit;){const u=this.query.limitType==="F"?i.last():i.first();i=i.delete(u.key),s=s.delete(u.key),r.track({type:1,doc:u})}return{Ra:i,fa:r,ns:o,mutatedKeys:s}}ga(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){const s=this.Ra;this.Ra=e.Ra,this.mutatedKeys=e.mutatedKeys;const i=e.fa.G_();i.sort((u,d)=>function(p,B){const C=E=>{switch(E){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return W()}};return C(p)-C(B)}(u.type,d.type)||this.Aa(u.doc,d.doc)),this.pa(r),n=n!=null&&n;const o=t&&!n?this.ya():[],l=this.da.size===0&&this.current&&!n?1:0,c=l!==this.Ea;return this.Ea=l,i.length!==0||c?{snapshot:new Or(this.query,e.Ra,s,i,e.mutatedKeys,l===0,c,!1,!!r&&r.resumeToken.approximateByteSize()>0),wa:o}:{wa:o}}Z_(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({Ra:this.Ra,fa:new fg,mutatedKeys:this.mutatedKeys,ns:!1},!1)):{wa:[]}}Sa(e){return!this.Ta.has(e)&&!!this.Ra.has(e)&&!this.Ra.get(e).hasLocalMutations}pa(e){e&&(e.addedDocuments.forEach(t=>this.Ta=this.Ta.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.Ta=this.Ta.delete(t)),this.current=e.current)}ya(){if(!this.current)return[];const e=this.da;this.da=z(),this.Ra.forEach(r=>{this.Sa(r.key)&&(this.da=this.da.add(r.key))});const t=[];return e.forEach(r=>{this.da.has(r)||t.push(new vg(r))}),this.da.forEach(r=>{e.has(r)||t.push(new yg(r))}),t}ba(e){this.Ta=e.Ts,this.da=z();const t=this.ma(e.documents);return this.applyChanges(t,!0)}Da(){return Or.fromInitialDocuments(this.query,this.Ra,this.mutatedKeys,this.Ea===0,this.hasCachedResults)}}class cQ{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class uQ{constructor(e){this.key=e,this.va=!1}}class hQ{constructor(e,t,r,n,s,i){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=s,this.maxConcurrentLimboResolutions=i,this.Ca={},this.Fa=new Rr(o=>_f(o),Ri),this.Ma=new Map,this.xa=new Set,this.Oa=new de(j.comparator),this.Na=new Map,this.La=new Il,this.Ba={},this.ka=new Map,this.qa=Hr.kn(),this.onlineState="Unknown",this.Qa=void 0}get isPrimaryClient(){return this.Qa===!0}}async function dQ(A,e,t=!0){const r=Fg(A);let n;const s=r.Fa.get(e);return s?(r.sharedClientState.addLocalQueryTarget(s.targetId),n=s.view.Da()):n=await _g(r,e,t,!0),n}async function fQ(A,e){const t=Fg(A);await _g(t,e,!0,!1)}async function _g(A,e,t,r){const n=await LU(A.localStore,Mt(e)),s=n.targetId,i=A.sharedClientState.addLocalQueryTarget(s,t);let o;return r&&(o=await gQ(A,e,s,i==="current",n.resumeToken)),A.isPrimaryClient&&t&&og(A.remoteStore,n),o}async function gQ(A,e,t,r,n){A.Ka=(d,g,p)=>async function(C,E,I,Q){let S=E.view.ma(I);S.ns&&(S=await Ag(C.localStore,E.query,!1).then(({documents:_})=>E.view.ma(_,S)));const k=Q&&Q.targetChanges.get(E.targetId),H=Q&&Q.targetMismatches.get(E.targetId)!=null,R=E.view.applyChanges(S,C.isPrimaryClient,k,H);return Ig(C,E.targetId,R.wa),R.snapshot}(A,d,g,p);const s=await Ag(A.localStore,e,!0),i=new lQ(e,s.Ts),o=i.ma(s.documents),l=jn.createSynthesizedTargetChangeForCurrentChange(t,r&&A.onlineState!=="Offline",n),c=i.applyChanges(o,A.isPrimaryClient,l);Ig(A,t,c.wa);const u=new cQ(e,t,i);return A.Fa.set(e,u),A.Ma.has(t)?A.Ma.get(t).push(e):A.Ma.set(t,[e]),c.snapshot}async function pQ(A,e,t){const r=q(A),n=r.Fa.get(e),s=r.Ma.get(n.targetId);if(s.length>1)return r.Ma.set(n.targetId,s.filter(i=>!Ri(i,e))),void r.Fa.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(n.targetId),r.sharedClientState.isActiveQueryTarget(n.targetId)||await Sl(r.localStore,n.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(n.targetId),t&&kl(r.remoteStore,n.targetId),Ml(r,n.targetId)}).catch(Tn)):(Ml(r,n.targetId),await Sl(r.localStore,n.targetId,!0))}async function wQ(A,e){const t=q(A),r=t.Fa.get(e),n=t.Ma.get(r.targetId);t.isPrimaryClient&&n.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),kl(t.remoteStore,r.targetId))}async function BQ(A,e,t){const r=bQ(A);try{const n=await function(i,o){const l=q(i),c=Fe.now(),u=o.reduce((p,B)=>p.add(B.key),z());let d,g;return l.persistence.runTransaction("Locally write mutations","readwrite",p=>{let B=AA(),C=z();return l.cs.getEntries(p,u).next(E=>{B=E,B.forEach((I,Q)=>{Q.isValidDocument()||(C=C.add(I))})}).next(()=>l.localDocuments.getOverlayedDocuments(p,B)).next(E=>{d=E;const I=[];for(const Q of o){const S=Nb(Q,d.get(Q.key).overlayedDocument);S!=null&&I.push(new QA(Q.key,S,cf(S.value.mapValue),It.exists(!0)))}return l.mutationQueue.addMutationBatch(p,c,I,o)}).next(E=>{g=E;const I=E.applyToLocalDocumentSet(d,C);return l.documentOverlayCache.saveOverlays(p,E.batchId,I)})}).then(()=>({batchId:g.batchId,changes:bf(d)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(n.batchId),function(i,o,l){let c=i.Ba[i.currentUser.toKey()];c||(c=new de(ee)),c=c.insert(o,l),i.Ba[i.currentUser.toKey()]=c}(r,n.batchId,t),await Wn(r,n.changes),await $i(r.remoteStore)}catch(n){const s=Pl(n,"Failed to persist write");t.reject(s)}}async function Cg(A,e){const t=q(A);try{const r=await xU(t.localStore,e);e.targetChanges.forEach((n,s)=>{const i=t.Na.get(s);i&&(re(n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size<=1),n.addedDocuments.size>0?i.va=!0:n.modifiedDocuments.size>0?re(i.va):n.removedDocuments.size>0&&(re(i.va),i.va=!1))}),await Wn(t,r,e)}catch(r){await Tn(r)}}function Eg(A,e,t){const r=q(A);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const n=[];r.Fa.forEach((s,i)=>{const o=i.view.Z_(e);o.snapshot&&n.push(o.snapshot)}),function(i,o){const l=q(i);l.onlineState=o;let c=!1;l.queries.forEach((u,d)=>{for(const g of d.j_)g.Z_(o)&&(c=!0)}),c&&Nl(l)}(r.eventManager,e),n.length&&r.Ca.d_(n),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function mQ(A,e,t){const r=q(A);r.sharedClientState.updateQueryState(e,"rejected",t);const n=r.Na.get(e),s=n&&n.key;if(s){let i=new de(j.comparator);i=i.insert(s,Ke.newNoDocument(s,J.min()));const o=z().add(s),l=new Pi(J.min(),new Map,new de(ee),i,o);await Cg(r,l),r.Oa=r.Oa.remove(s),r.Na.delete(e),Kl(r)}else await Sl(r.localStore,e,!1).then(()=>Ml(r,e,t)).catch(Tn)}async function yQ(A,e){const t=q(A),r=e.batch.batchId;try{const n=await RU(t.localStore,e);Ug(t,r,null),bg(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await Wn(t,n)}catch(n){await Tn(n)}}async function vQ(A,e,t){const r=q(A);try{const n=await function(i,o){const l=q(i);return l.persistence.runTransaction("Reject batch","readwrite-primary",c=>{let u;return l.mutationQueue.lookupMutationBatch(c,o).next(d=>(re(d!==null),u=d.keys(),l.mutationQueue.removeMutationBatch(c,d))).next(()=>l.mutationQueue.performConsistencyCheck(c)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(c,u,o)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(c,u)).next(()=>l.localDocuments.getDocuments(c,u))})}(r.localStore,e);Ug(r,e,t),bg(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await Wn(r,n)}catch(n){await Tn(n)}}function bg(A,e){(A.ka.get(e)||[]).forEach(t=>{t.resolve()}),A.ka.delete(e)}function Ug(A,e,t){const r=q(A);let n=r.Ba[r.currentUser.toKey()];if(n){const s=n.get(e);s&&(t?s.reject(t):s.resolve(),n=n.remove(e)),r.Ba[r.currentUser.toKey()]=n}}function Ml(A,e,t=null){A.sharedClientState.removeLocalQueryTarget(e);for(const r of A.Ma.get(e))A.Fa.delete(r),t&&A.Ca.$a(r,t);A.Ma.delete(e),A.isPrimaryClient&&A.La.gr(e).forEach(r=>{A.La.containsKey(r)||Qg(A,r)})}function Qg(A,e){A.xa.delete(e.path.canonicalString());const t=A.Oa.get(e);t!==null&&(kl(A.remoteStore,t),A.Oa=A.Oa.remove(e),A.Na.delete(t),Kl(A))}function Ig(A,e,t){for(const r of t)r instanceof yg?(A.La.addReference(r.key,e),_Q(A,r)):r instanceof vg?(G("SyncEngine","Document no longer in limbo: "+r.key),A.La.removeReference(r.key,e),A.La.containsKey(r.key)||Qg(A,r.key)):W()}function _Q(A,e){const t=e.key,r=t.path.canonicalString();A.Oa.get(t)||A.xa.has(r)||(G("SyncEngine","New document in limbo: "+t),A.xa.add(r),Kl(A))}function Kl(A){for(;A.xa.size>0&&A.Oa.size<A.maxConcurrentLimboResolutions;){const e=A.xa.values().next().value;A.xa.delete(e);const t=new j(ce.fromString(e)),r=A.qa.next();A.Na.set(r,new uQ(t)),A.Oa=A.Oa.insert(t,r),og(A.remoteStore,new IA(Mt(gl(t.path)),r,"TargetPurposeLimboResolution",sl.oe))}}async function Wn(A,e,t){const r=q(A),n=[],s=[],i=[];r.Fa.isEmpty()||(r.Fa.forEach((o,l)=>{i.push(r.Ka(l,e,t).then(c=>{var u;if((c||t)&&r.isPrimaryClient){const d=c?!c.fromCache:(u=t==null?void 0:t.targetChanges.get(l.targetId))===null||u===void 0?void 0:u.current;r.sharedClientState.updateQueryState(l.targetId,d?"current":"not-current")}if(c){n.push(c);const d=Tl.Wi(l.targetId,c);s.push(d)}}))}),await Promise.all(i),r.Ca.d_(n),await async function(l,c){const u=q(l);try{await u.persistence.runTransaction("notifyLocalViewChanges","readwrite",d=>D.forEach(c,g=>D.forEach(g.$i,p=>u.persistence.referenceDelegate.addReference(d,g.targetId,p)).next(()=>D.forEach(g.Ui,p=>u.persistence.referenceDelegate.removeReference(d,g.targetId,p)))))}catch(d){if(!Sn(d))throw d;G("LocalStore","Failed to update sequence numbers: "+d)}for(const d of c){const g=d.targetId;if(!d.fromCache){const p=u.os.get(g),B=p.snapshotVersion,C=p.withLastLimboFreeSnapshotVersion(B);u.os=u.os.insert(g,C)}}}(r.localStore,s))}async function CQ(A,e){const t=q(A);if(!t.currentUser.isEqual(e)){G("SyncEngine","User change. New user:",e.toKey());const r=await eg(t.localStore,e);t.currentUser=e,function(s,i){s.ka.forEach(o=>{o.forEach(l=>{l.reject(new M(L.CANCELLED,i))})}),s.ka.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await Wn(t,r.hs)}}function EQ(A,e){const t=q(A),r=t.Na.get(e);if(r&&r.va)return z().add(r.key);{let n=z();const s=t.Ma.get(e);if(!s)return n;for(const i of s){const o=t.Fa.get(i);n=n.unionWith(o.view.Va)}return n}}function Fg(A){const e=q(A);return e.remoteStore.remoteSyncer.applyRemoteEvent=Cg.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=EQ.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=mQ.bind(null,e),e.Ca.d_=oQ.bind(null,e.eventManager),e.Ca.$a=aQ.bind(null,e.eventManager),e}function bQ(A){const e=q(A);return e.remoteStore.remoteSyncer.applySuccessfulWrite=yQ.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=vQ.bind(null,e),e}class Wi{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Ki(e.databaseInfo.databaseId),this.sharedClientState=this.Wa(e),this.persistence=this.Ga(e),await this.persistence.start(),this.localStore=this.za(e),this.gcScheduler=this.ja(e,this.localStore),this.indexBackfillerScheduler=this.Ha(e,this.localStore)}ja(e,t){return null}Ha(e,t){return null}za(e){return SU(this.persistence,new FU,e.initialUser,this.serializer)}Ga(e){return new UU(Fl.Zr,this.serializer)}Wa(e){return new OU}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Wi.provider={build:()=>new Wi};class Gl{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>Eg(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=CQ.bind(null,this.syncEngine),await nQ(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new iQ}()}createDatastore(e){const t=Ki(e.databaseInfo.databaseId),r=function(s){return new MU(s)}(e.databaseInfo);return function(s,i,o,l){return new jU(s,i,o,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,n,s,i,o){return new WU(r,n,s,i,o)}(this.localStore,this.datastore,e.asyncQueue,t=>Eg(this.syncEngine,t,0),function(){return ng.D()?new ng:new PU}())}createSyncEngine(e,t){return function(n,s,i,o,l,c,u){const d=new hQ(n,s,i,o,l,c);return u&&(d.Qa=!0),d}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(n){const s=q(n);G("RemoteStore","RemoteStore shutting down."),s.L_.add(5),await $n(s),s.k_.shutdown(),s.q_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}Gl.provider={build:()=>new Gl};/**
|
|
2412
|
+
*/class yg{constructor(e){this.key=e}}class vg{constructor(e){this.key=e}}class aQ{constructor(e,t){this.query=e,this.Ta=t,this.Ea=null,this.hasCachedResults=!1,this.current=!1,this.da=z(),this.mutatedKeys=z(),this.Aa=Cf(e),this.Ra=new Dr(this.Aa)}get Va(){return this.Ta}ma(e,t){const r=t?t.fa:new fg,n=t?t.Ra:this.Ra;let s=t?t.mutatedKeys:this.mutatedKeys,i=n,o=!1;const l=this.query.limitType==="F"&&n.size===this.query.limit?n.last():null,c=this.query.limitType==="L"&&n.size===this.query.limit?n.first():null;if(e.inorderTraversal((u,d)=>{const g=n.get(u),p=xi(this.query,d)?d:null,B=!!g&&this.mutatedKeys.has(g.key),C=!!p&&(p.hasLocalMutations||this.mutatedKeys.has(p.key)&&p.hasCommittedMutations);let E=!1;g&&p?g.data.isEqual(p.data)?B!==C&&(r.track({type:3,doc:p}),E=!0):this.ga(g,p)||(r.track({type:2,doc:p}),E=!0,(l&&this.Aa(p,l)>0||c&&this.Aa(p,c)<0)&&(o=!0)):!g&&p?(r.track({type:0,doc:p}),E=!0):g&&!p&&(r.track({type:1,doc:g}),E=!0,(l||c)&&(o=!0)),E&&(p?(i=i.add(p),s=C?s.add(u):s.delete(u)):(i=i.delete(u),s=s.delete(u)))}),this.query.limit!==null)for(;i.size>this.query.limit;){const u=this.query.limitType==="F"?i.last():i.first();i=i.delete(u.key),s=s.delete(u.key),r.track({type:1,doc:u})}return{Ra:i,fa:r,ns:o,mutatedKeys:s}}ga(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){const s=this.Ra;this.Ra=e.Ra,this.mutatedKeys=e.mutatedKeys;const i=e.fa.G_();i.sort((u,d)=>function(p,B){const C=E=>{switch(E){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return W()}};return C(p)-C(B)}(u.type,d.type)||this.Aa(u.doc,d.doc)),this.pa(r),n=n!=null&&n;const o=t&&!n?this.ya():[],l=this.da.size===0&&this.current&&!n?1:0,c=l!==this.Ea;return this.Ea=l,i.length!==0||c?{snapshot:new Or(this.query,e.Ra,s,i,e.mutatedKeys,l===0,c,!1,!!r&&r.resumeToken.approximateByteSize()>0),wa:o}:{wa:o}}Z_(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({Ra:this.Ra,fa:new fg,mutatedKeys:this.mutatedKeys,ns:!1},!1)):{wa:[]}}Sa(e){return!this.Ta.has(e)&&!!this.Ra.has(e)&&!this.Ra.get(e).hasLocalMutations}pa(e){e&&(e.addedDocuments.forEach(t=>this.Ta=this.Ta.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.Ta=this.Ta.delete(t)),this.current=e.current)}ya(){if(!this.current)return[];const e=this.da;this.da=z(),this.Ra.forEach(r=>{this.Sa(r.key)&&(this.da=this.da.add(r.key))});const t=[];return e.forEach(r=>{this.da.has(r)||t.push(new vg(r))}),this.da.forEach(r=>{e.has(r)||t.push(new yg(r))}),t}ba(e){this.Ta=e.Ts,this.da=z();const t=this.ma(e.documents);return this.applyChanges(t,!0)}Da(){return Or.fromInitialDocuments(this.query,this.Ra,this.mutatedKeys,this.Ea===0,this.hasCachedResults)}}class lQ{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class cQ{constructor(e){this.key=e,this.va=!1}}class uQ{constructor(e,t,r,n,s,i){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=s,this.maxConcurrentLimboResolutions=i,this.Ca={},this.Fa=new Rr(o=>_f(o),Ri),this.Ma=new Map,this.xa=new Set,this.Oa=new de(j.comparator),this.Na=new Map,this.La=new Il,this.Ba={},this.ka=new Map,this.qa=Hr.kn(),this.onlineState="Unknown",this.Qa=void 0}get isPrimaryClient(){return this.Qa===!0}}async function hQ(A,e,t=!0){const r=Fg(A);let n;const s=r.Fa.get(e);return s?(r.sharedClientState.addLocalQueryTarget(s.targetId),n=s.view.Da()):n=await _g(r,e,t,!0),n}async function dQ(A,e){const t=Fg(A);await _g(t,e,!0,!1)}async function _g(A,e,t,r){const n=await HU(A.localStore,Mt(e)),s=n.targetId,i=A.sharedClientState.addLocalQueryTarget(s,t);let o;return r&&(o=await fQ(A,e,s,i==="current",n.resumeToken)),A.isPrimaryClient&&t&&og(A.remoteStore,n),o}async function fQ(A,e,t,r,n){A.Ka=(d,g,p)=>async function(C,E,I,Q){let S=E.view.ma(I);S.ns&&(S=await Ag(C.localStore,E.query,!1).then(({documents:_})=>E.view.ma(_,S)));const k=Q&&Q.targetChanges.get(E.targetId),H=Q&&Q.targetMismatches.get(E.targetId)!=null,R=E.view.applyChanges(S,C.isPrimaryClient,k,H);return Ig(C,E.targetId,R.wa),R.snapshot}(A,d,g,p);const s=await Ag(A.localStore,e,!0),i=new aQ(e,s.Ts),o=i.ma(s.documents),l=jn.createSynthesizedTargetChangeForCurrentChange(t,r&&A.onlineState!=="Offline",n),c=i.applyChanges(o,A.isPrimaryClient,l);Ig(A,t,c.wa);const u=new lQ(e,t,i);return A.Fa.set(e,u),A.Ma.has(t)?A.Ma.get(t).push(e):A.Ma.set(t,[e]),c.snapshot}async function gQ(A,e,t){const r=q(A),n=r.Fa.get(e),s=r.Ma.get(n.targetId);if(s.length>1)return r.Ma.set(n.targetId,s.filter(i=>!Ri(i,e))),void r.Fa.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(n.targetId),r.sharedClientState.isActiveQueryTarget(n.targetId)||await Sl(r.localStore,n.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(n.targetId),t&&kl(r.remoteStore,n.targetId),Ml(r,n.targetId)}).catch(Tn)):(Ml(r,n.targetId),await Sl(r.localStore,n.targetId,!0))}async function pQ(A,e){const t=q(A),r=t.Fa.get(e),n=t.Ma.get(r.targetId);t.isPrimaryClient&&n.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),kl(t.remoteStore,r.targetId))}async function wQ(A,e,t){const r=EQ(A);try{const n=await function(i,o){const l=q(i),c=Fe.now(),u=o.reduce((p,B)=>p.add(B.key),z());let d,g;return l.persistence.runTransaction("Locally write mutations","readwrite",p=>{let B=AA(),C=z();return l.cs.getEntries(p,u).next(E=>{B=E,B.forEach((I,Q)=>{Q.isValidDocument()||(C=C.add(I))})}).next(()=>l.localDocuments.getOverlayedDocuments(p,B)).next(E=>{d=E;const I=[];for(const Q of o){const S=Pb(Q,d.get(Q.key).overlayedDocument);S!=null&&I.push(new QA(Q.key,S,cf(S.value.mapValue),It.exists(!0)))}return l.mutationQueue.addMutationBatch(p,c,I,o)}).next(E=>{g=E;const I=E.applyToLocalDocumentSet(d,C);return l.documentOverlayCache.saveOverlays(p,E.batchId,I)})}).then(()=>({batchId:g.batchId,changes:bf(d)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(n.batchId),function(i,o,l){let c=i.Ba[i.currentUser.toKey()];c||(c=new de(ee)),c=c.insert(o,l),i.Ba[i.currentUser.toKey()]=c}(r,n.batchId,t),await Wn(r,n.changes),await $i(r.remoteStore)}catch(n){const s=Pl(n,"Failed to persist write");t.reject(s)}}async function Cg(A,e){const t=q(A);try{const r=await RU(t.localStore,e);e.targetChanges.forEach((n,s)=>{const i=t.Na.get(s);i&&(re(n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size<=1),n.addedDocuments.size>0?i.va=!0:n.modifiedDocuments.size>0?re(i.va):n.removedDocuments.size>0&&(re(i.va),i.va=!1))}),await Wn(t,r,e)}catch(r){await Tn(r)}}function Eg(A,e,t){const r=q(A);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const n=[];r.Fa.forEach((s,i)=>{const o=i.view.Z_(e);o.snapshot&&n.push(o.snapshot)}),function(i,o){const l=q(i);l.onlineState=o;let c=!1;l.queries.forEach((u,d)=>{for(const g of d.j_)g.Z_(o)&&(c=!0)}),c&&Nl(l)}(r.eventManager,e),n.length&&r.Ca.d_(n),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function BQ(A,e,t){const r=q(A);r.sharedClientState.updateQueryState(e,"rejected",t);const n=r.Na.get(e),s=n&&n.key;if(s){let i=new de(j.comparator);i=i.insert(s,Ke.newNoDocument(s,J.min()));const o=z().add(s),l=new Pi(J.min(),new Map,new de(ee),i,o);await Cg(r,l),r.Oa=r.Oa.remove(s),r.Na.delete(e),Kl(r)}else await Sl(r.localStore,e,!1).then(()=>Ml(r,e,t)).catch(Tn)}async function mQ(A,e){const t=q(A),r=e.batch.batchId;try{const n=await SU(t.localStore,e);Ug(t,r,null),bg(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await Wn(t,n)}catch(n){await Tn(n)}}async function yQ(A,e,t){const r=q(A);try{const n=await function(i,o){const l=q(i);return l.persistence.runTransaction("Reject batch","readwrite-primary",c=>{let u;return l.mutationQueue.lookupMutationBatch(c,o).next(d=>(re(d!==null),u=d.keys(),l.mutationQueue.removeMutationBatch(c,d))).next(()=>l.mutationQueue.performConsistencyCheck(c)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(c,u,o)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(c,u)).next(()=>l.localDocuments.getDocuments(c,u))})}(r.localStore,e);Ug(r,e,t),bg(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await Wn(r,n)}catch(n){await Tn(n)}}function bg(A,e){(A.ka.get(e)||[]).forEach(t=>{t.resolve()}),A.ka.delete(e)}function Ug(A,e,t){const r=q(A);let n=r.Ba[r.currentUser.toKey()];if(n){const s=n.get(e);s&&(t?s.reject(t):s.resolve(),n=n.remove(e)),r.Ba[r.currentUser.toKey()]=n}}function Ml(A,e,t=null){A.sharedClientState.removeLocalQueryTarget(e);for(const r of A.Ma.get(e))A.Fa.delete(r),t&&A.Ca.$a(r,t);A.Ma.delete(e),A.isPrimaryClient&&A.La.gr(e).forEach(r=>{A.La.containsKey(r)||Qg(A,r)})}function Qg(A,e){A.xa.delete(e.path.canonicalString());const t=A.Oa.get(e);t!==null&&(kl(A.remoteStore,t),A.Oa=A.Oa.remove(e),A.Na.delete(t),Kl(A))}function Ig(A,e,t){for(const r of t)r instanceof yg?(A.La.addReference(r.key,e),vQ(A,r)):r instanceof vg?(G("SyncEngine","Document no longer in limbo: "+r.key),A.La.removeReference(r.key,e),A.La.containsKey(r.key)||Qg(A,r.key)):W()}function vQ(A,e){const t=e.key,r=t.path.canonicalString();A.Oa.get(t)||A.xa.has(r)||(G("SyncEngine","New document in limbo: "+t),A.xa.add(r),Kl(A))}function Kl(A){for(;A.xa.size>0&&A.Oa.size<A.maxConcurrentLimboResolutions;){const e=A.xa.values().next().value;A.xa.delete(e);const t=new j(ce.fromString(e)),r=A.qa.next();A.Na.set(r,new cQ(t)),A.Oa=A.Oa.insert(t,r),og(A.remoteStore,new IA(Mt(gl(t.path)),r,"TargetPurposeLimboResolution",sl.oe))}}async function Wn(A,e,t){const r=q(A),n=[],s=[],i=[];r.Fa.isEmpty()||(r.Fa.forEach((o,l)=>{i.push(r.Ka(l,e,t).then(c=>{var u;if((c||t)&&r.isPrimaryClient){const d=c?!c.fromCache:(u=t==null?void 0:t.targetChanges.get(l.targetId))===null||u===void 0?void 0:u.current;r.sharedClientState.updateQueryState(l.targetId,d?"current":"not-current")}if(c){n.push(c);const d=Tl.Wi(l.targetId,c);s.push(d)}}))}),await Promise.all(i),r.Ca.d_(n),await async function(l,c){const u=q(l);try{await u.persistence.runTransaction("notifyLocalViewChanges","readwrite",d=>D.forEach(c,g=>D.forEach(g.$i,p=>u.persistence.referenceDelegate.addReference(d,g.targetId,p)).next(()=>D.forEach(g.Ui,p=>u.persistence.referenceDelegate.removeReference(d,g.targetId,p)))))}catch(d){if(!Sn(d))throw d;G("LocalStore","Failed to update sequence numbers: "+d)}for(const d of c){const g=d.targetId;if(!d.fromCache){const p=u.os.get(g),B=p.snapshotVersion,C=p.withLastLimboFreeSnapshotVersion(B);u.os=u.os.insert(g,C)}}}(r.localStore,s))}async function _Q(A,e){const t=q(A);if(!t.currentUser.isEqual(e)){G("SyncEngine","User change. New user:",e.toKey());const r=await eg(t.localStore,e);t.currentUser=e,function(s,i){s.ka.forEach(o=>{o.forEach(l=>{l.reject(new M(L.CANCELLED,i))})}),s.ka.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await Wn(t,r.hs)}}function CQ(A,e){const t=q(A),r=t.Na.get(e);if(r&&r.va)return z().add(r.key);{let n=z();const s=t.Ma.get(e);if(!s)return n;for(const i of s){const o=t.Fa.get(i);n=n.unionWith(o.view.Va)}return n}}function Fg(A){const e=q(A);return e.remoteStore.remoteSyncer.applyRemoteEvent=Cg.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=CQ.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=BQ.bind(null,e),e.Ca.d_=iQ.bind(null,e.eventManager),e.Ca.$a=oQ.bind(null,e.eventManager),e}function EQ(A){const e=q(A);return e.remoteStore.remoteSyncer.applySuccessfulWrite=mQ.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=yQ.bind(null,e),e}class Wi{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Ki(e.databaseInfo.databaseId),this.sharedClientState=this.Wa(e),this.persistence=this.Ga(e),await this.persistence.start(),this.localStore=this.za(e),this.gcScheduler=this.ja(e,this.localStore),this.indexBackfillerScheduler=this.Ha(e,this.localStore)}ja(e,t){return null}Ha(e,t){return null}za(e){return TU(this.persistence,new IU,e.initialUser,this.serializer)}Ga(e){return new bU(Fl.Zr,this.serializer)}Wa(e){return new DU}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Wi.provider={build:()=>new Wi};class Gl{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>Eg(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=_Q.bind(null,this.syncEngine),await rQ(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new sQ}()}createDatastore(e){const t=Ki(e.databaseInfo.databaseId),r=function(s){return new VU(s)}(e.databaseInfo);return function(s,i,o,l){return new GU(s,i,o,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,n,s,i,o){return new $U(r,n,s,i,o)}(this.localStore,this.datastore,e.asyncQueue,t=>Eg(this.syncEngine,t,0),function(){return ng.D()?new ng:new OU}())}createSyncEngine(e,t){return function(n,s,i,o,l,c,u){const d=new uQ(n,s,i,o,l,c);return u&&(d.Qa=!0),d}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(n){const s=q(n);G("RemoteStore","RemoteStore shutting down."),s.L_.add(5),await $n(s),s.k_.shutdown(),s.q_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}Gl.provider={build:()=>new Gl};/**
|
|
2413
2413
|
* @license
|
|
2414
2414
|
* Copyright 2020 Google LLC
|
|
2415
2415
|
*
|
|
@@ -2454,7 +2454,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2454
2454
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2455
2455
|
* See the License for the specific language governing permissions and
|
|
2456
2456
|
* limitations under the License.
|
|
2457
|
-
*/class
|
|
2457
|
+
*/class bQ{constructor(e,t,r,n,s){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=n,this.user=Me.UNAUTHENTICATED,this.clientId=Zd.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=s,this.authCredentials.start(r,async i=>{G("FirestoreClient","Received user=",i.uid),await this.authCredentialListener(i),this.user=i}),this.appCheckCredentials.start(r,i=>(G("FirestoreClient","Received new app check token=",i),this.appCheckCredentialListener(i,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();const e=new EA;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),e.resolve()}catch(t){const r=Pl(t,"Failed to shutdown persistence");e.reject(r)}}),e.promise}}async function jl(A,e){A.asyncQueue.verifyOperationInProgress(),G("FirestoreClient","Initializing OfflineComponentProvider");const t=A.configuration;await e.initialize(t);let r=t.initialUser;A.setCredentialChangeListener(async n=>{r.isEqual(n)||(await eg(e.localStore,n),r=n)}),e.persistence.setDatabaseDeletedListener(()=>A.terminate()),A._offlineComponents=e}async function Sg(A,e){A.asyncQueue.verifyOperationInProgress();const t=await UQ(A);G("FirestoreClient","Initializing OnlineComponentProvider"),await e.initialize(t,A.configuration),A.setCredentialChangeListener(r=>dg(e.remoteStore,r)),A.setAppCheckTokenChangeListener((r,n)=>dg(e.remoteStore,n)),A._onlineComponents=e}async function UQ(A){if(!A._offlineComponents)if(A._uninitializedComponentsProvider){G("FirestoreClient","Using user provided OfflineComponentProvider");try{await jl(A,A._uninitializedComponentsProvider._offline)}catch(e){const t=e;if(!function(n){return n.name==="FirebaseError"?n.code===L.FAILED_PRECONDITION||n.code===L.UNIMPLEMENTED:!(typeof DOMException<"u"&&n instanceof DOMException)||n.code===22||n.code===20||n.code===11}(t))throw t;Qr("Error using user provided cache. Falling back to memory cache: "+t),await jl(A,new Wi)}}else G("FirestoreClient","Using default OfflineComponentProvider"),await jl(A,new Wi);return A._offlineComponents}async function Rg(A){return A._onlineComponents||(A._uninitializedComponentsProvider?(G("FirestoreClient","Using user provided OnlineComponentProvider"),await Sg(A,A._uninitializedComponentsProvider._online)):(G("FirestoreClient","Using default OnlineComponentProvider"),await Sg(A,new Gl))),A._onlineComponents}function QQ(A){return Rg(A).then(e=>e.syncEngine)}async function $l(A){const e=await Rg(A),t=e.eventManager;return t.onListen=hQ.bind(null,e.syncEngine),t.onUnlisten=gQ.bind(null,e.syncEngine),t.onFirstRemoteStoreListen=dQ.bind(null,e.syncEngine),t.onLastRemoteStoreUnlisten=pQ.bind(null,e.syncEngine),t}function IQ(A,e,t={}){const r=new EA;return A.asyncQueue.enqueueAndForget(async()=>function(s,i,o,l,c){const u=new Tg({next:g=>{u.Za(),i.enqueueAndForget(()=>wg(s,d)),g.fromCache&&l.source==="server"?c.reject(new M(L.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):c.resolve(g)},error:g=>c.reject(g)}),d=new mg(o,u,{includeMetadataChanges:!0,_a:!0});return pg(s,d)}(await $l(A),A.asyncQueue,e,t,r)),r.promise}/**
|
|
2458
2458
|
* @license
|
|
2459
2459
|
* Copyright 2023 Google LLC
|
|
2460
2460
|
*
|
|
@@ -2499,7 +2499,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2499
2499
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2500
2500
|
* See the License for the specific language governing permissions and
|
|
2501
2501
|
* limitations under the License.
|
|
2502
|
-
*/function Hg(A,e,t){if(!t)throw new M(L.INVALID_ARGUMENT,`Function ${A}() cannot be called with an empty ${e}.`)}function
|
|
2502
|
+
*/function Hg(A,e,t){if(!t)throw new M(L.INVALID_ARGUMENT,`Function ${A}() cannot be called with an empty ${e}.`)}function FQ(A,e,t,r){if(e===!0&&r===!0)throw new M(L.INVALID_ARGUMENT,`${A} and ${t} cannot be used together.`)}function Lg(A){if(!j.isDocumentKey(A))throw new M(L.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${A} has ${A.length}.`)}function Dg(A){if(j.isDocumentKey(A))throw new M(L.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${A} has ${A.length}.`)}function qi(A){if(A===void 0)return"undefined";if(A===null)return"null";if(typeof A=="string")return A.length>20&&(A=`${A.substring(0,20)}...`),JSON.stringify(A);if(typeof A=="number"||typeof A=="boolean")return""+A;if(typeof A=="object"){if(A instanceof Array)return"an array";{const e=function(r){return r.constructor?r.constructor.name:null}(A);return e?`a custom ${e} object`:"an object"}}return typeof A=="function"?"a function":W()}function Gt(A,e){if("_delegate"in A&&(A=A._delegate),!(A instanceof e)){if(e.name===A.constructor.name)throw new M(L.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{const t=qi(A);throw new M(L.INVALID_ARGUMENT,`Expected type '${e.name}', but it was: ${t}`)}}return A}/**
|
|
2503
2503
|
* @license
|
|
2504
2504
|
* Copyright 2020 Google LLC
|
|
2505
2505
|
*
|
|
@@ -2514,7 +2514,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2514
2514
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2515
2515
|
* See the License for the specific language governing permissions and
|
|
2516
2516
|
* limitations under the License.
|
|
2517
|
-
*/class Og{constructor(e){var t,r;if(e.host===void 0){if(e.ssl!==void 0)throw new M(L.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(t=e.ssl)===null||t===void 0||t;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new M(L.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}
|
|
2517
|
+
*/class Og{constructor(e){var t,r;if(e.host===void 0){if(e.ssl!==void 0)throw new M(L.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=(t=e.ssl)===null||t===void 0||t;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e.cacheSizeBytes===void 0)this.cacheSizeBytes=41943040;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<1048576)throw new M(L.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}FQ("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:e.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=xg((r=e.experimentalLongPollingOptions)!==null&&r!==void 0?r:{}),function(s){if(s.timeoutSeconds!==void 0){if(isNaN(s.timeoutSeconds))throw new M(L.INVALID_ARGUMENT,`invalid long polling timeout: ${s.timeoutSeconds} (must not be NaN)`);if(s.timeoutSeconds<5)throw new M(L.INVALID_ARGUMENT,`invalid long polling timeout: ${s.timeoutSeconds} (minimum allowed value is 5)`);if(s.timeoutSeconds>30)throw new M(L.INVALID_ARGUMENT,`invalid long polling timeout: ${s.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&function(r,n){return r.timeoutSeconds===n.timeoutSeconds}(this.experimentalLongPollingOptions,e.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class Ji{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Og({}),this._settingsFrozen=!1,this._terminateTask="notTerminated"}get app(){if(!this._app)throw new M(L.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return this._terminateTask!=="notTerminated"}_setSettings(e){if(this._settingsFrozen)throw new M(L.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new Og(e),e.credentials!==void 0&&(this._authCredentials=function(r){if(!r)return new qE;switch(r.type){case"firstParty":return new YE(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new M(L.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}}(e.credentials))}_getSettings(){return this._settings}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(t){const r=kg.get(t);r&&(G("ComponentProvider","Removing Datastore"),kg.delete(t),r.terminate())}(this),Promise.resolve()}}function TQ(A,e,t,r={}){var n;const s=(A=Gt(A,Ji))._getSettings(),i=`${e}:${t}`;if(s.host!=="firestore.googleapis.com"&&s.host!==i&&Qr("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used."),A._setSettings(Object.assign(Object.assign({},s),{host:i,ssl:!1})),r.mockUserToken){let o,l;if(typeof r.mockUserToken=="string")o=r.mockUserToken,l=Me.MOCK_USER;else{o=Ed(r.mockUserToken,(n=A._app)===null||n===void 0?void 0:n.options.projectId);const c=r.mockUserToken.sub||r.mockUserToken.user_id;if(!c)throw new M(L.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");l=new Me(c)}A._authCredentials=new JE(new Yd(o,l))}}/**
|
|
2518
2518
|
* @license
|
|
2519
2519
|
* Copyright 2020 Google LLC
|
|
2520
2520
|
*
|
|
@@ -2545,7 +2545,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2545
2545
|
* See the License for the specific language governing permissions and
|
|
2546
2546
|
* limitations under the License.
|
|
2547
2547
|
*/class Pg{constructor(e=Promise.resolve()){this.Pu=[],this.Iu=!1,this.Tu=[],this.Eu=null,this.du=!1,this.Au=!1,this.Ru=[],this.t_=new sg(this,"async_queue_retry"),this.Vu=()=>{const r=xl();r&&G("AsyncQueue","Visibility state changed to "+r.visibilityState),this.t_.jo()},this.mu=e;const t=xl();t&&typeof t.addEventListener=="function"&&t.addEventListener("visibilitychange",this.Vu)}get isShuttingDown(){return this.Iu}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.fu(),this.gu(e)}enterRestrictedMode(e){if(!this.Iu){this.Iu=!0,this.Au=e||!1;const t=xl();t&&typeof t.removeEventListener=="function"&&t.removeEventListener("visibilitychange",this.Vu)}}enqueue(e){if(this.fu(),this.Iu)return new Promise(()=>{});const t=new EA;return this.gu(()=>this.Iu&&this.Au?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.Pu.push(e),this.pu()))}async pu(){if(this.Pu.length!==0){try{await this.Pu[0](),this.Pu.shift(),this.t_.reset()}catch(e){if(!Sn(e))throw e;G("AsyncQueue","Operation failed with retryable error: "+e)}this.Pu.length>0&&this.t_.Go(()=>this.pu())}}gu(e){const t=this.mu.then(()=>(this.du=!0,e().catch(r=>{this.Eu=r,this.du=!1;const n=function(i){let o=i.message||"";return i.stack&&(o=i.stack.includes(i.message)?i.stack:i.message+`
|
|
2548
|
-
`+i.stack),o}(r);throw tA("INTERNAL UNHANDLED ERROR: ",n),r}).then(r=>(this.du=!1,r))));return this.mu=t,t}enqueueAfterDelay(e,t,r){this.fu(),this.Ru.indexOf(e)>-1&&(t=0);const n=Ol.createAndSchedule(this,e,t,r,s=>this.yu(s));return this.Tu.push(n),n}fu(){this.Eu&&W()}verifyOperationInProgress(){}async wu(){let e;do e=this.mu,await e;while(e!==this.mu)}Su(e){for(const t of this.Tu)if(t.timerId===e)return!0;return!1}bu(e){return this.wu().then(()=>{this.Tu.sort((t,r)=>t.targetTimeMs-r.targetTimeMs);for(const t of this.Tu)if(t.skipDelay(),e!=="all"&&t.timerId===e)break;return this.wu()})}Du(e){this.Ru.push(e)}yu(e){const t=this.Tu.indexOf(e);this.Tu.splice(t,1)}}function Ng(A){return function(t,r){if(typeof t!="object"||t===null)return!1;const n=t;for(const s of r)if(s in n&&typeof n[s]=="function")return!0;return!1}(A,["next","error","complete"])}class ZA extends Ji{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new Pg,this._persistenceKey=(n==null?void 0:n.name)||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){const e=this._firestoreClient.terminate();this._queue=new Pg(e),this._firestoreClient=void 0,await e}}}function
|
|
2548
|
+
`+i.stack),o}(r);throw tA("INTERNAL UNHANDLED ERROR: ",n),r}).then(r=>(this.du=!1,r))));return this.mu=t,t}enqueueAfterDelay(e,t,r){this.fu(),this.Ru.indexOf(e)>-1&&(t=0);const n=Ol.createAndSchedule(this,e,t,r,s=>this.yu(s));return this.Tu.push(n),n}fu(){this.Eu&&W()}verifyOperationInProgress(){}async wu(){let e;do e=this.mu,await e;while(e!==this.mu)}Su(e){for(const t of this.Tu)if(t.timerId===e)return!0;return!1}bu(e){return this.wu().then(()=>{this.Tu.sort((t,r)=>t.targetTimeMs-r.targetTimeMs);for(const t of this.Tu)if(t.skipDelay(),e!=="all"&&t.timerId===e)break;return this.wu()})}Du(e){this.Ru.push(e)}yu(e){const t=this.Tu.indexOf(e);this.Tu.splice(t,1)}}function Ng(A){return function(t,r){if(typeof t!="object"||t===null)return!1;const n=t;for(const s of r)if(s in n&&typeof n[s]=="function")return!0;return!1}(A,["next","error","complete"])}class ZA extends Ji{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new Pg,this._persistenceKey=(n==null?void 0:n.name)||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){const e=this._firestoreClient.terminate();this._queue=new Pg(e),this._firestoreClient=void 0,await e}}}function SQ(A,e){const t=typeof A=="object"?A:Od(),r=typeof A=="string"?A:"(default)",n=Hd(t,"firestore").getImmediate({identifier:r});if(!n._initialized){const s=_d("firestore");s&&TQ(n,...s)}return n}function ql(A){if(A._terminated)throw new M(L.FAILED_PRECONDITION,"The client has already been terminated.");return A._firestoreClient||RQ(A),A._firestoreClient}function RQ(A){var e,t,r;const n=A._freezeSettings(),s=function(o,l,c,u){return new ub(o,l,c,u.host,u.ssl,u.experimentalForceLongPolling,u.experimentalAutoDetectLongPolling,xg(u.experimentalLongPollingOptions),u.useFetchStreams)}(A._databaseId,((e=A._app)===null||e===void 0?void 0:e.options.appId)||"",A._persistenceKey,n);A._componentsProvider||!((t=n.localCache)===null||t===void 0)&&t._offlineComponentProvider&&(!((r=n.localCache)===null||r===void 0)&&r._onlineComponentProvider)&&(A._componentsProvider={_offline:n.localCache._offlineComponentProvider,_online:n.localCache._onlineComponentProvider}),A._firestoreClient=new bQ(A._authCredentials,A._appCheckCredentials,A._queue,s,A._componentsProvider&&function(o){const l=o==null?void 0:o._online.build();return{_offline:o==null?void 0:o._offline.build(l),_online:l}}(A._componentsProvider))}/**
|
|
2549
2549
|
* @license
|
|
2550
2550
|
* Copyright 2020 Google LLC
|
|
2551
2551
|
*
|
|
@@ -2635,7 +2635,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2635
2635
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2636
2636
|
* See the License for the specific language governing permissions and
|
|
2637
2637
|
* limitations under the License.
|
|
2638
|
-
*/const
|
|
2638
|
+
*/const xQ=/^__.*__$/;class kQ{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return this.fieldMask!==null?new QA(e,this.data,this.fieldMask,t,this.fieldTransforms):new Kn(e,this.data,t,this.fieldTransforms)}}class Vg{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new QA(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function Mg(A){switch(A){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw W()}}class Yl{constructor(e,t,r,n,s,i){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,s===void 0&&this.vu(),this.fieldTransforms=s||[],this.fieldMask=i||[]}get path(){return this.settings.path}get Cu(){return this.settings.Cu}Fu(e){return new Yl(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}Mu(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),n=this.Fu({path:r,xu:!1});return n.Ou(e),n}Nu(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),n=this.Fu({path:r,xu:!1});return n.vu(),n}Lu(e){return this.Fu({path:void 0,xu:!0})}Bu(e){return Yi(e,this.settings.methodName,this.settings.ku||!1,this.path,this.settings.qu)}contains(e){return this.fieldMask.find(t=>e.isPrefixOf(t))!==void 0||this.fieldTransforms.find(t=>e.isPrefixOf(t.field))!==void 0}vu(){if(this.path)for(let e=0;e<this.path.length;e++)this.Ou(this.path.get(e))}Ou(e){if(e.length===0)throw this.Bu("Document fields must not be empty");if(Mg(this.Cu)&&xQ.test(e))throw this.Bu('Document fields cannot begin and end with "__"')}}class HQ{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Ki(e)}Qu(e,t,r,n=!1){return new Yl({Cu:e,methodName:t,qu:r,path:He.emptyPath(),xu:!1,ku:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Zl(A){const e=A._freezeSettings(),t=Ki(A._databaseId);return new HQ(A._databaseId,!!e.ignoreUndefinedProperties,t)}function LQ(A,e,t,r,n,s={}){const i=A.Qu(s.merge||s.mergeFields?2:0,e,t,n);ec("Data must be an object, but it was:",i,r);const o=Kg(r,i);let l,c;if(s.merge)l=new ht(i.fieldMask),c=i.fieldTransforms;else if(s.mergeFields){const u=[];for(const d of s.mergeFields){const g=tc(e,d,t);if(!i.contains(g))throw new M(L.INVALID_ARGUMENT,`Field '${g}' is specified in your field mask but missing from your input data.`);jg(u,g)||u.push(g)}l=new ht(u),c=i.fieldTransforms.filter(d=>l.covers(d.field))}else l=null,c=i.fieldTransforms;return new kQ(new st(o),l,c)}class zi extends Jl{_toFieldTransform(e){if(e.Cu!==2)throw e.Cu===1?e.Bu(`${this._methodName}() can only appear at the top level of your update data`):e.Bu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof zi}}function DQ(A,e,t,r){const n=A.Qu(1,e,t);ec("Data must be an object, but it was:",n,r);const s=[],i=st.empty();WA(r,(l,c)=>{const u=Ac(e,l,t);c=nt(c);const d=n.Nu(u);if(c instanceof zi)s.push(u);else{const g=Jn(c,d);g!=null&&(s.push(u),i.set(u,g))}});const o=new ht(s);return new Vg(i,o,n.fieldTransforms)}function OQ(A,e,t,r,n,s){const i=A.Qu(1,e,t),o=[tc(e,r,t)],l=[n];if(s.length%2!=0)throw new M(L.INVALID_ARGUMENT,`Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let g=0;g<s.length;g+=2)o.push(tc(e,s[g])),l.push(s[g+1]);const c=[],u=st.empty();for(let g=o.length-1;g>=0;--g)if(!jg(c,o[g])){const p=o[g];let B=l[g];B=nt(B);const C=i.Nu(p);if(B instanceof zi)c.push(p);else{const E=Jn(B,C);E!=null&&(c.push(p),u.set(p,E))}}const d=new ht(c);return new Vg(u,d,i.fieldTransforms)}function PQ(A,e,t,r=!1){return Jn(t,A.Qu(r?4:3,e))}function Jn(A,e){if(Gg(A=nt(A)))return ec("Unsupported field value:",e,A),Kg(A,e);if(A instanceof Jl)return function(r,n){if(!Mg(n.Cu))throw n.Bu(`${r._methodName}() can only be used with update() and set()`);if(!n.path)throw n.Bu(`${r._methodName}() is not currently supported inside arrays`);const s=r._toFieldTransform(n);s&&n.fieldTransforms.push(s)}(A,e),null;if(A===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),A instanceof Array){if(e.settings.xu&&e.Cu!==4)throw e.Bu("Nested arrays are not supported");return function(r,n){const s=[];let i=0;for(const o of r){let l=Jn(o,n.Lu(i));l==null&&(l={nullValue:"NULL_VALUE"}),s.push(l),i++}return{arrayValue:{values:s}}}(A,e)}return function(r,n){if((r=nt(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return xb(n.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){const s=Fe.fromDate(r);return{timestampValue:Vi(n.serializer,s)}}if(r instanceof Fe){const s=new Fe(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:Vi(n.serializer,s)}}if(r instanceof Xl)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof Pr)return{bytesValue:$f(n.serializer,r._byteString)};if(r instanceof it){const s=n.databaseId,i=r.firestore._databaseId;if(!i.isEqual(s))throw n.Bu(`Document reference is for database ${i.projectId}/${i.database} but should be for database ${s.projectId}/${s.database}`);return{referenceValue:Cl(r.firestore._databaseId||n.databaseId,r._key.path)}}if(r instanceof zl)return function(i,o){return{mapValue:{fields:{__type__:{stringValue:"__vector__"},value:{arrayValue:{values:i.toArray().map(l=>{if(typeof l!="number")throw o.Bu("VectorValues must only contain numeric values.");return Bl(o.serializer,l)})}}}}}}(r,n);throw n.Bu(`Unsupported field value: ${qi(r)}`)}(A,e)}function Kg(A,e){const t={};return tf(A)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):WA(A,(r,n)=>{const s=Jn(n,e.Mu(r));s!=null&&(t[r]=s)}),{mapValue:{fields:t}}}function Gg(A){return!(typeof A!="object"||A===null||A instanceof Array||A instanceof Date||A instanceof Fe||A instanceof Xl||A instanceof Pr||A instanceof it||A instanceof Jl||A instanceof zl)}function ec(A,e,t){if(!Gg(t)||!function(n){return typeof n=="object"&&n!==null&&(Object.getPrototypeOf(n)===Object.prototype||Object.getPrototypeOf(n)===null)}(t)){const r=qi(t);throw r==="an object"?e.Bu(A+" a custom object"):e.Bu(A+" "+r)}}function tc(A,e,t){if((e=nt(e))instanceof Xi)return e._internalPath;if(typeof e=="string")return Ac(A,e);throw Yi("Field path arguments must be of type string or ",A,!1,void 0,t)}const NQ=new RegExp("[~\\*/\\[\\]]");function Ac(A,e,t){if(e.search(NQ)>=0)throw Yi(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`,A,!1,void 0,t);try{return new Xi(...e.split("."))._internalPath}catch{throw Yi(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,A,!1,void 0,t)}}function Yi(A,e,t,r,n){const s=r&&!r.isEmpty(),i=n!==void 0;let o=`Function ${e}() called with invalid data`;t&&(o+=" (via `toFirestore()`)"),o+=". ";let l="";return(s||i)&&(l+=" (found",s&&(l+=` in field ${r}`),i&&(l+=` in document ${n}`),l+=")"),new M(L.INVALID_ARGUMENT,o+A+l)}function jg(A,e){return A.some(t=>t.isEqual(e))}/**
|
|
2639
2639
|
* @license
|
|
2640
2640
|
* Copyright 2020 Google LLC
|
|
2641
2641
|
*
|
|
@@ -2650,7 +2650,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2650
2650
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2651
2651
|
* See the License for the specific language governing permissions and
|
|
2652
2652
|
* limitations under the License.
|
|
2653
|
-
*/class $g{constructor(e,t,r,n,s){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=s}get id(){return this._key.path.lastSegment()}get ref(){return new it(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){const e=new
|
|
2653
|
+
*/class $g{constructor(e,t,r,n,s){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=s}get id(){return this._key.path.lastSegment()}get ref(){return new it(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){const e=new VQ(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}get(e){if(this._document){const t=this._document.data.field(rc("DocumentSnapshot.get",e));if(t!==null)return this._userDataWriter.convertValue(t)}}}class VQ extends $g{data(){return super.data()}}function rc(A,e){return typeof e=="string"?Ac(A,e):e instanceof Xi?e._internalPath:e._delegate._internalPath}/**
|
|
2654
2654
|
* @license
|
|
2655
2655
|
* Copyright 2020 Google LLC
|
|
2656
2656
|
*
|
|
@@ -2665,7 +2665,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2665
2665
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2666
2666
|
* See the License for the specific language governing permissions and
|
|
2667
2667
|
* limitations under the License.
|
|
2668
|
-
*/function Wg(A){if(A.limitType==="L"&&A.explicitOrderBy.length===0)throw new M(L.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class nc{}class
|
|
2668
|
+
*/function Wg(A){if(A.limitType==="L"&&A.explicitOrderBy.length===0)throw new M(L.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class nc{}class MQ extends nc{}function qg(A,e,...t){let r=[];e instanceof nc&&r.push(e),r=r.concat(t),function(s){const i=s.filter(l=>l instanceof sc).length,o=s.filter(l=>l instanceof Zi).length;if(i>1||i>0&&o>0)throw new M(L.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.")}(r);for(const n of r)A=n._apply(A);return A}class Zi extends MQ{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Zi(e,t,r)}_apply(e){const t=this._parse(e);return zg(e._query,t),new YA(e.firestore,e.converter,pl(e._query,t))}_parse(e){const t=Zl(e.firestore);return function(s,i,o,l,c,u,d){let g;if(c.isKeyField()){if(u==="array-contains"||u==="array-contains-any")throw new M(L.INVALID_ARGUMENT,`Invalid Query. You can't perform '${u}' queries on documentId().`);if(u==="in"||u==="not-in"){Xg(d,u);const p=[];for(const B of d)p.push(Jg(l,s,B));g={arrayValue:{values:p}}}else g=Jg(l,s,d)}else u!=="in"&&u!=="not-in"&&u!=="array-contains-any"||Xg(d,u),g=PQ(o,i,d,u==="in"||u==="not-in");return Ce.create(c,u,g)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}function eo(A,e,t){const r=e,n=rc("where",A);return Zi._create(n,r,t)}class sc extends nc{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new sc(e,t)}_parse(e){const t=this._queryConstraints.map(r=>r._parse(e)).filter(r=>r.getFilters().length>0);return t.length===1?t[0]:Qt.create(t,this._getOperator())}_apply(e){const t=this._parse(e);return t.getFilters().length===0?e:(function(n,s){let i=n;const o=s.getFlattenedFilters();for(const l of o)zg(i,l),i=pl(i,l)}(e._query,t),new YA(e.firestore,e.converter,pl(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}}function Jg(A,e,t){if(typeof(t=nt(t))=="string"){if(t==="")throw new M(L.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!vf(e)&&t.indexOf("/")!==-1)throw new M(L.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${t}' contains a '/' character.`);const r=e.path.child(ce.fromString(t));if(!j.isDocumentKey(r))throw new M(L.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return of(A,new j(r))}if(t instanceof it)return of(A,t._key);throw new M(L.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${qi(t)}.`)}function Xg(A,e){if(!Array.isArray(A)||A.length===0)throw new M(L.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${e.toString()}' filters.`)}function zg(A,e){const t=function(n,s){for(const i of n)for(const o of i.getFlattenedFilters())if(s.indexOf(o.op)>=0)return o.op;return null}(A.filters,function(n){switch(n){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}}(e.op));if(t!==null)throw t===e.op?new M(L.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${e.op.toString()}' filter.`):new M(L.INVALID_ARGUMENT,`Invalid query. You cannot use '${e.op.toString()}' filters with '${t.toString()}' filters.`)}class KQ{convertValue(e,t="none"){switch(JA(e)){case 0:return null;case 1:return e.booleanValue;case 2:return me(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,t);case 5:return e.stringValue;case 6:return this.convertBytes(qA(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,t);case 11:return this.convertObject(e.mapValue,t);case 10:return this.convertVectorValue(e.mapValue);default:throw W()}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){const r={};return WA(e,(n,s)=>{r[n]=this.convertValue(s,t)}),r}convertVectorValue(e){var t,r,n;const s=(n=(r=(t=e.fields)===null||t===void 0?void 0:t.value.arrayValue)===null||r===void 0?void 0:r.values)===null||n===void 0?void 0:n.map(i=>me(i.doubleValue));return new zl(s)}convertGeoPoint(e){return new Xl(me(e.latitude),me(e.longitude))}convertArray(e,t){return(e.values||[]).map(r=>this.convertValue(r,t))}convertServerTimestamp(e,t){switch(t){case"previous":const r=ol(e);return r==null?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(Rn(e));default:return null}}convertTimestamp(e){const t=UA(e);return new Fe(t.seconds,t.nanos)}convertDocumentKey(e,t){const r=ce.fromString(e);re(Zf(r));const n=new xn(r.get(1),r.get(3)),s=new j(r.popFirst(5));return n.isEqual(t)||tA(`Document ${s} contains a document reference within a different database (${n.projectId}/${n.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),s}}/**
|
|
2669
2669
|
* @license
|
|
2670
2670
|
* Copyright 2020 Google LLC
|
|
2671
2671
|
*
|
|
@@ -2680,7 +2680,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2680
2680
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2681
2681
|
* See the License for the specific language governing permissions and
|
|
2682
2682
|
* limitations under the License.
|
|
2683
|
-
*/function
|
|
2683
|
+
*/function GQ(A,e,t){let r;return r=A?A.toFirestore(e):e,r}/**
|
|
2684
2684
|
* @license
|
|
2685
2685
|
* Copyright 2020 Google LLC
|
|
2686
2686
|
*
|
|
@@ -2695,7 +2695,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2695
2695
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2696
2696
|
* See the License for the specific language governing permissions and
|
|
2697
2697
|
* limitations under the License.
|
|
2698
|
-
*/class Xn{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class Yg extends $g{constructor(e,t,r,n,s,i){super(e,t,r,n,i),this._firestore=e,this._firestoreImpl=e,this.metadata=s}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new to(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){const r=this._document.data.field(rc("DocumentSnapshot.get",e));if(r!==null)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}}class to extends Yg{data(e={}){return super.data(e)}}class Zg{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new Xn(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){const e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new to(this._firestore,this._userDataWriter,r.key,r,new Xn(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new M(L.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(n,s){if(n._snapshot.oldDocs.isEmpty()){let i=0;return n._snapshot.docChanges.map(o=>{const l=new to(n._firestore,n._userDataWriter,o.doc.key,o.doc,new Xn(n._snapshot.mutatedKeys.has(o.doc.key),n._snapshot.fromCache),n.query.converter);return o.doc,{type:"added",doc:l,oldIndex:-1,newIndex:i++}})}{let i=n._snapshot.oldDocs;return n._snapshot.docChanges.filter(o=>s||o.type!==3).map(o=>{const l=new to(n._firestore,n._userDataWriter,o.doc.key,o.doc,new Xn(n._snapshot.mutatedKeys.has(o.doc.key),n._snapshot.fromCache),n.query.converter);let c=-1,u=-1;return o.type!==0&&(c=i.indexOf(o.doc.key),i=i.delete(o.doc.key)),o.type!==1&&(i=i.add(o.doc),u=i.indexOf(o.doc.key)),{type
|
|
2698
|
+
*/class Xn{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class Yg extends $g{constructor(e,t,r,n,s,i){super(e,t,r,n,i),this._firestore=e,this._firestoreImpl=e,this.metadata=s}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new to(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){const r=this._document.data.field(rc("DocumentSnapshot.get",e));if(r!==null)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}}class to extends Yg{data(e={}){return super.data(e)}}class Zg{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new Xn(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){const e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new to(this._firestore,this._userDataWriter,r.key,r,new Xn(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new M(L.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(n,s){if(n._snapshot.oldDocs.isEmpty()){let i=0;return n._snapshot.docChanges.map(o=>{const l=new to(n._firestore,n._userDataWriter,o.doc.key,o.doc,new Xn(n._snapshot.mutatedKeys.has(o.doc.key),n._snapshot.fromCache),n.query.converter);return o.doc,{type:"added",doc:l,oldIndex:-1,newIndex:i++}})}{let i=n._snapshot.oldDocs;return n._snapshot.docChanges.filter(o=>s||o.type!==3).map(o=>{const l=new to(n._firestore,n._userDataWriter,o.doc.key,o.doc,new Xn(n._snapshot.mutatedKeys.has(o.doc.key),n._snapshot.fromCache),n.query.converter);let c=-1,u=-1;return o.type!==0&&(c=i.indexOf(o.doc.key),i=i.delete(o.doc.key)),o.type!==1&&(i=i.add(o.doc),u=i.indexOf(o.doc.key)),{type:jQ(o.type),doc:l,oldIndex:c,newIndex:u}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}}function jQ(A){switch(A){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return W()}}class ic extends KQ{constructor(e){super(),this.firestore=e}convertBytes(e){return new Pr(e)}convertReference(e){const t=this.convertDocumentKey(e,this.firestore._databaseId);return new it(this.firestore,null,t)}}function ep(A){A=Gt(A,YA);const e=Gt(A.firestore,ZA),t=ql(e),r=new ic(e);return Wg(A._query),IQ(t,A._query).then(n=>new Zg(e,r,A,n))}function $Q(A,e,t,...r){A=Gt(A,it);const n=Gt(A.firestore,ZA),s=Zl(n);let i;return i=typeof(e=nt(e))=="string"||e instanceof Xi?OQ(s,"updateDoc",A._key,e,t,r):DQ(s,"updateDoc",A._key,e),oc(n,[i.toMutation(A._key,It.exists(!0))])}function WQ(A){return oc(Gt(A.firestore,ZA),[new ml(A._key,It.none())])}function tp(A,e){const t=Gt(A.firestore,ZA),r=Wl(A),n=GQ(A.converter,e);return oc(t,[LQ(Zl(A.firestore),"addDoc",r._key,n,A.converter!==null,{}).toMutation(r._key,It.exists(!1))]).then(()=>r)}function qQ(A,...e){var t,r,n;A=nt(A);let s={includeMetadataChanges:!1,source:"default"},i=0;typeof e[i]!="object"||Ng(e[i])||(s=e[i],i++);const o={includeMetadataChanges:s.includeMetadataChanges,source:s.source};if(Ng(e[i])){const d=e[i];e[i]=(t=d.next)===null||t===void 0?void 0:t.bind(d),e[i+1]=(r=d.error)===null||r===void 0?void 0:r.bind(d),e[i+2]=(n=d.complete)===null||n===void 0?void 0:n.bind(d)}let l,c,u;if(A instanceof it)c=Gt(A.firestore,ZA),u=gl(A._key.path),l={next:d=>{e[i]&&e[i](JQ(c,A,d))},error:e[i+1],complete:e[i+2]};else{const d=Gt(A,YA);c=Gt(d.firestore,ZA),u=d._query;const g=new ic(c);l={next:p=>{e[i]&&e[i](new Zg(c,g,d,p))},error:e[i+1],complete:e[i+2]},Wg(A._query)}return function(g,p,B,C){const E=new Tg(C),I=new mg(p,E,B);return g.asyncQueue.enqueueAndForget(async()=>pg(await $l(g),I)),()=>{E.Za(),g.asyncQueue.enqueueAndForget(async()=>wg(await $l(g),I))}}(ql(c),u,o,l)}function oc(A,e){return function(r,n){const s=new EA;return r.asyncQueue.enqueueAndForget(async()=>wQ(await QQ(r),n,s)),s.promise}(ql(A),e)}function JQ(A,e,t){const r=t.docs.get(e._key),n=new ic(A);return new Yg(A,n,e._key,r,new Xn(t.hasPendingWrites,t.fromCache),e.converter)}(function(e,t=!0){(function(n){Ur=n})(Ld),bn(new br("firestore",(r,{instanceIdentifier:n,options:s})=>{const i=r.getProvider("app").getImmediate(),o=new ZA(new XE(r.getProvider("auth-internal")),new eb(r.getProvider("app-check-internal")),function(c,u){if(!Object.prototype.hasOwnProperty.apply(c.options,["projectId"]))throw new M(L.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new xn(c.options.projectId,u)}(i,n),i);return s=Object.assign({useFetchStreams:t},s),o._setSettings(s),o},"PUBLIC").setMultipleInstances(!0)),CA(zd,"4.7.3",e),CA(zd,"4.7.3","esm2017")})();/**
|
|
2699
2699
|
* @license
|
|
2700
2700
|
* Copyright 2017 Google LLC
|
|
2701
2701
|
*
|
|
@@ -2710,7 +2710,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2710
2710
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2711
2711
|
* See the License for the specific language governing permissions and
|
|
2712
2712
|
* limitations under the License.
|
|
2713
|
-
*/const Ap="firebasestorage.googleapis.com",rp="storageBucket",
|
|
2713
|
+
*/const Ap="firebasestorage.googleapis.com",rp="storageBucket",XQ=2*60*1e3,zQ=10*60*1e3;/**
|
|
2714
2714
|
* @license
|
|
2715
2715
|
* Copyright 2017 Google LLC
|
|
2716
2716
|
*
|
|
@@ -2726,7 +2726,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2726
2726
|
* See the License for the specific language governing permissions and
|
|
2727
2727
|
* limitations under the License.
|
|
2728
2728
|
*/let be=class QB extends KA{constructor(e,t,r=0){super(ac(e),`Firebase Storage: ${t} (${ac(e)})`),this.status_=r,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,QB.prototype)}get status(){return this.status_}set status(e){this.status_=e}_codeEquals(e){return ac(e)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(e){this.customData.serverResponse=e,this.customData.serverResponse?this.message=`${this._baseMessage}
|
|
2729
|
-
${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(function(A){A.UNKNOWN="unknown",A.OBJECT_NOT_FOUND="object-not-found",A.BUCKET_NOT_FOUND="bucket-not-found",A.PROJECT_NOT_FOUND="project-not-found",A.QUOTA_EXCEEDED="quota-exceeded",A.UNAUTHENTICATED="unauthenticated",A.UNAUTHORIZED="unauthorized",A.UNAUTHORIZED_APP="unauthorized-app",A.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",A.INVALID_CHECKSUM="invalid-checksum",A.CANCELED="canceled",A.INVALID_EVENT_NAME="invalid-event-name",A.INVALID_URL="invalid-url",A.INVALID_DEFAULT_BUCKET="invalid-default-bucket",A.NO_DEFAULT_BUCKET="no-default-bucket",A.CANNOT_SLICE_BLOB="cannot-slice-blob",A.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",A.NO_DOWNLOAD_URL="no-download-url",A.INVALID_ARGUMENT="invalid-argument",A.INVALID_ARGUMENT_COUNT="invalid-argument-count",A.APP_DELETED="app-deleted",A.INVALID_ROOT_OPERATION="invalid-root-operation",A.INVALID_FORMAT="invalid-format",A.INTERNAL_ERROR="internal-error",A.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(fe||(fe={}));function ac(A){return"storage/"+A}function lc(){const A="An unknown error occurred, please check the error payload for server response.";return new be(fe.UNKNOWN,A)}function
|
|
2729
|
+
${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(function(A){A.UNKNOWN="unknown",A.OBJECT_NOT_FOUND="object-not-found",A.BUCKET_NOT_FOUND="bucket-not-found",A.PROJECT_NOT_FOUND="project-not-found",A.QUOTA_EXCEEDED="quota-exceeded",A.UNAUTHENTICATED="unauthenticated",A.UNAUTHORIZED="unauthorized",A.UNAUTHORIZED_APP="unauthorized-app",A.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",A.INVALID_CHECKSUM="invalid-checksum",A.CANCELED="canceled",A.INVALID_EVENT_NAME="invalid-event-name",A.INVALID_URL="invalid-url",A.INVALID_DEFAULT_BUCKET="invalid-default-bucket",A.NO_DEFAULT_BUCKET="no-default-bucket",A.CANNOT_SLICE_BLOB="cannot-slice-blob",A.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",A.NO_DOWNLOAD_URL="no-download-url",A.INVALID_ARGUMENT="invalid-argument",A.INVALID_ARGUMENT_COUNT="invalid-argument-count",A.APP_DELETED="app-deleted",A.INVALID_ROOT_OPERATION="invalid-root-operation",A.INVALID_FORMAT="invalid-format",A.INTERNAL_ERROR="internal-error",A.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(fe||(fe={}));function ac(A){return"storage/"+A}function lc(){const A="An unknown error occurred, please check the error payload for server response.";return new be(fe.UNKNOWN,A)}function YQ(A){return new be(fe.OBJECT_NOT_FOUND,"Object '"+A+"' does not exist.")}function ZQ(A){return new be(fe.QUOTA_EXCEEDED,"Quota for bucket '"+A+"' exceeded, please view quota on https://firebase.google.com/pricing/.")}function eI(){const A="User is not authenticated, please authenticate using Firebase Authentication and try again.";return new be(fe.UNAUTHENTICATED,A)}function tI(){return new be(fe.UNAUTHORIZED_APP,"This app does not have permission to access Firebase Storage on this project.")}function AI(A){return new be(fe.UNAUTHORIZED,"User does not have permission to access '"+A+"'.")}function rI(){return new be(fe.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}function nI(){return new be(fe.CANCELED,"User canceled the upload/download.")}function sI(A){return new be(fe.INVALID_URL,"Invalid URL '"+A+"'.")}function iI(A){return new be(fe.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+A+"'.")}function oI(){return new be(fe.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+rp+"' property when initializing the app?")}function aI(){return new be(fe.CANNOT_SLICE_BLOB,"Cannot slice blob for upload. Please retry the upload.")}function lI(){return new be(fe.NO_DOWNLOAD_URL,"The given file does not have any download URLs.")}function cI(A){return new be(fe.UNSUPPORTED_ENVIRONMENT,`${A} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}function cc(A){return new be(fe.INVALID_ARGUMENT,A)}function np(){return new be(fe.APP_DELETED,"The Firebase app was deleted.")}function uI(A){return new be(fe.INVALID_ROOT_OPERATION,"The operation '"+A+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}function zn(A,e){return new be(fe.INVALID_FORMAT,"String does not match format '"+A+"': "+e)}function Yn(A){throw new be(fe.INTERNAL_ERROR,"Internal error: "+A)}/**
|
|
2730
2730
|
* @license
|
|
2731
2731
|
* Copyright 2017 Google LLC
|
|
2732
2732
|
*
|
|
@@ -2741,7 +2741,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2741
2741
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2742
2742
|
* See the License for the specific language governing permissions and
|
|
2743
2743
|
* limitations under the License.
|
|
2744
|
-
*/class
|
|
2744
|
+
*/class dt{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return this.path.length===0}fullServerUrl(){const e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)}bucketOnlyServerUrl(){return"/b/"+encodeURIComponent(this.bucket)+"/o"}static makeFromBucketSpec(e,t){let r;try{r=dt.makeFromUrl(e,t)}catch{return new dt(e,"")}if(r.path==="")return r;throw iI(e)}static makeFromUrl(e,t){let r=null;const n="([A-Za-z0-9.\\-_]+)";function s(k){k.path.charAt(k.path.length-1)==="/"&&(k.path_=k.path_.slice(0,-1))}const i="(/(.*))?$",o=new RegExp("^gs://"+n+i,"i"),l={bucket:1,path:3};function c(k){k.path_=decodeURIComponent(k.path)}const u="v[A-Za-z0-9_]+",d=t.replace(/[.]/g,"\\."),g="(/([^?#]*).*)?$",p=new RegExp(`^https?://${d}/${u}/b/${n}/o${g}`,"i"),B={bucket:1,path:3},C=t===Ap?"(?:storage.googleapis.com|storage.cloud.google.com)":t,E="([^?#]*)",I=new RegExp(`^https?://${C}/${n}/${E}`,"i"),S=[{regex:o,indices:l,postModify:s},{regex:p,indices:B,postModify:c},{regex:I,indices:{bucket:1,path:2},postModify:c}];for(let k=0;k<S.length;k++){const H=S[k],R=H.regex.exec(e);if(R){const _=R[H.indices.bucket];let m=R[H.indices.path];m||(m=""),r=new dt(_,m),H.postModify(r);break}}if(r==null)throw sI(e);return r}}class hI{constructor(e){this.promise_=Promise.reject(e)}getPromise(){return this.promise_}cancel(e=!1){}}/**
|
|
2745
2745
|
* @license
|
|
2746
2746
|
* Copyright 2017 Google LLC
|
|
2747
2747
|
*
|
|
@@ -2756,7 +2756,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2756
2756
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2757
2757
|
* See the License for the specific language governing permissions and
|
|
2758
2758
|
* limitations under the License.
|
|
2759
|
-
*/function
|
|
2759
|
+
*/function dI(A,e,t){let r=1,n=null,s=null,i=!1,o=0;function l(){return o===2}let c=!1;function u(...E){c||(c=!0,e.apply(null,E))}function d(E){n=setTimeout(()=>{n=null,A(p,l())},E)}function g(){s&&clearTimeout(s)}function p(E,...I){if(c){g();return}if(E){g(),u.call(null,E,...I);return}if(l()||i){g(),u.call(null,E,...I);return}r<64&&(r*=2);let S;o===1?(o=2,S=0):S=(r+Math.random())*1e3,d(S)}let B=!1;function C(E){B||(B=!0,g(),!c&&(n!==null?(E||(o=2),clearTimeout(n),d(0)):E||(o=1)))}return d(0),s=setTimeout(()=>{i=!0,C(!0)},t),C}function fI(A){A(!1)}/**
|
|
2760
2760
|
* @license
|
|
2761
2761
|
* Copyright 2017 Google LLC
|
|
2762
2762
|
*
|
|
@@ -2771,7 +2771,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2771
2771
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2772
2772
|
* See the License for the specific language governing permissions and
|
|
2773
2773
|
* limitations under the License.
|
|
2774
|
-
*/function
|
|
2774
|
+
*/function gI(A){return A!==void 0}function pI(A){return typeof A=="object"&&!Array.isArray(A)}function uc(A){return typeof A=="string"||A instanceof String}function sp(A){return hc()&&A instanceof Blob}function hc(){return typeof Blob<"u"}function ip(A,e,t,r){if(r<e)throw cc(`Invalid value for '${A}'. Expected ${e} or greater.`);if(r>t)throw cc(`Invalid value for '${A}'. Expected ${t} or less.`)}/**
|
|
2775
2775
|
* @license
|
|
2776
2776
|
* Copyright 2017 Google LLC
|
|
2777
2777
|
*
|
|
@@ -2801,7 +2801,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2801
2801
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2802
2802
|
* See the License for the specific language governing permissions and
|
|
2803
2803
|
* limitations under the License.
|
|
2804
|
-
*/function
|
|
2804
|
+
*/function wI(A,e){const t=A>=500&&A<600,n=[408,429].indexOf(A)!==-1,s=e.indexOf(A)!==-1;return t||n||s}/**
|
|
2805
2805
|
* @license
|
|
2806
2806
|
* Copyright 2017 Google LLC
|
|
2807
2807
|
*
|
|
@@ -2816,7 +2816,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2816
2816
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2817
2817
|
* See the License for the specific language governing permissions and
|
|
2818
2818
|
* limitations under the License.
|
|
2819
|
-
*/class
|
|
2819
|
+
*/class BI{constructor(e,t,r,n,s,i,o,l,c,u,d,g=!0){this.url_=e,this.method_=t,this.headers_=r,this.body_=n,this.successCodes_=s,this.additionalRetryCodes_=i,this.callback_=o,this.errorCallback_=l,this.timeout_=c,this.progressCallback_=u,this.connectionFactory_=d,this.retry=g,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((p,B)=>{this.resolve_=p,this.reject_=B,this.start_()})}start_(){const e=(r,n)=>{if(n){r(!1,new Ao(!1,null,!0));return}const s=this.connectionFactory_();this.pendingConnection_=s;const i=o=>{const l=o.loaded,c=o.lengthComputable?o.total:-1;this.progressCallback_!==null&&this.progressCallback_(l,c)};this.progressCallback_!==null&&s.addUploadProgressListener(i),s.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{this.progressCallback_!==null&&s.removeUploadProgressListener(i),this.pendingConnection_=null;const o=s.getErrorCode()===er.NO_ERROR,l=s.getStatus();if(!o||wI(l,this.additionalRetryCodes_)&&this.retry){const u=s.getErrorCode()===er.ABORT;r(!1,new Ao(!1,null,u));return}const c=this.successCodes_.indexOf(l)!==-1;r(!0,new Ao(c,s))})},t=(r,n)=>{const s=this.resolve_,i=this.reject_,o=n.connection;if(n.wasSuccessCode)try{const l=this.callback_(o,o.getResponse());gI(l)?s(l):s()}catch(l){i(l)}else if(o!==null){const l=lc();l.serverResponse=o.getErrorText(),this.errorCallback_?i(this.errorCallback_(o,l)):i(l)}else if(n.canceled){const l=this.appDelete_?np():nI();i(l)}else{const l=rI();i(l)}};this.canceled_?t(!1,new Ao(!1,null,!0)):this.backoffId_=dI(e,t,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&fI(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()}}class Ao{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}function mI(A,e){e!==null&&e.length>0&&(A.Authorization="Firebase "+e)}function yI(A,e){A["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function vI(A,e){e&&(A["X-Firebase-GMPID"]=e)}function _I(A,e){e!==null&&(A["X-Firebase-AppCheck"]=e)}function CI(A,e,t,r,n,s,i=!0){const o=op(A.urlParams),l=A.url+o,c=Object.assign({},A.headers);return vI(c,e),mI(c,t),yI(c,s),_I(c,r),new BI(l,A.method,c,A.body,A.successCodes,A.additionalRetryCodes,A.handler,A.errorHandler,A.timeout,A.progressCallback,n,i)}/**
|
|
2820
2820
|
* @license
|
|
2821
2821
|
* Copyright 2017 Google LLC
|
|
2822
2822
|
*
|
|
@@ -2831,7 +2831,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2831
2831
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2832
2832
|
* See the License for the specific language governing permissions and
|
|
2833
2833
|
* limitations under the License.
|
|
2834
|
-
*/function
|
|
2834
|
+
*/function EI(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function bI(...A){const e=EI();if(e!==void 0){const t=new e;for(let r=0;r<A.length;r++)t.append(A[r]);return t.getBlob()}else{if(hc())return new Blob(A);throw new be(fe.UNSUPPORTED_ENVIRONMENT,"This browser doesn't seem to support creating Blobs")}}function UI(A,e,t){return A.webkitSlice?A.webkitSlice(e,t):A.mozSlice?A.mozSlice(e,t):A.slice?A.slice(e,t):null}/**
|
|
2835
2835
|
* @license
|
|
2836
2836
|
* Copyright 2021 Google LLC
|
|
2837
2837
|
*
|
|
@@ -2846,7 +2846,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2846
2846
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2847
2847
|
* See the License for the specific language governing permissions and
|
|
2848
2848
|
* limitations under the License.
|
|
2849
|
-
*/function
|
|
2849
|
+
*/function QI(A){if(typeof atob>"u")throw cI("base-64");return atob(A)}/**
|
|
2850
2850
|
* @license
|
|
2851
2851
|
* Copyright 2017 Google LLC
|
|
2852
2852
|
*
|
|
@@ -2861,7 +2861,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2861
2861
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2862
2862
|
* See the License for the specific language governing permissions and
|
|
2863
2863
|
* limitations under the License.
|
|
2864
|
-
*/const Ft={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"};class fc{constructor(e,t){this.data=e,this.contentType=t||null}}function ap(A,e){switch(A){case Ft.RAW:return new fc(lp(e));case Ft.BASE64:case Ft.BASE64URL:return new fc(cp(A,e));case Ft.DATA_URL:return new fc(
|
|
2864
|
+
*/const Ft={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"};class fc{constructor(e,t){this.data=e,this.contentType=t||null}}function ap(A,e){switch(A){case Ft.RAW:return new fc(lp(e));case Ft.BASE64:case Ft.BASE64URL:return new fc(cp(A,e));case Ft.DATA_URL:return new fc(FI(e),TI(e))}throw lc()}function lp(A){const e=[];for(let t=0;t<A.length;t++){let r=A.charCodeAt(t);if(r<=127)e.push(r);else if(r<=2047)e.push(192|r>>6,128|r&63);else if((r&64512)===55296)if(!(t<A.length-1&&(A.charCodeAt(t+1)&64512)===56320))e.push(239,191,189);else{const s=r,i=A.charCodeAt(++t);r=65536|(s&1023)<<10|i&1023,e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}else(r&64512)===56320?e.push(239,191,189):e.push(224|r>>12,128|r>>6&63,128|r&63)}return new Uint8Array(e)}function II(A){let e;try{e=decodeURIComponent(A)}catch{throw zn(Ft.DATA_URL,"Malformed data URL.")}return lp(e)}function cp(A,e){switch(A){case Ft.BASE64:{const n=e.indexOf("-")!==-1,s=e.indexOf("_")!==-1;if(n||s)throw zn(A,"Invalid character '"+(n?"-":"_")+"' found: is it base64url encoded?");break}case Ft.BASE64URL:{const n=e.indexOf("+")!==-1,s=e.indexOf("/")!==-1;if(n||s)throw zn(A,"Invalid character '"+(n?"+":"/")+"' found: is it base64 encoded?");e=e.replace(/-/g,"+").replace(/_/g,"/");break}}let t;try{t=QI(e)}catch(n){throw n.message.includes("polyfill")?n:zn(A,"Invalid character found")}const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}class up{constructor(e){this.base64=!1,this.contentType=null;const t=e.match(/^data:([^,]+)?,/);if(t===null)throw zn(Ft.DATA_URL,"Must be formatted 'data:[<mediatype>][;base64],<data>");const r=t[1]||null;r!=null&&(this.base64=SI(r,";base64"),this.contentType=this.base64?r.substring(0,r.length-7):r),this.rest=e.substring(e.indexOf(",")+1)}}function FI(A){const e=new up(A);return e.base64?cp(Ft.BASE64,e.rest):II(e.rest)}function TI(A){return new up(A).contentType}function SI(A,e){return A.length>=e.length?A.substring(A.length-e.length)===e:!1}/**
|
|
2865
2865
|
* @license
|
|
2866
2866
|
* Copyright 2017 Google LLC
|
|
2867
2867
|
*
|
|
@@ -2876,7 +2876,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2876
2876
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2877
2877
|
* See the License for the specific language governing permissions and
|
|
2878
2878
|
* limitations under the License.
|
|
2879
|
-
*/class SA{constructor(e,t){let r=0,n="";sp(e)?(this.data_=e,r=e.size,n=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=n}size(){return this.size_}type(){return this.type_}slice(e,t){if(sp(this.data_)){const r=this.data_,n=
|
|
2879
|
+
*/class SA{constructor(e,t){let r=0,n="";sp(e)?(this.data_=e,r=e.size,n=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=n}size(){return this.size_}type(){return this.type_}slice(e,t){if(sp(this.data_)){const r=this.data_,n=UI(r,e,t);return n===null?null:new SA(n)}else{const r=new Uint8Array(this.data_.buffer,e,t-e);return new SA(r,!0)}}static getBlob(...e){if(hc()){const t=e.map(r=>r instanceof SA?r.data_:r);return new SA(bI.apply(null,t))}else{const t=e.map(i=>uc(i)?ap(Ft.RAW,i).data:i.data_);let r=0;t.forEach(i=>{r+=i.byteLength});const n=new Uint8Array(r);let s=0;return t.forEach(i=>{for(let o=0;o<i.length;o++)n[s++]=i[o]}),new SA(n,!0)}}uploadData(){return this.data_}}/**
|
|
2880
2880
|
* @license
|
|
2881
2881
|
* Copyright 2017 Google LLC
|
|
2882
2882
|
*
|
|
@@ -2891,7 +2891,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2891
2891
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2892
2892
|
* See the License for the specific language governing permissions and
|
|
2893
2893
|
* limitations under the License.
|
|
2894
|
-
*/function hp(A){let e;try{e=JSON.parse(A)}catch{return null}return
|
|
2894
|
+
*/function hp(A){let e;try{e=JSON.parse(A)}catch{return null}return pI(e)?e:null}/**
|
|
2895
2895
|
* @license
|
|
2896
2896
|
* Copyright 2017 Google LLC
|
|
2897
2897
|
*
|
|
@@ -2906,7 +2906,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2906
2906
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2907
2907
|
* See the License for the specific language governing permissions and
|
|
2908
2908
|
* limitations under the License.
|
|
2909
|
-
*/function
|
|
2909
|
+
*/function RI(A){if(A.length===0)return null;const e=A.lastIndexOf("/");return e===-1?"":A.slice(0,e)}function xI(A,e){const t=e.split("/").filter(r=>r.length>0).join("/");return A.length===0?t:A+"/"+t}function dp(A){const e=A.lastIndexOf("/",A.length-2);return e===-1?A:A.slice(e+1)}/**
|
|
2910
2910
|
* @license
|
|
2911
2911
|
* Copyright 2017 Google LLC
|
|
2912
2912
|
*
|
|
@@ -2921,7 +2921,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2921
2921
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2922
2922
|
* See the License for the specific language governing permissions and
|
|
2923
2923
|
* limitations under the License.
|
|
2924
|
-
*/function
|
|
2924
|
+
*/function kI(A,e){return e}class Ze{constructor(e,t,r,n){this.server=e,this.local=t||e,this.writable=!!r,this.xform=n||kI}}let ro=null;function HI(A){return!uc(A)||A.length<2?A:dp(A)}function fp(){if(ro)return ro;const A=[];A.push(new Ze("bucket")),A.push(new Ze("generation")),A.push(new Ze("metageneration")),A.push(new Ze("name","fullPath",!0));function e(s,i){return HI(i)}const t=new Ze("name");t.xform=e,A.push(t);function r(s,i){return i!==void 0?Number(i):i}const n=new Ze("size");return n.xform=r,A.push(n),A.push(new Ze("timeCreated")),A.push(new Ze("updated")),A.push(new Ze("md5Hash",null,!0)),A.push(new Ze("cacheControl",null,!0)),A.push(new Ze("contentDisposition",null,!0)),A.push(new Ze("contentEncoding",null,!0)),A.push(new Ze("contentLanguage",null,!0)),A.push(new Ze("contentType",null,!0)),A.push(new Ze("metadata","customMetadata",!0)),ro=A,ro}function LI(A,e){function t(){const r=A.bucket,n=A.fullPath,s=new dt(r,n);return e._makeStorageReference(s)}Object.defineProperty(A,"ref",{get:t})}function DI(A,e,t){const r={};r.type="file";const n=t.length;for(let s=0;s<n;s++){const i=t[s];r[i.local]=i.xform(r,e[i.server])}return LI(r,A),r}function gp(A,e,t){const r=hp(e);return r===null?null:DI(A,r,t)}function OI(A,e,t,r){const n=hp(e);if(n===null||!uc(n.downloadTokens))return null;const s=n.downloadTokens;if(s.length===0)return null;const i=encodeURIComponent;return s.split(",").map(c=>{const u=A.bucket,d=A.fullPath,g="/b/"+i(u)+"/o/"+i(d),p=dc(g,t,r),B=op({alt:"media",token:c});return p+B})[0]}function PI(A,e){const t={},r=e.length;for(let n=0;n<r;n++){const s=e[n];s.writable&&(t[s.server]=A[s.local])}return JSON.stringify(t)}class pp{constructor(e,t,r,n){this.url=e,this.method=t,this.handler=r,this.timeout=n,this.urlParams={},this.headers={},this.body=null,this.errorHandler=null,this.progressCallback=null,this.successCodes=[200],this.additionalRetryCodes=[]}}/**
|
|
2925
2925
|
* @license
|
|
2926
2926
|
* Copyright 2017 Google LLC
|
|
2927
2927
|
*
|
|
@@ -2936,7 +2936,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};var fe;(func
|
|
|
2936
2936
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2937
2937
|
* See the License for the specific language governing permissions and
|
|
2938
2938
|
* limitations under the License.
|
|
2939
|
-
*/function wp(A){if(!A)throw lc()}function
|
|
2939
|
+
*/function wp(A){if(!A)throw lc()}function NI(A,e){function t(r,n){const s=gp(A,n,e);return wp(s!==null),s}return t}function VI(A,e){function t(r,n){const s=gp(A,n,e);return wp(s!==null),OI(s,n,A.host,A._protocol)}return t}function Bp(A){function e(t,r){let n;return t.getStatus()===401?t.getErrorText().includes("Firebase App Check token is invalid")?n=tI():n=eI():t.getStatus()===402?n=ZQ(A.bucket):t.getStatus()===403?n=AI(A.path):n=r,n.status=t.getStatus(),n.serverResponse=r.serverResponse,n}return e}function MI(A){const e=Bp(A);function t(r,n){let s=e(r,n);return r.getStatus()===404&&(s=YQ(A.path)),s.serverResponse=n.serverResponse,s}return t}function KI(A,e,t){const r=e.fullServerUrl(),n=dc(r,A.host,A._protocol),s="GET",i=A.maxOperationRetryTime,o=new pp(n,s,VI(A,t),i);return o.errorHandler=MI(e),o}function GI(A,e){return A&&A.contentType||e&&e.type()||"application/octet-stream"}function jI(A,e,t){const r=Object.assign({},t);return r.fullPath=A.path,r.size=e.size(),r.contentType||(r.contentType=GI(null,e)),r}function $I(A,e,t,r,n){const s=e.bucketOnlyServerUrl(),i={"X-Goog-Upload-Protocol":"multipart"};function o(){let S="";for(let k=0;k<2;k++)S=S+Math.random().toString().slice(2);return S}const l=o();i["Content-Type"]="multipart/related; boundary="+l;const c=jI(e,r,n),u=PI(c,t),d="--"+l+`\r
|
|
2940
2940
|
Content-Type: application/json; charset=utf-8\r
|
|
2941
2941
|
\r
|
|
2942
2942
|
`+u+`\r
|
|
@@ -2944,7 +2944,7 @@ Content-Type: application/json; charset=utf-8\r
|
|
|
2944
2944
|
Content-Type: `+c.contentType+`\r
|
|
2945
2945
|
\r
|
|
2946
2946
|
`,g=`\r
|
|
2947
|
-
--`+l+"--",p=SA.getBlob(d,r,g);if(p===null)throw
|
|
2947
|
+
--`+l+"--",p=SA.getBlob(d,r,g);if(p===null)throw aI();const B={name:c.fullPath},C=dc(s,A.host,A._protocol),E="POST",I=A.maxUploadRetryTime,Q=new pp(C,E,NI(A,t),I);return Q.urlParams=B,Q.headers=i,Q.body=p.uploadData(),Q.errorHandler=Bp(e),Q}class WI{constructor(){this.sent_=!1,this.xhr_=new XMLHttpRequest,this.initXhr(),this.errorCode_=er.NO_ERROR,this.sendPromise_=new Promise(e=>{this.xhr_.addEventListener("abort",()=>{this.errorCode_=er.ABORT,e()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=er.NETWORK_ERROR,e()}),this.xhr_.addEventListener("load",()=>{e()})})}send(e,t,r,n){if(this.sent_)throw Yn("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(t,e,!0),n!==void 0)for(const s in n)n.hasOwnProperty(s)&&this.xhr_.setRequestHeader(s,n[s].toString());return r!==void 0?this.xhr_.send(r):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw Yn("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw Yn("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw Yn("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw Yn("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(e){return this.xhr_.getResponseHeader(e)}addUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)}removeUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)}}class qI extends WI{initXhr(){this.xhr_.responseType="text"}}function mp(){return new qI}/**
|
|
2948
2948
|
* @license
|
|
2949
2949
|
* Copyright 2019 Google LLC
|
|
2950
2950
|
*
|
|
@@ -2959,7 +2959,7 @@ Content-Type: `+c.contentType+`\r
|
|
|
2959
2959
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2960
2960
|
* See the License for the specific language governing permissions and
|
|
2961
2961
|
* limitations under the License.
|
|
2962
|
-
*/class tr{constructor(e,t){this._service=e,t instanceof
|
|
2962
|
+
*/class tr{constructor(e,t){this._service=e,t instanceof dt?this._location=t:this._location=dt.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new tr(e,t)}get root(){const e=new dt(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return dp(this._location.path)}get storage(){return this._service}get parent(){const e=RI(this._location.path);if(e===null)return null;const t=new dt(this._location.bucket,e);return new tr(this._service,t)}_throwIfRoot(e){if(this._location.path==="")throw uI(e)}}function JI(A,e,t){A._throwIfRoot("uploadBytes");const r=$I(A.storage,A._location,fp(),new SA(e,!0),t);return A.storage.makeRequestWithTokens(r,mp).then(n=>({metadata:n,ref:A}))}function XI(A,e,t=Ft.RAW,r){A._throwIfRoot("uploadString");const n=ap(t,e),s=Object.assign({},r);return s.contentType==null&&n.contentType!=null&&(s.contentType=n.contentType),JI(A,n.data,s)}function zI(A){A._throwIfRoot("getDownloadURL");const e=KI(A.storage,A._location,fp());return A.storage.makeRequestWithTokens(e,mp).then(t=>{if(t===null)throw lI();return t})}function YI(A,e){const t=xI(A._location.path,e),r=new dt(A._location.bucket,t);return new tr(A.storage,r)}/**
|
|
2963
2963
|
* @license
|
|
2964
2964
|
* Copyright 2017 Google LLC
|
|
2965
2965
|
*
|
|
@@ -2974,7 +2974,7 @@ Content-Type: `+c.contentType+`\r
|
|
|
2974
2974
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2975
2975
|
* See the License for the specific language governing permissions and
|
|
2976
2976
|
* limitations under the License.
|
|
2977
|
-
*/function
|
|
2977
|
+
*/function ZI(A){return/^[A-Za-z]+:\/\//.test(A)}function eF(A,e){return new tr(A,e)}function yp(A,e){if(A instanceof gc){const t=A;if(t._bucket==null)throw oI();const r=new tr(t,t._bucket);return e!=null?yp(r,e):r}else return e!==void 0?YI(A,e):A}function tF(A,e){if(e&&ZI(e)){if(A instanceof gc)return eF(A,e);throw cc("To use ref(service, url), the first argument must be a Storage instance.")}else return yp(A,e)}function vp(A,e){const t=e==null?void 0:e[rp];return t==null?null:dt.makeFromBucketSpec(t,A)}function AF(A,e,t,r={}){A.host=`${e}:${t}`,A._protocol="http";const{mockUserToken:n}=r;n&&(A._overrideAuthToken=typeof n=="string"?n:Ed(n,A.app.options.projectId))}class gc{constructor(e,t,r,n,s){this.app=e,this._authProvider=t,this._appCheckProvider=r,this._url=n,this._firebaseVersion=s,this._bucket=null,this._host=Ap,this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=XQ,this._maxUploadRetryTime=zQ,this._requests=new Set,n!=null?this._bucket=dt.makeFromBucketSpec(n,this._host):this._bucket=vp(this._host,this.app.options)}get host(){return this._host}set host(e){this._host=e,this._url!=null?this._bucket=dt.makeFromBucketSpec(this._url,e):this._bucket=vp(e,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(e){ip("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(e){ip("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e}async _getAuthToken(){if(this._overrideAuthToken)return this._overrideAuthToken;const e=this._authProvider.getImmediate({optional:!0});if(e){const t=await e.getToken();if(t!==null)return t.accessToken}return null}async _getAppCheckToken(){const e=this._appCheckProvider.getImmediate({optional:!0});return e?(await e.getToken()).token:null}_delete(){return this._deleted||(this._deleted=!0,this._requests.forEach(e=>e.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(e){return new tr(this,e)}_makeRequest(e,t,r,n,s=!0){if(this._deleted)return new hI(np());{const i=CI(e,this._appId,r,n,t,this._firebaseVersion,s);return this._requests.add(i),i.getPromise().then(()=>this._requests.delete(i),()=>this._requests.delete(i)),i}}async makeRequestWithTokens(e,t){const[r,n]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r,n).getPromise()}}const _p="@firebase/storage",Cp="0.13.2";/**
|
|
2978
2978
|
* @license
|
|
2979
2979
|
* Copyright 2020 Google LLC
|
|
2980
2980
|
*
|
|
@@ -2989,20 +2989,20 @@ Content-Type: `+c.contentType+`\r
|
|
|
2989
2989
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2990
2990
|
* See the License for the specific language governing permissions and
|
|
2991
2991
|
* limitations under the License.
|
|
2992
|
-
*/const Ep="storage";function nF(A,e,t,r){return A=nt(A),zI(A,e,t,r)}function sF(A){return A=nt(A),YI(A)}function iF(A,e){return A=nt(A),AF(A,e)}function oF(A=Od(),e){A=nt(A);const r=Hd(A,Ep).getImmediate({identifier:e}),n=_d("storage");return n&&aF(r,...n),r}function aF(A,e,t,r={}){rF(A,e,t,r)}function lF(A,{instanceIdentifier:e}){const t=A.getProvider("app").getImmediate(),r=A.getProvider("auth-internal"),n=A.getProvider("app-check-internal");return new gc(t,r,n,e,Ld)}function cF(){bn(new br(Ep,lF,"PUBLIC").setMultipleInstances(!0)),CA(_p,Cp,""),CA(_p,Cp,"esm2017")}cF();class uF{constructor(e){pt(this,"db");pt(this,"storage");const{provider:t,...r}=e;let n;const s=DE().find(i=>i.name==="ui-feedback-plugin");s?n=s:n=Dd(r,"ui-feedback-plugin"),this.db=RQ(n),this.storage=oF(n)}async addComment(e){return(await tp(qn(this.db,"ufp_comments"),e)).id}async getComments(e,t){const r=qg(qn(this.db,"ufp_comments"),eo("pageUrl","==",e),eo("projectKey","==",t));return(await ep(r)).docs.map(i=>({id:i.id,...i.data()})).sort((i,o)=>o.createdAt-i.createdAt)}async updateComment(e,t){await WQ(Wl(this.db,"ufp_comments",e),t)}async deleteComment(e){await qQ(Wl(this.db,"ufp_comments",e))}async addReply(e){return(await tp(qn(this.db,"ufp_comments",e.commentId,"replies"),e)).id}async getReplies(e){return(await ep(qn(this.db,"ufp_comments",e,"replies"))).docs.map(n=>({id:n.id,...n.data()})).sort((n,s)=>n.createdAt-s.createdAt)}subscribeToComments(e,t,r){const n=qg(qn(this.db,"ufp_comments"),eo("pageUrl","==",e),eo("projectKey","==",t));return JQ(n,s=>{const i=s.docs.map(o=>({id:o.id,...o.data()})).sort((o,l)=>l.createdAt-o.createdAt);r(i)},s=>{console.error("[ui-feedback-plugin] Firestore listener error:",s)})}async uploadScreenshot(e,t){const r=iF(this.storage,`ufp_screenshots/${e}.png`);return await nF(r,t,"data_url"),sF(r)}}const hF=Object.freeze(Object.defineProperty({__proto__:null,FirebaseAdapter:uF},Symbol.toStringTag,{value:"Module"}));function dF(A){return{id:A.id,pageUrl:A.page_url,projectKey:A.project_key,authorName:A.author_name,text:A.text,screenshotUrl:A.screenshot_url??"",annotation:A.annotation,resolved:A.resolved,createdAt:A.created_at}}function fF(A){return{page_url:A.pageUrl,project_key:A.projectKey,author_name:A.authorName,text:A.text,screenshot_url:A.screenshotUrl,annotation:A.annotation,resolved:A.resolved,created_at:A.createdAt}}function gF(A){return{id:A.id,commentId:A.comment_id,authorName:A.author_name,text:A.text,createdAt:A.created_at}}function pF(A){return{comment_id:A.commentId,author_name:A.authorName,text:A.text,created_at:A.createdAt}}class wF{constructor(e,t){pt(this,"client");pt(this,"_url");pt(this,"_key");pt(this,"_client",null);this._url=e,this._key=t}async _getClient(){if(this._client)return this._client;try{const{createClient:e}=await Promise.resolve().then(()=>dR);return this._client=e(this._url,this._key),this._client}catch{throw new Error("[ui-feedback-plugin] @supabase/supabase-js is not installed. Run: npm install @supabase/supabase-js")}}async addComment(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_comments").insert(fF(e)).select("id").single();if(n)throw n;return r.id}async getComments(e,t){const r=await this._getClient(),{data:n,error:s}=await r.from("ufp_comments").select("*").eq("page_url",e).eq("project_key",t);if(s)throw s;return(n??[]).map(dF).sort((o,l)=>l.createdAt-o.createdAt)}async updateComment(e,t){const r=await this._getClient(),n={};t.resolved!==void 0&&(n.resolved=t.resolved),t.screenshotUrl!==void 0&&(n.screenshot_url=t.screenshotUrl),t.text!==void 0&&(n.text=t.text),t.annotation!==void 0&&(n.annotation=t.annotation);const{error:s}=await r.from("ufp_comments").update(n).eq("id",e);if(s)throw s}async deleteComment(e){const t=await this._getClient(),{error:r}=await t.from("ufp_comments").delete().eq("id",e);if(r)throw r}async addReply(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_replies").insert(pF(e)).select("id").single();if(n)throw n;return r.id}async getReplies(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_replies").select("*").eq("comment_id",e);if(n)throw n;return(r??[]).map(gF).sort((i,o)=>i.createdAt-o.createdAt)}subscribeToComments(e,t,r){let n=null,s=!0;const i=async()=>{if(s)try{const o=await this.getComments(e,t);s&&r(o)}catch(o){console.error("[ui-feedback-plugin] Supabase fetch error:",o)}};return i(),this._getClient().then(o=>{s&&(n=o.channel("ufp-comments").on("postgres_changes",{event:"*",schema:"public",table:"ufp_comments"},()=>{i()}).subscribe())}).catch(console.error),()=>{s=!1,n&&this._getClient().then(o=>o.removeChannel(n)).catch(()=>{})}}async uploadScreenshot(e,t){var p;const r=await this._getClient(),[n,s]=t.split(","),i=((p=n.match(/:(.*?);/))==null?void 0:p[1])??"image/png",o=atob(s),l=new Uint8Array(o.length);for(let B=0;B<o.length;B++)l[B]=o.charCodeAt(B);const c=new Blob([l],{type:i}),u=`${e}.png`,{error:d}=await r.storage.from("ufp-screenshots").upload(u,c,{contentType:"image/png",upsert:!0});if(d)throw d;const{data:g}=r.storage.from("ufp-screenshots").getPublicUrl(u);return g.publicUrl}}const BF=Object.freeze(Object.defineProperty({__proto__:null,SupabaseAdapter:wF},Symbol.toStringTag,{value:"Module"}));class mF{constructor(e,t={}){pt(this,"endpoint");pt(this,"headers");this.endpoint=e,this.headers=t}async uploadScreenshot(e,t){const r=t.includes(",")?t.split(",")[1]:t,n=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify({commentId:e,imageData:r})});if(!n.ok)throw new Error(`[ui-feedback-plugin] Screenshot upload failed: ${n.status} ${n.statusText}`);const s=await n.json();if(!(s!=null&&s.url))throw new Error("[ui-feedback-plugin] Upload endpoint did not return { url }");return s.url}}const yF=Object.freeze(Object.defineProperty({__proto__:null,S3ScreenshotAdapter:mF},Symbol.toStringTag,{value:"Module"}));function no(A,e){var t={};for(var r in A)Object.prototype.hasOwnProperty.call(A,r)&&e.indexOf(r)<0&&(t[r]=A[r]);if(A!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(A);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(A,r[n])&&(t[r[n]]=A[r[n]]);return t}function vF(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,e||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;const _F=A=>A?(...e)=>A(...e):(...e)=>fetch(...e);class so extends Error{constructor(e,t="FunctionsError",r){super(e),this.name=t,this.context=r}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class bp extends so{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class pc extends so{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class wc extends so{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var io;(function(A){A.Any="any",A.ApNortheast1="ap-northeast-1",A.ApNortheast2="ap-northeast-2",A.ApSouth1="ap-south-1",A.ApSoutheast1="ap-southeast-1",A.ApSoutheast2="ap-southeast-2",A.CaCentral1="ca-central-1",A.EuCentral1="eu-central-1",A.EuWest1="eu-west-1",A.EuWest2="eu-west-2",A.EuWest3="eu-west-3",A.SaEast1="sa-east-1",A.UsEast1="us-east-1",A.UsWest1="us-west-1",A.UsWest2="us-west-2"})(io||(io={}));class CF{constructor(e,{headers:t={},customFetch:r,region:n=io.Any}={}){this.url=e,this.headers=t,this.region=n,this.fetch=_F(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return vF(this,arguments,void 0,function*(t,r={}){var n;let s,i;try{const{headers:o,method:l,body:c,signal:u,timeout:d}=r;let g={},{region:p}=r;p||(p=this.region);const B=new URL(`${this.url}/${t}`);p&&p!=="any"&&(g["x-region"]=p,B.searchParams.set("forceFunctionRegion",p));let C;c&&(o&&!Object.prototype.hasOwnProperty.call(o,"Content-Type")||!o)?typeof Blob<"u"&&c instanceof Blob||c instanceof ArrayBuffer?(g["Content-Type"]="application/octet-stream",C=c):typeof c=="string"?(g["Content-Type"]="text/plain",C=c):typeof FormData<"u"&&c instanceof FormData?C=c:(g["Content-Type"]="application/json",C=JSON.stringify(c)):c&&typeof c!="string"&&!(typeof Blob<"u"&&c instanceof Blob)&&!(c instanceof ArrayBuffer)&&!(typeof FormData<"u"&&c instanceof FormData)?C=JSON.stringify(c):C=c;let E=u;d&&(i=new AbortController,s=setTimeout(()=>i.abort(),d),u?(E=i.signal,u.addEventListener("abort",()=>i.abort())):E=i.signal);const I=yield this.fetch(B.toString(),{method:l||"POST",headers:Object.assign(Object.assign(Object.assign({},g),this.headers),o),body:C,signal:E}).catch(H=>{throw new bp(H)}),Q=I.headers.get("x-relay-error");if(Q&&Q==="true")throw new pc(I);if(!I.ok)throw new wc(I);let S=((n=I.headers.get("Content-Type"))!==null&&n!==void 0?n:"text/plain").split(";")[0].trim(),k;return S==="application/json"?k=yield I.json():S==="application/octet-stream"||S==="application/pdf"?k=yield I.blob():S==="text/event-stream"?k=I:S==="multipart/form-data"?k=yield I.formData():k=yield I.text(),{data:k,error:null,response:I}}catch(o){return{data:null,error:o,response:o instanceof wc||o instanceof pc?o.context:void 0}}finally{s&&clearTimeout(s)}})}}const Up=3,Qp=A=>Math.min(1e3*2**A,3e4),EF=[520,503],Ip=["GET","HEAD","OPTIONS"];var Bc=class extends Error{constructor(A){super(A.message),this.name="PostgrestError",this.details=A.details,this.hint=A.hint,this.code=A.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Fp(A,e){return new Promise(t=>{if(e!=null&&e.aborted){t();return}const r=setTimeout(()=>{e==null||e.removeEventListener("abort",n),t()},A);function n(){clearTimeout(r),t()}e==null||e.addEventListener("abort",n)})}function bF(A,e,t,r){return!(!r||t>=Up||!Ip.includes(A)||!EF.includes(e))}var UF=class{constructor(A){var e,t,r,n,s;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=A.method,this.url=A.url,this.headers=new Headers(A.headers),this.schema=A.schema,this.body=A.body,this.shouldThrowOnError=(e=A.shouldThrowOnError)!==null&&e!==void 0?e:!1,this.signal=A.signal,this.isMaybeSingle=(t=A.isMaybeSingle)!==null&&t!==void 0?t:!1,this.shouldStripNulls=(r=A.shouldStripNulls)!==null&&r!==void 0?r:!1,this.urlLengthLimit=(n=A.urlLengthLimit)!==null&&n!==void 0?n:8e3,this.retryEnabled=(s=A.retry)!==null&&s!==void 0?s:!0,A.fetch?this.fetch=A.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(A,e){return this.headers=new Headers(this.headers),this.headers.set(A,e),this}retry(A){return this.retryEnabled=A,this}then(A,e){var t=this;if(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"),this.shouldStripNulls){const i=this.headers.get("Accept");i==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!i||i==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const r=this.fetch;let s=(async()=>{let i=0;for(;;){const c={};t.headers.forEach((d,g)=>{c[g]=d}),i>0&&(c["X-Retry-Count"]=String(i));let u;try{u=await r(t.url.toString(),{method:t.method,headers:c,body:JSON.stringify(t.body,(d,g)=>typeof g=="bigint"?g.toString():g),signal:t.signal})}catch(d){if((d==null?void 0:d.name)==="AbortError"||(d==null?void 0:d.code)==="ABORT_ERR"||!Ip.includes(t.method))throw d;if(t.retryEnabled&&i<Up){const g=Qp(i);i++,await Fp(g,t.signal);continue}throw d}if(bF(t.method,u.status,i,t.retryEnabled)){var o,l;const d=(o=(l=u.headers)===null||l===void 0?void 0:l.get("Retry-After"))!==null&&o!==void 0?o:null,g=d!==null?Math.max(0,parseInt(d,10)||0)*1e3:Qp(i);await u.text(),i++,await Fp(g,t.signal);continue}return await t.processResponse(u)}})();return this.shouldThrowOnError||(s=s.catch(i=>{var o;let l="",c="",u="";const d=i==null?void 0:i.cause;if(d){var g,p,B,C;const Q=(g=d==null?void 0:d.message)!==null&&g!==void 0?g:"",S=(p=d==null?void 0:d.code)!==null&&p!==void 0?p:"";l=`${(B=i==null?void 0:i.name)!==null&&B!==void 0?B:"FetchError"}: ${i==null?void 0:i.message}`,l+=`
|
|
2992
|
+
*/const Ep="storage";function rF(A,e,t,r){return A=nt(A),XI(A,e,t,r)}function nF(A){return A=nt(A),zI(A)}function sF(A,e){return A=nt(A),tF(A,e)}function iF(A=Od(),e){A=nt(A);const r=Hd(A,Ep).getImmediate({identifier:e}),n=_d("storage");return n&&oF(r,...n),r}function oF(A,e,t,r={}){AF(A,e,t,r)}function aF(A,{instanceIdentifier:e}){const t=A.getProvider("app").getImmediate(),r=A.getProvider("auth-internal"),n=A.getProvider("app-check-internal");return new gc(t,r,n,e,Ld)}function lF(){bn(new br(Ep,aF,"PUBLIC").setMultipleInstances(!0)),CA(_p,Cp,""),CA(_p,Cp,"esm2017")}lF();class cF{constructor(e){ct(this,"db");ct(this,"storage");const{provider:t,...r}=e;let n;const s=LE().find(i=>i.name==="ui-feedback-plugin");s?n=s:n=Dd(r,"ui-feedback-plugin"),this.db=SQ(n),this.storage=iF(n)}async addComment(e){return(await tp(qn(this.db,"ufp_comments"),e)).id}async getComments(e,t){const r=qg(qn(this.db,"ufp_comments"),eo("pageUrl","==",e),eo("projectKey","==",t));return(await ep(r)).docs.map(i=>({id:i.id,...i.data()})).sort((i,o)=>o.createdAt-i.createdAt)}async updateComment(e,t){await $Q(Wl(this.db,"ufp_comments",e),t)}async deleteComment(e){await WQ(Wl(this.db,"ufp_comments",e))}async addReply(e){return(await tp(qn(this.db,"ufp_comments",e.commentId,"replies"),e)).id}async getReplies(e){return(await ep(qn(this.db,"ufp_comments",e,"replies"))).docs.map(n=>({id:n.id,...n.data()})).sort((n,s)=>n.createdAt-s.createdAt)}subscribeToComments(e,t,r){const n=qg(qn(this.db,"ufp_comments"),eo("pageUrl","==",e),eo("projectKey","==",t));return qQ(n,s=>{const i=s.docs.map(o=>({id:o.id,...o.data()})).sort((o,l)=>l.createdAt-o.createdAt);r(i)},s=>{console.error("[ui-feedback-plugin] Firestore listener error:",s)})}async uploadScreenshot(e,t){const r=sF(this.storage,`ufp_screenshots/${e}.png`);return await rF(r,t,"data_url"),nF(r)}}const uF=Object.freeze(Object.defineProperty({__proto__:null,FirebaseAdapter:cF},Symbol.toStringTag,{value:"Module"}));function hF(A){return{id:A.id,pageUrl:A.page_url,projectKey:A.project_key,authorName:A.author_name,text:A.text,screenshotUrl:A.screenshot_url??"",annotation:A.annotation,resolved:A.resolved,createdAt:A.created_at}}function dF(A){return{page_url:A.pageUrl,project_key:A.projectKey,author_name:A.authorName,text:A.text,screenshot_url:A.screenshotUrl,annotation:A.annotation,resolved:A.resolved,created_at:A.createdAt}}function fF(A){return{id:A.id,commentId:A.comment_id,authorName:A.author_name,text:A.text,createdAt:A.created_at}}function gF(A){return{comment_id:A.commentId,author_name:A.authorName,text:A.text,created_at:A.createdAt}}class pF{constructor(e,t){ct(this,"client");ct(this,"_url");ct(this,"_key");ct(this,"_client",null);this._url=e,this._key=t}async _getClient(){if(this._client)return this._client;try{const{createClient:e}=await Promise.resolve().then(()=>hR);return this._client=e(this._url,this._key),this._client}catch{throw new Error("[ui-feedback-plugin] @supabase/supabase-js is not installed. Run: npm install @supabase/supabase-js")}}async addComment(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_comments").insert(dF(e)).select("id").single();if(n)throw n;return r.id}async getComments(e,t){const r=await this._getClient(),{data:n,error:s}=await r.from("ufp_comments").select("*").eq("page_url",e).eq("project_key",t);if(s)throw s;return(n??[]).map(hF).sort((o,l)=>l.createdAt-o.createdAt)}async updateComment(e,t){const r=await this._getClient(),n={};t.resolved!==void 0&&(n.resolved=t.resolved),t.screenshotUrl!==void 0&&(n.screenshot_url=t.screenshotUrl),t.text!==void 0&&(n.text=t.text),t.annotation!==void 0&&(n.annotation=t.annotation);const{error:s}=await r.from("ufp_comments").update(n).eq("id",e);if(s)throw s}async deleteComment(e){const t=await this._getClient(),{error:r}=await t.from("ufp_comments").delete().eq("id",e);if(r)throw r}async addReply(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_replies").insert(gF(e)).select("id").single();if(n)throw n;return r.id}async getReplies(e){const t=await this._getClient(),{data:r,error:n}=await t.from("ufp_replies").select("*").eq("comment_id",e);if(n)throw n;return(r??[]).map(fF).sort((i,o)=>i.createdAt-o.createdAt)}subscribeToComments(e,t,r){let n=null,s=!0;const i=async()=>{if(s)try{const o=await this.getComments(e,t);s&&r(o)}catch(o){console.error("[ui-feedback-plugin] Supabase fetch error:",o)}};return i(),this._getClient().then(o=>{s&&(n=o.channel("ufp-comments").on("postgres_changes",{event:"*",schema:"public",table:"ufp_comments"},()=>{i()}).subscribe())}).catch(console.error),()=>{s=!1,n&&this._getClient().then(o=>o.removeChannel(n)).catch(()=>{})}}async uploadScreenshot(e,t){var p;const r=await this._getClient(),[n,s]=t.split(","),i=((p=n.match(/:(.*?);/))==null?void 0:p[1])??"image/png",o=atob(s),l=new Uint8Array(o.length);for(let B=0;B<o.length;B++)l[B]=o.charCodeAt(B);const c=new Blob([l],{type:i}),u=`${e}.png`,{error:d}=await r.storage.from("ufp-screenshots").upload(u,c,{contentType:"image/png",upsert:!0});if(d)throw d;const{data:g}=r.storage.from("ufp-screenshots").getPublicUrl(u);return g.publicUrl}}const wF=Object.freeze(Object.defineProperty({__proto__:null,SupabaseAdapter:pF},Symbol.toStringTag,{value:"Module"}));class BF{constructor(e,t={},r=5e3){ct(this,"base");ct(this,"headers");ct(this,"pollInterval");this.base=e.replace(/\/$/,""),this.headers=t,this.pollInterval=r}async req(e,t,r){const n=await fetch(`${this.base}${t}`,{method:e,headers:{"Content-Type":"application/json",...this.headers},body:r!==void 0?JSON.stringify(r):void 0});if(!n.ok)throw new Error(`[ui-feedback-plugin] S3 API ${e} ${t} → ${n.status} ${n.statusText}`);if(e!=="DELETE")return n.json()}async addComment(e){return(await this.req("POST","/comments",e)).id}async getComments(e,t){const r=new URLSearchParams({pageUrl:e,projectKey:t});return this.req("GET",`/comments?${r}`)}async updateComment(e,t){await this.req("PUT",`/comments/${e}`,t)}async deleteComment(e){await this.req("DELETE",`/comments/${e}`)}async addReply(e){return(await this.req("POST","/replies",e)).id}async getReplies(e){return this.req("GET",`/replies?commentId=${encodeURIComponent(e)}`)}subscribeToComments(e,t,r){let n=!0;const s=async()=>{if(n){try{const i=await this.getComments(e,t);n&&r(i)}catch(i){console.error("[ui-feedback-plugin] S3 poll error:",i)}n&&setTimeout(s,this.pollInterval)}};return s(),()=>{n=!1}}async uploadScreenshot(e,t){const r=t.includes(",")?t.split(",")[1]:t;return(await this.req("POST","/screenshots",{commentId:e,imageData:r})).url}}const mF=Object.freeze(Object.defineProperty({__proto__:null,S3Adapter:BF},Symbol.toStringTag,{value:"Module"}));function no(A,e){var t={};for(var r in A)Object.prototype.hasOwnProperty.call(A,r)&&e.indexOf(r)<0&&(t[r]=A[r]);if(A!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(A);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(A,r[n])&&(t[r[n]]=A[r[n]]);return t}function yF(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,e||[])).next())})}typeof SuppressedError=="function"&&SuppressedError;const vF=A=>A?(...e)=>A(...e):(...e)=>fetch(...e);class so extends Error{constructor(e,t="FunctionsError",r){super(e),this.name=t,this.context=r}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class bp extends so{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class pc extends so{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class wc extends so{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var io;(function(A){A.Any="any",A.ApNortheast1="ap-northeast-1",A.ApNortheast2="ap-northeast-2",A.ApSouth1="ap-south-1",A.ApSoutheast1="ap-southeast-1",A.ApSoutheast2="ap-southeast-2",A.CaCentral1="ca-central-1",A.EuCentral1="eu-central-1",A.EuWest1="eu-west-1",A.EuWest2="eu-west-2",A.EuWest3="eu-west-3",A.SaEast1="sa-east-1",A.UsEast1="us-east-1",A.UsWest1="us-west-1",A.UsWest2="us-west-2"})(io||(io={}));class _F{constructor(e,{headers:t={},customFetch:r,region:n=io.Any}={}){this.url=e,this.headers=t,this.region=n,this.fetch=vF(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return yF(this,arguments,void 0,function*(t,r={}){var n;let s,i;try{const{headers:o,method:l,body:c,signal:u,timeout:d}=r;let g={},{region:p}=r;p||(p=this.region);const B=new URL(`${this.url}/${t}`);p&&p!=="any"&&(g["x-region"]=p,B.searchParams.set("forceFunctionRegion",p));let C;c&&(o&&!Object.prototype.hasOwnProperty.call(o,"Content-Type")||!o)?typeof Blob<"u"&&c instanceof Blob||c instanceof ArrayBuffer?(g["Content-Type"]="application/octet-stream",C=c):typeof c=="string"?(g["Content-Type"]="text/plain",C=c):typeof FormData<"u"&&c instanceof FormData?C=c:(g["Content-Type"]="application/json",C=JSON.stringify(c)):c&&typeof c!="string"&&!(typeof Blob<"u"&&c instanceof Blob)&&!(c instanceof ArrayBuffer)&&!(typeof FormData<"u"&&c instanceof FormData)?C=JSON.stringify(c):C=c;let E=u;d&&(i=new AbortController,s=setTimeout(()=>i.abort(),d),u?(E=i.signal,u.addEventListener("abort",()=>i.abort())):E=i.signal);const I=yield this.fetch(B.toString(),{method:l||"POST",headers:Object.assign(Object.assign(Object.assign({},g),this.headers),o),body:C,signal:E}).catch(H=>{throw new bp(H)}),Q=I.headers.get("x-relay-error");if(Q&&Q==="true")throw new pc(I);if(!I.ok)throw new wc(I);let S=((n=I.headers.get("Content-Type"))!==null&&n!==void 0?n:"text/plain").split(";")[0].trim(),k;return S==="application/json"?k=yield I.json():S==="application/octet-stream"||S==="application/pdf"?k=yield I.blob():S==="text/event-stream"?k=I:S==="multipart/form-data"?k=yield I.formData():k=yield I.text(),{data:k,error:null,response:I}}catch(o){return{data:null,error:o,response:o instanceof wc||o instanceof pc?o.context:void 0}}finally{s&&clearTimeout(s)}})}}const Up=3,Qp=A=>Math.min(1e3*2**A,3e4),CF=[520,503],Ip=["GET","HEAD","OPTIONS"];var Bc=class extends Error{constructor(A){super(A.message),this.name="PostgrestError",this.details=A.details,this.hint=A.hint,this.code=A.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Fp(A,e){return new Promise(t=>{if(e!=null&&e.aborted){t();return}const r=setTimeout(()=>{e==null||e.removeEventListener("abort",n),t()},A);function n(){clearTimeout(r),t()}e==null||e.addEventListener("abort",n)})}function EF(A,e,t,r){return!(!r||t>=Up||!Ip.includes(A)||!CF.includes(e))}var bF=class{constructor(A){var e,t,r,n,s;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=A.method,this.url=A.url,this.headers=new Headers(A.headers),this.schema=A.schema,this.body=A.body,this.shouldThrowOnError=(e=A.shouldThrowOnError)!==null&&e!==void 0?e:!1,this.signal=A.signal,this.isMaybeSingle=(t=A.isMaybeSingle)!==null&&t!==void 0?t:!1,this.shouldStripNulls=(r=A.shouldStripNulls)!==null&&r!==void 0?r:!1,this.urlLengthLimit=(n=A.urlLengthLimit)!==null&&n!==void 0?n:8e3,this.retryEnabled=(s=A.retry)!==null&&s!==void 0?s:!0,A.fetch?this.fetch=A.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(A,e){return this.headers=new Headers(this.headers),this.headers.set(A,e),this}retry(A){return this.retryEnabled=A,this}then(A,e){var t=this;if(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"),this.shouldStripNulls){const i=this.headers.get("Accept");i==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!i||i==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const r=this.fetch;let s=(async()=>{let i=0;for(;;){const c={};t.headers.forEach((d,g)=>{c[g]=d}),i>0&&(c["X-Retry-Count"]=String(i));let u;try{u=await r(t.url.toString(),{method:t.method,headers:c,body:JSON.stringify(t.body,(d,g)=>typeof g=="bigint"?g.toString():g),signal:t.signal})}catch(d){if((d==null?void 0:d.name)==="AbortError"||(d==null?void 0:d.code)==="ABORT_ERR"||!Ip.includes(t.method))throw d;if(t.retryEnabled&&i<Up){const g=Qp(i);i++,await Fp(g,t.signal);continue}throw d}if(EF(t.method,u.status,i,t.retryEnabled)){var o,l;const d=(o=(l=u.headers)===null||l===void 0?void 0:l.get("Retry-After"))!==null&&o!==void 0?o:null,g=d!==null?Math.max(0,parseInt(d,10)||0)*1e3:Qp(i);await u.text(),i++,await Fp(g,t.signal);continue}return await t.processResponse(u)}})();return this.shouldThrowOnError||(s=s.catch(i=>{var o;let l="",c="",u="";const d=i==null?void 0:i.cause;if(d){var g,p,B,C;const Q=(g=d==null?void 0:d.message)!==null&&g!==void 0?g:"",S=(p=d==null?void 0:d.code)!==null&&p!==void 0?p:"";l=`${(B=i==null?void 0:i.name)!==null&&B!==void 0?B:"FetchError"}: ${i==null?void 0:i.message}`,l+=`
|
|
2993
2993
|
|
|
2994
2994
|
Caused by: ${(C=d==null?void 0:d.name)!==null&&C!==void 0?C:"Error"}: ${Q}`,S&&(l+=` (${S})`),d!=null&&d.stack&&(l+=`
|
|
2995
|
-
${d.stack}`)}else{var E;l=(E=i==null?void 0:i.stack)!==null&&E!==void 0?E:""}const I=this.url.toString().length;return(i==null?void 0:i.name)==="AbortError"||(i==null?void 0:i.code)==="ABORT_ERR"?(u="",c="Request was aborted (timeout or manual cancellation)",I>this.urlLengthLimit&&(c+=`. Note: Your request URL is ${I} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((d==null?void 0:d.name)==="HeadersOverflowError"||(d==null?void 0:d.code)==="UND_ERR_HEADERS_OVERFLOW")&&(u="",c="HTTP headers exceeded server limits (typically 16KB)",I>this.urlLengthLimit&&(c+=`. Your request URL is ${I} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(o=i==null?void 0:i.name)!==null&&o!==void 0?o:"FetchError"}: ${i==null?void 0:i.message}`,details:l,hint:c,code:u},data:null,count:null,status:0,statusText:""}})),s.then(A,e)}async processResponse(A){var e=this;let t=null,r=null,n=null,s=A.status,i=A.statusText;if(A.ok){var o,l;if(e.method!=="HEAD"){var c;const g=await A.text();if(g!=="")if(e.headers.get("Accept")==="text/csv")r=g;else if(e.headers.get("Accept")&&(!((c=e.headers.get("Accept"))===null||c===void 0)&&c.includes("application/vnd.pgrst.plan+text")))r=g;else try{r=JSON.parse(g)}catch{if(t={message:g},r=null,e.shouldThrowOnError)throw new Bc({message:g,details:"",hint:"",code:""})}}const u=(o=e.headers.get("Prefer"))===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),d=(l=A.headers.get("content-range"))===null||l===void 0?void 0:l.split("/");u&&d&&d.length>1&&(n=parseInt(d[1])),e.isMaybeSingle&&Array.isArray(r)&&(r.length>1?(t={code:"PGRST116",details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},r=null,n=null,s=406,i="Not Acceptable"):r.length===1?r=r[0]:r=null)}else{const u=await A.text();try{t=JSON.parse(u),Array.isArray(t)&&A.status===404&&(r=[],t=null,s=200,i="OK")}catch{A.status===404&&u===""?(s=204,i="No Content"):t={message:u}}if(t&&e.shouldThrowOnError)throw new Bc(t)}return{success:t===null,error:t,data:r,count:n,status:s,statusText:i}}returns(){return this}overrideTypes(){return this}},QF=class extends UF{throwOnError(){return super.throwOnError()}select(A){let e=!1;const t=(A??"*").split("").map(r=>/\s/.test(r)&&!e?"":(r==='"'&&(e=!e),r)).join("");return this.url.searchParams.set("select",t),this.headers.append("Prefer","return=representation"),this}order(A,{ascending:e=!0,nullsFirst:t,foreignTable:r,referencedTable:n=r}={}){const s=n?`${n}.order`:"order",i=this.url.searchParams.get(s);return this.url.searchParams.set(s,`${i?`${i},`:""}${A}.${e?"asc":"desc"}${t===void 0?"":t?".nullsfirst":".nullslast"}`),this}limit(A,{foreignTable:e,referencedTable:t=e}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${A}`),this}range(A,e,{foreignTable:t,referencedTable:r=t}={}){const n=typeof r>"u"?"offset":`${r}.offset`,s=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(n,`${A}`),this.url.searchParams.set(s,`${e-A+1}`),this}abortSignal(A){return this.signal=A,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return 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:A=!1,verbose:e=!1,settings:t=!1,buffers:r=!1,wal:n=!1,format:s="text"}={}){var i;const o=[A?"analyze":null,e?"verbose":null,t?"settings":null,r?"buffers":null,n?"wal":null].filter(Boolean).join("|"),l=(i=this.headers.get("Accept"))!==null&&i!==void 0?i:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${s}; for="${l}"; options=${o};`),s==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(A){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${A}`),this}};const Tp=new RegExp("[,()]");var Nr=class extends QF{throwOnError(){return super.throwOnError()}eq(A,e){return this.url.searchParams.append(A,`eq.${e}`),this}neq(A,e){return this.url.searchParams.append(A,`neq.${e}`),this}gt(A,e){return this.url.searchParams.append(A,`gt.${e}`),this}gte(A,e){return this.url.searchParams.append(A,`gte.${e}`),this}lt(A,e){return this.url.searchParams.append(A,`lt.${e}`),this}lte(A,e){return this.url.searchParams.append(A,`lte.${e}`),this}like(A,e){return this.url.searchParams.append(A,`like.${e}`),this}likeAllOf(A,e){return this.url.searchParams.append(A,`like(all).{${e.join(",")}}`),this}likeAnyOf(A,e){return this.url.searchParams.append(A,`like(any).{${e.join(",")}}`),this}ilike(A,e){return this.url.searchParams.append(A,`ilike.${e}`),this}ilikeAllOf(A,e){return this.url.searchParams.append(A,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(A,e){return this.url.searchParams.append(A,`ilike(any).{${e.join(",")}}`),this}regexMatch(A,e){return this.url.searchParams.append(A,`match.${e}`),this}regexIMatch(A,e){return this.url.searchParams.append(A,`imatch.${e}`),this}is(A,e){return this.url.searchParams.append(A,`is.${e}`),this}isDistinct(A,e){return this.url.searchParams.append(A,`isdistinct.${e}`),this}in(A,e){const t=Array.from(new Set(e)).map(r=>typeof r=="string"&&Tp.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(A,`in.(${t})`),this}notIn(A,e){const t=Array.from(new Set(e)).map(r=>typeof r=="string"&&Tp.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(A,`not.in.(${t})`),this}contains(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cs.{${e.join(",")}}`):this.url.searchParams.append(A,`cs.${JSON.stringify(e)}`),this}containedBy(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cd.{${e.join(",")}}`):this.url.searchParams.append(A,`cd.${JSON.stringify(e)}`),this}rangeGt(A,e){return this.url.searchParams.append(A,`sr.${e}`),this}rangeGte(A,e){return this.url.searchParams.append(A,`nxl.${e}`),this}rangeLt(A,e){return this.url.searchParams.append(A,`sl.${e}`),this}rangeLte(A,e){return this.url.searchParams.append(A,`nxr.${e}`),this}rangeAdjacent(A,e){return this.url.searchParams.append(A,`adj.${e}`),this}overlaps(A,e){return typeof e=="string"?this.url.searchParams.append(A,`ov.${e}`):this.url.searchParams.append(A,`ov.{${e.join(",")}}`),this}textSearch(A,e,{config:t,type:r}={}){let n="";r==="plain"?n="pl":r==="phrase"?n="ph":r==="websearch"&&(n="w");const s=t===void 0?"":`(${t})`;return this.url.searchParams.append(A,`${n}fts${s}.${e}`),this}match(A){return Object.entries(A).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(A,e,t){return this.url.searchParams.append(A,`not.${e}.${t}`),this}or(A,{foreignTable:e,referencedTable:t=e}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${A})`),this}filter(A,e,t){return this.url.searchParams.append(A,`${e}.${t}`),this}},IF=class{constructor(A,{headers:e={},schema:t,fetch:r,urlLengthLimit:n=8e3,retry:s}){this.url=A,this.headers=new Headers(e),this.schema=t,this.fetch=r,this.urlLengthLimit=n,this.retry=s}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(A,e){const{head:t=!1,count:r}=e??{},n=t?"HEAD":"GET";let s=!1;const i=(A??"*").split("").map(c=>/\s/.test(c)&&!s?"":(c==='"'&&(s=!s),c)).join(""),{url:o,headers:l}=this.cloneRequestState();return o.searchParams.set("select",i),r&&l.append("Prefer",`count=${r}`),new Nr({method:n,url:o,headers:l,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(A,{count:e,defaultToNull:t=!0}={}){var r;const n="POST",{url:s,headers:i}=this.cloneRequestState();if(e&&i.append("Prefer",`count=${e}`),t||i.append("Prefer","missing=default"),Array.isArray(A)){const o=A.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(o.length>0){const l=[...new Set(o)].map(c=>`"${c}"`);s.searchParams.set("columns",l.join(","))}}return new Nr({method:n,url:s,headers:i,schema:this.schema,body:A,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(A,{onConflict:e,ignoreDuplicates:t=!1,count:r,defaultToNull:n=!0}={}){var s;const i="POST",{url:o,headers:l}=this.cloneRequestState();if(l.append("Prefer",`resolution=${t?"ignore":"merge"}-duplicates`),e!==void 0&&o.searchParams.set("on_conflict",e),r&&l.append("Prefer",`count=${r}`),n||l.append("Prefer","missing=default"),Array.isArray(A)){const c=A.reduce((u,d)=>u.concat(Object.keys(d)),[]);if(c.length>0){const u=[...new Set(c)].map(d=>`"${d}"`);o.searchParams.set("columns",u.join(","))}}return new Nr({method:i,url:o,headers:l,schema:this.schema,body:A,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(A,{count:e}={}){var t;const r="PATCH",{url:n,headers:s}=this.cloneRequestState();return e&&s.append("Prefer",`count=${e}`),new Nr({method:r,url:n,headers:s,schema:this.schema,body:A,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:A}={}){var e;const t="DELETE",{url:r,headers:n}=this.cloneRequestState();return A&&n.append("Prefer",`count=${A}`),new Nr({method:t,url:r,headers:n,schema:this.schema,fetch:(e=this.fetch)!==null&&e!==void 0?e:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Zn(A){"@babel/helpers - typeof";return Zn=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},Zn(A)}function FF(A,e){if(Zn(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(Zn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function TF(A){var e=FF(A,"string");return Zn(e)=="symbol"?e:e+""}function SF(A,e,t){return(e=TF(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function Sp(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function oo(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){SF(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}var RF=class IB{constructor(e,{headers:t={},schema:r,fetch:n,timeout:s,urlLengthLimit:i=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=r,this.urlLengthLimit=i;const l=n??globalThis.fetch;s!==void 0&&s>0?this.fetch=(c,u)=>{const d=new AbortController,g=setTimeout(()=>d.abort(),s),p=u==null?void 0:u.signal;if(p){if(p.aborted)return clearTimeout(g),l(c,u);const B=()=>{clearTimeout(g),d.abort()};return p.addEventListener("abort",B,{once:!0}),l(c,oo(oo({},u),{},{signal:d.signal})).finally(()=>{clearTimeout(g),p.removeEventListener("abort",B)})}return l(c,oo(oo({},u),{},{signal:d.signal})).finally(()=>clearTimeout(g))}:this.fetch=l,this.retry=o}from(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new IF(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(e){return new IB(this.url,{headers:this.headers,schema:e,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,t={},{head:r=!1,get:n=!1,count:s}={}){var i;let o;const l=new URL(`${this.url}/rpc/${e}`);let c;const u=p=>p!==null&&typeof p=="object"&&(!Array.isArray(p)||p.some(u)),d=r&&Object.values(t).some(u);d?(o="POST",c=t):r||n?(o=r?"HEAD":"GET",Object.entries(t).filter(([p,B])=>B!==void 0).map(([p,B])=>[p,Array.isArray(B)?`{${B.join(",")}}`:`${B}`]).forEach(([p,B])=>{l.searchParams.append(p,B)})):(o="POST",c=t);const g=new Headers(this.headers);return d?g.set("Prefer",s?`count=${s},return=minimal`:"return=minimal"):s&&g.set("Prefer",`count=${s}`),new Nr({method:o,url:l,headers:g,schema:this.schemaName,body:c,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class Rp{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const t=globalThis;if(typeof globalThis<"u"&&typeof t.WebSocket<"u")return{type:"native",wsConstructor:t.WebSocket};const r=typeof global<"u"?global:void 0;if(r&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};if(typeof globalThis<"u"&&typeof t.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"&&t.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.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."};const n=globalThis.process;if(n){const s=n.versions;if(s&&s.node){const i=s.node,o=parseInt(i.replace(/^v/,"").split(".")[0]);return o>=22?typeof globalThis.WebSocket<"u"?{type:"native",wsConstructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${o} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${o} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
|
|
2995
|
+
${d.stack}`)}else{var E;l=(E=i==null?void 0:i.stack)!==null&&E!==void 0?E:""}const I=this.url.toString().length;return(i==null?void 0:i.name)==="AbortError"||(i==null?void 0:i.code)==="ABORT_ERR"?(u="",c="Request was aborted (timeout or manual cancellation)",I>this.urlLengthLimit&&(c+=`. Note: Your request URL is ${I} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((d==null?void 0:d.name)==="HeadersOverflowError"||(d==null?void 0:d.code)==="UND_ERR_HEADERS_OVERFLOW")&&(u="",c="HTTP headers exceeded server limits (typically 16KB)",I>this.urlLengthLimit&&(c+=`. Your request URL is ${I} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(o=i==null?void 0:i.name)!==null&&o!==void 0?o:"FetchError"}: ${i==null?void 0:i.message}`,details:l,hint:c,code:u},data:null,count:null,status:0,statusText:""}})),s.then(A,e)}async processResponse(A){var e=this;let t=null,r=null,n=null,s=A.status,i=A.statusText;if(A.ok){var o,l;if(e.method!=="HEAD"){var c;const g=await A.text();if(g!=="")if(e.headers.get("Accept")==="text/csv")r=g;else if(e.headers.get("Accept")&&(!((c=e.headers.get("Accept"))===null||c===void 0)&&c.includes("application/vnd.pgrst.plan+text")))r=g;else try{r=JSON.parse(g)}catch{if(t={message:g},r=null,e.shouldThrowOnError)throw new Bc({message:g,details:"",hint:"",code:""})}}const u=(o=e.headers.get("Prefer"))===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),d=(l=A.headers.get("content-range"))===null||l===void 0?void 0:l.split("/");u&&d&&d.length>1&&(n=parseInt(d[1])),e.isMaybeSingle&&Array.isArray(r)&&(r.length>1?(t={code:"PGRST116",details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},r=null,n=null,s=406,i="Not Acceptable"):r.length===1?r=r[0]:r=null)}else{const u=await A.text();try{t=JSON.parse(u),Array.isArray(t)&&A.status===404&&(r=[],t=null,s=200,i="OK")}catch{A.status===404&&u===""?(s=204,i="No Content"):t={message:u}}if(t&&e.shouldThrowOnError)throw new Bc(t)}return{success:t===null,error:t,data:r,count:n,status:s,statusText:i}}returns(){return this}overrideTypes(){return this}},UF=class extends bF{throwOnError(){return super.throwOnError()}select(A){let e=!1;const t=(A??"*").split("").map(r=>/\s/.test(r)&&!e?"":(r==='"'&&(e=!e),r)).join("");return this.url.searchParams.set("select",t),this.headers.append("Prefer","return=representation"),this}order(A,{ascending:e=!0,nullsFirst:t,foreignTable:r,referencedTable:n=r}={}){const s=n?`${n}.order`:"order",i=this.url.searchParams.get(s);return this.url.searchParams.set(s,`${i?`${i},`:""}${A}.${e?"asc":"desc"}${t===void 0?"":t?".nullsfirst":".nullslast"}`),this}limit(A,{foreignTable:e,referencedTable:t=e}={}){const r=typeof t>"u"?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${A}`),this}range(A,e,{foreignTable:t,referencedTable:r=t}={}){const n=typeof r>"u"?"offset":`${r}.offset`,s=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(n,`${A}`),this.url.searchParams.set(s,`${e-A+1}`),this}abortSignal(A){return this.signal=A,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return 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:A=!1,verbose:e=!1,settings:t=!1,buffers:r=!1,wal:n=!1,format:s="text"}={}){var i;const o=[A?"analyze":null,e?"verbose":null,t?"settings":null,r?"buffers":null,n?"wal":null].filter(Boolean).join("|"),l=(i=this.headers.get("Accept"))!==null&&i!==void 0?i:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${s}; for="${l}"; options=${o};`),s==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(A){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${A}`),this}};const Tp=new RegExp("[,()]");var Nr=class extends UF{throwOnError(){return super.throwOnError()}eq(A,e){return this.url.searchParams.append(A,`eq.${e}`),this}neq(A,e){return this.url.searchParams.append(A,`neq.${e}`),this}gt(A,e){return this.url.searchParams.append(A,`gt.${e}`),this}gte(A,e){return this.url.searchParams.append(A,`gte.${e}`),this}lt(A,e){return this.url.searchParams.append(A,`lt.${e}`),this}lte(A,e){return this.url.searchParams.append(A,`lte.${e}`),this}like(A,e){return this.url.searchParams.append(A,`like.${e}`),this}likeAllOf(A,e){return this.url.searchParams.append(A,`like(all).{${e.join(",")}}`),this}likeAnyOf(A,e){return this.url.searchParams.append(A,`like(any).{${e.join(",")}}`),this}ilike(A,e){return this.url.searchParams.append(A,`ilike.${e}`),this}ilikeAllOf(A,e){return this.url.searchParams.append(A,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(A,e){return this.url.searchParams.append(A,`ilike(any).{${e.join(",")}}`),this}regexMatch(A,e){return this.url.searchParams.append(A,`match.${e}`),this}regexIMatch(A,e){return this.url.searchParams.append(A,`imatch.${e}`),this}is(A,e){return this.url.searchParams.append(A,`is.${e}`),this}isDistinct(A,e){return this.url.searchParams.append(A,`isdistinct.${e}`),this}in(A,e){const t=Array.from(new Set(e)).map(r=>typeof r=="string"&&Tp.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(A,`in.(${t})`),this}notIn(A,e){const t=Array.from(new Set(e)).map(r=>typeof r=="string"&&Tp.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(A,`not.in.(${t})`),this}contains(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cs.{${e.join(",")}}`):this.url.searchParams.append(A,`cs.${JSON.stringify(e)}`),this}containedBy(A,e){return typeof e=="string"?this.url.searchParams.append(A,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(A,`cd.{${e.join(",")}}`):this.url.searchParams.append(A,`cd.${JSON.stringify(e)}`),this}rangeGt(A,e){return this.url.searchParams.append(A,`sr.${e}`),this}rangeGte(A,e){return this.url.searchParams.append(A,`nxl.${e}`),this}rangeLt(A,e){return this.url.searchParams.append(A,`sl.${e}`),this}rangeLte(A,e){return this.url.searchParams.append(A,`nxr.${e}`),this}rangeAdjacent(A,e){return this.url.searchParams.append(A,`adj.${e}`),this}overlaps(A,e){return typeof e=="string"?this.url.searchParams.append(A,`ov.${e}`):this.url.searchParams.append(A,`ov.{${e.join(",")}}`),this}textSearch(A,e,{config:t,type:r}={}){let n="";r==="plain"?n="pl":r==="phrase"?n="ph":r==="websearch"&&(n="w");const s=t===void 0?"":`(${t})`;return this.url.searchParams.append(A,`${n}fts${s}.${e}`),this}match(A){return Object.entries(A).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(A,e,t){return this.url.searchParams.append(A,`not.${e}.${t}`),this}or(A,{foreignTable:e,referencedTable:t=e}={}){const r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${A})`),this}filter(A,e,t){return this.url.searchParams.append(A,`${e}.${t}`),this}},QF=class{constructor(A,{headers:e={},schema:t,fetch:r,urlLengthLimit:n=8e3,retry:s}){this.url=A,this.headers=new Headers(e),this.schema=t,this.fetch=r,this.urlLengthLimit=n,this.retry=s}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(A,e){const{head:t=!1,count:r}=e??{},n=t?"HEAD":"GET";let s=!1;const i=(A??"*").split("").map(c=>/\s/.test(c)&&!s?"":(c==='"'&&(s=!s),c)).join(""),{url:o,headers:l}=this.cloneRequestState();return o.searchParams.set("select",i),r&&l.append("Prefer",`count=${r}`),new Nr({method:n,url:o,headers:l,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(A,{count:e,defaultToNull:t=!0}={}){var r;const n="POST",{url:s,headers:i}=this.cloneRequestState();if(e&&i.append("Prefer",`count=${e}`),t||i.append("Prefer","missing=default"),Array.isArray(A)){const o=A.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(o.length>0){const l=[...new Set(o)].map(c=>`"${c}"`);s.searchParams.set("columns",l.join(","))}}return new Nr({method:n,url:s,headers:i,schema:this.schema,body:A,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(A,{onConflict:e,ignoreDuplicates:t=!1,count:r,defaultToNull:n=!0}={}){var s;const i="POST",{url:o,headers:l}=this.cloneRequestState();if(l.append("Prefer",`resolution=${t?"ignore":"merge"}-duplicates`),e!==void 0&&o.searchParams.set("on_conflict",e),r&&l.append("Prefer",`count=${r}`),n||l.append("Prefer","missing=default"),Array.isArray(A)){const c=A.reduce((u,d)=>u.concat(Object.keys(d)),[]);if(c.length>0){const u=[...new Set(c)].map(d=>`"${d}"`);o.searchParams.set("columns",u.join(","))}}return new Nr({method:i,url:o,headers:l,schema:this.schema,body:A,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(A,{count:e}={}){var t;const r="PATCH",{url:n,headers:s}=this.cloneRequestState();return e&&s.append("Prefer",`count=${e}`),new Nr({method:r,url:n,headers:s,schema:this.schema,body:A,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:A}={}){var e;const t="DELETE",{url:r,headers:n}=this.cloneRequestState();return A&&n.append("Prefer",`count=${A}`),new Nr({method:t,url:r,headers:n,schema:this.schema,fetch:(e=this.fetch)!==null&&e!==void 0?e:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Zn(A){"@babel/helpers - typeof";return Zn=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},Zn(A)}function IF(A,e){if(Zn(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(Zn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function FF(A){var e=IF(A,"string");return Zn(e)=="symbol"?e:e+""}function TF(A,e,t){return(e=FF(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function Sp(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function oo(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){TF(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}var SF=class IB{constructor(e,{headers:t={},schema:r,fetch:n,timeout:s,urlLengthLimit:i=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=r,this.urlLengthLimit=i;const l=n??globalThis.fetch;s!==void 0&&s>0?this.fetch=(c,u)=>{const d=new AbortController,g=setTimeout(()=>d.abort(),s),p=u==null?void 0:u.signal;if(p){if(p.aborted)return clearTimeout(g),l(c,u);const B=()=>{clearTimeout(g),d.abort()};return p.addEventListener("abort",B,{once:!0}),l(c,oo(oo({},u),{},{signal:d.signal})).finally(()=>{clearTimeout(g),p.removeEventListener("abort",B)})}return l(c,oo(oo({},u),{},{signal:d.signal})).finally(()=>clearTimeout(g))}:this.fetch=l,this.retry=o}from(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new QF(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(e){return new IB(this.url,{headers:this.headers,schema:e,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,t={},{head:r=!1,get:n=!1,count:s}={}){var i;let o;const l=new URL(`${this.url}/rpc/${e}`);let c;const u=p=>p!==null&&typeof p=="object"&&(!Array.isArray(p)||p.some(u)),d=r&&Object.values(t).some(u);d?(o="POST",c=t):r||n?(o=r?"HEAD":"GET",Object.entries(t).filter(([p,B])=>B!==void 0).map(([p,B])=>[p,Array.isArray(B)?`{${B.join(",")}}`:`${B}`]).forEach(([p,B])=>{l.searchParams.append(p,B)})):(o="POST",c=t);const g=new Headers(this.headers);return d?g.set("Prefer",s?`count=${s},return=minimal`:"return=minimal"):s&&g.set("Prefer",`count=${s}`),new Nr({method:o,url:l,headers:g,schema:this.schemaName,body:c,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class Rp{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const t=globalThis;if(typeof globalThis<"u"&&typeof t.WebSocket<"u")return{type:"native",wsConstructor:t.WebSocket};const r=typeof global<"u"?global:void 0;if(r&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};if(typeof globalThis<"u"&&typeof t.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"&&t.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.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."};const n=globalThis.process;if(n){const s=n.versions;if(s&&s.node){const i=s.node,o=parseInt(i.replace(/^v/,"").split(".")[0]);return o>=22?typeof globalThis.WebSocket<"u"?{type:"native",wsConstructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${o} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${o} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
|
|
2996
2996
|
import ws from "ws"
|
|
2997
2997
|
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 e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(t+=`
|
|
2998
2998
|
|
|
2999
|
-
Suggested solution: ${e.workaround}`),new Error(t)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return e.type==="native"||e.type==="ws"}catch{return!1}}}const xF="realtime-js/2.108.2",kF="1.0.0",xp="2.0.0",HF=xp,LF=1e4,DF=100,rA={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},kp={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},mc={connecting:"connecting",closing:"closing",closed:"closed"};class OF{constructor(e){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=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return t(this._binaryEncodeUserBroadcastPush(e));let r=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(r))}_binaryEncodeUserBroadcastPush(e){var t;return this._isArrayBuffer((t=e.payload)===null||t===void 0?void 0:t.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var t,r;const n=(r=(t=e.payload)===null||t===void 0?void 0:t.payload)!==null&&r!==void 0?r:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,n)}_encodeJsonUserBroadcastPush(e){var t,r;const n=(r=(t=e.payload)===null||t===void 0?void 0:t.payload)!==null&&r!==void 0?r:{},i=new TextEncoder().encode(JSON.stringify(n)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,i)}_encodeUserBroadcastPush(e,t,r){var n,s;const i=e.topic,o=(n=e.ref)!==null&&n!==void 0?n:"",l=(s=e.join_ref)!==null&&s!==void 0?s:"",c=e.payload.event,u=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},d=Object.keys(u).length===0?"":JSON.stringify(u);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(i.length>255)throw new Error(`topic length ${i.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`userEvent length ${c.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`metadata length ${d.length} exceeds maximum of 255`);const g=this.USER_BROADCAST_PUSH_META_LENGTH+l.length+o.length+i.length+c.length+d.length,p=new ArrayBuffer(this.HEADER_LENGTH+g);let B=new DataView(p),C=0;B.setUint8(C++,this.KINDS.userBroadcastPush),B.setUint8(C++,l.length),B.setUint8(C++,o.length),B.setUint8(C++,i.length),B.setUint8(C++,c.length),B.setUint8(C++,d.length),B.setUint8(C++,t),Array.from(l,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(o,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(i,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(c,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(d,I=>B.setUint8(C++,I.charCodeAt(0)));var E=new Uint8Array(p.byteLength+r.byteLength);return E.set(new Uint8Array(p),0),E.set(new Uint8Array(r),p.byteLength),E.buffer}decode(e,t){if(this._isArrayBuffer(e)){let r=this._binaryDecode(e);return t(r)}if(typeof e=="string"){const r=JSON.parse(e),[n,s,i,o,l]=r;return t({join_ref:n,ref:s,topic:i,event:o,payload:l})}return t({})}_binaryDecode(e){const t=new DataView(e),r=t.getUint8(0),n=new TextDecoder;switch(r){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,n)}}_decodeUserBroadcast(e,t,r){const n=t.getUint8(1),s=t.getUint8(2),i=t.getUint8(3),o=t.getUint8(4);let l=this.HEADER_LENGTH+4;const c=r.decode(e.slice(l,l+n));l=l+n;const u=r.decode(e.slice(l,l+s));l=l+s;const d=r.decode(e.slice(l,l+i));l=l+i;const g=e.slice(l,e.byteLength),p=o===this.JSON_ENCODING?JSON.parse(r.decode(g)):g,B={type:this.BROADCAST_EVENT,event:u,payload:p};return i>0&&(B.meta=JSON.parse(d)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:B}}_isArrayBuffer(e){var t;return e instanceof ArrayBuffer||((t=e==null?void 0:e.constructor)===null||t===void 0?void 0:t.name)==="ArrayBuffer"}_pick(e,t){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([r])=>t.includes(r)))}}var ae;(function(A){A.abstime="abstime",A.bool="bool",A.date="date",A.daterange="daterange",A.float4="float4",A.float8="float8",A.int2="int2",A.int4="int4",A.int4range="int4range",A.int8="int8",A.int8range="int8range",A.json="json",A.jsonb="jsonb",A.money="money",A.numeric="numeric",A.oid="oid",A.reltime="reltime",A.text="text",A.time="time",A.timestamp="timestamp",A.timestamptz="timestamptz",A.timetz="timetz",A.tsrange="tsrange",A.tstzrange="tstzrange"})(ae||(ae={}));const Hp=(A,e,t={})=>{var r;const n=(r=t.skipTypes)!==null&&r!==void 0?r:[];return e?Object.keys(e).reduce((s,i)=>(s[i]=PF(i,A,e,n),s),{}):{}},PF=(A,e,t,r)=>{const n=e.find(o=>o.name===A),s=n==null?void 0:n.type,i=t[A];return s&&!r.includes(s)?Lp(s,i):yc(i)},Lp=(A,e)=>{if(A.charAt(0)==="_"){const t=A.slice(1,A.length);return KF(e,t)}switch(A){case ae.bool:return NF(e);case ae.float4:case ae.float8:case ae.int2:case ae.int4:case ae.int8:case ae.numeric:case ae.oid:return VF(e);case ae.json:case ae.jsonb:return MF(e);case ae.timestamp:return GF(e);case ae.abstime:case ae.date:case ae.daterange:case ae.int4range:case ae.int8range:case ae.money:case ae.reltime:case ae.text:case ae.time:case ae.timestamptz:case ae.timetz:case ae.tsrange:case ae.tstzrange:return yc(e);default:return yc(e)}},yc=A=>A,NF=A=>{switch(A){case"t":return!0;case"f":return!1;default:return A}},VF=A=>{if(typeof A=="string"){const e=parseFloat(A);if(!Number.isNaN(e))return e}return A},MF=A=>{if(typeof A=="string")try{return JSON.parse(A)}catch{return A}return A},KF=(A,e)=>{if(typeof A!="string")return A;const t=A.length-1,r=A[t];if(A[0]==="{"&&r==="}"){let s;const i=A.slice(1,t);try{s=JSON.parse("["+i+"]")}catch{s=i?i.split(","):[]}return s.map(o=>Lp(e,o))}return A},GF=A=>typeof A=="string"?A.replace(" ","T"):A,Dp=A=>{const e=new URL(A);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};var es=A=>typeof A=="function"?A:function(){return A},jF=typeof self<"u"?self:null,Vr=typeof window<"u"?window:null,jt=jF||Vr||globalThis,$F="2.0.0",WF=1e4,qF=1e3,$t={connecting:0,open:1,closing:2,closed:3},ot={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},nA={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},vc={longpoll:"longpoll",websocket:"websocket"},JF={complete:4},_c="base64url.bearer.phx.",ao=class{constructor(A,e,t,r){this.channel=A,this.event=e,this.payload=t||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(A){this.timeout=A,this.reset(),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()}))}receive(A,e){return this.hasReceived(A)&&e(this.receivedResp.response),this.recHooks.push({status:A,callback:e}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:A,response:e,_ref:t}){this.recHooks.filter(r=>r.status===A).forEach(r=>r.callback(e))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,A=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=A,this.matchReceive(A)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(A){return this.receivedResp&&this.receivedResp.status===A}trigger(A,e){this.channel.trigger(this.refEvent,{status:A,response:e})}},Op=class{constructor(A,e){this.callback=A,this.timerCalc=e,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},XF=class{constructor(A,e,t){this.state=ot.closed,this.topic=A,this.params=es(e||{}),this.socket=t,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new ao(this,nA.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Op(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=ot.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(r=>r.send()),this.pushBuffer=[]}),this.joinPush.receive("error",r=>{this.state=ot.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=ot.closed,this.socket.remove(this)}),this.onError(r=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.isJoining()&&this.joinPush.reset(),this.state=ot.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new ao(this,nA.leave,es({}),this.timeout).send(),this.state=ot.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(nA.reply,(r,n)=>{this.trigger(this.replyEventName(n),r)})}join(A=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=A,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(A=>A.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=ot.closed,this.bindings=[]}onClose(A){this.on(nA.close,A)}onError(A){return this.on(nA.error,e=>A(e))}on(A,e){let t=this.bindingRef++;return this.bindings.push({event:A,ref:t,callback:e}),t}off(A,e){this.bindings=this.bindings.filter(t=>!(t.event===A&&(typeof e>"u"||e===t.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(A,e,t=this.timeout){if(e=e||{},!this.joinedOnce)throw new Error(`tried to push '${A}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new ao(this,A,function(){return e},t);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(A=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=ot.leaving;let e=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(nA.close,"leave")},t=new ao(this,nA.leave,es({}),A);return t.receive("ok",()=>e()).receive("timeout",()=>e()),t.send(),this.canPush()||t.trigger("ok",{}),t}onMessage(A,e,t){return e}filterBindings(A,e,t){return!0}isMember(A,e,t,r){return this.topic!==A?!1:r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:A,event:e,payload:t,joinRef:r}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(A=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=ot.joining,this.joinPush.resend(A))}trigger(A,e,t,r){let n=this.onMessage(A,e,t,r);if(e&&!n)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let s=this.bindings.filter(i=>i.event===A&&this.filterBindings(i,e,t));for(let i=0;i<s.length;i++)s[i].callback(n,t,r||this.joinRef())}replyEventName(A){return`chan_reply_${A}`}isClosed(){return this.state===ot.closed}isErrored(){return this.state===ot.errored}isJoined(){return this.state===ot.joined}isJoining(){return this.state===ot.joining}isLeaving(){return this.state===ot.leaving}},lo=class{static request(A,e,t,r,n,s,i){if(jt.XDomainRequest){let o=new jt.XDomainRequest;return this.xdomainRequest(o,A,e,r,n,s,i)}else if(jt.XMLHttpRequest){let o=new jt.XMLHttpRequest;return this.xhrRequest(o,A,e,t,r,n,s,i)}else{if(jt.fetch&&jt.AbortController)return this.fetchRequest(A,e,t,r,n,s,i);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(A,e,t,r,n,s,i){let o={method:A,headers:t,body:r},l=null;return n&&(l=new AbortController,setTimeout(()=>l.abort(),n),o.signal=l.signal),jt.fetch(e,o).then(c=>c.text()).then(c=>this.parseJSON(c)).then(c=>i&&i(c)).catch(c=>{c.name==="AbortError"&&s?s():i&&i(null)}),l}static xdomainRequest(A,e,t,r,n,s,i){return A.timeout=n,A.open(e,t),A.onload=()=>{let o=this.parseJSON(A.responseText);i&&i(o)},s&&(A.ontimeout=s),A.onprogress=()=>{},A.send(r),A}static xhrRequest(A,e,t,r,n,s,i,o){A.open(e,t,!0),A.timeout=s;for(let[l,c]of Object.entries(r))A.setRequestHeader(l,c);return A.onerror=()=>o&&o(null),A.onreadystatechange=()=>{if(A.readyState===JF.complete&&o){let l=this.parseJSON(A.responseText);o(l)}},i&&(A.ontimeout=i),A.send(n),A}static parseJSON(A){if(!A||A==="")return null;try{return JSON.parse(A)}catch{return console&&console.log("failed to parse JSON response",A),null}}static serialize(A,e){let t=[];for(var r in A){if(!Object.prototype.hasOwnProperty.call(A,r))continue;let n=e?`${e}[${r}]`:r,s=A[r];typeof s=="object"?t.push(this.serialize(s,n)):t.push(encodeURIComponent(n)+"="+encodeURIComponent(s))}return t.join("&")}static appendParams(A,e){if(Object.keys(e).length===0)return A;let t=A.match(/\?/)?"&":"?";return`${A}${t}${this.serialize(e)}`}},zF=A=>{let e="",t=new Uint8Array(A),r=t.byteLength;for(let n=0;n<r;n++)e+=String.fromCharCode(t[n]);return btoa(e)},Mr=class{constructor(A,e){e&&e.length===2&&e[1].startsWith(_c)&&(this.authToken=atob(e[1].slice(_c.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(A),this.readyState=$t.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(A){return A.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+vc.websocket),"$1/"+vc.longpoll)}endpointURL(){return lo.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(A,e,t){this.close(A,e,t),this.readyState=$t.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===$t.open||this.readyState===$t.connecting}poll(){const A={Accept:"application/json"};this.authToken&&(A["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",A,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:r,messages:n}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=r}else t=0;switch(t){case 200:n.forEach(s=>{setTimeout(()=>this.onmessage({data:s}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=$t.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${t}`)}})}send(A){typeof A!="string"&&(A=zF(A)),this.currentBatch?this.currentBatch.push(A):this.awaitingBatchAck?this.batchBuffer.push(A):(this.currentBatch=[A],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(A){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},A.join(`
|
|
3000
|
-
`),()=>this.onerror("timeout"),e=>{this.awaitingBatchAck=!1,!e||e.status!==200?(this.onerror(e&&e.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(A,e,t){for(let n of this.reqs)n.abort();this.readyState=$t.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:A,reason:e,wasClean:t});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",r)):this.onclose(r)}ajax(A,e,t,r,n){let s,i=()=>{this.reqs.delete(s),r()};s=lo.request(A,this.endpointURL(),e,t,this.timeout,i,o=>{this.reqs.delete(s),this.isActive()&&n(o)}),this.reqs.add(s)}},YF=class Is{constructor(e,t={}){let r=t.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=e,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,n=>{let{onJoin:s,onLeave:i,onSync:o}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Is.syncState(this.state,n,s,i),this.pendingDiffs.forEach(l=>{this.state=Is.syncDiff(this.state,l,s,i)}),this.pendingDiffs=[],o()}),this.channel.on(r.diff,n=>{let{onJoin:s,onLeave:i,onSync:o}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(n):(this.state=Is.syncDiff(this.state,n,s,i),o())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(e){return Is.list(this.state,e)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,r,n){let s=this.clone(e),i={},o={};return this.map(s,(l,c)=>{t[l]||(o[l]=c)}),this.map(t,(l,c)=>{let u=s[l];if(u){let d=c.metas.map(C=>C.phx_ref),g=u.metas.map(C=>C.phx_ref),p=c.metas.filter(C=>g.indexOf(C.phx_ref)<0),B=u.metas.filter(C=>d.indexOf(C.phx_ref)<0);p.length>0&&(i[l]=c,i[l].metas=p),B.length>0&&(o[l]=this.clone(u),o[l].metas=B)}else i[l]=c}),this.syncDiff(s,{joins:i,leaves:o},r,n)}static syncDiff(e,t,r,n){let{joins:s,leaves:i}=this.clone(t);return r||(r=function(){}),n||(n=function(){}),this.map(s,(o,l)=>{let c=e[o];if(e[o]=this.clone(l),c){let u=e[o].metas.map(g=>g.phx_ref),d=c.metas.filter(g=>u.indexOf(g.phx_ref)<0);e[o].metas.unshift(...d)}r(o,c,l)}),this.map(i,(o,l)=>{let c=e[o];if(!c)return;let u=l.metas.map(d=>d.phx_ref);c.metas=c.metas.filter(d=>u.indexOf(d.phx_ref)<0),n(o,c,l),c.metas.length===0&&delete e[o]}),e}static list(e,t){return t||(t=function(r,n){return n}),this.map(e,(r,n)=>t(r,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static clone(e){return JSON.parse(JSON.stringify(e))}},co={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(A,e){if(A.payload.constructor===ArrayBuffer)return e(this.binaryEncode(A));{let t=[A.join_ref,A.ref,A.topic,A.event,A.payload];return e(JSON.stringify(t))}},decode(A,e){if(A.constructor===ArrayBuffer)return e(this.binaryDecode(A));{let[t,r,n,s,i]=JSON.parse(A);return e({join_ref:t,ref:r,topic:n,event:s,payload:i})}},binaryEncode(A){let{join_ref:e,ref:t,event:r,topic:n,payload:s}=A,i=this.META_LENGTH+e.length+t.length+n.length+r.length,o=new ArrayBuffer(this.HEADER_LENGTH+i),l=new DataView(o),c=0;l.setUint8(c++,this.KINDS.push),l.setUint8(c++,e.length),l.setUint8(c++,t.length),l.setUint8(c++,n.length),l.setUint8(c++,r.length),Array.from(e,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(t,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(n,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(r,d=>l.setUint8(c++,d.charCodeAt(0)));var u=new Uint8Array(o.byteLength+s.byteLength);return u.set(new Uint8Array(o),0),u.set(new Uint8Array(s),o.byteLength),u.buffer},binaryDecode(A){let e=new DataView(A),t=e.getUint8(0),r=new TextDecoder;switch(t){case this.KINDS.push:return this.decodePush(A,e,r);case this.KINDS.reply:return this.decodeReply(A,e,r);case this.KINDS.broadcast:return this.decodeBroadcast(A,e,r)}},decodePush(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=e.getUint8(3),i=this.HEADER_LENGTH+this.META_LENGTH-1,o=t.decode(A.slice(i,i+r));i=i+r;let l=t.decode(A.slice(i,i+n));i=i+n;let c=t.decode(A.slice(i,i+s));i=i+s;let u=A.slice(i,A.byteLength);return{join_ref:o,ref:null,topic:l,event:c,payload:u}},decodeReply(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=e.getUint8(3),i=e.getUint8(4),o=this.HEADER_LENGTH+this.META_LENGTH,l=t.decode(A.slice(o,o+r));o=o+r;let c=t.decode(A.slice(o,o+n));o=o+n;let u=t.decode(A.slice(o,o+s));o=o+s;let d=t.decode(A.slice(o,o+i));o=o+i;let g=A.slice(o,A.byteLength),p={status:d,response:g};return{join_ref:l,ref:c,topic:u,event:nA.reply,payload:p}},decodeBroadcast(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=this.HEADER_LENGTH+2,i=t.decode(A.slice(s,s+r));s=s+r;let o=t.decode(A.slice(s,s+n));s=s+n;let l=A.slice(s,A.byteLength);return{join_ref:null,ref:null,topic:i,event:o,payload:l}}},ZF=class{constructor(A,e={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=e.timeout||WF,this.transport=e.transport||jt.WebSocket||Mr,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=e.longPollFallbackMs,this.fallbackTimer=null;let t=null;try{t=jt&&jt.sessionStorage}catch{}this.sessionStore=e.sessionStorage||t,this.establishedConnections=0,this.defaultEncoder=co.encode.bind(co),this.defaultDecoder=co.decode.bind(co),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=e.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Mr?(this.encode=e.encode||this.defaultEncoder,this.decode=e.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let r=null;Vr&&Vr.addEventListener&&(Vr.addEventListener("pagehide",n=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Vr.addEventListener("pageshow",n=>{r===this.connectClock&&(r=null,this.connect())}),Vr.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=e.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=e.autoSendHeartbeat??!0,this.heartbeatCallback=e.heartbeatCallback??(()=>{}),this.rejoinAfterMs=n=>e.rejoinAfterMs?e.rejoinAfterMs(n):[1e3,2e3,5e3][n-1]||1e4,this.reconnectAfterMs=n=>e.reconnectAfterMs?e.reconnectAfterMs(n):[10,50,100,150,200,250,500,1e3,2e3][n-1]||5e3,this.logger=e.logger||null,!this.logger&&e.debug&&(this.logger=(n,s,i)=>{console.log(`${n}: ${s}`,i)}),this.longpollerTimeout=e.longpollerTimeout||2e4,this.params=es(e.params||{}),this.endPoint=`${A}/${vc.websocket}`,this.vsn=e.vsn||$F,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Op(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{e.beforeReconnect&&await e.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=e.authToken}getLongPollTransport(){return Mr}replaceTransport(A){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=A}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let A=lo.appendParams(lo.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return A.charAt(0)!=="/"?A:A.charAt(1)==="/"?`${this.protocol()}:${A}`:`${this.protocol()}://${location.host}${A}`}disconnect(A,e,t){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,A&&A()},e,t)}connect(A){A&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=es(A)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Mr?this.connectWithFallback(Mr,this.longPollFallbackMs):this.transportConnect())}log(A,e,t){this.logger&&this.logger(A,e,t)}hasLogger(){return this.logger!==null}onOpen(A){let e=this.makeRef();return this.stateChangeCallbacks.open.push([e,A]),e}onClose(A){let e=this.makeRef();return this.stateChangeCallbacks.close.push([e,A]),e}onError(A){let e=this.makeRef();return this.stateChangeCallbacks.error.push([e,A]),e}onMessage(A){let e=this.makeRef();return this.stateChangeCallbacks.message.push([e,A]),e}onHeartbeat(A){this.heartbeatCallback=A}ping(A){if(!this.isConnected())return!1;let e=this.makeRef(),t=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:e});let r=this.onMessage(n=>{n.ref===e&&(this.off([r]),A(Date.now()-t))});return!0}transportName(A){switch(A){case Mr:return"LongPoll";default:return A.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let A;this.authToken&&(A=["phoenix",`${_c}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),A),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(A){return this.sessionStore&&this.sessionStore.getItem(A)}storeSession(A,e){this.sessionStore&&this.sessionStore.setItem(A,e)}connectWithFallback(A,e=2500){clearTimeout(this.fallbackTimer);let t=!1,r=!0,n,s,i=this.transportName(A),o=l=>{this.log("transport",`falling back to ${i}...`,l),this.off([n,s]),r=!1,this.replaceTransport(A),this.transportConnect()};if(this.getSession(`phx:fallback:${i}`))return o("memorized");this.fallbackTimer=setTimeout(o,e),s=this.onError(l=>{this.log("transport","error",l),r&&!t&&(clearTimeout(this.fallbackTimer),o(l))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(t=!0,!r){let l=this.transportName(A);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${l}`,"true"),this.log("transport",`established ${l} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(o,e),this.ping(l=>{this.log("transport","connected to primary after",l),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(A){this.log("error","error in heartbeat callback",A)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),qF,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(A,e,t){if(!this.conn)return A&&A();const r=this.conn;this.waitForBufferDone(r,()=>{e?r.close(e,t||""):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),A&&A()})})}waitForBufferDone(A,e,t=1){if(t===5||!A.bufferedAmount){e();return}setTimeout(()=>{this.waitForBufferDone(A,e,t+1)},150*t)}waitForSocketClosed(A,e,t=1){if(t===5||A.readyState===$t.closed){e();return}setTimeout(()=>{this.waitForSocketClosed(A,e,t+1)},150*t)}onConnClose(A){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",A),this.triggerChanError(A),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",A)}onConnError(A){this.hasLogger()&&this.log("transport","error",A);let e=this.transport,t=this.establishedConnections;this.triggerStateCallbacks("error",A,e,t),(e===this.transport||t>0)&&this.triggerChanError(A)}triggerChanError(A){this.channels.forEach(e=>{e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(nA.error,A)})}connectionState(){switch(this.conn&&this.conn.readyState){case $t.connecting:return"connecting";case $t.open:return"open";case $t.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(A){this.off(A.stateChangeRefs),this.channels=this.channels.filter(e=>e!==A)}off(A){for(let e in this.stateChangeCallbacks)this.stateChangeCallbacks[e]=this.stateChangeCallbacks[e].filter(([t])=>A.indexOf(t)===-1)}channel(A,e={}){let t=new XF(A,e,this);return this.channels.push(t),t}push(A){if(this.hasLogger()){let{topic:e,event:t,payload:r,ref:n,join_ref:s}=A;this.log("push",`${e} ${t} (${s}, ${n})`,r)}this.isConnected()?this.encode(A,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(A,e=>this.conn.send(e)))}makeRef(){let A=this.ref+1;return A===this.ref?this.ref=0:this.ref=A,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(A){this.log("error","error in heartbeat callback",A)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(A){this.log("error","error in heartbeat callback",A)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(A=>A()),this.sendBuffer=[])}onConnMessage(A){this.decode(A.data,e=>{let{topic:t,event:r,payload:n,ref:s,join_ref:i}=e;if(s&&s===this.pendingHeartbeatRef){const o=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(n.status==="ok"?"ok":"error",o)}catch(l){this.log("error","error in heartbeat callback",l)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${n.status||""} ${t} ${r} ${s&&"("+s+")"||""}`.trim(),n);for(let o=0;o<this.channels.length;o++){const l=this.channels[o];l.isMember(t,r,n,i)&&l.trigger(r,n,s,i)}this.triggerStateCallbacks("message",e)})}triggerStateCallbacks(A,...e){try{this.stateChangeCallbacks[A].forEach(([t,r])=>{try{r(...e)}catch(n){this.log("error",`error in ${A} callback`,n)}})}catch(t){this.log("error",`error triggering ${A} callbacks`,t)}}leaveOpenTopic(A){let e=this.channels.find(t=>t.topic===A&&(t.isJoined()||t.isJoining()));e&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${A}"`),e.leave())}};class ts{constructor(e,t){const r=tT(t);this.presence=new YF(e.getChannel(),r),this.presence.onJoin((n,s,i)=>{const o=ts.onJoinPayload(n,s,i);e.getChannel().trigger("presence",o)}),this.presence.onLeave((n,s,i)=>{const o=ts.onLeavePayload(n,s,i);e.getChannel().trigger("presence",o)}),this.presence.onSync(()=>{e.getChannel().trigger("presence",{event:"sync"})})}get state(){return ts.transformState(this.presence.state)}static transformState(e){return e=eT(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const n=e[r];return t[r]=uo(n),t},{})}static onJoinPayload(e,t,r){const n=Pp(t),s=uo(r);return{event:"join",key:e,currentPresences:n,newPresences:s}}static onLeavePayload(e,t,r){const n=Pp(t),s=uo(r);return{event:"leave",key:e,currentPresences:n,leftPresences:s}}}function uo(A){return A.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function eT(A){return JSON.parse(JSON.stringify(A))}function tT(A){return(A==null?void 0:A.events)&&{events:A.events}}function Pp(A){return A!=null&&A.metas?uo(A):[]}var Cc;(function(A){A.SYNC="sync",A.JOIN="join",A.LEAVE="leave"})(Cc||(Cc={}));class Np{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new ts(this.channel.channelAdapter,t)}}function AT(A){if(A instanceof Error)return A;if(typeof A=="string")return new Error(A);if(A&&typeof A=="object"){const e=A;if(typeof e.code=="number"){const t=typeof e.reason=="string"&&e.reason?` (${e.reason})`:"";return new Error(`socket closed: ${e.code}${t}`,{cause:A})}return new Error("channel error: transport failure",{cause:A})}return new Error("channel error: connection lost")}class rT{constructor(e,t,r){const n=nT(r);this.channel=e.getSocket().channel(t,n),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,r){let n;try{n=this.channel.push(e,t,r)}catch{throw new Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>DF){const s=this.channel.pushBuffer.shift();s.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${s.event}`,s.payload())}return n}updateJoinPayload(e){const t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===rA.joined}isJoined(){return this.state===rA.joined}isJoining(){return this.state===rA.joining}isClosed(){return this.state===rA.closed}isLeaving(){return this.state===rA.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}}function nT(A){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},A.config)}}var Ec;(function(A){A.ALL="*",A.INSERT="INSERT",A.UPDATE="UPDATE",A.DELETE="DELETE"})(Ec||(Ec={}));var Ar;(function(A){A.BROADCAST="broadcast",A.PRESENCE="presence",A.POSTGRES_CHANGES="postgres_changes",A.SYSTEM="system"})(Ar||(Ar={}));var Wt;(function(A){A.SUBSCRIBED="SUBSCRIBED",A.TIMED_OUT="TIMED_OUT",A.CLOSED="CLOSED",A.CHANNEL_ERROR="CHANNEL_ERROR"})(Wt||(Wt={}));const sT=rA;class Kr{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},r){var n,s;if(this.topic=e,this.params=t,this.socket=r,this.bindings={},this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},t.config),this.channelAdapter=new rT(this.socket.socketAdapter,e,this.params),this.presence=new Np(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Dp(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((s=(n=this.params.config)===null||n===void 0?void 0:n.broadcast)===null||s===void 0)&&s.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){var r,n,s;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:i,presence:o,private:l}}=this.params,c=(n=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(p=>p.filter))!==null&&n!==void 0?n:[],u=!!this.bindings[Ar.PRESENCE]&&this.bindings[Ar.PRESENCE].length>0||((s=this.params.config.presence)===null||s===void 0?void 0:s.enabled)===!0,d={},g={broadcast:i,presence:Object.assign(Object.assign({},o),{enabled:u}),postgres_changes:c,private:l};this.socket.accessTokenValue&&(d.access_token=this.socket.accessTokenValue),this._onError(p=>{e==null||e(Wt.CHANNEL_ERROR,AT(p))}),this._onClose(()=>e==null?void 0:e(Wt.CLOSED)),this.updateJoinPayload(Object.assign({config:g},d)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive("ok",async({postgres_changes:p})=>{if(this.socket._isManualToken()||this.socket.setAuth(),p===void 0){e==null||e(Wt.SUBSCRIBED);return}this._updatePostgresBindings(p,e)}).receive("error",p=>{this.state=rA.errored;const B=Object.values(p).join(", ")||"error";e==null||e(Wt.CHANNEL_ERROR,new Error(B,{cause:p}))}).receive("timeout",()=>{e==null||e(Wt.TIMED_OUT)})}return this}_updatePostgresBindings(e,t){var r;const n=this.bindings.postgres_changes,s=(r=n==null?void 0:n.length)!==null&&r!==void 0?r:0,i=[];for(let o=0;o<s;o++){const l=n[o],{filter:{event:c,schema:u,table:d,filter:g}}=l,p=e&&e[o];if(p&&p.event===c&&Kr.isFilterValueEqual(p.schema,u)&&Kr.isFilterValueEqual(p.table,d)&&Kr.isFilterValueEqual(p.filter,g))i.push(Object.assign(Object.assign({},l),{id:p.id}));else{this.unsubscribe(),this.state=rA.errored,t==null||t(Wt.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=i,this.state!=rA.errored&&t&&t(Wt.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,t,r){const n=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),s=e===Ar.PRESENCE||e===Ar.POSTGRES_CHANGES;if(n&&s)throw this.socket.log("channel",`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,r)}async httpSend(e,t,r={}){var n;if(t==null)return Promise.reject(new Error("Payload is required for httpSend()"));const s=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":s?"application/octet-stream":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const o=new URL(this.broadcastEndpointURL);o.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&o.searchParams.set("private","true");const l={method:"POST",headers:i,body:s?t:JSON.stringify(t)},c=await this._fetchWithTimeout(o.toString(),l,(n=r.timeout)!==null&&n!==void 0?n:this.timeout);if(c.status===202)return{success:!0};if(c.status===404)return Promise.reject(new Error("httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md"));let u=c.statusText;try{const d=await c.json();u=d.error||d.message||u}catch{}return Promise.reject(new Error(u))}async send(e,t={}){var r,n;if(!this.channelAdapter.canPush()&&e.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:s,payload:i}=e,o={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(o.Authorization=`Bearer ${this.socket.accessTokenValue}`);const l={method:"POST",headers:o,body:JSON.stringify({messages:[{topic:this.subTopic,event:s,payload:i,private:this.private}]})};try{const c=await this._fetchWithTimeout(this.broadcastEndpointURL,l,(r=t.timeout)!==null&&r!==void 0?r:this.timeout);return await((n=c.body)===null||n===void 0?void 0:n.cancel()),c.ok?"ok":"error"}catch(c){return c instanceof Error&&c.name==="AbortError"?"timed out":"error"}}else return new Promise(s=>{var i,o,l;const c=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type==="broadcast"&&!(!((l=(o=(i=this.params)===null||i===void 0?void 0:i.config)===null||o===void 0?void 0:o.broadcast)===null||l===void 0)&&l.ack)&&s("ok"),c.receive("ok",()=>s("ok")),c.receive("error",()=>s("error")),c.receive("timeout",()=>s("timed out"))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive("ok",()=>t("ok")).receive("timeout",()=>t("timed out")).receive("error",()=>t("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,r){const n=new AbortController,s=setTimeout(()=>n.abort(),r),i=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:n.signal}));return clearTimeout(s),i}_on(e,t,r){const n=e.toLocaleLowerCase(),s=this.channelAdapter.on(e,r),i={type:n,filter:t,callback:r,ref:s};return this.bindings[n]?this.bindings[n].push(i):this.bindings[n]=[i],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,r)=>{var n,s,i,o,l,c,u;const d=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(d,r))return!1;const g=(n=this.bindings[d])===null||n===void 0?void 0:n.find(p=>p.ref===e.ref);if(!g)return!0;if(["broadcast","presence","postgres_changes"].includes(d))if("id"in g){const p=g.id,B=(s=g.filter)===null||s===void 0?void 0:s.event;return p&&((i=t.ids)===null||i===void 0?void 0:i.includes(p))&&(B==="*"||(B==null?void 0:B.toLocaleLowerCase())===((o=t.data)===null||o===void 0?void 0:o.type.toLocaleLowerCase()))}else{const p=(c=(l=g==null?void 0:g.filter)===null||l===void 0?void 0:l.event)===null||c===void 0?void 0:c.toLocaleLowerCase();return p==="*"||p===((u=t==null?void 0:t.event)===null||u===void 0?void 0:u.toLocaleLowerCase())}else return g.type.toLocaleLowerCase()===d})}_notThisChannelEvent(e,t){const{close:r,error:n,leave:s,join:i}=kp;return t&&[r,n,s,i].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,r)=>{if(typeof t=="object"&&"ids"in t){const n=t.data,{schema:s,table:i,commit_timestamp:o,type:l,errors:c}=n;return Object.assign(Object.assign({},{schema:s,table:i,commit_timestamp:o,eventType:l,new:{},old:{},errors:c}),this._getPayloadRecords(n))}return t})}copyBindings(e){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const t in e.bindings)for(const r of e.bindings[t])this._on(r.type,r.filter,r.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=Hp(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=Hp(e.columns,e.old_record)),t}}class iT{constructor(e,t){this.socket=new ZF(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,r,n=1e4){return new Promise(s=>{setTimeout(()=>s("timeout"),n),this.socket.disconnect(()=>{e(),s("ok")},t,r)})}push(e){this.socket.push(e)}log(e,t,r){this.socket.log(e,t,r)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==mc.connecting}isDisconnecting(){return this.socket.connectionState()==mc.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Vp={HEARTBEAT_INTERVAL:25e3},oT=[1e3,2e3,5e3,1e4],aT=1e4;function lT(){const A=new Map;return{get length(){return A.size},clear(){A.clear()},getItem(e){return A.has(e)?A.get(e):null},key(e){var t;return(t=Array.from(A.keys())[e])!==null&&t!==void 0?t:null},removeItem(e){A.delete(e)},setItem(e,t){A.set(e,String(t))}}}function cT(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return lT()}const uT=`
|
|
2999
|
+
Suggested solution: ${e.workaround}`),new Error(t)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return e.type==="native"||e.type==="ws"}catch{return!1}}}const RF="realtime-js/2.108.2",xF="1.0.0",xp="2.0.0",kF=xp,HF=1e4,LF=100,rA={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},kp={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},mc={connecting:"connecting",closing:"closing",closed:"closed"};class DF{constructor(e){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=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return t(this._binaryEncodeUserBroadcastPush(e));let r=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(r))}_binaryEncodeUserBroadcastPush(e){var t;return this._isArrayBuffer((t=e.payload)===null||t===void 0?void 0:t.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var t,r;const n=(r=(t=e.payload)===null||t===void 0?void 0:t.payload)!==null&&r!==void 0?r:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,n)}_encodeJsonUserBroadcastPush(e){var t,r;const n=(r=(t=e.payload)===null||t===void 0?void 0:t.payload)!==null&&r!==void 0?r:{},i=new TextEncoder().encode(JSON.stringify(n)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,i)}_encodeUserBroadcastPush(e,t,r){var n,s;const i=e.topic,o=(n=e.ref)!==null&&n!==void 0?n:"",l=(s=e.join_ref)!==null&&s!==void 0?s:"",c=e.payload.event,u=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},d=Object.keys(u).length===0?"":JSON.stringify(u);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(i.length>255)throw new Error(`topic length ${i.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`userEvent length ${c.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`metadata length ${d.length} exceeds maximum of 255`);const g=this.USER_BROADCAST_PUSH_META_LENGTH+l.length+o.length+i.length+c.length+d.length,p=new ArrayBuffer(this.HEADER_LENGTH+g);let B=new DataView(p),C=0;B.setUint8(C++,this.KINDS.userBroadcastPush),B.setUint8(C++,l.length),B.setUint8(C++,o.length),B.setUint8(C++,i.length),B.setUint8(C++,c.length),B.setUint8(C++,d.length),B.setUint8(C++,t),Array.from(l,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(o,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(i,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(c,I=>B.setUint8(C++,I.charCodeAt(0))),Array.from(d,I=>B.setUint8(C++,I.charCodeAt(0)));var E=new Uint8Array(p.byteLength+r.byteLength);return E.set(new Uint8Array(p),0),E.set(new Uint8Array(r),p.byteLength),E.buffer}decode(e,t){if(this._isArrayBuffer(e)){let r=this._binaryDecode(e);return t(r)}if(typeof e=="string"){const r=JSON.parse(e),[n,s,i,o,l]=r;return t({join_ref:n,ref:s,topic:i,event:o,payload:l})}return t({})}_binaryDecode(e){const t=new DataView(e),r=t.getUint8(0),n=new TextDecoder;switch(r){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,n)}}_decodeUserBroadcast(e,t,r){const n=t.getUint8(1),s=t.getUint8(2),i=t.getUint8(3),o=t.getUint8(4);let l=this.HEADER_LENGTH+4;const c=r.decode(e.slice(l,l+n));l=l+n;const u=r.decode(e.slice(l,l+s));l=l+s;const d=r.decode(e.slice(l,l+i));l=l+i;const g=e.slice(l,e.byteLength),p=o===this.JSON_ENCODING?JSON.parse(r.decode(g)):g,B={type:this.BROADCAST_EVENT,event:u,payload:p};return i>0&&(B.meta=JSON.parse(d)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:B}}_isArrayBuffer(e){var t;return e instanceof ArrayBuffer||((t=e==null?void 0:e.constructor)===null||t===void 0?void 0:t.name)==="ArrayBuffer"}_pick(e,t){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([r])=>t.includes(r)))}}var ae;(function(A){A.abstime="abstime",A.bool="bool",A.date="date",A.daterange="daterange",A.float4="float4",A.float8="float8",A.int2="int2",A.int4="int4",A.int4range="int4range",A.int8="int8",A.int8range="int8range",A.json="json",A.jsonb="jsonb",A.money="money",A.numeric="numeric",A.oid="oid",A.reltime="reltime",A.text="text",A.time="time",A.timestamp="timestamp",A.timestamptz="timestamptz",A.timetz="timetz",A.tsrange="tsrange",A.tstzrange="tstzrange"})(ae||(ae={}));const Hp=(A,e,t={})=>{var r;const n=(r=t.skipTypes)!==null&&r!==void 0?r:[];return e?Object.keys(e).reduce((s,i)=>(s[i]=OF(i,A,e,n),s),{}):{}},OF=(A,e,t,r)=>{const n=e.find(o=>o.name===A),s=n==null?void 0:n.type,i=t[A];return s&&!r.includes(s)?Lp(s,i):yc(i)},Lp=(A,e)=>{if(A.charAt(0)==="_"){const t=A.slice(1,A.length);return MF(e,t)}switch(A){case ae.bool:return PF(e);case ae.float4:case ae.float8:case ae.int2:case ae.int4:case ae.int8:case ae.numeric:case ae.oid:return NF(e);case ae.json:case ae.jsonb:return VF(e);case ae.timestamp:return KF(e);case ae.abstime:case ae.date:case ae.daterange:case ae.int4range:case ae.int8range:case ae.money:case ae.reltime:case ae.text:case ae.time:case ae.timestamptz:case ae.timetz:case ae.tsrange:case ae.tstzrange:return yc(e);default:return yc(e)}},yc=A=>A,PF=A=>{switch(A){case"t":return!0;case"f":return!1;default:return A}},NF=A=>{if(typeof A=="string"){const e=parseFloat(A);if(!Number.isNaN(e))return e}return A},VF=A=>{if(typeof A=="string")try{return JSON.parse(A)}catch{return A}return A},MF=(A,e)=>{if(typeof A!="string")return A;const t=A.length-1,r=A[t];if(A[0]==="{"&&r==="}"){let s;const i=A.slice(1,t);try{s=JSON.parse("["+i+"]")}catch{s=i?i.split(","):[]}return s.map(o=>Lp(e,o))}return A},KF=A=>typeof A=="string"?A.replace(" ","T"):A,Dp=A=>{const e=new URL(A);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};var es=A=>typeof A=="function"?A:function(){return A},GF=typeof self<"u"?self:null,Vr=typeof window<"u"?window:null,jt=GF||Vr||globalThis,jF="2.0.0",$F=1e4,WF=1e3,$t={connecting:0,open:1,closing:2,closed:3},ot={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},nA={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},vc={longpoll:"longpoll",websocket:"websocket"},qF={complete:4},_c="base64url.bearer.phx.",ao=class{constructor(A,e,t,r){this.channel=A,this.event=e,this.payload=t||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(A){this.timeout=A,this.reset(),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()}))}receive(A,e){return this.hasReceived(A)&&e(this.receivedResp.response),this.recHooks.push({status:A,callback:e}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:A,response:e,_ref:t}){this.recHooks.filter(r=>r.status===A).forEach(r=>r.callback(e))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,A=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=A,this.matchReceive(A)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(A){return this.receivedResp&&this.receivedResp.status===A}trigger(A,e){this.channel.trigger(this.refEvent,{status:A,response:e})}},Op=class{constructor(A,e){this.callback=A,this.timerCalc=e,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},JF=class{constructor(A,e,t){this.state=ot.closed,this.topic=A,this.params=es(e||{}),this.socket=t,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new ao(this,nA.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Op(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=ot.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(r=>r.send()),this.pushBuffer=[]}),this.joinPush.receive("error",r=>{this.state=ot.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=ot.closed,this.socket.remove(this)}),this.onError(r=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.isJoining()&&this.joinPush.reset(),this.state=ot.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new ao(this,nA.leave,es({}),this.timeout).send(),this.state=ot.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(nA.reply,(r,n)=>{this.trigger(this.replyEventName(n),r)})}join(A=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=A,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(A=>A.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=ot.closed,this.bindings=[]}onClose(A){this.on(nA.close,A)}onError(A){return this.on(nA.error,e=>A(e))}on(A,e){let t=this.bindingRef++;return this.bindings.push({event:A,ref:t,callback:e}),t}off(A,e){this.bindings=this.bindings.filter(t=>!(t.event===A&&(typeof e>"u"||e===t.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(A,e,t=this.timeout){if(e=e||{},!this.joinedOnce)throw new Error(`tried to push '${A}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new ao(this,A,function(){return e},t);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(A=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=ot.leaving;let e=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(nA.close,"leave")},t=new ao(this,nA.leave,es({}),A);return t.receive("ok",()=>e()).receive("timeout",()=>e()),t.send(),this.canPush()||t.trigger("ok",{}),t}onMessage(A,e,t){return e}filterBindings(A,e,t){return!0}isMember(A,e,t,r){return this.topic!==A?!1:r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:A,event:e,payload:t,joinRef:r}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(A=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=ot.joining,this.joinPush.resend(A))}trigger(A,e,t,r){let n=this.onMessage(A,e,t,r);if(e&&!n)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let s=this.bindings.filter(i=>i.event===A&&this.filterBindings(i,e,t));for(let i=0;i<s.length;i++)s[i].callback(n,t,r||this.joinRef())}replyEventName(A){return`chan_reply_${A}`}isClosed(){return this.state===ot.closed}isErrored(){return this.state===ot.errored}isJoined(){return this.state===ot.joined}isJoining(){return this.state===ot.joining}isLeaving(){return this.state===ot.leaving}},lo=class{static request(A,e,t,r,n,s,i){if(jt.XDomainRequest){let o=new jt.XDomainRequest;return this.xdomainRequest(o,A,e,r,n,s,i)}else if(jt.XMLHttpRequest){let o=new jt.XMLHttpRequest;return this.xhrRequest(o,A,e,t,r,n,s,i)}else{if(jt.fetch&&jt.AbortController)return this.fetchRequest(A,e,t,r,n,s,i);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(A,e,t,r,n,s,i){let o={method:A,headers:t,body:r},l=null;return n&&(l=new AbortController,setTimeout(()=>l.abort(),n),o.signal=l.signal),jt.fetch(e,o).then(c=>c.text()).then(c=>this.parseJSON(c)).then(c=>i&&i(c)).catch(c=>{c.name==="AbortError"&&s?s():i&&i(null)}),l}static xdomainRequest(A,e,t,r,n,s,i){return A.timeout=n,A.open(e,t),A.onload=()=>{let o=this.parseJSON(A.responseText);i&&i(o)},s&&(A.ontimeout=s),A.onprogress=()=>{},A.send(r),A}static xhrRequest(A,e,t,r,n,s,i,o){A.open(e,t,!0),A.timeout=s;for(let[l,c]of Object.entries(r))A.setRequestHeader(l,c);return A.onerror=()=>o&&o(null),A.onreadystatechange=()=>{if(A.readyState===qF.complete&&o){let l=this.parseJSON(A.responseText);o(l)}},i&&(A.ontimeout=i),A.send(n),A}static parseJSON(A){if(!A||A==="")return null;try{return JSON.parse(A)}catch{return console&&console.log("failed to parse JSON response",A),null}}static serialize(A,e){let t=[];for(var r in A){if(!Object.prototype.hasOwnProperty.call(A,r))continue;let n=e?`${e}[${r}]`:r,s=A[r];typeof s=="object"?t.push(this.serialize(s,n)):t.push(encodeURIComponent(n)+"="+encodeURIComponent(s))}return t.join("&")}static appendParams(A,e){if(Object.keys(e).length===0)return A;let t=A.match(/\?/)?"&":"?";return`${A}${t}${this.serialize(e)}`}},XF=A=>{let e="",t=new Uint8Array(A),r=t.byteLength;for(let n=0;n<r;n++)e+=String.fromCharCode(t[n]);return btoa(e)},Mr=class{constructor(A,e){e&&e.length===2&&e[1].startsWith(_c)&&(this.authToken=atob(e[1].slice(_c.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(A),this.readyState=$t.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(A){return A.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+vc.websocket),"$1/"+vc.longpoll)}endpointURL(){return lo.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(A,e,t){this.close(A,e,t),this.readyState=$t.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===$t.open||this.readyState===$t.connecting}poll(){const A={Accept:"application/json"};this.authToken&&(A["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",A,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:r,messages:n}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=r}else t=0;switch(t){case 200:n.forEach(s=>{setTimeout(()=>this.onmessage({data:s}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=$t.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${t}`)}})}send(A){typeof A!="string"&&(A=XF(A)),this.currentBatch?this.currentBatch.push(A):this.awaitingBatchAck?this.batchBuffer.push(A):(this.currentBatch=[A],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(A){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},A.join(`
|
|
3000
|
+
`),()=>this.onerror("timeout"),e=>{this.awaitingBatchAck=!1,!e||e.status!==200?(this.onerror(e&&e.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(A,e,t){for(let n of this.reqs)n.abort();this.readyState=$t.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:A,reason:e,wasClean:t});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",r)):this.onclose(r)}ajax(A,e,t,r,n){let s,i=()=>{this.reqs.delete(s),r()};s=lo.request(A,this.endpointURL(),e,t,this.timeout,i,o=>{this.reqs.delete(s),this.isActive()&&n(o)}),this.reqs.add(s)}},zF=class Is{constructor(e,t={}){let r=t.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=e,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,n=>{let{onJoin:s,onLeave:i,onSync:o}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Is.syncState(this.state,n,s,i),this.pendingDiffs.forEach(l=>{this.state=Is.syncDiff(this.state,l,s,i)}),this.pendingDiffs=[],o()}),this.channel.on(r.diff,n=>{let{onJoin:s,onLeave:i,onSync:o}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(n):(this.state=Is.syncDiff(this.state,n,s,i),o())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(e){return Is.list(this.state,e)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,r,n){let s=this.clone(e),i={},o={};return this.map(s,(l,c)=>{t[l]||(o[l]=c)}),this.map(t,(l,c)=>{let u=s[l];if(u){let d=c.metas.map(C=>C.phx_ref),g=u.metas.map(C=>C.phx_ref),p=c.metas.filter(C=>g.indexOf(C.phx_ref)<0),B=u.metas.filter(C=>d.indexOf(C.phx_ref)<0);p.length>0&&(i[l]=c,i[l].metas=p),B.length>0&&(o[l]=this.clone(u),o[l].metas=B)}else i[l]=c}),this.syncDiff(s,{joins:i,leaves:o},r,n)}static syncDiff(e,t,r,n){let{joins:s,leaves:i}=this.clone(t);return r||(r=function(){}),n||(n=function(){}),this.map(s,(o,l)=>{let c=e[o];if(e[o]=this.clone(l),c){let u=e[o].metas.map(g=>g.phx_ref),d=c.metas.filter(g=>u.indexOf(g.phx_ref)<0);e[o].metas.unshift(...d)}r(o,c,l)}),this.map(i,(o,l)=>{let c=e[o];if(!c)return;let u=l.metas.map(d=>d.phx_ref);c.metas=c.metas.filter(d=>u.indexOf(d.phx_ref)<0),n(o,c,l),c.metas.length===0&&delete e[o]}),e}static list(e,t){return t||(t=function(r,n){return n}),this.map(e,(r,n)=>t(r,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static clone(e){return JSON.parse(JSON.stringify(e))}},co={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(A,e){if(A.payload.constructor===ArrayBuffer)return e(this.binaryEncode(A));{let t=[A.join_ref,A.ref,A.topic,A.event,A.payload];return e(JSON.stringify(t))}},decode(A,e){if(A.constructor===ArrayBuffer)return e(this.binaryDecode(A));{let[t,r,n,s,i]=JSON.parse(A);return e({join_ref:t,ref:r,topic:n,event:s,payload:i})}},binaryEncode(A){let{join_ref:e,ref:t,event:r,topic:n,payload:s}=A,i=this.META_LENGTH+e.length+t.length+n.length+r.length,o=new ArrayBuffer(this.HEADER_LENGTH+i),l=new DataView(o),c=0;l.setUint8(c++,this.KINDS.push),l.setUint8(c++,e.length),l.setUint8(c++,t.length),l.setUint8(c++,n.length),l.setUint8(c++,r.length),Array.from(e,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(t,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(n,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(r,d=>l.setUint8(c++,d.charCodeAt(0)));var u=new Uint8Array(o.byteLength+s.byteLength);return u.set(new Uint8Array(o),0),u.set(new Uint8Array(s),o.byteLength),u.buffer},binaryDecode(A){let e=new DataView(A),t=e.getUint8(0),r=new TextDecoder;switch(t){case this.KINDS.push:return this.decodePush(A,e,r);case this.KINDS.reply:return this.decodeReply(A,e,r);case this.KINDS.broadcast:return this.decodeBroadcast(A,e,r)}},decodePush(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=e.getUint8(3),i=this.HEADER_LENGTH+this.META_LENGTH-1,o=t.decode(A.slice(i,i+r));i=i+r;let l=t.decode(A.slice(i,i+n));i=i+n;let c=t.decode(A.slice(i,i+s));i=i+s;let u=A.slice(i,A.byteLength);return{join_ref:o,ref:null,topic:l,event:c,payload:u}},decodeReply(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=e.getUint8(3),i=e.getUint8(4),o=this.HEADER_LENGTH+this.META_LENGTH,l=t.decode(A.slice(o,o+r));o=o+r;let c=t.decode(A.slice(o,o+n));o=o+n;let u=t.decode(A.slice(o,o+s));o=o+s;let d=t.decode(A.slice(o,o+i));o=o+i;let g=A.slice(o,A.byteLength),p={status:d,response:g};return{join_ref:l,ref:c,topic:u,event:nA.reply,payload:p}},decodeBroadcast(A,e,t){let r=e.getUint8(1),n=e.getUint8(2),s=this.HEADER_LENGTH+2,i=t.decode(A.slice(s,s+r));s=s+r;let o=t.decode(A.slice(s,s+n));s=s+n;let l=A.slice(s,A.byteLength);return{join_ref:null,ref:null,topic:i,event:o,payload:l}}},YF=class{constructor(A,e={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=e.timeout||$F,this.transport=e.transport||jt.WebSocket||Mr,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=e.longPollFallbackMs,this.fallbackTimer=null;let t=null;try{t=jt&&jt.sessionStorage}catch{}this.sessionStore=e.sessionStorage||t,this.establishedConnections=0,this.defaultEncoder=co.encode.bind(co),this.defaultDecoder=co.decode.bind(co),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=e.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Mr?(this.encode=e.encode||this.defaultEncoder,this.decode=e.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let r=null;Vr&&Vr.addEventListener&&(Vr.addEventListener("pagehide",n=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Vr.addEventListener("pageshow",n=>{r===this.connectClock&&(r=null,this.connect())}),Vr.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=e.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=e.autoSendHeartbeat??!0,this.heartbeatCallback=e.heartbeatCallback??(()=>{}),this.rejoinAfterMs=n=>e.rejoinAfterMs?e.rejoinAfterMs(n):[1e3,2e3,5e3][n-1]||1e4,this.reconnectAfterMs=n=>e.reconnectAfterMs?e.reconnectAfterMs(n):[10,50,100,150,200,250,500,1e3,2e3][n-1]||5e3,this.logger=e.logger||null,!this.logger&&e.debug&&(this.logger=(n,s,i)=>{console.log(`${n}: ${s}`,i)}),this.longpollerTimeout=e.longpollerTimeout||2e4,this.params=es(e.params||{}),this.endPoint=`${A}/${vc.websocket}`,this.vsn=e.vsn||jF,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Op(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{e.beforeReconnect&&await e.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=e.authToken}getLongPollTransport(){return Mr}replaceTransport(A){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=A}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let A=lo.appendParams(lo.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return A.charAt(0)!=="/"?A:A.charAt(1)==="/"?`${this.protocol()}:${A}`:`${this.protocol()}://${location.host}${A}`}disconnect(A,e,t){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,A&&A()},e,t)}connect(A){A&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=es(A)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Mr?this.connectWithFallback(Mr,this.longPollFallbackMs):this.transportConnect())}log(A,e,t){this.logger&&this.logger(A,e,t)}hasLogger(){return this.logger!==null}onOpen(A){let e=this.makeRef();return this.stateChangeCallbacks.open.push([e,A]),e}onClose(A){let e=this.makeRef();return this.stateChangeCallbacks.close.push([e,A]),e}onError(A){let e=this.makeRef();return this.stateChangeCallbacks.error.push([e,A]),e}onMessage(A){let e=this.makeRef();return this.stateChangeCallbacks.message.push([e,A]),e}onHeartbeat(A){this.heartbeatCallback=A}ping(A){if(!this.isConnected())return!1;let e=this.makeRef(),t=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:e});let r=this.onMessage(n=>{n.ref===e&&(this.off([r]),A(Date.now()-t))});return!0}transportName(A){switch(A){case Mr:return"LongPoll";default:return A.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let A;this.authToken&&(A=["phoenix",`${_c}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),A),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(A){return this.sessionStore&&this.sessionStore.getItem(A)}storeSession(A,e){this.sessionStore&&this.sessionStore.setItem(A,e)}connectWithFallback(A,e=2500){clearTimeout(this.fallbackTimer);let t=!1,r=!0,n,s,i=this.transportName(A),o=l=>{this.log("transport",`falling back to ${i}...`,l),this.off([n,s]),r=!1,this.replaceTransport(A),this.transportConnect()};if(this.getSession(`phx:fallback:${i}`))return o("memorized");this.fallbackTimer=setTimeout(o,e),s=this.onError(l=>{this.log("transport","error",l),r&&!t&&(clearTimeout(this.fallbackTimer),o(l))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(t=!0,!r){let l=this.transportName(A);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${l}`,"true"),this.log("transport",`established ${l} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(o,e),this.ping(l=>{this.log("transport","connected to primary after",l),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(A){this.log("error","error in heartbeat callback",A)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),WF,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(A,e,t){if(!this.conn)return A&&A();const r=this.conn;this.waitForBufferDone(r,()=>{e?r.close(e,t||""):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),A&&A()})})}waitForBufferDone(A,e,t=1){if(t===5||!A.bufferedAmount){e();return}setTimeout(()=>{this.waitForBufferDone(A,e,t+1)},150*t)}waitForSocketClosed(A,e,t=1){if(t===5||A.readyState===$t.closed){e();return}setTimeout(()=>{this.waitForSocketClosed(A,e,t+1)},150*t)}onConnClose(A){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",A),this.triggerChanError(A),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",A)}onConnError(A){this.hasLogger()&&this.log("transport","error",A);let e=this.transport,t=this.establishedConnections;this.triggerStateCallbacks("error",A,e,t),(e===this.transport||t>0)&&this.triggerChanError(A)}triggerChanError(A){this.channels.forEach(e=>{e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(nA.error,A)})}connectionState(){switch(this.conn&&this.conn.readyState){case $t.connecting:return"connecting";case $t.open:return"open";case $t.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(A){this.off(A.stateChangeRefs),this.channels=this.channels.filter(e=>e!==A)}off(A){for(let e in this.stateChangeCallbacks)this.stateChangeCallbacks[e]=this.stateChangeCallbacks[e].filter(([t])=>A.indexOf(t)===-1)}channel(A,e={}){let t=new JF(A,e,this);return this.channels.push(t),t}push(A){if(this.hasLogger()){let{topic:e,event:t,payload:r,ref:n,join_ref:s}=A;this.log("push",`${e} ${t} (${s}, ${n})`,r)}this.isConnected()?this.encode(A,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(A,e=>this.conn.send(e)))}makeRef(){let A=this.ref+1;return A===this.ref?this.ref=0:this.ref=A,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(A){this.log("error","error in heartbeat callback",A)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(A){this.log("error","error in heartbeat callback",A)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(A=>A()),this.sendBuffer=[])}onConnMessage(A){this.decode(A.data,e=>{let{topic:t,event:r,payload:n,ref:s,join_ref:i}=e;if(s&&s===this.pendingHeartbeatRef){const o=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(n.status==="ok"?"ok":"error",o)}catch(l){this.log("error","error in heartbeat callback",l)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${n.status||""} ${t} ${r} ${s&&"("+s+")"||""}`.trim(),n);for(let o=0;o<this.channels.length;o++){const l=this.channels[o];l.isMember(t,r,n,i)&&l.trigger(r,n,s,i)}this.triggerStateCallbacks("message",e)})}triggerStateCallbacks(A,...e){try{this.stateChangeCallbacks[A].forEach(([t,r])=>{try{r(...e)}catch(n){this.log("error",`error in ${A} callback`,n)}})}catch(t){this.log("error",`error triggering ${A} callbacks`,t)}}leaveOpenTopic(A){let e=this.channels.find(t=>t.topic===A&&(t.isJoined()||t.isJoining()));e&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${A}"`),e.leave())}};class ts{constructor(e,t){const r=eT(t);this.presence=new zF(e.getChannel(),r),this.presence.onJoin((n,s,i)=>{const o=ts.onJoinPayload(n,s,i);e.getChannel().trigger("presence",o)}),this.presence.onLeave((n,s,i)=>{const o=ts.onLeavePayload(n,s,i);e.getChannel().trigger("presence",o)}),this.presence.onSync(()=>{e.getChannel().trigger("presence",{event:"sync"})})}get state(){return ts.transformState(this.presence.state)}static transformState(e){return e=ZF(e),Object.getOwnPropertyNames(e).reduce((t,r)=>{const n=e[r];return t[r]=uo(n),t},{})}static onJoinPayload(e,t,r){const n=Pp(t),s=uo(r);return{event:"join",key:e,currentPresences:n,newPresences:s}}static onLeavePayload(e,t,r){const n=Pp(t),s=uo(r);return{event:"leave",key:e,currentPresences:n,leftPresences:s}}}function uo(A){return A.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function ZF(A){return JSON.parse(JSON.stringify(A))}function eT(A){return(A==null?void 0:A.events)&&{events:A.events}}function Pp(A){return A!=null&&A.metas?uo(A):[]}var Cc;(function(A){A.SYNC="sync",A.JOIN="join",A.LEAVE="leave"})(Cc||(Cc={}));class Np{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new ts(this.channel.channelAdapter,t)}}function tT(A){if(A instanceof Error)return A;if(typeof A=="string")return new Error(A);if(A&&typeof A=="object"){const e=A;if(typeof e.code=="number"){const t=typeof e.reason=="string"&&e.reason?` (${e.reason})`:"";return new Error(`socket closed: ${e.code}${t}`,{cause:A})}return new Error("channel error: transport failure",{cause:A})}return new Error("channel error: connection lost")}class AT{constructor(e,t,r){const n=rT(r);this.channel=e.getSocket().channel(t,n),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,r){let n;try{n=this.channel.push(e,t,r)}catch{throw new Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>LF){const s=this.channel.pushBuffer.shift();s.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${s.event}`,s.payload())}return n}updateJoinPayload(e){const t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===rA.joined}isJoined(){return this.state===rA.joined}isJoining(){return this.state===rA.joining}isClosed(){return this.state===rA.closed}isLeaving(){return this.state===rA.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}}function rT(A){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},A.config)}}var Ec;(function(A){A.ALL="*",A.INSERT="INSERT",A.UPDATE="UPDATE",A.DELETE="DELETE"})(Ec||(Ec={}));var Ar;(function(A){A.BROADCAST="broadcast",A.PRESENCE="presence",A.POSTGRES_CHANGES="postgres_changes",A.SYSTEM="system"})(Ar||(Ar={}));var Wt;(function(A){A.SUBSCRIBED="SUBSCRIBED",A.TIMED_OUT="TIMED_OUT",A.CLOSED="CLOSED",A.CHANNEL_ERROR="CHANNEL_ERROR"})(Wt||(Wt={}));const nT=rA;class Kr{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},r){var n,s;if(this.topic=e,this.params=t,this.socket=r,this.bindings={},this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},t.config),this.channelAdapter=new AT(this.socket.socketAdapter,e,this.params),this.presence=new Np(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Dp(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((s=(n=this.params.config)===null||n===void 0?void 0:n.broadcast)===null||s===void 0)&&s.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){var r,n,s;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:i,presence:o,private:l}}=this.params,c=(n=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(p=>p.filter))!==null&&n!==void 0?n:[],u=!!this.bindings[Ar.PRESENCE]&&this.bindings[Ar.PRESENCE].length>0||((s=this.params.config.presence)===null||s===void 0?void 0:s.enabled)===!0,d={},g={broadcast:i,presence:Object.assign(Object.assign({},o),{enabled:u}),postgres_changes:c,private:l};this.socket.accessTokenValue&&(d.access_token=this.socket.accessTokenValue),this._onError(p=>{e==null||e(Wt.CHANNEL_ERROR,tT(p))}),this._onClose(()=>e==null?void 0:e(Wt.CLOSED)),this.updateJoinPayload(Object.assign({config:g},d)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive("ok",async({postgres_changes:p})=>{if(this.socket._isManualToken()||this.socket.setAuth(),p===void 0){e==null||e(Wt.SUBSCRIBED);return}this._updatePostgresBindings(p,e)}).receive("error",p=>{this.state=rA.errored;const B=Object.values(p).join(", ")||"error";e==null||e(Wt.CHANNEL_ERROR,new Error(B,{cause:p}))}).receive("timeout",()=>{e==null||e(Wt.TIMED_OUT)})}return this}_updatePostgresBindings(e,t){var r;const n=this.bindings.postgres_changes,s=(r=n==null?void 0:n.length)!==null&&r!==void 0?r:0,i=[];for(let o=0;o<s;o++){const l=n[o],{filter:{event:c,schema:u,table:d,filter:g}}=l,p=e&&e[o];if(p&&p.event===c&&Kr.isFilterValueEqual(p.schema,u)&&Kr.isFilterValueEqual(p.table,d)&&Kr.isFilterValueEqual(p.filter,g))i.push(Object.assign(Object.assign({},l),{id:p.id}));else{this.unsubscribe(),this.state=rA.errored,t==null||t(Wt.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=i,this.state!=rA.errored&&t&&t(Wt.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,t,r){const n=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),s=e===Ar.PRESENCE||e===Ar.POSTGRES_CHANGES;if(n&&s)throw this.socket.log("channel",`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,r)}async httpSend(e,t,r={}){var n;if(t==null)return Promise.reject(new Error("Payload is required for httpSend()"));const s=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":s?"application/octet-stream":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const o=new URL(this.broadcastEndpointURL);o.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&o.searchParams.set("private","true");const l={method:"POST",headers:i,body:s?t:JSON.stringify(t)},c=await this._fetchWithTimeout(o.toString(),l,(n=r.timeout)!==null&&n!==void 0?n:this.timeout);if(c.status===202)return{success:!0};if(c.status===404)return Promise.reject(new Error("httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md"));let u=c.statusText;try{const d=await c.json();u=d.error||d.message||u}catch{}return Promise.reject(new Error(u))}async send(e,t={}){var r,n;if(!this.channelAdapter.canPush()&&e.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:s,payload:i}=e,o={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(o.Authorization=`Bearer ${this.socket.accessTokenValue}`);const l={method:"POST",headers:o,body:JSON.stringify({messages:[{topic:this.subTopic,event:s,payload:i,private:this.private}]})};try{const c=await this._fetchWithTimeout(this.broadcastEndpointURL,l,(r=t.timeout)!==null&&r!==void 0?r:this.timeout);return await((n=c.body)===null||n===void 0?void 0:n.cancel()),c.ok?"ok":"error"}catch(c){return c instanceof Error&&c.name==="AbortError"?"timed out":"error"}}else return new Promise(s=>{var i,o,l;const c=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type==="broadcast"&&!(!((l=(o=(i=this.params)===null||i===void 0?void 0:i.config)===null||o===void 0?void 0:o.broadcast)===null||l===void 0)&&l.ack)&&s("ok"),c.receive("ok",()=>s("ok")),c.receive("error",()=>s("error")),c.receive("timeout",()=>s("timed out"))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive("ok",()=>t("ok")).receive("timeout",()=>t("timed out")).receive("error",()=>t("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,r){const n=new AbortController,s=setTimeout(()=>n.abort(),r),i=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:n.signal}));return clearTimeout(s),i}_on(e,t,r){const n=e.toLocaleLowerCase(),s=this.channelAdapter.on(e,r),i={type:n,filter:t,callback:r,ref:s};return this.bindings[n]?this.bindings[n].push(i):this.bindings[n]=[i],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,r)=>{var n,s,i,o,l,c,u;const d=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(d,r))return!1;const g=(n=this.bindings[d])===null||n===void 0?void 0:n.find(p=>p.ref===e.ref);if(!g)return!0;if(["broadcast","presence","postgres_changes"].includes(d))if("id"in g){const p=g.id,B=(s=g.filter)===null||s===void 0?void 0:s.event;return p&&((i=t.ids)===null||i===void 0?void 0:i.includes(p))&&(B==="*"||(B==null?void 0:B.toLocaleLowerCase())===((o=t.data)===null||o===void 0?void 0:o.type.toLocaleLowerCase()))}else{const p=(c=(l=g==null?void 0:g.filter)===null||l===void 0?void 0:l.event)===null||c===void 0?void 0:c.toLocaleLowerCase();return p==="*"||p===((u=t==null?void 0:t.event)===null||u===void 0?void 0:u.toLocaleLowerCase())}else return g.type.toLocaleLowerCase()===d})}_notThisChannelEvent(e,t){const{close:r,error:n,leave:s,join:i}=kp;return t&&[r,n,s,i].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,r)=>{if(typeof t=="object"&&"ids"in t){const n=t.data,{schema:s,table:i,commit_timestamp:o,type:l,errors:c}=n;return Object.assign(Object.assign({},{schema:s,table:i,commit_timestamp:o,eventType:l,new:{},old:{},errors:c}),this._getPayloadRecords(n))}return t})}copyBindings(e){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const t in e.bindings)for(const r of e.bindings[t])this._on(r.type,r.filter,r.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}_getPayloadRecords(e){const t={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(t.new=Hp(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(t.old=Hp(e.columns,e.old_record)),t}}class sT{constructor(e,t){this.socket=new YF(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,r,n=1e4){return new Promise(s=>{setTimeout(()=>s("timeout"),n),this.socket.disconnect(()=>{e(),s("ok")},t,r)})}push(e){this.socket.push(e)}log(e,t,r){this.socket.log(e,t,r)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==mc.connecting}isDisconnecting(){return this.socket.connectionState()==mc.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Vp={HEARTBEAT_INTERVAL:25e3},iT=[1e3,2e3,5e3,1e4],oT=1e4;function aT(){const A=new Map;return{get length(){return A.size},clear(){A.clear()},getItem(e){return A.has(e)?A.get(e):null},key(e){var t;return(t=Array.from(A.keys())[e])!==null&&t!==void 0?t:null},removeItem(e){A.delete(e)},setItem(e,t){A.set(e,String(t))}}}function lT(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return aT()}const cT=`
|
|
3001
3001
|
addEventListener("message", (e) => {
|
|
3002
3002
|
if (e.data.event === "start") {
|
|
3003
3003
|
setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
|
|
3004
3004
|
}
|
|
3005
|
-
});`;class Mp{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){var r;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new
|
|
3005
|
+
});`;class Mp{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){var r;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new DF,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=s=>s?(...i)=>s(...i):(...i)=>fetch(...i),!(!((r=t==null?void 0:t.params)===null||r===void 0)&&r.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=t.params.apikey;const n=this._initializeOptions(t);this.socketAdapter=new sT(e,n),this.httpEndpoint=Dp(e),this.fetch=this._resolveFetch(t==null?void 0:t.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){const t=e.message;throw t.includes("Node.js")?new Error(`${t}
|
|
3006
3006
|
|
|
3007
3007
|
To use Realtime in Node.js, you need to provide a WebSocket implementation:
|
|
3008
3008
|
|
|
@@ -3015,8 +3015,8 @@ Option 2: Install and provide the "ws" package:
|
|
|
3015
3015
|
const client = new RealtimeClient(url, {
|
|
3016
3016
|
...options,
|
|
3017
3017
|
transport: ws
|
|
3018
|
-
})`):new Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){const t=await e.unsubscribe();return t==="ok"&&e.teardown(),t}async removeAllChannels(){const e=this.channels.map(async r=>{const n=await r.unsubscribe();return r.teardown(),n}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,r){this.socketAdapter.log(e,t,r)}connectionState(){return this.socketAdapter.connectionState()||mc.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){const r=`realtime:${e}`,n=this.getChannels().find(s=>s.topic===r);if(n)return n;{const s=new Kr(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(s),s}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e=null){let t,r=!1;if(e)t=e,r=!0;else if(this.accessToken)try{t=await this.accessToken()}catch(n){this.log("error","Error fetching access token from callback",n),t=this.accessTokenValue}else t=this.accessTokenValue;r?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=t&&(this.accessTokenValue=t,this.channels.forEach(n=>{const s={access_token:t,version:xF};t&&n.updateJoinPayload(s),n.joinedOnce&&n.channelAdapter.isJoined()&&n.channelAdapter.push(kp.access_token,{access_token:t})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this._isManualToken()||this.setAuth().catch(t=>{this.log("error",`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(t=>{this.log("error","error waiting for auth on connect",t)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,r)=>{t=="sent"&&this._setAuthSafely(),e&&e(t,r)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=t=>{this.log("worker","worker error",t.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=t=>{t.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{const r=new Blob([uT],{type:"application/javascript"});t=URL.createObjectURL(r)}return t}_initializeOptions(e){var t,r,n,s,i,o,l,c,u,d,g,p;this.worker=(t=e==null?void 0:e.worker)!==null&&t!==void 0?t:!1,this.accessToken=(r=e==null?void 0:e.accessToken)!==null&&r!==void 0?r:null;const B={};B.timeout=(n=e==null?void 0:e.timeout)!==null&&n!==void 0?n:LF,B.heartbeatIntervalMs=(s=e==null?void 0:e.heartbeatIntervalMs)!==null&&s!==void 0?s:Vp.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(i=e==null?void 0:e.disconnectOnEmptyChannelsAfterMs)!==null&&i!==void 0?i:2*((o=e==null?void 0:e.heartbeatIntervalMs)!==null&&o!==void 0?o:Vp.HEARTBEAT_INTERVAL),B.transport=(l=e==null?void 0:e.transport)!==null&&l!==void 0?l:Rp.getWebSocketConstructor(),B.params=e==null?void 0:e.params,B.logger=e==null?void 0:e.logger,B.heartbeatCallback=this._wrapHeartbeatCallback(e==null?void 0:e.heartbeatCallback),B.sessionStorage=(c=e==null?void 0:e.sessionStorage)!==null&&c!==void 0?c:cT(),B.reconnectAfterMs=(u=e==null?void 0:e.reconnectAfterMs)!==null&&u!==void 0?u:Q=>oT[Q-1]||aT;let C,E;const I=(d=e==null?void 0:e.vsn)!==null&&d!==void 0?d:HF;switch(I){case kF:C=(Q,S)=>S(JSON.stringify(Q)),E=(Q,S)=>S(JSON.parse(Q));break;case xp:C=this.serializer.encode.bind(this.serializer),E=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${B.vsn}`)}if(B.vsn=I,B.encode=(g=e==null?void 0:e.encode)!==null&&g!==void 0?g:C,B.decode=(p=e==null?void 0:e.decode)!==null&&p!==void 0?p:E,B.beforeReconnect=this._reconnectAuth.bind(this),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,B.params=Object.assign(Object.assign({},B.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl,B.autoSendHeartbeat=!this.worker}return B}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var As=class extends Error{constructor(A,e){var t;super(A),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((t=e.icebergType)==null?void 0:t.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function hT(A,e,t){const r=new URL(e,A);if(t)for(const[n,s]of Object.entries(t))s!==void 0&&r.searchParams.set(n,s);return r.toString()}async function dT(A){return!A||A.type==="none"?{}:A.type==="bearer"?{Authorization:`Bearer ${A.token}`}:A.type==="header"?{[A.name]:A.value}:A.type==="custom"?await A.getHeaders():{}}function fT(A){const e=A.fetchImpl??globalThis.fetch;return{async request({method:t,path:r,query:n,body:s,headers:i}){const o=hT(A.baseUrl,r,n),l=await dT(A.auth),c=await e(o,{method:t,headers:{...s?{"Content-Type":"application/json"}:{},...l,...i},body:s?JSON.stringify(s):void 0}),u=await c.text(),d=(c.headers.get("content-type")||"").includes("application/json"),g=d&&u?JSON.parse(u):u;if(!c.ok){const p=d?g:void 0,B=p==null?void 0:p.error;throw new As((B==null?void 0:B.message)??`Request failed with status ${c.status}`,{status:c.status,icebergType:B==null?void 0:B.type,icebergCode:B==null?void 0:B.code,details:p})}return{status:c.status,headers:c.headers,data:g}}}}function ho(A){return A.join("")}var gT=class{constructor(A,e=""){this.client=A,this.prefix=e}async listNamespaces(A){const e=A?{parent:ho(A.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(r=>({namespace:r}))}async createNamespace(A,e){const t={namespace:A.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:t})).data}async dropNamespace(A){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${ho(A.namespace)}`})}async loadNamespaceMetadata(A){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${ho(A.namespace)}`})).data.properties}}async namespaceExists(A){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${ho(A.namespace)}`}),!0}catch(e){if(e instanceof As&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(A,e){try{return await this.createNamespace(A,e)}catch(t){if(t instanceof As&&t.status===409)return;throw t}}};function Gr(A){return A.join("")}var pT=class{constructor(A,e="",t){this.client=A,this.prefix=e,this.accessDelegation=t}async listTables(A){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables`})).data.identifiers}async createTable(A,e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables`,body:e,headers:t})).data.metadata}async updateTable(A,e){const t=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,body:e});return{"metadata-location":t.data["metadata-location"],metadata:t.data.metadata}}async dropTable(A,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(A){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,headers:e})).data.metadata}async tableExists(A){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,headers:e}),!0}catch(t){if(t instanceof As&&t.status===404)return!1;throw t}}async createTableIfNotExists(A,e){try{return await this.createTable(A,e)}catch(t){if(t instanceof As&&t.status===409)return await this.loadTable({namespace:A.namespace,name:e.name});throw t}}},wT=class{constructor(A){var r;let e="v1";A.catalogName&&(e+=`/${A.catalogName}`);const t=A.baseUrl.endsWith("/")?A.baseUrl:`${A.baseUrl}/`;this.client=fT({baseUrl:t,auth:A.auth,fetchImpl:A.fetch}),this.accessDelegation=(r=A.accessDelegation)==null?void 0:r.join(","),this.namespaceOps=new gT(this.client,e),this.tableOps=new pT(this.client,e,this.accessDelegation)}async listNamespaces(A){return this.namespaceOps.listNamespaces(A)}async createNamespace(A,e){return this.namespaceOps.createNamespace(A,e)}async dropNamespace(A){await this.namespaceOps.dropNamespace(A)}async loadNamespaceMetadata(A){return this.namespaceOps.loadNamespaceMetadata(A)}async listTables(A){return this.tableOps.listTables(A)}async createTable(A,e){return this.tableOps.createTable(A,e)}async updateTable(A,e){return this.tableOps.updateTable(A,e)}async dropTable(A,e){await this.tableOps.dropTable(A,e)}async loadTable(A){return this.tableOps.loadTable(A)}async namespaceExists(A){return this.namespaceOps.namespaceExists(A)}async tableExists(A){return this.tableOps.tableExists(A)}async createNamespaceIfNotExists(A,e){return this.namespaceOps.createNamespaceIfNotExists(A,e)}async createTableIfNotExists(A,e){return this.tableOps.createTableIfNotExists(A,e)}};function rs(A){"@babel/helpers - typeof";return rs=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},rs(A)}function BT(A,e){if(rs(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function mT(A){var e=BT(A,"string");return rs(e)=="symbol"?e:e+""}function yT(A,e,t){return(e=mT(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function Kp(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function $(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kp(Object(t),!0).forEach(function(r){yT(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):Kp(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}var fo=class extends Error{constructor(A,e="storage",t,r){super(A),this.__isStorageError=!0,this.namespace=e,this.name=e==="vectors"?"StorageVectorsError":"StorageError",this.status=t,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function go(A){return typeof A=="object"&&A!==null&&"__isStorageError"in A}var po=class extends fo{constructor(A,e,t,r="storage"){super(A,r,e,t),this.name=r==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=e,this.statusCode=t}toJSON(){return $({},super.toJSON())}},Gp=class extends fo{constructor(A,e,t="storage"){super(A,t),this.name=t==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=e}};function wo(A,e,t){const r=$({},A),n=e.toLowerCase();for(const s of Object.keys(r))s.toLowerCase()===n&&delete r[s];return r[n]=t,r}function vT(A){const e={};for(const[t,r]of Object.entries(A))e[t.toLowerCase()]=r;return e}const _T=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),CT=A=>{if(typeof A!="object"||A===null)return!1;const e=Object.getPrototypeOf(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in A)&&!(Symbol.iterator in A)},bc=A=>{if(Array.isArray(A))return A.map(t=>bc(t));if(typeof A=="function"||A!==Object(A))return A;const e={};return Object.entries(A).forEach(([t,r])=>{const n=t.replace(/([-_][a-z])/gi,s=>s.toUpperCase().replace(/[-_]/g,""));e[n]=bc(r)}),e},ET=A=>!A||typeof A!="string"||A.length===0||A.length>100||A.trim()!==A||A.includes("/")||A.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(A),jp=A=>{if(typeof A=="object"&&A!==null){const e=A;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error;if(typeof e.error=="object"&&e.error!==null){const t=e.error;if(typeof t.message=="string")return t.message}}return JSON.stringify(A)},bT=async(A,e,t,r)=>{if(A!==null&&typeof A=="object"&&"json"in A&&typeof A.json=="function"){const n=A;let s=parseInt(String(n.status),10);Number.isFinite(s)||(s=500),n.json().then(i=>{const o=(i==null?void 0:i.statusCode)||(i==null?void 0:i.code)||s+"";e(new po(jp(i),s,o,r))}).catch(()=>{const i=s+"";e(new po(n.statusText||`HTTP ${s} error`,s,i,r))})}else e(new Gp(jp(A),A,r))},UT=(A,e,t,r)=>{const n={method:A,headers:(e==null?void 0:e.headers)||{}};if(A==="GET"||A==="HEAD"||!r)return $($({},n),t);if(CT(r)){var s;const i=(e==null?void 0:e.headers)||{};let o;for(const[l,c]of Object.entries(i))l.toLowerCase()==="content-type"&&(o=c);n.headers=wo(i,"Content-Type",(s=o)!==null&&s!==void 0?s:"application/json"),n.body=JSON.stringify(r)}else n.body=r;return e!=null&&e.duplex&&(n.duplex=e.duplex),$($({},n),t)};async function ns(A,e,t,r,n,s,i){return new Promise((o,l)=>{A(t,UT(e,r,n,s)).then(c=>{if(!c.ok)throw c;if(r!=null&&r.noResolveJson)return c;if(i==="vectors"){const u=c.headers.get("content-type");if(c.headers.get("content-length")==="0"||c.status===204)return{};if(!u||!u.includes("application/json"))return{}}return c.json()}).then(c=>o(c)).catch(c=>bT(c,l,r,i))})}function $p(A="storage"){return{get:async(e,t,r,n)=>ns(e,"GET",t,r,n,void 0,A),post:async(e,t,r,n,s)=>ns(e,"POST",t,n,s,r,A),put:async(e,t,r,n,s)=>ns(e,"PUT",t,n,s,r,A),head:async(e,t,r,n)=>ns(e,"HEAD",t,$($({},r),{},{noResolveJson:!0}),n,void 0,A),remove:async(e,t,r,n,s)=>ns(e,"DELETE",t,n,s,r,A)}}const QT=$p("storage"),{get:ss,post:Tt,put:Uc,head:IT,remove:Qc}=QT,dt=$p("vectors");var jr=class{constructor(A,e={},t,r="storage"){this.shouldThrowOnError=!1,this.url=A,this.headers=vT(e),this.fetch=_T(t),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(A,e){return this.headers=wo(this.headers,A,e),this}async handleOperation(A){var e=this;try{return{data:await A(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(go(t))return{data:null,error:t};throw t}}};let Wp;Wp=Symbol.toStringTag;var FT=class{constructor(A,e){this.downloadFn=A,this.shouldThrowOnError=e,this[Wp]="StreamDownloadBuilder",this.promise=null}then(A,e){return this.getPromise().then(A,e)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var A=this;try{return{data:(await A.downloadFn()).body,error:null}}catch(e){if(A.shouldThrowOnError)throw e;if(go(e))return{data:null,error:e};throw e}}};let qp;qp=Symbol.toStringTag;var TT=class{constructor(A,e){this.downloadFn=A,this.shouldThrowOnError=e,this[qp]="BlobDownloadBuilder",this.promise=null}asStream(){return new FT(this.downloadFn,this.shouldThrowOnError)}then(A,e){return this.getPromise().then(A,e)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var A=this;try{return{data:await(await A.downloadFn()).blob(),error:null}}catch(e){if(A.shouldThrowOnError)throw e;if(go(e))return{data:null,error:e};throw e}}};const ST={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Jp={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var RT=class extends jr{constructor(A,e={},t,r){super(A,e,r,"storage"),this.bucketId=t}async uploadOrUpdate(A,e,t,r){var n=this;return n.handleOperation(async()=>{let s;const i=$($({},Jp),r);let o=$($({},n.headers),A==="POST"&&{"x-upsert":String(i.upsert)});const l=i.metadata;if(typeof Blob<"u"&&t instanceof Blob?(s=new FormData,s.append("cacheControl",i.cacheControl),l&&s.append("metadata",n.encodeMetadata(l)),s.append("",t)):typeof FormData<"u"&&t instanceof FormData?(s=t,s.has("cacheControl")||s.append("cacheControl",i.cacheControl),l&&!s.has("metadata")&&s.append("metadata",n.encodeMetadata(l))):(s=t,o["cache-control"]=`max-age=${i.cacheControl}`,o["content-type"]=i.contentType,l&&(o["x-metadata"]=n.toBase64(n.encodeMetadata(l))),(typeof ReadableStream<"u"&&s instanceof ReadableStream||s&&typeof s=="object"&&"pipe"in s&&typeof s.pipe=="function")&&!i.duplex&&(i.duplex="half")),r!=null&&r.headers)for(const[g,p]of Object.entries(r.headers))o=wo(o,g,p);const c=n._removeEmptyFolders(e),u=n._getFinalPath(c),d=await(A=="PUT"?Uc:Tt)(n.fetch,`${n.url}/object/${u}`,s,$({headers:o},i!=null&&i.duplex?{duplex:i.duplex}:{}));return{path:c,id:d.Id,fullPath:d.Key}})}async upload(A,e,t){return this.uploadOrUpdate("POST",A,e,t)}async uploadToSignedUrl(A,e,t,r){var n=this;const s=n._removeEmptyFolders(A),i=n._getFinalPath(s),o=new URL(n.url+`/object/upload/sign/${i}`);return o.searchParams.set("token",e),n.handleOperation(async()=>{let l;const c=$($({},Jp),r);let u=$($({},n.headers),{"x-upsert":String(c.upsert)});const d=c.metadata;if(typeof Blob<"u"&&t instanceof Blob?(l=new FormData,l.append("cacheControl",c.cacheControl),d&&l.append("metadata",n.encodeMetadata(d)),l.append("",t)):typeof FormData<"u"&&t instanceof FormData?(l=t,l.has("cacheControl")||l.append("cacheControl",c.cacheControl),d&&!l.has("metadata")&&l.append("metadata",n.encodeMetadata(d))):(l=t,u["cache-control"]=`max-age=${c.cacheControl}`,u["content-type"]=c.contentType,d&&(u["x-metadata"]=n.toBase64(n.encodeMetadata(d))),(typeof ReadableStream<"u"&&l instanceof ReadableStream||l&&typeof l=="object"&&"pipe"in l&&typeof l.pipe=="function")&&!c.duplex&&(c.duplex="half")),r!=null&&r.headers)for(const[g,p]of Object.entries(r.headers))u=wo(u,g,p);return{path:s,fullPath:(await Uc(n.fetch,o.toString(),l,$({headers:u},c!=null&&c.duplex?{duplex:c.duplex}:{}))).Key}})}async createSignedUploadUrl(A,e){var t=this;return t.handleOperation(async()=>{let r=t._getFinalPath(A);const n=$({},t.headers);e!=null&&e.upsert&&(n["x-upsert"]="true");const s=await Tt(t.fetch,`${t.url}/object/upload/sign/${r}`,{},{headers:n}),i=new URL(t.url+s.url),o=i.searchParams.get("token");if(!o)throw new fo("No token returned by API");return{signedUrl:i.toString(),path:A,token:o}})}async update(A,e,t){return this.uploadOrUpdate("PUT",A,e,t)}async move(A,e,t){var r=this;return r.handleOperation(async()=>await Tt(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:r.headers}))}async copy(A,e,t){var r=this;return r.handleOperation(async()=>({path:(await Tt(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(A,e,t){var r=this;return r.handleOperation(async()=>{let n=r._getFinalPath(A);const s=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0;let i=await Tt(r.fetch,`${r.url}/object/sign/${n}`,$({expiresIn:e},s?{transform:t.transform}:{}),{headers:r.headers});const o=new URLSearchParams;t!=null&&t.download&&o.set("download",t.download===!0?"":t.download),(t==null?void 0:t.cacheNonce)!=null&&o.set("cacheNonce",String(t.cacheNonce));const l=o.toString();return{signedUrl:encodeURI(`${r.url}${i.signedURL}${l?`&${l}`:""}`)}})}async createSignedUrls(A,e,t){var r=this;return r.handleOperation(async()=>{const n=await Tt(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:e,paths:A},{headers:r.headers}),s=new URLSearchParams;t!=null&&t.download&&s.set("download",t.download===!0?"":t.download),(t==null?void 0:t.cacheNonce)!=null&&s.set("cacheNonce",String(t.cacheNonce));const i=s.toString();return n.map(o=>$($({},o),{},{signedUrl:o.signedURL?encodeURI(`${r.url}${o.signedURL}${i?`&${i}`:""}`):null}))})}download(A,e,t){const r=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image/authenticated":"object",n=new URLSearchParams;e!=null&&e.transform&&this.applyTransformOptsToQuery(n,e.transform),(e==null?void 0:e.cacheNonce)!=null&&n.set("cacheNonce",String(e.cacheNonce));const s=n.toString(),i=this._getFinalPath(A),o=()=>ss(this.fetch,`${this.url}/${r}/${i}${s?`?${s}`:""}`,{headers:this.headers,noResolveJson:!0},t);return new TT(o,this.shouldThrowOnError)}async info(A){var e=this;const t=e._getFinalPath(A);return e.handleOperation(async()=>bc(await ss(e.fetch,`${e.url}/object/info/${t}`,{headers:e.headers})))}async exists(A){var e=this;const t=e._getFinalPath(A);try{return await IT(e.fetch,`${e.url}/object/${t}`,{headers:e.headers}),{data:!0,error:null}}catch(n){if(e.shouldThrowOnError)throw n;if(go(n)){var r;const s=n instanceof po?n.status:n instanceof Gp?(r=n.originalError)===null||r===void 0?void 0:r.status:void 0;if(s!==void 0&&[400,404].includes(s))return{data:!1,error:n}}throw n}}getPublicUrl(A,e){const t=this._getFinalPath(A),r=new URLSearchParams;e!=null&&e.download&&r.set("download",e.download===!0?"":e.download),e!=null&&e.transform&&this.applyTransformOptsToQuery(r,e.transform),(e==null?void 0:e.cacheNonce)!=null&&r.set("cacheNonce",String(e.cacheNonce));const n=r.toString(),s=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${s}/public/${t}`)+(n?`?${n}`:"")}}}async remove(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/object/${e.bucketId}`,{prefixes:A},{headers:e.headers}))}async list(A,e,t){var r=this;return r.handleOperation(async()=>{const n=$($($({},ST),e),{},{prefix:A||""});return await Tt(r.fetch,`${r.url}/object/list/${r.bucketId}`,n,{headers:r.headers},t)})}async listV2(A,e){var t=this;return t.handleOperation(async()=>{const r=$({},A);return await Tt(t.fetch,`${t.url}/object/list-v2/${t.bucketId}`,r,{headers:t.headers},e)})}encodeMetadata(A){return JSON.stringify(A)}toBase64(A){return typeof Buffer<"u"?Buffer.from(A).toString("base64"):btoa(A)}_getFinalPath(A){return`${this.bucketId}/${A.replace(/^\/+/,"")}`}_removeEmptyFolders(A){return A.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(A,e){return e.width&&A.set("width",e.width.toString()),e.height&&A.set("height",e.height.toString()),e.resize&&A.set("resize",e.resize),e.format&&A.set("format",e.format),e.quality&&A.set("quality",e.quality.toString()),A}};const is={"X-Client-Info":"storage-js/2.108.2"};var xT=class extends jr{constructor(A,e={},t,r){const n=new URL(A);r!=null&&r.useNewHostname&&/supabase\.(co|in|red)$/.test(n.hostname)&&!n.hostname.includes("storage.supabase.")&&(n.hostname=n.hostname.replace("supabase.","storage.supabase."));const s=n.href.replace(/\/$/,""),i=$($({},is),e);super(s,i,t,"storage")}async listBuckets(A){var e=this;return e.handleOperation(async()=>{const t=e.listBucketOptionsToQueryString(A);return await ss(e.fetch,`${e.url}/bucket${t}`,{headers:e.headers})})}async getBucket(A){var e=this;return e.handleOperation(async()=>await ss(e.fetch,`${e.url}/bucket/${A}`,{headers:e.headers}))}async createBucket(A,e={public:!1}){var t=this;return t.handleOperation(async()=>await Tt(t.fetch,`${t.url}/bucket`,{id:A,name:A,type:e.type,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:t.headers}))}async updateBucket(A,e){var t=this;return t.handleOperation(async()=>await Uc(t.fetch,`${t.url}/bucket/${A}`,{id:A,name:A,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:t.headers}))}async emptyBucket(A){var e=this;return e.handleOperation(async()=>await Tt(e.fetch,`${e.url}/bucket/${A}/empty`,{},{headers:e.headers}))}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/bucket/${A}`,{},{headers:e.headers}))}listBucketOptionsToQueryString(A){const e={};return A&&("limit"in A&&(e.limit=String(A.limit)),"offset"in A&&(e.offset=String(A.offset)),A.search&&(e.search=A.search),A.sortColumn&&(e.sortColumn=A.sortColumn),A.sortOrder&&(e.sortOrder=A.sortOrder)),Object.keys(e).length>0?"?"+new URLSearchParams(e).toString():""}},kT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),e);super(r,n,t,"storage")}async createBucket(A){var e=this;return e.handleOperation(async()=>await Tt(e.fetch,`${e.url}/bucket`,{name:A},{headers:e.headers}))}async listBuckets(A){var e=this;return e.handleOperation(async()=>{const t=new URLSearchParams;(A==null?void 0:A.limit)!==void 0&&t.set("limit",A.limit.toString()),(A==null?void 0:A.offset)!==void 0&&t.set("offset",A.offset.toString()),A!=null&&A.sortColumn&&t.set("sortColumn",A.sortColumn),A!=null&&A.sortOrder&&t.set("sortOrder",A.sortOrder),A!=null&&A.search&&t.set("search",A.search);const r=t.toString(),n=r?`${e.url}/bucket?${r}`:`${e.url}/bucket`;return await ss(e.fetch,n,{headers:e.headers})})}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/bucket/${A}`,{},{headers:e.headers}))}from(A){var e=this;if(!ET(A))throw new fo("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const t=new wT({baseUrl:this.url,catalogName:A,auth:{type:"custom",getHeaders:async()=>e.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(t,{get(n,s){const i=n[s];return typeof i!="function"?i:async(...o)=>{try{return{data:await i.apply(n,o),error:null}}catch(l){if(r)throw l;return{data:null,error:l}}}}})}},HT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async createIndex(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/CreateIndex`,A,{headers:e.headers})||{})}async getIndex(A,e){var t=this;return t.handleOperation(async()=>await dt.post(t.fetch,`${t.url}/GetIndex`,{vectorBucketName:A,indexName:e},{headers:t.headers}))}async listIndexes(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/ListIndexes`,A,{headers:e.headers}))}async deleteIndex(A,e){var t=this;return t.handleOperation(async()=>await dt.post(t.fetch,`${t.url}/DeleteIndex`,{vectorBucketName:A,indexName:e},{headers:t.headers})||{})}},LT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async putVectors(A){var e=this;if(A.vectors.length<1||A.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/PutVectors`,A,{headers:e.headers})||{})}async getVectors(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/GetVectors`,A,{headers:e.headers}))}async listVectors(A){var e=this;if(A.segmentCount!==void 0){if(A.segmentCount<1||A.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(A.segmentIndex!==void 0&&(A.segmentIndex<0||A.segmentIndex>=A.segmentCount))throw new Error(`segmentIndex must be between 0 and ${A.segmentCount-1}`)}return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/ListVectors`,A,{headers:e.headers}))}async queryVectors(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/QueryVectors`,A,{headers:e.headers}))}async deleteVectors(A){var e=this;if(A.keys.length<1||A.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/DeleteVectors`,A,{headers:e.headers})||{})}},DT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async createBucket(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/CreateVectorBucket`,{vectorBucketName:A},{headers:e.headers})||{})}async getBucket(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/GetVectorBucket`,{vectorBucketName:A},{headers:e.headers}))}async listBuckets(A={}){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/ListVectorBuckets`,A,{headers:e.headers}))}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await dt.post(e.fetch,`${e.url}/DeleteVectorBucket`,{vectorBucketName:A},{headers:e.headers})||{})}},OT=class extends DT{constructor(A,e={}){super(A,e.headers||{},e.fetch)}from(A){return new PT(this.url,this.headers,A,this.fetch)}async createBucket(A){var e=()=>super.createBucket,t=this;return e().call(t,A)}async getBucket(A){var e=()=>super.getBucket,t=this;return e().call(t,A)}async listBuckets(A={}){var e=()=>super.listBuckets,t=this;return e().call(t,A)}async deleteBucket(A){var e=()=>super.deleteBucket,t=this;return e().call(t,A)}},PT=class extends HT{constructor(A,e,t,r){super(A,e,r),this.vectorBucketName=t}async createIndex(A){var e=()=>super.createIndex,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName}))}async listIndexes(A={}){var e=()=>super.listIndexes,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName}))}async getIndex(A){var e=()=>super.getIndex,t=this;return e().call(t,t.vectorBucketName,A)}async deleteIndex(A){var e=()=>super.deleteIndex,t=this;return e().call(t,t.vectorBucketName,A)}index(A){return new NT(this.url,this.headers,this.vectorBucketName,A,this.fetch)}},NT=class extends LT{constructor(A,e,t,r,n){super(A,e,n),this.vectorBucketName=t,this.indexName=r}async putVectors(A){var e=()=>super.putVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async getVectors(A){var e=()=>super.getVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async listVectors(A={}){var e=()=>super.listVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async queryVectors(A){var e=()=>super.queryVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async deleteVectors(A){var e=()=>super.deleteVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}},VT=class extends xT{constructor(A,e={},t,r){super(A,e,t,r)}from(A){return new RT(this.url,this.headers,A,this.fetch)}get vectors(){return new OT(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new kT(this.url+"/iceberg",this.headers,this.fetch)}};const Xp="2.108.2",sA=30*1e3,os=3,Ic=os*sA,MT=2*sA,KT="http://localhost:9999",GT="supabase.auth.token",jT={"X-Client-Info":`gotrue-js/${Xp}`},Fc="X-Supabase-Api-Version",zp={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},$T=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,WT=10*60*1e3;class $r extends Error{constructor(e,t,r){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t,this.code=r}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function P(A){return typeof A=="object"&&A!==null&&"__isAuthError"in A}class Yp extends $r{constructor(e,t,r){super(e,t,r),this.name="AuthApiError",this.status=t,this.code=r}}function Zp(A){return P(A)&&A.name==="AuthApiError"}class _t extends $r{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class St extends $r{constructor(e,t,r,n){super(e,r,n),this.name=t,this.status=r}}class Te extends St{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function as(A){return P(A)&&A.name==="AuthSessionMissingError"}class rr extends St{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class ls extends St{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class cs extends St{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function ew(A){return P(A)&&A.name==="AuthImplicitGrantRedirectError"}class Tc extends St{constructor(e,t=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class tw extends St{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}function qT(A){return P(A)&&A.name==="AuthPKCECodeVerifierMissingError"}class Bo extends St{constructor(e,t){super(e,"AuthRetryableFetchError",t,void 0)}}function Sc(A){return P(A)&&A.name==="AuthRetryableFetchError"}class Rc extends St{constructor(e="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(e,"AuthRefreshDiscardedError",409,void 0)}}function Aw(A){return P(A)&&A.name==="AuthRefreshDiscardedError"}class xc extends St{constructor(e,t,r){super(e,"AuthWeakPasswordError",t,"weak_password"),this.reasons=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}function JT(A){return P(A)&&A.name==="AuthWeakPasswordError"}class us extends St{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const mo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),rw=`
|
|
3019
|
-
\r=`.split(""),XT=(()=>{const A=new Array(128);for(let e=0;e<A.length;e+=1)A[e]=-1;for(let e=0;e<rw.length;e+=1)A[rw[e].charCodeAt(0)]=-2;for(let e=0;e<mo.length;e+=1)A[mo[e].charCodeAt(0)]=e;return A})();function nw(A,e,t){if(A!==null)for(e.queue=e.queue<<8|A,e.queuedBits+=8;e.queuedBits>=6;){const r=e.queue>>e.queuedBits-6&63;t(mo[r]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const r=e.queue>>e.queuedBits-6&63;t(mo[r]),e.queuedBits-=6}}function sw(A,e,t){const r=XT[A];if(r>-1)for(e.queue=e.queue<<6|r,e.queuedBits+=6;e.queuedBits>=8;)t(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(r===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(A)}"`)}}function iw(A){const e=[],t=i=>{e.push(String.fromCodePoint(i))},r={utf8seq:0,codepoint:0},n={queue:0,queuedBits:0},s=i=>{ZT(i,r,t)};for(let i=0;i<A.length;i+=1)sw(A.charCodeAt(i),n,s);return e.join("")}function zT(A,e){if(A<=127){e(A);return}else if(A<=2047){e(192|A>>6),e(128|A&63);return}else if(A<=65535){e(224|A>>12),e(128|A>>6&63),e(128|A&63);return}else if(A<=1114111){e(240|A>>18),e(128|A>>12&63),e(128|A>>6&63),e(128|A&63);return}throw new Error(`Unrecognized Unicode codepoint: ${A.toString(16)}`)}function YT(A,e){for(let t=0;t<A.length;t+=1){let r=A.charCodeAt(t);if(r>55295&&r<=56319){const n=(r-55296)*1024&65535;r=(A.charCodeAt(t+1)-56320&65535|n)+65536,t+=1}zT(r,e)}}function ZT(A,e,t){if(e.utf8seq===0){if(A<=127){t(A);return}for(let r=1;r<6;r+=1)if(!(A>>7-r&1)){e.utf8seq=r;break}if(e.utf8seq===2)e.codepoint=A&31;else if(e.utf8seq===3)e.codepoint=A&15;else if(e.utf8seq===4)e.codepoint=A&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(A<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|A&63,e.utf8seq-=1,e.utf8seq===0&&t(e.codepoint)}}function Wr(A){const e=[],t={queue:0,queuedBits:0},r=n=>{e.push(n)};for(let n=0;n<A.length;n+=1)sw(A.charCodeAt(n),t,r);return new Uint8Array(e)}function eS(A){const e=[];return YT(A,t=>e.push(t)),new Uint8Array(e)}function nr(A){const e=[],t={queue:0,queuedBits:0},r=n=>{e.push(n)};return A.forEach(n=>nw(n,t,r)),nw(null,t,r),e.join("")}function tS(A){return Math.round(Date.now()/1e3)+A}function AS(){return Symbol("auth-callback")}const je=()=>typeof window<"u"&&typeof document<"u",sr={tested:!1,writable:!1},ow=()=>{if(!je())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(sr.tested)return sr.writable;const A=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(A,A),globalThis.localStorage.removeItem(A),sr.tested=!0,sr.writable=!0}catch{sr.tested=!0,sr.writable=!1}return sr.writable};function rS(A){const e={},t=new URL(A);if(t.hash&&t.hash[0]==="#")try{new URLSearchParams(t.hash.substring(1)).forEach((n,s)=>{e[s]=n})}catch{}return t.searchParams.forEach((r,n)=>{e[n]=r}),e}const aw=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),nS=A=>typeof A=="object"&&A!==null&&"status"in A&&"ok"in A&&"json"in A&&typeof A.json=="function",qr=async(A,e,t)=>{await A.setItem(e,JSON.stringify(t))},Rt=async(A,e)=>{const t=await A.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}},ye=async(A,e)=>{await A.removeItem(e)};class yo{constructor(){this.promise=new yo.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}yo.promiseConstructor=Promise;function vo(A){const e=A.split(".");if(e.length!==3)throw new us("Invalid JWT structure");for(let r=0;r<e.length;r++)if(!$T.test(e[r]))throw new us("JWT not in base64url format");return{header:JSON.parse(iw(e[0])),payload:JSON.parse(iw(e[1])),signature:Wr(e[2]),raw:{header:e[0],payload:e[1]}}}async function sS(A){return await new Promise(e=>{setTimeout(()=>e(null),A)})}function iS(A,e){return new Promise((r,n)=>{(async()=>{for(let s=0;s<1/0;s++)try{const i=await A(s);if(!e(s,null,i)){r(i);return}}catch(i){if(!e(s,i)){n(i);return}}})()})}function oS(A){return("0"+A.toString(16)).substr(-2)}function aS(){const e=new Uint32Array(56);if(typeof crypto>"u"){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=t.length;let n="";for(let s=0;s<56;s++)n+=t.charAt(Math.floor(Math.random()*r));return n}return crypto.getRandomValues(e),Array.from(e,oS).join("")}async function lS(A){const t=new TextEncoder().encode(A),r=await crypto.subtle.digest("SHA-256",t),n=new Uint8Array(r);return Array.from(n).map(s=>String.fromCharCode(s)).join("")}async function cS(A){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."),A;const t=await lS(A);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ir(A,e,t=!1){const r=aS();let n=r;t&&(n+="/recovery"),await qr(A,`${e}-code-verifier`,n);const s=await cS(r);return[s,r===s?"plain":"s256"]}const uS=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function hS(A){const e=A.headers.get(Fc);if(!e||!e.match(uS))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function dS(A){if(!A)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(A<=e)throw new Error("JWT has expired")}function fS(A){switch(A){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 gS=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function iA(A){if(!gS.test(A))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function xt(A){if(!A.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function kc(){const A={};return new Proxy(A,{get:(e,t)=>{if(t==="__isUserNotAvailableProxy")return!0;if(typeof t=="symbol"){const r=t.toString();if(r==="Symbol(Symbol.toPrimitive)"||r==="Symbol(Symbol.toStringTag)"||r==="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 "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function pS(A,e){return new Proxy(A,{get:(t,r,n)=>{if(r==="__isInsecureUserWarningProxy")return!0;if(typeof r=="symbol"){const s=r.toString();if(s==="Symbol(Symbol.toPrimitive)"||s==="Symbol(Symbol.toStringTag)"||s==="Symbol(util.inspect.custom)"||s==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(t,r,n)}return!e.value&&typeof r=="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."),e.value=!0),Reflect.get(t,r,n)}})}function lw(A){return JSON.parse(JSON.stringify(A))}const or=A=>{if(typeof A=="object"&&A!==null){const e=A;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error}return JSON.stringify(A)},wS=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function cw(A){var e;if(!nS(A))throw new Bo(or(A),0);if(wS.includes(A.status))throw new Bo(or(A),A.status);let t;try{t=await A.json()}catch(s){throw new _t(or(s),s)}let r;const n=hS(A);if(n&&n.getTime()>=zp["2024-01-01"].timestamp&&typeof t=="object"&&t&&typeof t.code=="string"?r=t.code:typeof t=="object"&&t&&typeof t.error_code=="string"&&(r=t.error_code),r){if(r==="weak_password")throw new xc(or(t),A.status,((e=t.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(r==="session_not_found")throw new Te}else if(typeof t=="object"&&t&&typeof t.weak_password=="object"&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((s,i)=>s&&typeof i=="string",!0))throw new xc(or(t),A.status,t.weak_password.reasons);throw new Yp(or(t),A.status||500,r)}const BS=(A,e,t,r)=>{const n={method:A,headers:(e==null?void 0:e.headers)||{}};return A==="GET"?n:(n.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),n.body=JSON.stringify(r),Object.assign(Object.assign({},n),t))};async function K(A,e,t,r){var n;const s=Object.assign({},r==null?void 0:r.headers);s[Fc]||(s[Fc]=zp["2024-01-01"].name),r!=null&&r.jwt&&(s.Authorization=`Bearer ${r.jwt}`);const i=(n=r==null?void 0:r.query)!==null&&n!==void 0?n:{};r!=null&&r.redirectTo&&(i.redirect_to=r.redirectTo);const o=Object.keys(i).length?"?"+new URLSearchParams(i).toString():"",l=await mS(A,e,t+o,{headers:s,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(l):{data:Object.assign({},l),error:null}}async function mS(A,e,t,r,n,s){const i=BS(e,r,n,s);let o;try{o=await A(t,Object.assign({},i))}catch(l){throw console.error(l),new Bo(or(l),0)}if(o.ok||await cw(o),r!=null&&r.noResolveJson)return o;try{return await o.json()}catch(l){await cw(l)}}function Ct(A){var e;let t=null;_S(A)&&(t=Object.assign({},A),A.expires_at||(t.expires_at=tS(A.expires_in)));const r=(e=A.user)!==null&&e!==void 0?e:typeof(A==null?void 0:A.id)=="string"?A:null;return{data:{session:t,user:r},error:null}}function uw(A){const e=Ct(A);return!e.error&&A.weak_password&&typeof A.weak_password=="object"&&Array.isArray(A.weak_password.reasons)&&A.weak_password.reasons.length&&A.weak_password.message&&typeof A.weak_password.message=="string"&&A.weak_password.reasons.reduce((t,r)=>t&&typeof r=="string",!0)&&(e.data.weak_password=A.weak_password),e}function RA(A){var e;return{data:{user:(e=A.user)!==null&&e!==void 0?e:A},error:null}}function yS(A){return{data:A,error:null}}function vS(A){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:n,verification_type:s}=A,i=no(A,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),o={action_link:e,email_otp:t,hashed_token:r,redirect_to:n,verification_type:s},l=Object.assign({},i);return{data:{properties:o,user:l},error:null}}function hw(A){return A}function _S(A){return!!A.access_token&&!!A.refresh_token&&!!A.expires_in}const _o=["global","local","others"];class Hc{constructor({url:e="",headers:t={},fetch:r,experimental:n}){this.url=e,this.headers=t,this.fetch=aw(r),this.experimental=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)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=_o[0]){if(_o.indexOf(t)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${_o.join(", ")}`);try{return await K(this.fetch,"POST",`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(r){if(P(r))return{data:null,error:r};throw r}}async inviteUserByEmail(e,t={}){try{return await K(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async generateLink(e){try{const{options:t}=e,r=no(e,["options"]),n=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(n.new_email=r==null?void 0:r.newEmail,delete n.newEmail),await K(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:n,headers:this.headers,xform:vS,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if(P(t))return{data:{properties:null,user:null},error:t};throw t}}async createUser(e){try{return await K(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:RA})}catch(t){if(P(t))return{data:{user:null},error:t};throw t}}async listUsers(e){var t,r,n,s,i,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(s=(n=e==null?void 0:e.perPage)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""},xform:hw});if(u.error)throw u.error;const d=await u.json(),g=(i=u.headers.get("x-total-count"))!==null&&i!==void 0?i:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(B=>{const C=parseInt(B.split(";")[0].split("=")[1].substring(0,1)),E=JSON.parse(B.split(";")[1].split("=")[1]);c[`${E}Page`]=C}),c.total=parseInt(g)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(P(c))return{data:{users:[]},error:c};throw c}}async getUserById(e){iA(e);try{return await K(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:RA})}catch(t){if(P(t))return{data:{user:null},error:t};throw t}}async updateUserById(e,t){iA(e);try{return await K(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async deleteUser(e,t=!1){iA(e);try{return await K(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async _listFactors(e){iA(e.userId);try{const{data:t,error:r}=await K(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:n=>({data:{factors:n},error:null})});return{data:t,error:r}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _deleteFactor(e){iA(e.userId),iA(e.id);try{return{data:await K(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _listOAuthClients(e){var t,r,n,s,i,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(s=(n=e==null?void 0:e.perPage)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""},xform:hw});if(u.error)throw u.error;const d=await u.json(),g=(i=u.headers.get("x-total-count"))!==null&&i!==void 0?i:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(B=>{const C=parseInt(B.split(";")[0].split("=")[1].substring(0,1)),E=JSON.parse(B.split(";")[1].split("=")[1]);c[`${E}Page`]=C}),c.total=parseInt(g)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(P(c))return{data:{clients:[]},error:c};throw c}}async _createOAuthClient(e){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _getOAuthClient(e){try{return await K(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _updateOAuthClient(e,t){try{return await K(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(P(r))return{data:null,error:r};throw r}}async _deleteOAuthClient(e){try{return await K(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _regenerateOAuthClientSecret(e){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _listCustomProviders(e){try{const t={};return e!=null&&e.type&&(t.type=e.type),await K(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:r=>{var n;return{data:{providers:(n=r==null?void 0:r.providers)!==null&&n!==void 0?n:[]},error:null}}})}catch(t){if(P(t))return{data:{providers:[]},error:t};throw t}}async _createCustomProvider(e){try{return await K(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _getCustomProvider(e){try{return await K(this.fetch,"GET",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _updateCustomProvider(e,t){try{return await K(this.fetch,"PUT",`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(P(r))return{data:null,error:r};throw r}}async _deleteCustomProvider(e){try{return await K(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _adminListPasskeys(e){xt(this.experimental),iA(e.userId);try{return await K(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _adminDeletePasskey(e){xt(this.experimental),iA(e.userId),iA(e.passkeyId);try{return await K(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}}function dw(A={}){return{getItem:e=>A[e]||null,setItem:(e,t)=>{A[e]=t},removeItem:e=>{delete A[e]}}}const kt={debug:!!(globalThis&&ow()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class hs extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class Lc extends hs{}class CS extends hs{}async function ES(A,e,t){kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",A,e);const r=new globalThis.AbortController;let n;e>0&&(n=setTimeout(()=>{r.abort(),kt.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",A)},e)),await Promise.resolve();try{return await globalThis.navigator.locks.request(A,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:r.signal},async s=>{if(s){clearTimeout(n),kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",A,s.name);try{return await t()}finally{kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",A,s.name)}}else{if(e===0)throw kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",A),new Lc(`Acquiring an exclusive Navigator LockManager lock "${A}" immediately failed`);if(kt.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"),clearTimeout(n),await t()}})}catch(s){if(e>0&&clearTimeout(n),s!==null&&typeof s=="object"&&"name"in s&&s.name==="AbortError"&&e>0){if(r.signal.aborted)return kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",A),console.warn(`@supabase/gotrue-js: Lock "${A}" was not released within ${e}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(A,{mode:"exclusive",steal:!0},async i=>{if(i){kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",A,i.name);try{return await t()}finally{kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",A,i.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await t()}));throw kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",A),new Lc(`Lock "${A}" was released because another request stole it`)}throw s}}const fw={};async function bS(A,e,t){var r;const n=(r=fw[A])!==null&&r!==void 0?r:Promise.resolve(),s=(async()=>{try{return await n,null}catch{return null}})(),i=(async()=>{let o=null;try{const l=e>=0?new Promise((c,u)=>{o=setTimeout(()=>{console.warn(`@supabase/gotrue-js: Lock "${A}" acquisition timed out after ${e}ms. This may be caused by another operation holding the lock. Consider increasing lockAcquireTimeout or checking for stuck operations.`),u(new CS(`Acquiring process lock with name "${A}" timed out`))},e)}):null;await Promise.race([s,l].filter(c=>c)),o!==null&&clearTimeout(o)}catch(l){if(o!==null&&clearTimeout(o),l instanceof hs)throw l}return await t()})();return fw[A]=(async()=>{try{return await i}catch(o){if(o instanceof hs){try{await n}catch{}return null}throw o}})(),await i}function US(){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 gw(A){if(!/^0x[a-fA-F0-9]{40}$/.test(A))throw new Error(`@supabase/auth-js: Address "${A}" is invalid.`);return A.toLowerCase()}function QS(A){return parseInt(A,16)}function IS(A){const e=new TextEncoder().encode(A);return"0x"+Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}function FS(A){var e;const{chainId:t,domain:r,expirationTime:n,issuedAt:s=new Date,nonce:i,notBefore:o,requestId:l,resources:c,scheme:u,uri:d,version:g}=A;{if(!Number.isInteger(t))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!r)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(i&&i.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${i}`);if(!d)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(g!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${g}`);if(!((e=A.statement)===null||e===void 0)&&e.includes(`
|
|
3018
|
+
})`):new Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){const t=await e.unsubscribe();return t==="ok"&&e.teardown(),t}async removeAllChannels(){const e=this.channels.map(async r=>{const n=await r.unsubscribe();return r.teardown(),n}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,r){this.socketAdapter.log(e,t,r)}connectionState(){return this.socketAdapter.connectionState()||mc.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){const r=`realtime:${e}`,n=this.getChannels().find(s=>s.topic===r);if(n)return n;{const s=new Kr(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(s),s}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e=null){let t,r=!1;if(e)t=e,r=!0;else if(this.accessToken)try{t=await this.accessToken()}catch(n){this.log("error","Error fetching access token from callback",n),t=this.accessTokenValue}else t=this.accessTokenValue;r?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=t&&(this.accessTokenValue=t,this.channels.forEach(n=>{const s={access_token:t,version:RF};t&&n.updateJoinPayload(s),n.joinedOnce&&n.channelAdapter.isJoined()&&n.channelAdapter.push(kp.access_token,{access_token:t})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this._isManualToken()||this.setAuth().catch(t=>{this.log("error",`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(t=>{this.log("error","error waiting for auth on connect",t)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,r)=>{t=="sent"&&this._setAuthSafely(),e&&e(t,r)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=t=>{this.log("worker","worker error",t.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=t=>{t.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{const r=new Blob([cT],{type:"application/javascript"});t=URL.createObjectURL(r)}return t}_initializeOptions(e){var t,r,n,s,i,o,l,c,u,d,g,p;this.worker=(t=e==null?void 0:e.worker)!==null&&t!==void 0?t:!1,this.accessToken=(r=e==null?void 0:e.accessToken)!==null&&r!==void 0?r:null;const B={};B.timeout=(n=e==null?void 0:e.timeout)!==null&&n!==void 0?n:HF,B.heartbeatIntervalMs=(s=e==null?void 0:e.heartbeatIntervalMs)!==null&&s!==void 0?s:Vp.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(i=e==null?void 0:e.disconnectOnEmptyChannelsAfterMs)!==null&&i!==void 0?i:2*((o=e==null?void 0:e.heartbeatIntervalMs)!==null&&o!==void 0?o:Vp.HEARTBEAT_INTERVAL),B.transport=(l=e==null?void 0:e.transport)!==null&&l!==void 0?l:Rp.getWebSocketConstructor(),B.params=e==null?void 0:e.params,B.logger=e==null?void 0:e.logger,B.heartbeatCallback=this._wrapHeartbeatCallback(e==null?void 0:e.heartbeatCallback),B.sessionStorage=(c=e==null?void 0:e.sessionStorage)!==null&&c!==void 0?c:lT(),B.reconnectAfterMs=(u=e==null?void 0:e.reconnectAfterMs)!==null&&u!==void 0?u:Q=>iT[Q-1]||oT;let C,E;const I=(d=e==null?void 0:e.vsn)!==null&&d!==void 0?d:kF;switch(I){case xF:C=(Q,S)=>S(JSON.stringify(Q)),E=(Q,S)=>S(JSON.parse(Q));break;case xp:C=this.serializer.encode.bind(this.serializer),E=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${B.vsn}`)}if(B.vsn=I,B.encode=(g=e==null?void 0:e.encode)!==null&&g!==void 0?g:C,B.decode=(p=e==null?void 0:e.decode)!==null&&p!==void 0?p:E,B.beforeReconnect=this._reconnectAuth.bind(this),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,B.params=Object.assign(Object.assign({},B.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl,B.autoSendHeartbeat=!this.worker}return B}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var As=class extends Error{constructor(A,e){var t;super(A),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((t=e.icebergType)==null?void 0:t.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function uT(A,e,t){const r=new URL(e,A);if(t)for(const[n,s]of Object.entries(t))s!==void 0&&r.searchParams.set(n,s);return r.toString()}async function hT(A){return!A||A.type==="none"?{}:A.type==="bearer"?{Authorization:`Bearer ${A.token}`}:A.type==="header"?{[A.name]:A.value}:A.type==="custom"?await A.getHeaders():{}}function dT(A){const e=A.fetchImpl??globalThis.fetch;return{async request({method:t,path:r,query:n,body:s,headers:i}){const o=uT(A.baseUrl,r,n),l=await hT(A.auth),c=await e(o,{method:t,headers:{...s?{"Content-Type":"application/json"}:{},...l,...i},body:s?JSON.stringify(s):void 0}),u=await c.text(),d=(c.headers.get("content-type")||"").includes("application/json"),g=d&&u?JSON.parse(u):u;if(!c.ok){const p=d?g:void 0,B=p==null?void 0:p.error;throw new As((B==null?void 0:B.message)??`Request failed with status ${c.status}`,{status:c.status,icebergType:B==null?void 0:B.type,icebergCode:B==null?void 0:B.code,details:p})}return{status:c.status,headers:c.headers,data:g}}}}function ho(A){return A.join("")}var fT=class{constructor(A,e=""){this.client=A,this.prefix=e}async listNamespaces(A){const e=A?{parent:ho(A.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(r=>({namespace:r}))}async createNamespace(A,e){const t={namespace:A.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:t})).data}async dropNamespace(A){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${ho(A.namespace)}`})}async loadNamespaceMetadata(A){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${ho(A.namespace)}`})).data.properties}}async namespaceExists(A){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${ho(A.namespace)}`}),!0}catch(e){if(e instanceof As&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(A,e){try{return await this.createNamespace(A,e)}catch(t){if(t instanceof As&&t.status===409)return;throw t}}};function Gr(A){return A.join("")}var gT=class{constructor(A,e="",t){this.client=A,this.prefix=e,this.accessDelegation=t}async listTables(A){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables`})).data.identifiers}async createTable(A,e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables`,body:e,headers:t})).data.metadata}async updateTable(A,e){const t=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,body:e});return{"metadata-location":t.data["metadata-location"],metadata:t.data.metadata}}async dropTable(A,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(A){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,headers:e})).data.metadata}async tableExists(A){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Gr(A.namespace)}/tables/${A.name}`,headers:e}),!0}catch(t){if(t instanceof As&&t.status===404)return!1;throw t}}async createTableIfNotExists(A,e){try{return await this.createTable(A,e)}catch(t){if(t instanceof As&&t.status===409)return await this.loadTable({namespace:A.namespace,name:e.name});throw t}}},pT=class{constructor(A){var r;let e="v1";A.catalogName&&(e+=`/${A.catalogName}`);const t=A.baseUrl.endsWith("/")?A.baseUrl:`${A.baseUrl}/`;this.client=dT({baseUrl:t,auth:A.auth,fetchImpl:A.fetch}),this.accessDelegation=(r=A.accessDelegation)==null?void 0:r.join(","),this.namespaceOps=new fT(this.client,e),this.tableOps=new gT(this.client,e,this.accessDelegation)}async listNamespaces(A){return this.namespaceOps.listNamespaces(A)}async createNamespace(A,e){return this.namespaceOps.createNamespace(A,e)}async dropNamespace(A){await this.namespaceOps.dropNamespace(A)}async loadNamespaceMetadata(A){return this.namespaceOps.loadNamespaceMetadata(A)}async listTables(A){return this.tableOps.listTables(A)}async createTable(A,e){return this.tableOps.createTable(A,e)}async updateTable(A,e){return this.tableOps.updateTable(A,e)}async dropTable(A,e){await this.tableOps.dropTable(A,e)}async loadTable(A){return this.tableOps.loadTable(A)}async namespaceExists(A){return this.namespaceOps.namespaceExists(A)}async tableExists(A){return this.tableOps.tableExists(A)}async createNamespaceIfNotExists(A,e){return this.namespaceOps.createNamespaceIfNotExists(A,e)}async createTableIfNotExists(A,e){return this.tableOps.createTableIfNotExists(A,e)}};function rs(A){"@babel/helpers - typeof";return rs=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},rs(A)}function wT(A,e){if(rs(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function BT(A){var e=wT(A,"string");return rs(e)=="symbol"?e:e+""}function mT(A,e,t){return(e=BT(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function Kp(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function $(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kp(Object(t),!0).forEach(function(r){mT(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):Kp(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}var fo=class extends Error{constructor(A,e="storage",t,r){super(A),this.__isStorageError=!0,this.namespace=e,this.name=e==="vectors"?"StorageVectorsError":"StorageError",this.status=t,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function go(A){return typeof A=="object"&&A!==null&&"__isStorageError"in A}var po=class extends fo{constructor(A,e,t,r="storage"){super(A,r,e,t),this.name=r==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=e,this.statusCode=t}toJSON(){return $({},super.toJSON())}},Gp=class extends fo{constructor(A,e,t="storage"){super(A,t),this.name=t==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=e}};function wo(A,e,t){const r=$({},A),n=e.toLowerCase();for(const s of Object.keys(r))s.toLowerCase()===n&&delete r[s];return r[n]=t,r}function yT(A){const e={};for(const[t,r]of Object.entries(A))e[t.toLowerCase()]=r;return e}const vT=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),_T=A=>{if(typeof A!="object"||A===null)return!1;const e=Object.getPrototypeOf(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in A)&&!(Symbol.iterator in A)},bc=A=>{if(Array.isArray(A))return A.map(t=>bc(t));if(typeof A=="function"||A!==Object(A))return A;const e={};return Object.entries(A).forEach(([t,r])=>{const n=t.replace(/([-_][a-z])/gi,s=>s.toUpperCase().replace(/[-_]/g,""));e[n]=bc(r)}),e},CT=A=>!A||typeof A!="string"||A.length===0||A.length>100||A.trim()!==A||A.includes("/")||A.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(A),jp=A=>{if(typeof A=="object"&&A!==null){const e=A;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error;if(typeof e.error=="object"&&e.error!==null){const t=e.error;if(typeof t.message=="string")return t.message}}return JSON.stringify(A)},ET=async(A,e,t,r)=>{if(A!==null&&typeof A=="object"&&"json"in A&&typeof A.json=="function"){const n=A;let s=parseInt(String(n.status),10);Number.isFinite(s)||(s=500),n.json().then(i=>{const o=(i==null?void 0:i.statusCode)||(i==null?void 0:i.code)||s+"";e(new po(jp(i),s,o,r))}).catch(()=>{const i=s+"";e(new po(n.statusText||`HTTP ${s} error`,s,i,r))})}else e(new Gp(jp(A),A,r))},bT=(A,e,t,r)=>{const n={method:A,headers:(e==null?void 0:e.headers)||{}};if(A==="GET"||A==="HEAD"||!r)return $($({},n),t);if(_T(r)){var s;const i=(e==null?void 0:e.headers)||{};let o;for(const[l,c]of Object.entries(i))l.toLowerCase()==="content-type"&&(o=c);n.headers=wo(i,"Content-Type",(s=o)!==null&&s!==void 0?s:"application/json"),n.body=JSON.stringify(r)}else n.body=r;return e!=null&&e.duplex&&(n.duplex=e.duplex),$($({},n),t)};async function ns(A,e,t,r,n,s,i){return new Promise((o,l)=>{A(t,bT(e,r,n,s)).then(c=>{if(!c.ok)throw c;if(r!=null&&r.noResolveJson)return c;if(i==="vectors"){const u=c.headers.get("content-type");if(c.headers.get("content-length")==="0"||c.status===204)return{};if(!u||!u.includes("application/json"))return{}}return c.json()}).then(c=>o(c)).catch(c=>ET(c,l,r,i))})}function $p(A="storage"){return{get:async(e,t,r,n)=>ns(e,"GET",t,r,n,void 0,A),post:async(e,t,r,n,s)=>ns(e,"POST",t,n,s,r,A),put:async(e,t,r,n,s)=>ns(e,"PUT",t,n,s,r,A),head:async(e,t,r,n)=>ns(e,"HEAD",t,$($({},r),{},{noResolveJson:!0}),n,void 0,A),remove:async(e,t,r,n,s)=>ns(e,"DELETE",t,n,s,r,A)}}const UT=$p("storage"),{get:ss,post:Tt,put:Uc,head:QT,remove:Qc}=UT,ft=$p("vectors");var jr=class{constructor(A,e={},t,r="storage"){this.shouldThrowOnError=!1,this.url=A,this.headers=yT(e),this.fetch=vT(t),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(A,e){return this.headers=wo(this.headers,A,e),this}async handleOperation(A){var e=this;try{return{data:await A(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(go(t))return{data:null,error:t};throw t}}};let Wp;Wp=Symbol.toStringTag;var IT=class{constructor(A,e){this.downloadFn=A,this.shouldThrowOnError=e,this[Wp]="StreamDownloadBuilder",this.promise=null}then(A,e){return this.getPromise().then(A,e)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var A=this;try{return{data:(await A.downloadFn()).body,error:null}}catch(e){if(A.shouldThrowOnError)throw e;if(go(e))return{data:null,error:e};throw e}}};let qp;qp=Symbol.toStringTag;var FT=class{constructor(A,e){this.downloadFn=A,this.shouldThrowOnError=e,this[qp]="BlobDownloadBuilder",this.promise=null}asStream(){return new IT(this.downloadFn,this.shouldThrowOnError)}then(A,e){return this.getPromise().then(A,e)}catch(A){return this.getPromise().catch(A)}finally(A){return this.getPromise().finally(A)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var A=this;try{return{data:await(await A.downloadFn()).blob(),error:null}}catch(e){if(A.shouldThrowOnError)throw e;if(go(e))return{data:null,error:e};throw e}}};const TT={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Jp={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var ST=class extends jr{constructor(A,e={},t,r){super(A,e,r,"storage"),this.bucketId=t}async uploadOrUpdate(A,e,t,r){var n=this;return n.handleOperation(async()=>{let s;const i=$($({},Jp),r);let o=$($({},n.headers),A==="POST"&&{"x-upsert":String(i.upsert)});const l=i.metadata;if(typeof Blob<"u"&&t instanceof Blob?(s=new FormData,s.append("cacheControl",i.cacheControl),l&&s.append("metadata",n.encodeMetadata(l)),s.append("",t)):typeof FormData<"u"&&t instanceof FormData?(s=t,s.has("cacheControl")||s.append("cacheControl",i.cacheControl),l&&!s.has("metadata")&&s.append("metadata",n.encodeMetadata(l))):(s=t,o["cache-control"]=`max-age=${i.cacheControl}`,o["content-type"]=i.contentType,l&&(o["x-metadata"]=n.toBase64(n.encodeMetadata(l))),(typeof ReadableStream<"u"&&s instanceof ReadableStream||s&&typeof s=="object"&&"pipe"in s&&typeof s.pipe=="function")&&!i.duplex&&(i.duplex="half")),r!=null&&r.headers)for(const[g,p]of Object.entries(r.headers))o=wo(o,g,p);const c=n._removeEmptyFolders(e),u=n._getFinalPath(c),d=await(A=="PUT"?Uc:Tt)(n.fetch,`${n.url}/object/${u}`,s,$({headers:o},i!=null&&i.duplex?{duplex:i.duplex}:{}));return{path:c,id:d.Id,fullPath:d.Key}})}async upload(A,e,t){return this.uploadOrUpdate("POST",A,e,t)}async uploadToSignedUrl(A,e,t,r){var n=this;const s=n._removeEmptyFolders(A),i=n._getFinalPath(s),o=new URL(n.url+`/object/upload/sign/${i}`);return o.searchParams.set("token",e),n.handleOperation(async()=>{let l;const c=$($({},Jp),r);let u=$($({},n.headers),{"x-upsert":String(c.upsert)});const d=c.metadata;if(typeof Blob<"u"&&t instanceof Blob?(l=new FormData,l.append("cacheControl",c.cacheControl),d&&l.append("metadata",n.encodeMetadata(d)),l.append("",t)):typeof FormData<"u"&&t instanceof FormData?(l=t,l.has("cacheControl")||l.append("cacheControl",c.cacheControl),d&&!l.has("metadata")&&l.append("metadata",n.encodeMetadata(d))):(l=t,u["cache-control"]=`max-age=${c.cacheControl}`,u["content-type"]=c.contentType,d&&(u["x-metadata"]=n.toBase64(n.encodeMetadata(d))),(typeof ReadableStream<"u"&&l instanceof ReadableStream||l&&typeof l=="object"&&"pipe"in l&&typeof l.pipe=="function")&&!c.duplex&&(c.duplex="half")),r!=null&&r.headers)for(const[g,p]of Object.entries(r.headers))u=wo(u,g,p);return{path:s,fullPath:(await Uc(n.fetch,o.toString(),l,$({headers:u},c!=null&&c.duplex?{duplex:c.duplex}:{}))).Key}})}async createSignedUploadUrl(A,e){var t=this;return t.handleOperation(async()=>{let r=t._getFinalPath(A);const n=$({},t.headers);e!=null&&e.upsert&&(n["x-upsert"]="true");const s=await Tt(t.fetch,`${t.url}/object/upload/sign/${r}`,{},{headers:n}),i=new URL(t.url+s.url),o=i.searchParams.get("token");if(!o)throw new fo("No token returned by API");return{signedUrl:i.toString(),path:A,token:o}})}async update(A,e,t){return this.uploadOrUpdate("PUT",A,e,t)}async move(A,e,t){var r=this;return r.handleOperation(async()=>await Tt(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:r.headers}))}async copy(A,e,t){var r=this;return r.handleOperation(async()=>({path:(await Tt(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:A,destinationKey:e,destinationBucket:t==null?void 0:t.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(A,e,t){var r=this;return r.handleOperation(async()=>{let n=r._getFinalPath(A);const s=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0;let i=await Tt(r.fetch,`${r.url}/object/sign/${n}`,$({expiresIn:e},s?{transform:t.transform}:{}),{headers:r.headers});const o=new URLSearchParams;t!=null&&t.download&&o.set("download",t.download===!0?"":t.download),(t==null?void 0:t.cacheNonce)!=null&&o.set("cacheNonce",String(t.cacheNonce));const l=o.toString();return{signedUrl:encodeURI(`${r.url}${i.signedURL}${l?`&${l}`:""}`)}})}async createSignedUrls(A,e,t){var r=this;return r.handleOperation(async()=>{const n=await Tt(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:e,paths:A},{headers:r.headers}),s=new URLSearchParams;t!=null&&t.download&&s.set("download",t.download===!0?"":t.download),(t==null?void 0:t.cacheNonce)!=null&&s.set("cacheNonce",String(t.cacheNonce));const i=s.toString();return n.map(o=>$($({},o),{},{signedUrl:o.signedURL?encodeURI(`${r.url}${o.signedURL}${i?`&${i}`:""}`):null}))})}download(A,e,t){const r=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image/authenticated":"object",n=new URLSearchParams;e!=null&&e.transform&&this.applyTransformOptsToQuery(n,e.transform),(e==null?void 0:e.cacheNonce)!=null&&n.set("cacheNonce",String(e.cacheNonce));const s=n.toString(),i=this._getFinalPath(A),o=()=>ss(this.fetch,`${this.url}/${r}/${i}${s?`?${s}`:""}`,{headers:this.headers,noResolveJson:!0},t);return new FT(o,this.shouldThrowOnError)}async info(A){var e=this;const t=e._getFinalPath(A);return e.handleOperation(async()=>bc(await ss(e.fetch,`${e.url}/object/info/${t}`,{headers:e.headers})))}async exists(A){var e=this;const t=e._getFinalPath(A);try{return await QT(e.fetch,`${e.url}/object/${t}`,{headers:e.headers}),{data:!0,error:null}}catch(n){if(e.shouldThrowOnError)throw n;if(go(n)){var r;const s=n instanceof po?n.status:n instanceof Gp?(r=n.originalError)===null||r===void 0?void 0:r.status:void 0;if(s!==void 0&&[400,404].includes(s))return{data:!1,error:n}}throw n}}getPublicUrl(A,e){const t=this._getFinalPath(A),r=new URLSearchParams;e!=null&&e.download&&r.set("download",e.download===!0?"":e.download),e!=null&&e.transform&&this.applyTransformOptsToQuery(r,e.transform),(e==null?void 0:e.cacheNonce)!=null&&r.set("cacheNonce",String(e.cacheNonce));const n=r.toString(),s=typeof(e==null?void 0:e.transform)=="object"&&e.transform!==null&&Object.keys(e.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${s}/public/${t}`)+(n?`?${n}`:"")}}}async remove(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/object/${e.bucketId}`,{prefixes:A},{headers:e.headers}))}async list(A,e,t){var r=this;return r.handleOperation(async()=>{const n=$($($({},TT),e),{},{prefix:A||""});return await Tt(r.fetch,`${r.url}/object/list/${r.bucketId}`,n,{headers:r.headers},t)})}async listV2(A,e){var t=this;return t.handleOperation(async()=>{const r=$({},A);return await Tt(t.fetch,`${t.url}/object/list-v2/${t.bucketId}`,r,{headers:t.headers},e)})}encodeMetadata(A){return JSON.stringify(A)}toBase64(A){return typeof Buffer<"u"?Buffer.from(A).toString("base64"):btoa(A)}_getFinalPath(A){return`${this.bucketId}/${A.replace(/^\/+/,"")}`}_removeEmptyFolders(A){return A.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(A,e){return e.width&&A.set("width",e.width.toString()),e.height&&A.set("height",e.height.toString()),e.resize&&A.set("resize",e.resize),e.format&&A.set("format",e.format),e.quality&&A.set("quality",e.quality.toString()),A}};const is={"X-Client-Info":"storage-js/2.108.2"};var RT=class extends jr{constructor(A,e={},t,r){const n=new URL(A);r!=null&&r.useNewHostname&&/supabase\.(co|in|red)$/.test(n.hostname)&&!n.hostname.includes("storage.supabase.")&&(n.hostname=n.hostname.replace("supabase.","storage.supabase."));const s=n.href.replace(/\/$/,""),i=$($({},is),e);super(s,i,t,"storage")}async listBuckets(A){var e=this;return e.handleOperation(async()=>{const t=e.listBucketOptionsToQueryString(A);return await ss(e.fetch,`${e.url}/bucket${t}`,{headers:e.headers})})}async getBucket(A){var e=this;return e.handleOperation(async()=>await ss(e.fetch,`${e.url}/bucket/${A}`,{headers:e.headers}))}async createBucket(A,e={public:!1}){var t=this;return t.handleOperation(async()=>await Tt(t.fetch,`${t.url}/bucket`,{id:A,name:A,type:e.type,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:t.headers}))}async updateBucket(A,e){var t=this;return t.handleOperation(async()=>await Uc(t.fetch,`${t.url}/bucket/${A}`,{id:A,name:A,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:t.headers}))}async emptyBucket(A){var e=this;return e.handleOperation(async()=>await Tt(e.fetch,`${e.url}/bucket/${A}/empty`,{},{headers:e.headers}))}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/bucket/${A}`,{},{headers:e.headers}))}listBucketOptionsToQueryString(A){const e={};return A&&("limit"in A&&(e.limit=String(A.limit)),"offset"in A&&(e.offset=String(A.offset)),A.search&&(e.search=A.search),A.sortColumn&&(e.sortColumn=A.sortColumn),A.sortOrder&&(e.sortOrder=A.sortOrder)),Object.keys(e).length>0?"?"+new URLSearchParams(e).toString():""}},xT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),e);super(r,n,t,"storage")}async createBucket(A){var e=this;return e.handleOperation(async()=>await Tt(e.fetch,`${e.url}/bucket`,{name:A},{headers:e.headers}))}async listBuckets(A){var e=this;return e.handleOperation(async()=>{const t=new URLSearchParams;(A==null?void 0:A.limit)!==void 0&&t.set("limit",A.limit.toString()),(A==null?void 0:A.offset)!==void 0&&t.set("offset",A.offset.toString()),A!=null&&A.sortColumn&&t.set("sortColumn",A.sortColumn),A!=null&&A.sortOrder&&t.set("sortOrder",A.sortOrder),A!=null&&A.search&&t.set("search",A.search);const r=t.toString(),n=r?`${e.url}/bucket?${r}`:`${e.url}/bucket`;return await ss(e.fetch,n,{headers:e.headers})})}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await Qc(e.fetch,`${e.url}/bucket/${A}`,{},{headers:e.headers}))}from(A){var e=this;if(!CT(A))throw new fo("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const t=new pT({baseUrl:this.url,catalogName:A,auth:{type:"custom",getHeaders:async()=>e.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(t,{get(n,s){const i=n[s];return typeof i!="function"?i:async(...o)=>{try{return{data:await i.apply(n,o),error:null}}catch(l){if(r)throw l;return{data:null,error:l}}}}})}},kT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async createIndex(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/CreateIndex`,A,{headers:e.headers})||{})}async getIndex(A,e){var t=this;return t.handleOperation(async()=>await ft.post(t.fetch,`${t.url}/GetIndex`,{vectorBucketName:A,indexName:e},{headers:t.headers}))}async listIndexes(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/ListIndexes`,A,{headers:e.headers}))}async deleteIndex(A,e){var t=this;return t.handleOperation(async()=>await ft.post(t.fetch,`${t.url}/DeleteIndex`,{vectorBucketName:A,indexName:e},{headers:t.headers})||{})}},HT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async putVectors(A){var e=this;if(A.vectors.length<1||A.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/PutVectors`,A,{headers:e.headers})||{})}async getVectors(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/GetVectors`,A,{headers:e.headers}))}async listVectors(A){var e=this;if(A.segmentCount!==void 0){if(A.segmentCount<1||A.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(A.segmentIndex!==void 0&&(A.segmentIndex<0||A.segmentIndex>=A.segmentCount))throw new Error(`segmentIndex must be between 0 and ${A.segmentCount-1}`)}return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/ListVectors`,A,{headers:e.headers}))}async queryVectors(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/QueryVectors`,A,{headers:e.headers}))}async deleteVectors(A){var e=this;if(A.keys.length<1||A.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/DeleteVectors`,A,{headers:e.headers})||{})}},LT=class extends jr{constructor(A,e={},t){const r=A.replace(/\/$/,""),n=$($({},is),{},{"Content-Type":"application/json"},e);super(r,n,t,"vectors")}async createBucket(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/CreateVectorBucket`,{vectorBucketName:A},{headers:e.headers})||{})}async getBucket(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/GetVectorBucket`,{vectorBucketName:A},{headers:e.headers}))}async listBuckets(A={}){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/ListVectorBuckets`,A,{headers:e.headers}))}async deleteBucket(A){var e=this;return e.handleOperation(async()=>await ft.post(e.fetch,`${e.url}/DeleteVectorBucket`,{vectorBucketName:A},{headers:e.headers})||{})}},DT=class extends LT{constructor(A,e={}){super(A,e.headers||{},e.fetch)}from(A){return new OT(this.url,this.headers,A,this.fetch)}async createBucket(A){var e=()=>super.createBucket,t=this;return e().call(t,A)}async getBucket(A){var e=()=>super.getBucket,t=this;return e().call(t,A)}async listBuckets(A={}){var e=()=>super.listBuckets,t=this;return e().call(t,A)}async deleteBucket(A){var e=()=>super.deleteBucket,t=this;return e().call(t,A)}},OT=class extends kT{constructor(A,e,t,r){super(A,e,r),this.vectorBucketName=t}async createIndex(A){var e=()=>super.createIndex,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName}))}async listIndexes(A={}){var e=()=>super.listIndexes,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName}))}async getIndex(A){var e=()=>super.getIndex,t=this;return e().call(t,t.vectorBucketName,A)}async deleteIndex(A){var e=()=>super.deleteIndex,t=this;return e().call(t,t.vectorBucketName,A)}index(A){return new PT(this.url,this.headers,this.vectorBucketName,A,this.fetch)}},PT=class extends HT{constructor(A,e,t,r,n){super(A,e,n),this.vectorBucketName=t,this.indexName=r}async putVectors(A){var e=()=>super.putVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async getVectors(A){var e=()=>super.getVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async listVectors(A={}){var e=()=>super.listVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async queryVectors(A){var e=()=>super.queryVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}async deleteVectors(A){var e=()=>super.deleteVectors,t=this;return e().call(t,$($({},A),{},{vectorBucketName:t.vectorBucketName,indexName:t.indexName}))}},NT=class extends RT{constructor(A,e={},t,r){super(A,e,t,r)}from(A){return new ST(this.url,this.headers,A,this.fetch)}get vectors(){return new DT(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new xT(this.url+"/iceberg",this.headers,this.fetch)}};const Xp="2.108.2",sA=30*1e3,os=3,Ic=os*sA,VT=2*sA,MT="http://localhost:9999",KT="supabase.auth.token",GT={"X-Client-Info":`gotrue-js/${Xp}`},Fc="X-Supabase-Api-Version",zp={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},jT=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,$T=10*60*1e3;class $r extends Error{constructor(e,t,r){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t,this.code=r}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function P(A){return typeof A=="object"&&A!==null&&"__isAuthError"in A}class Yp extends $r{constructor(e,t,r){super(e,t,r),this.name="AuthApiError",this.status=t,this.code=r}}function Zp(A){return P(A)&&A.name==="AuthApiError"}class _t extends $r{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class St extends $r{constructor(e,t,r,n){super(e,r,n),this.name=t,this.status=r}}class Te extends St{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function as(A){return P(A)&&A.name==="AuthSessionMissingError"}class rr extends St{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class ls extends St{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class cs extends St{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function ew(A){return P(A)&&A.name==="AuthImplicitGrantRedirectError"}class Tc extends St{constructor(e,t=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class tw extends St{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}function WT(A){return P(A)&&A.name==="AuthPKCECodeVerifierMissingError"}class Bo extends St{constructor(e,t){super(e,"AuthRetryableFetchError",t,void 0)}}function Sc(A){return P(A)&&A.name==="AuthRetryableFetchError"}class Rc extends St{constructor(e="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(e,"AuthRefreshDiscardedError",409,void 0)}}function Aw(A){return P(A)&&A.name==="AuthRefreshDiscardedError"}class xc extends St{constructor(e,t,r){super(e,"AuthWeakPasswordError",t,"weak_password"),this.reasons=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}function qT(A){return P(A)&&A.name==="AuthWeakPasswordError"}class us extends St{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const mo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),rw=`
|
|
3019
|
+
\r=`.split(""),JT=(()=>{const A=new Array(128);for(let e=0;e<A.length;e+=1)A[e]=-1;for(let e=0;e<rw.length;e+=1)A[rw[e].charCodeAt(0)]=-2;for(let e=0;e<mo.length;e+=1)A[mo[e].charCodeAt(0)]=e;return A})();function nw(A,e,t){if(A!==null)for(e.queue=e.queue<<8|A,e.queuedBits+=8;e.queuedBits>=6;){const r=e.queue>>e.queuedBits-6&63;t(mo[r]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const r=e.queue>>e.queuedBits-6&63;t(mo[r]),e.queuedBits-=6}}function sw(A,e,t){const r=JT[A];if(r>-1)for(e.queue=e.queue<<6|r,e.queuedBits+=6;e.queuedBits>=8;)t(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(r===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(A)}"`)}}function iw(A){const e=[],t=i=>{e.push(String.fromCodePoint(i))},r={utf8seq:0,codepoint:0},n={queue:0,queuedBits:0},s=i=>{YT(i,r,t)};for(let i=0;i<A.length;i+=1)sw(A.charCodeAt(i),n,s);return e.join("")}function XT(A,e){if(A<=127){e(A);return}else if(A<=2047){e(192|A>>6),e(128|A&63);return}else if(A<=65535){e(224|A>>12),e(128|A>>6&63),e(128|A&63);return}else if(A<=1114111){e(240|A>>18),e(128|A>>12&63),e(128|A>>6&63),e(128|A&63);return}throw new Error(`Unrecognized Unicode codepoint: ${A.toString(16)}`)}function zT(A,e){for(let t=0;t<A.length;t+=1){let r=A.charCodeAt(t);if(r>55295&&r<=56319){const n=(r-55296)*1024&65535;r=(A.charCodeAt(t+1)-56320&65535|n)+65536,t+=1}XT(r,e)}}function YT(A,e,t){if(e.utf8seq===0){if(A<=127){t(A);return}for(let r=1;r<6;r+=1)if(!(A>>7-r&1)){e.utf8seq=r;break}if(e.utf8seq===2)e.codepoint=A&31;else if(e.utf8seq===3)e.codepoint=A&15;else if(e.utf8seq===4)e.codepoint=A&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(A<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|A&63,e.utf8seq-=1,e.utf8seq===0&&t(e.codepoint)}}function Wr(A){const e=[],t={queue:0,queuedBits:0},r=n=>{e.push(n)};for(let n=0;n<A.length;n+=1)sw(A.charCodeAt(n),t,r);return new Uint8Array(e)}function ZT(A){const e=[];return zT(A,t=>e.push(t)),new Uint8Array(e)}function nr(A){const e=[],t={queue:0,queuedBits:0},r=n=>{e.push(n)};return A.forEach(n=>nw(n,t,r)),nw(null,t,r),e.join("")}function eS(A){return Math.round(Date.now()/1e3)+A}function tS(){return Symbol("auth-callback")}const je=()=>typeof window<"u"&&typeof document<"u",sr={tested:!1,writable:!1},ow=()=>{if(!je())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(sr.tested)return sr.writable;const A=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(A,A),globalThis.localStorage.removeItem(A),sr.tested=!0,sr.writable=!0}catch{sr.tested=!0,sr.writable=!1}return sr.writable};function AS(A){const e={},t=new URL(A);if(t.hash&&t.hash[0]==="#")try{new URLSearchParams(t.hash.substring(1)).forEach((n,s)=>{e[s]=n})}catch{}return t.searchParams.forEach((r,n)=>{e[n]=r}),e}const aw=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),rS=A=>typeof A=="object"&&A!==null&&"status"in A&&"ok"in A&&"json"in A&&typeof A.json=="function",qr=async(A,e,t)=>{await A.setItem(e,JSON.stringify(t))},Rt=async(A,e)=>{const t=await A.getItem(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}},ye=async(A,e)=>{await A.removeItem(e)};class yo{constructor(){this.promise=new yo.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}yo.promiseConstructor=Promise;function vo(A){const e=A.split(".");if(e.length!==3)throw new us("Invalid JWT structure");for(let r=0;r<e.length;r++)if(!jT.test(e[r]))throw new us("JWT not in base64url format");return{header:JSON.parse(iw(e[0])),payload:JSON.parse(iw(e[1])),signature:Wr(e[2]),raw:{header:e[0],payload:e[1]}}}async function nS(A){return await new Promise(e=>{setTimeout(()=>e(null),A)})}function sS(A,e){return new Promise((r,n)=>{(async()=>{for(let s=0;s<1/0;s++)try{const i=await A(s);if(!e(s,null,i)){r(i);return}}catch(i){if(!e(s,i)){n(i);return}}})()})}function iS(A){return("0"+A.toString(16)).substr(-2)}function oS(){const e=new Uint32Array(56);if(typeof crypto>"u"){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=t.length;let n="";for(let s=0;s<56;s++)n+=t.charAt(Math.floor(Math.random()*r));return n}return crypto.getRandomValues(e),Array.from(e,iS).join("")}async function aS(A){const t=new TextEncoder().encode(A),r=await crypto.subtle.digest("SHA-256",t),n=new Uint8Array(r);return Array.from(n).map(s=>String.fromCharCode(s)).join("")}async function lS(A){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."),A;const t=await aS(A);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ir(A,e,t=!1){const r=oS();let n=r;t&&(n+="/recovery"),await qr(A,`${e}-code-verifier`,n);const s=await lS(r);return[s,r===s?"plain":"s256"]}const cS=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function uS(A){const e=A.headers.get(Fc);if(!e||!e.match(cS))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function hS(A){if(!A)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(A<=e)throw new Error("JWT has expired")}function dS(A){switch(A){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 fS=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function iA(A){if(!fS.test(A))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function xt(A){if(!A.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function kc(){const A={};return new Proxy(A,{get:(e,t)=>{if(t==="__isUserNotAvailableProxy")return!0;if(typeof t=="symbol"){const r=t.toString();if(r==="Symbol(Symbol.toPrimitive)"||r==="Symbol(Symbol.toStringTag)"||r==="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 "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function gS(A,e){return new Proxy(A,{get:(t,r,n)=>{if(r==="__isInsecureUserWarningProxy")return!0;if(typeof r=="symbol"){const s=r.toString();if(s==="Symbol(Symbol.toPrimitive)"||s==="Symbol(Symbol.toStringTag)"||s==="Symbol(util.inspect.custom)"||s==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(t,r,n)}return!e.value&&typeof r=="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."),e.value=!0),Reflect.get(t,r,n)}})}function lw(A){return JSON.parse(JSON.stringify(A))}const or=A=>{if(typeof A=="object"&&A!==null){const e=A;if(typeof e.msg=="string")return e.msg;if(typeof e.message=="string")return e.message;if(typeof e.error_description=="string")return e.error_description;if(typeof e.error=="string")return e.error}return JSON.stringify(A)},pS=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function cw(A){var e;if(!rS(A))throw new Bo(or(A),0);if(pS.includes(A.status))throw new Bo(or(A),A.status);let t;try{t=await A.json()}catch(s){throw new _t(or(s),s)}let r;const n=uS(A);if(n&&n.getTime()>=zp["2024-01-01"].timestamp&&typeof t=="object"&&t&&typeof t.code=="string"?r=t.code:typeof t=="object"&&t&&typeof t.error_code=="string"&&(r=t.error_code),r){if(r==="weak_password")throw new xc(or(t),A.status,((e=t.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(r==="session_not_found")throw new Te}else if(typeof t=="object"&&t&&typeof t.weak_password=="object"&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((s,i)=>s&&typeof i=="string",!0))throw new xc(or(t),A.status,t.weak_password.reasons);throw new Yp(or(t),A.status||500,r)}const wS=(A,e,t,r)=>{const n={method:A,headers:(e==null?void 0:e.headers)||{}};return A==="GET"?n:(n.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),n.body=JSON.stringify(r),Object.assign(Object.assign({},n),t))};async function K(A,e,t,r){var n;const s=Object.assign({},r==null?void 0:r.headers);s[Fc]||(s[Fc]=zp["2024-01-01"].name),r!=null&&r.jwt&&(s.Authorization=`Bearer ${r.jwt}`);const i=(n=r==null?void 0:r.query)!==null&&n!==void 0?n:{};r!=null&&r.redirectTo&&(i.redirect_to=r.redirectTo);const o=Object.keys(i).length?"?"+new URLSearchParams(i).toString():"",l=await BS(A,e,t+o,{headers:s,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(l):{data:Object.assign({},l),error:null}}async function BS(A,e,t,r,n,s){const i=wS(e,r,n,s);let o;try{o=await A(t,Object.assign({},i))}catch(l){throw console.error(l),new Bo(or(l),0)}if(o.ok||await cw(o),r!=null&&r.noResolveJson)return o;try{return await o.json()}catch(l){await cw(l)}}function Ct(A){var e;let t=null;vS(A)&&(t=Object.assign({},A),A.expires_at||(t.expires_at=eS(A.expires_in)));const r=(e=A.user)!==null&&e!==void 0?e:typeof(A==null?void 0:A.id)=="string"?A:null;return{data:{session:t,user:r},error:null}}function uw(A){const e=Ct(A);return!e.error&&A.weak_password&&typeof A.weak_password=="object"&&Array.isArray(A.weak_password.reasons)&&A.weak_password.reasons.length&&A.weak_password.message&&typeof A.weak_password.message=="string"&&A.weak_password.reasons.reduce((t,r)=>t&&typeof r=="string",!0)&&(e.data.weak_password=A.weak_password),e}function RA(A){var e;return{data:{user:(e=A.user)!==null&&e!==void 0?e:A},error:null}}function mS(A){return{data:A,error:null}}function yS(A){const{action_link:e,email_otp:t,hashed_token:r,redirect_to:n,verification_type:s}=A,i=no(A,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),o={action_link:e,email_otp:t,hashed_token:r,redirect_to:n,verification_type:s},l=Object.assign({},i);return{data:{properties:o,user:l},error:null}}function hw(A){return A}function vS(A){return!!A.access_token&&!!A.refresh_token&&!!A.expires_in}const _o=["global","local","others"];class Hc{constructor({url:e="",headers:t={},fetch:r,experimental:n}){this.url=e,this.headers=t,this.fetch=aw(r),this.experimental=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)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=_o[0]){if(_o.indexOf(t)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${_o.join(", ")}`);try{return await K(this.fetch,"POST",`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(r){if(P(r))return{data:null,error:r};throw r}}async inviteUserByEmail(e,t={}){try{return await K(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async generateLink(e){try{const{options:t}=e,r=no(e,["options"]),n=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(n.new_email=r==null?void 0:r.newEmail,delete n.newEmail),await K(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:n,headers:this.headers,xform:yS,redirectTo:t==null?void 0:t.redirectTo})}catch(t){if(P(t))return{data:{properties:null,user:null},error:t};throw t}}async createUser(e){try{return await K(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:RA})}catch(t){if(P(t))return{data:{user:null},error:t};throw t}}async listUsers(e){var t,r,n,s,i,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(s=(n=e==null?void 0:e.perPage)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""},xform:hw});if(u.error)throw u.error;const d=await u.json(),g=(i=u.headers.get("x-total-count"))!==null&&i!==void 0?i:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(B=>{const C=parseInt(B.split(";")[0].split("=")[1].substring(0,1)),E=JSON.parse(B.split(";")[1].split("=")[1]);c[`${E}Page`]=C}),c.total=parseInt(g)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(P(c))return{data:{users:[]},error:c};throw c}}async getUserById(e){iA(e);try{return await K(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:RA})}catch(t){if(P(t))return{data:{user:null},error:t};throw t}}async updateUserById(e,t){iA(e);try{return await K(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async deleteUser(e,t=!1){iA(e);try{return await K(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:RA})}catch(r){if(P(r))return{data:{user:null},error:r};throw r}}async _listFactors(e){iA(e.userId);try{const{data:t,error:r}=await K(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:n=>({data:{factors:n},error:null})});return{data:t,error:r}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _deleteFactor(e){iA(e.userId),iA(e.id);try{return{data:await K(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _listOAuthClients(e){var t,r,n,s,i,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await K(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(t=e==null?void 0:e.page)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:"",per_page:(s=(n=e==null?void 0:e.perPage)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""},xform:hw});if(u.error)throw u.error;const d=await u.json(),g=(i=u.headers.get("x-total-count"))!==null&&i!==void 0?i:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(B=>{const C=parseInt(B.split(";")[0].split("=")[1].substring(0,1)),E=JSON.parse(B.split(";")[1].split("=")[1]);c[`${E}Page`]=C}),c.total=parseInt(g)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(P(c))return{data:{clients:[]},error:c};throw c}}async _createOAuthClient(e){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _getOAuthClient(e){try{return await K(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _updateOAuthClient(e,t){try{return await K(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(P(r))return{data:null,error:r};throw r}}async _deleteOAuthClient(e){try{return await K(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _regenerateOAuthClientSecret(e){try{return await K(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _listCustomProviders(e){try{const t={};return e!=null&&e.type&&(t.type=e.type),await K(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:r=>{var n;return{data:{providers:(n=r==null?void 0:r.providers)!==null&&n!==void 0?n:[]},error:null}}})}catch(t){if(P(t))return{data:{providers:[]},error:t};throw t}}async _createCustomProvider(e){try{return await K(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _getCustomProvider(e){try{return await K(this.fetch,"GET",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _updateCustomProvider(e,t){try{return await K(this.fetch,"PUT",`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(P(r))return{data:null,error:r};throw r}}async _deleteCustomProvider(e){try{return await K(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}async _adminListPasskeys(e){xt(this.experimental),iA(e.userId);try{return await K(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:t=>({data:t,error:null})})}catch(t){if(P(t))return{data:null,error:t};throw t}}async _adminDeletePasskey(e){xt(this.experimental),iA(e.userId),iA(e.passkeyId);try{return await K(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(t){if(P(t))return{data:null,error:t};throw t}}}function dw(A={}){return{getItem:e=>A[e]||null,setItem:(e,t)=>{A[e]=t},removeItem:e=>{delete A[e]}}}const kt={debug:!!(globalThis&&ow()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class hs extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class Lc extends hs{}class _S extends hs{}async function CS(A,e,t){kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",A,e);const r=new globalThis.AbortController;let n;e>0&&(n=setTimeout(()=>{r.abort(),kt.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",A)},e)),await Promise.resolve();try{return await globalThis.navigator.locks.request(A,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:r.signal},async s=>{if(s){clearTimeout(n),kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",A,s.name);try{return await t()}finally{kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",A,s.name)}}else{if(e===0)throw kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",A),new Lc(`Acquiring an exclusive Navigator LockManager lock "${A}" immediately failed`);if(kt.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"),clearTimeout(n),await t()}})}catch(s){if(e>0&&clearTimeout(n),s!==null&&typeof s=="object"&&"name"in s&&s.name==="AbortError"&&e>0){if(r.signal.aborted)return kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",A),console.warn(`@supabase/gotrue-js: Lock "${A}" was not released within ${e}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(A,{mode:"exclusive",steal:!0},async i=>{if(i){kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",A,i.name);try{return await t()}finally{kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",A,i.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await t()}));throw kt.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",A),new Lc(`Lock "${A}" was released because another request stole it`)}throw s}}const fw={};async function ES(A,e,t){var r;const n=(r=fw[A])!==null&&r!==void 0?r:Promise.resolve(),s=(async()=>{try{return await n,null}catch{return null}})(),i=(async()=>{let o=null;try{const l=e>=0?new Promise((c,u)=>{o=setTimeout(()=>{console.warn(`@supabase/gotrue-js: Lock "${A}" acquisition timed out after ${e}ms. This may be caused by another operation holding the lock. Consider increasing lockAcquireTimeout or checking for stuck operations.`),u(new _S(`Acquiring process lock with name "${A}" timed out`))},e)}):null;await Promise.race([s,l].filter(c=>c)),o!==null&&clearTimeout(o)}catch(l){if(o!==null&&clearTimeout(o),l instanceof hs)throw l}return await t()})();return fw[A]=(async()=>{try{return await i}catch(o){if(o instanceof hs){try{await n}catch{}return null}throw o}})(),await i}function bS(){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 gw(A){if(!/^0x[a-fA-F0-9]{40}$/.test(A))throw new Error(`@supabase/auth-js: Address "${A}" is invalid.`);return A.toLowerCase()}function US(A){return parseInt(A,16)}function QS(A){const e=new TextEncoder().encode(A);return"0x"+Array.from(e,r=>r.toString(16).padStart(2,"0")).join("")}function IS(A){var e;const{chainId:t,domain:r,expirationTime:n,issuedAt:s=new Date,nonce:i,notBefore:o,requestId:l,resources:c,scheme:u,uri:d,version:g}=A;{if(!Number.isInteger(t))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!r)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(i&&i.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${i}`);if(!d)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(g!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${g}`);if(!((e=A.statement)===null||e===void 0)&&e.includes(`
|
|
3020
3020
|
`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${A.statement}`)}const p=gw(A.address),B=u?`${u}://${r}`:r,C=A.statement?`${A.statement}
|
|
3021
3021
|
`:"",E=`${B} wants you to sign in with your Ethereum account:
|
|
3022
3022
|
${p}
|
|
@@ -3031,6 +3031,6 @@ Not Before: ${o.toISOString()}`),l&&(I+=`
|
|
|
3031
3031
|
Request ID: ${l}`),c){let Q=`
|
|
3032
3032
|
Resources:`;for(const S of c){if(!S||typeof S!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${S}`);Q+=`
|
|
3033
3033
|
- ${S}`}I+=Q}return`${E}
|
|
3034
|
-
${I}`}class Ue extends Error{constructor({message:e,code:t,cause:r,name:n}){var s;super(e,{cause:r}),this.__isWebAuthnError=!0,this.name=(s=n??(r instanceof Error?r.name:void 0))!==null&&s!==void 0?s:"Unknown Error",this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Co extends Ue{constructor(e,t){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t,message:e}),this.name="WebAuthnUnknownError",this.originalError=t}}function TS({error:A,options:e}){var t,r,n;const{publicKey:s}=e;if(!s)throw Error("options was missing required publicKey property");if(A.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Ue({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:A})}else if(A.name==="ConstraintError"){if(((t=s.authenticatorSelection)===null||t===void 0?void 0:t.requireResidentKey)===!0)return new Ue({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:A});if(e.mediation==="conditional"&&((r=s.authenticatorSelection)===null||r===void 0?void 0:r.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:A});if(((n=s.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new Ue({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:A})}else{if(A.name==="InvalidStateError")return new Ue({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:A});if(A.name==="NotAllowedError")return new Ue({message:A.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A});if(A.name==="NotSupportedError")return s.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:A}):new Ue({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:A});if(A.name==="SecurityError"){const i=window.location.hostname;if(yw(i)){if(s.rp.id!==i)return new Ue({message:`The RP ID "${s.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:A})}else return new Ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:A})}else if(A.name==="TypeError"){if(s.user.id.byteLength<1||s.user.id.byteLength>64)return new Ue({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:A})}else if(A.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:A})}return new Ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A})}function SS({error:A,options:e}){const{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(A.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Ue({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:A})}else{if(A.name==="NotAllowedError")return new Ue({message:A.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A});if(A.name==="SecurityError"){const r=window.location.hostname;if(yw(r)){if(t.rpId!==r)return new Ue({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:A})}else return new Ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:A})}else if(A.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:A})}return new Ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A})}class RS{createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const Dc=new RS;function pw(A){if(!A)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(A);const{challenge:e,user:t,excludeCredentials:r}=A,n=no(A,["challenge","user","excludeCredentials"]),s=Wr(e).buffer,i=Object.assign(Object.assign({},t),{id:Wr(t.id).buffer}),o=Object.assign(Object.assign({},n),{challenge:s,user:i});if(r&&r.length>0){o.excludeCredentials=new Array(r.length);for(let l=0;l<r.length;l++){const c=r[l];o.excludeCredentials[l]=Object.assign(Object.assign({},c),{id:Wr(c.id).buffer,type:c.type||"public-key",transports:c.transports})}}return o}function ww(A){if(!A)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(A);const{challenge:e,allowCredentials:t}=A,r=no(A,["challenge","allowCredentials"]),n=Wr(e).buffer,s=Object.assign(Object.assign({},r),{challenge:n});if(t&&t.length>0){s.allowCredentials=new Array(t.length);for(let i=0;i<t.length;i++){const o=t[i];s.allowCredentials[i]=Object.assign(Object.assign({},o),{id:Wr(o.id).buffer,type:o.type||"public-key",transports:o.transports})}}return s}function Bw(A){var e;if("toJSON"in A&&typeof A.toJSON=="function")return A.toJSON();const t=A;return{id:A.id,rawId:A.id,response:{attestationObject:nr(new Uint8Array(A.response.attestationObject)),clientDataJSON:nr(new Uint8Array(A.response.clientDataJSON))},type:"public-key",clientExtensionResults:A.getClientExtensionResults(),authenticatorAttachment:(e=t.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function mw(A){var e;if("toJSON"in A&&typeof A.toJSON=="function")return A.toJSON();const t=A,r=A.getClientExtensionResults(),n=A.response;return{id:A.id,rawId:A.id,response:{authenticatorData:nr(new Uint8Array(n.authenticatorData)),clientDataJSON:nr(new Uint8Array(n.clientDataJSON)),signature:nr(new Uint8Array(n.signature)),userHandle:n.userHandle?nr(new Uint8Array(n.userHandle)):void 0},type:"public-key",clientExtensionResults:r,authenticatorAttachment:(e=t.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function yw(A){return A==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(A)}function Eo(){var A,e;return!!(je()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((A=navigator==null?void 0:navigator.credentials)===null||A===void 0?void 0:A.create)=="function"&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.get)=="function")}async function vw(A){try{const e=await navigator.credentials.create(A);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new Co("Browser returned unexpected credential type",e)}:{data:null,error:new Co("Empty credential response",e)}}catch(e){return{data:null,error:TS({error:e,options:A})}}}async function _w(A){try{const e=await navigator.credentials.get(A);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new Co("Browser returned unexpected credential type",e)}:{data:null,error:new Co("Empty credential response",e)}}catch(e){return{data:null,error:SS({error:e,options:A})}}}const xS={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},kS={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function bo(...A){const e=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),t=n=>n instanceof ArrayBuffer||ArrayBuffer.isView(n),r={};for(const n of A)if(n)for(const s in n){const i=n[s];if(i!==void 0)if(Array.isArray(i))r[s]=i;else if(t(i))r[s]=i;else if(e(i)){const o=r[s];e(o)?r[s]=bo(o,i):r[s]=bo(i)}else r[s]=i}return r}function HS(A,e){return bo(xS,A,e||{})}function LS(A,e){return bo(kS,A,e||{})}class DS{constructor(e){this.client=e,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(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:t,friendlyName:r,signal:n},s){var i;try{const{data:o,error:l}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!o)return{data:null,error:l};const c=n??Dc.createNewAbortSignal();if(o.webauthn.type==="create"){const{user:u}=o.webauthn.credential_options.publicKey;if(!u.name){const d=r;if(d)u.name=`${u.id}:${d}`;else{const p=(await this.client.getUser()).data.user,B=((i=p==null?void 0:p.user_metadata)===null||i===void 0?void 0:i.name)||(p==null?void 0:p.email)||(p==null?void 0:p.id)||"User";u.name=`${u.id}:${B}`}}u.displayName||(u.displayName=u.name)}switch(o.webauthn.type){case"create":{const u=HS(o.webauthn.credential_options.publicKey,s==null?void 0:s.create),{data:d,error:g}=await vw({publicKey:u,signal:c});return d?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:g}}case"request":{const u=LS(o.webauthn.credential_options.publicKey,s==null?void 0:s.request),{data:d,error:g}=await _w(Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:u,signal:c}));return d?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:g}}}}catch(o){return P(o)?{data:null,error:o}:{data:null,error:new _t("Unexpected error in challenge",o)}}}async _verify({challengeId:e,factorId:t,webauthn:r}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:r})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:n}={}},s){if(!t)return{data:null,error:new $r("rpId is required for WebAuthn authentication")};try{if(!Eo())return{data:null,error:new _t("Browser does not support WebAuthn",null)};const{data:i,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:r},signal:n},{request:s});if(!i)return{data:null,error:o};const{webauthn:l}=i;return this._verify({factorId:e,challengeId:i.challengeId,webauthn:{type:l.type,rpId:t,rpOrigins:r,credential_response:l.credential_response}})}catch(i){return P(i)?{data:null,error:i}:{data:null,error:new _t("Unexpected error in authenticate",i)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:n}={}},s){if(!t)return{data:null,error:new $r("rpId is required for WebAuthn registration")};try{if(!Eo())return{data:null,error:new _t("Browser does not support WebAuthn",null)};const{data:i,error:o}=await this._enroll({friendlyName:e});if(!i)return await this.client.mfa.listFactors().then(u=>{var d;return(d=u.data)===null||d===void 0?void 0:d.all.find(g=>g.factor_type==="webauthn"&&g.friendly_name===e&&g.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:o};const{data:l,error:c}=await this._challenge({factorId:i.id,friendlyName:i.friendly_name,webauthn:{rpId:t,rpOrigins:r},signal:n},{create:s});return l?this._verify({factorId:i.id,challengeId:l.challengeId,webauthn:{rpId:t,rpOrigins:r,type:l.webauthn.type,credential_response:l.webauthn.credential_response}}):{data:null,error:c}}catch(i){return P(i)?{data:null,error:i}:{data:null,error:new _t("Unexpected error in register",i)}}}}US();const OS={url:KT,storageKey:GT,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:jT,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Jr={};class Xr{get jwks(){var e,t;return(t=(e=Jr[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&t!==void 0?t:{keys:[]}}set jwks(e){Jr[this.storageKey]=Object.assign(Object.assign({},Jr[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,t;return(t=(e=Jr[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&t!==void 0?t:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Jr[this.storageKey]=Object.assign(Object.assign({},Jr[this.storageKey]),{cachedAt:e})}constructor(e){var t,r,n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const s=Object.assign(Object.assign({},OS),e);if(this.storageKey=s.storageKey,this.instanceID=(t=Xr.nextInstanceID[this.storageKey])!==null&&t!==void 0?t:0,Xr.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.instanceID>0&&je()){const i=`${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(i),this.logDebugMessages&&console.trace(i)}if(this.persistSession=s.persistSession,this.autoRefreshToken=s.autoRefreshToken,this.experimental=(r=s.experimental)!==null&&r!==void 0?r:{},this.admin=new Hc({url:s.url,headers:s.headers,fetch:s.fetch,experimental:this.experimental}),this.url=s.url,this.headers=s.headers,this.fetch=aw(s.fetch),this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,this.hasCustomAuthorizationHeader=s.hasCustomAuthorizationHeader,this.throwOnError=s.throwOnError,this.lockAcquireTimeout=s.lockAcquireTimeout,s.lock!=null&&(this.lock=s.lock),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 DS(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.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(s.storage?this.storage=s.storage:ow()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=dw(this.memoryStorage)),s.userStorage&&(this.userStorage=s.userStorage)):(this.memoryStorage={},this.storage=dw(this.memoryStorage)),je()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(i){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",i)}(n=this.broadcastChannel)===null||n===void 0||n.addEventListener("message",async i=>{this._debug("received broadcast notification from other tab or client",i),(i.data.event==="TOKEN_REFRESHED"||i.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(i.data.event,i.data.session,!1)}catch(o){this._debug("#broadcastChannel","error",o)}})}s.skipAutoInitialize||this.initialize().catch(i=>{this._debug("#initialize()","error",i)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Xp}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())(),await this.initializePromise)}async _initialize(){var e;try{let t={},r="none";if(je()&&(t=rS(window.location.href),this._isImplicitGrantCallback(t)?r="implicit":await this._isPKCECallback(t)&&(r="pkce")),je()&&this.detectSessionInUrl&&r!=="none"){const{data:n,error:s}=await this._getSessionFromURL(t,r);if(s){if(this._debug("#_initialize()","error detecting session from URL",s),ew(s)){const l=(e=s.details)===null||e===void 0?void 0:e.code;if(l==="identity_already_exists"||l==="identity_not_found"||l==="single_identity_not_deletable")return{error:s}}return{error:s}}const{session:i,redirectType:o}=n;return this._debug("#_initialize()","detected session in URL",i,"redirect type",o),await this._saveSession(i),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",i):await this._notifyAllSubscribers("SIGNED_IN",i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(t){return P(t)?this._returnResult({error:t}):this._returnResult({error:new _t("Unexpected error during initialization",t)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var t,r,n;try{const s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(r=(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:(n=e==null?void 0:e.options)===null||n===void 0?void 0:n.captchaToken}},xform:Ct}),{data:i,error:o}=s;if(o||!i)return this._returnResult({data:{user:null,session:null},error:o});const l=i.session,c=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(P(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signUp(e){var t,r,n;try{let s;if("email"in e){const{email:u,password:d,options:g}=e;let p=null,B=null;this.flowType==="pkce"&&([p,B]=await ir(this.storage,this.storageKey)),s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:g==null?void 0:g.emailRedirectTo,body:{email:u,password:d,data:(t=g==null?void 0:g.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:g==null?void 0:g.captchaToken},code_challenge:p,code_challenge_method:B},xform:Ct})}else if("phone"in e){const{phone:u,password:d,options:g}=e;s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:d,data:(r=g==null?void 0:g.data)!==null&&r!==void 0?r:{},channel:(n=g==null?void 0:g.channel)!==null&&n!==void 0?n:"sms",gotrue_meta_security:{captcha_token:g==null?void 0:g.captchaToken}},xform:Ct})}else throw new ls("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return await ye(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:o});const l=i.session,c=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithPassword(e){try{let t;if("email"in e){const{email:s,password:i,options:o}=e;t=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:s,password:i,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:uw})}else if("phone"in e){const{phone:s,password:i,options:o}=e;t=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:s,password:i,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:uw})}else throw new ls("You must provide either an email or phone number and a password");const{data:r,error:n}=t;if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!r||!r.session||!r.user){const s=new rr;return this._returnResult({data:{user:null,session:null},error:s})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:Object.assign({user:r.user,session:r.session},r.weak_password?{weakPassword:r.weak_password}:null),error:n})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async signInWithOAuth(e){var t,r,n,s;return await this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(n=e.options)===null||n===void 0?void 0:n.queryParams,skipBrowserRedirect:(s=e.options)===null||s===void 0?void 0:s.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e)):this._exchangeCodeForSession(e)}async signInWithWeb3(e){const{chain:t}=e;switch(t){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){var t,r,n,s,i,o,l,c,u,d,g;let p,B;if("message"in e)p=e.message,B=e.signature;else{const{chain:C,wallet:E,statement:I,options:Q}=e;let S;if(je())if(typeof E=="object")S=E;else{const y=window;if("ethereum"in y&&typeof y.ethereum=="object"&&"request"in y.ethereum&&typeof y.ethereum.request=="function")S=y.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 E!="object"||!(Q!=null&&Q.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");S=E}const k=new URL((t=Q==null?void 0:Q.url)!==null&&t!==void 0?t:window.location.href),H=await S.request({method:"eth_requestAccounts"}).then(y=>y).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!H||H.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const R=gw(H[0]);let _=(r=Q==null?void 0:Q.signInWithEthereum)===null||r===void 0?void 0:r.chainId;if(!_){const y=await S.request({method:"eth_chainId"});_=QS(y)}const m={domain:k.host,address:R,statement:I,uri:k.href,version:"1",chainId:_,nonce:(n=Q==null?void 0:Q.signInWithEthereum)===null||n===void 0?void 0:n.nonce,issuedAt:(i=(s=Q==null?void 0:Q.signInWithEthereum)===null||s===void 0?void 0:s.issuedAt)!==null&&i!==void 0?i:new Date,expirationTime:(o=Q==null?void 0:Q.signInWithEthereum)===null||o===void 0?void 0:o.expirationTime,notBefore:(l=Q==null?void 0:Q.signInWithEthereum)===null||l===void 0?void 0:l.notBefore,requestId:(c=Q==null?void 0:Q.signInWithEthereum)===null||c===void 0?void 0:c.requestId,resources:(u=Q==null?void 0:Q.signInWithEthereum)===null||u===void 0?void 0:u.resources};p=FS(m),B=await S.request({method:"personal_sign",params:[IS(p),R]})}try{const{data:C,error:E}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:p,signature:B},!((d=e.options)===null||d===void 0)&&d.captchaToken?{gotrue_meta_security:{captcha_token:(g=e.options)===null||g===void 0?void 0:g.captchaToken}}:null),xform:Ct});if(E)throw E;if(!C||!C.session||!C.user){const I=new rr;return this._returnResult({data:{user:null,session:null},error:I})}return C.session&&(await this._saveSession(C.session),await this._notifyAllSubscribers("SIGNED_IN",C.session)),this._returnResult({data:Object.assign({},C),error:E})}catch(C){if(P(C))return this._returnResult({data:{user:null,session:null},error:C});throw C}}async signInWithSolana(e){var t,r,n,s,i,o,l,c,u,d,g,p;let B,C;if("message"in e)B=e.message,C=e.signature;else{const{chain:E,wallet:I,statement:Q,options:S}=e;let k;if(je())if(typeof I=="object")k=I;else{const R=window;if("solana"in R&&typeof R.solana=="object"&&("signIn"in R.solana&&typeof R.solana.signIn=="function"||"signMessage"in R.solana&&typeof R.solana.signMessage=="function"))k=R.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 I!="object"||!(S!=null&&S.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");k=I}const H=new URL((t=S==null?void 0:S.url)!==null&&t!==void 0?t:window.location.href);if("signIn"in k&&k.signIn){const R=await k.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},S==null?void 0:S.signInWithSolana),{version:"1",domain:H.host,uri:H.href}),Q?{statement:Q}:null));let _;if(Array.isArray(R)&&R[0]&&typeof R[0]=="object")_=R[0];else if(R&&typeof R=="object"&&"signedMessage"in R&&"signature"in R)_=R;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in _&&"signature"in _&&(typeof _.signedMessage=="string"||_.signedMessage instanceof Uint8Array)&&_.signature instanceof Uint8Array)B=typeof _.signedMessage=="string"?_.signedMessage:new TextDecoder().decode(_.signedMessage),C=_.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in k)||typeof k.signMessage!="function"||!("publicKey"in k)||typeof k!="object"||!k.publicKey||!("toBase58"in k.publicKey)||typeof k.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");B=[`${H.host} wants you to sign in with your Solana account:`,k.publicKey.toBase58(),...Q?["",Q,""]:[""],"Version: 1",`URI: ${H.href}`,`Issued At: ${(n=(r=S==null?void 0:S.signInWithSolana)===null||r===void 0?void 0:r.issuedAt)!==null&&n!==void 0?n:new Date().toISOString()}`,...!((s=S==null?void 0:S.signInWithSolana)===null||s===void 0)&&s.notBefore?[`Not Before: ${S.signInWithSolana.notBefore}`]:[],...!((i=S==null?void 0:S.signInWithSolana)===null||i===void 0)&&i.expirationTime?[`Expiration Time: ${S.signInWithSolana.expirationTime}`]:[],...!((o=S==null?void 0:S.signInWithSolana)===null||o===void 0)&&o.chainId?[`Chain ID: ${S.signInWithSolana.chainId}`]:[],...!((l=S==null?void 0:S.signInWithSolana)===null||l===void 0)&&l.nonce?[`Nonce: ${S.signInWithSolana.nonce}`]:[],...!((c=S==null?void 0:S.signInWithSolana)===null||c===void 0)&&c.requestId?[`Request ID: ${S.signInWithSolana.requestId}`]:[],...!((d=(u=S==null?void 0:S.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||d===void 0)&&d.length?["Resources",...S.signInWithSolana.resources.map(_=>`- ${_}`)]:[]].join(`
|
|
3035
|
-
`);const R=await k.signMessage(new TextEncoder().encode(B),"utf8");if(!R||!(R instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");C=R}}try{const{data:E,error:I}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:B,signature:nr(C)},!((g=e.options)===null||g===void 0)&&g.captchaToken?{gotrue_meta_security:{captcha_token:(p=e.options)===null||p===void 0?void 0:p.captchaToken}}:null),xform:Ct});if(I)throw I;if(!E||!E.session||!E.user){const Q=new rr;return this._returnResult({data:{user:null,session:null},error:Q})}return E.session&&(await this._saveSession(E.session),await this._notifyAllSubscribers("SIGNED_IN",E.session)),this._returnResult({data:Object.assign({},E),error:I})}catch(E){if(P(E))return this._returnResult({data:{user:null,session:null},error:E});throw E}}async _exchangeCodeForSession(e){const t=await Rt(this.storage,`${this.storageKey}-code-verifier`),[r,n]=(t??"").split("/");try{if(!r&&this.flowType==="pkce")throw new tw;const{data:s,error:i}=await K(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:r},xform:Ct});if(await ye(this.storage,`${this.storageKey}-code-verifier`),i)throw i;if(!s||!s.session||!s.user){const o=new rr;return this._returnResult({data:{user:null,session:null,redirectType:null},error:o})}return s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers(n==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",s.session)),this._returnResult({data:Object.assign(Object.assign({},s),{redirectType:n??null}),error:i})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:{user:null,session:null,redirectType:null},error:s});throw s}}async signInWithIdToken(e){try{const{options:t,provider:r,token:n,access_token:s,nonce:i}=e,o=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:n,access_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:Ct}),{data:l,error:c}=o;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const u=new rr;return this._returnResult({data:{user:null,session:null},error:u})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:l,error:c})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async signInWithOtp(e){var t,r,n,s,i;try{if("email"in e){const{email:o,options:l}=e;let c=null,u=null;this.flowType==="pkce"&&([c,u]=await ir(this.storage,this.storageKey));const{error:d}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:o,data:(t=l==null?void 0:l.data)!==null&&t!==void 0?t:{},create_user:(r=l==null?void 0:l.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},code_challenge:c,code_challenge_method:u},redirectTo:l==null?void 0:l.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:d})}if("phone"in e){const{phone:o,options:l}=e,{data:c,error:u}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:o,data:(n=l==null?void 0:l.data)!==null&&n!==void 0?n:{},create_user:(s=l==null?void 0:l.shouldCreateUser)!==null&&s!==void 0?s:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},channel:(i=l==null?void 0:l.channel)!==null&&i!==void 0?i:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:u})}throw new ls("You must provide either an email or phone number.")}catch(o){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async verifyOtp(e){var t,r;try{let n,s;"options"in e&&(n=(t=e.options)===null||t===void 0?void 0:t.redirectTo,s=(r=e.options)===null||r===void 0?void 0:r.captchaToken);const{data:i,error:o}=await K(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:s}}),redirectTo:n,xform:Ct});if(o)throw o;if(!i)throw new Error("An error occurred on token verification.");const l=i.session,c=i.user;return l!=null&&l.access_token&&(await this._saveSession(l),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(n){if(P(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithSSO(e){var t,r,n,s,i;try{let o=null,l=null;this.flowType==="pkce"&&([o,l]=await ir(this.storage,this.storageKey));const c=await K(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((n=e==null?void 0:e.options)===null||n===void 0)&&n.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:l}),headers:this.headers,xform:yS});return!((s=c.data)===null||s===void 0)&&s.url&&je()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(c.data.url),this._returnResult(c)}catch(o){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(o))return this._returnResult({data:null,error:o});throw o}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)throw r;if(!t)throw new Te;const{error:n}=await K(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:n})})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const t=`${this.url}/resend`;if("email"in e){const{email:r,type:n,options:s}=e;let i=null,o=null;this.flowType==="pkce"&&([i,o]=await ir(this.storage,this.storageKey));const{error:l}=await K(this.fetch,"POST",t,{headers:this.headers,body:{email:r,type:n,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken},code_challenge:i,code_challenge_method:o},redirectTo:s==null?void 0:s.emailRedirectTo});return l&&await ye(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l})}else if("phone"in e){const{phone:r,type:n,options:s}=e,{data:i,error:o}=await K(this.fetch,"POST",t,{headers:this.headers,body:{phone:r,type:n,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:i==null?void 0:i.message_id},error:o})}throw new ls("You must provide either an email or phone number and a type")}catch(t){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e)):await this._useSession(async e=>e)}async _acquireLock(e,t){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await r,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const r=t();for(this.pendingInLock.push((async()=>{try{await r}catch{}})()),await r;this.pendingInLock.length;){const n=[...this.pendingInLock];await Promise.all(n),this.pendingInLock.splice(0,n.length)}return await r}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const t=await this.__loadSession();return await e(t)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const t=await Rt(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",t),t!==null&&(this._isValidSession(t)?e=t:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const r=e.expires_at?e.expires_at*1e3-Date.now()<Ic:!1;if(this._debug("#__loadSession()",`session has${r?"":" not"} expired`,"expires_at",e.expires_at),!r){if(this.userStorage){const i=await Rt(this.userStorage,this.storageKey+"-user");i!=null&&i.user?e.user=i.user:e.user=kc()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){const i={value:this.suppressGetSessionWarning};e.user=pS(e.user,i),i.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}const{data:n,error:s}=await this._callRefreshToken(e.refresh_token);if(s){if(!!(e.expires_at&&e.expires_at*1e3>Date.now())){const o=await Rt(this.storage,this.storageKey);if(o&&o.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:s})}return this._returnResult({data:{session:n},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return this.lock!=null?t=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):t=await this._getUser(),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:RA}):await this._useSession(async t=>{var r,n,s;const{data:i,error:o}=t;if(o)throw o;return!(!((r=i.session)===null||r===void 0)&&r.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Te}:await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(s=(n=i.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0,xform:RA})})}catch(t){if(P(t))return as(t)&&(await this._removeSession(),await ye(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:t});throw t}}async updateUser(e,t={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t)):await this._updateUser(e,t)}async _updateUser(e,t={}){try{return await this._useSession(async r=>{const{data:n,error:s}=r;if(s)throw s;if(!n.session)throw new Te;const i=n.session;let o=null,l=null;this.flowType==="pkce"&&e.email!=null&&([o,l]=await ir(this.storage,this.storageKey));const{data:c,error:u}=await K(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:o,code_challenge_method:l}),jwt:i.access_token,xform:RA});if(u)throw u;return i.user=c.user,await this._saveSession(i),await this._notifyAllSubscribers("USER_UPDATED",i),this._returnResult({data:{user:i.user},error:null})})}catch(r){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(r))return this._returnResult({data:{user:null},error:r});throw r}}async setSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e)):await this._setSession(e)}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Te;const t=Date.now()/1e3;let r=t,n=!0,s=null;const{payload:i}=vo(e.access_token);if(i.exp&&(r=i.exp,n=r<=t),n){const{data:o,error:l}=await this._callRefreshToken(e.refresh_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!o)return{data:{user:null,session:null},error:null};s=o}else{const{data:o,error:l}=await this._getUser(e.access_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});s={access_token:e.access_token,refresh_token:e.refresh_token,user:o.user,token_type:"bearer",expires_in:r-t,expires_at:r},await this._saveSession(s),await this._notifyAllSubscribers("SIGNED_IN",s)}return this._returnResult({data:{user:s.user,session:s},error:null})}catch(t){if(P(t))return this._returnResult({data:{session:null,user:null},error:t});throw t}}async refreshSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e)):await this._refreshSession(e)}async _refreshSession(e){try{return await this._useSession(async t=>{var r;if(!e){const{data:i,error:o}=t;if(o)throw o;e=(r=i.session)!==null&&r!==void 0?r:void 0}if(!(e!=null&&e.refresh_token))throw new Te;const{data:n,error:s}=await this._callRefreshToken(e.refresh_token);return s?this._returnResult({data:{user:null,session:null},error:s}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async _getSessionFromURL(e,t){var r;try{if(!je())throw new cs("No browser detected.");if(e.error||e.error_description||e.error_code)throw new cs(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(t){case"implicit":if(this.flowType==="pkce")throw new Tc("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new cs("Not a valid implicit grant flow url.");break;default:}if(t==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new Tc("No code detected.");const{data:S,error:k}=await this._exchangeCodeForSession(e.code);if(k)throw k;const H=new URL(window.location.href);return H.searchParams.delete("code"),window.history.replaceState(window.history.state,"",H.toString()),{data:{session:S.session,redirectType:(r=S.redirectType)!==null&&r!==void 0?r:null},error:null}}const{provider_token:n,provider_refresh_token:s,access_token:i,refresh_token:o,expires_in:l,expires_at:c,token_type:u}=e;if(!i||!l||!o||!u)throw new cs("No session defined in URL");const d=Math.round(Date.now()/1e3),g=parseInt(l);let p=d+g;c&&(p=parseInt(c));const B=p-d;B*1e3<=sA&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${B}s, should have been closer to ${g}s`);const C=p-g;d-C>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",C,p,d):d-C<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",C,p,d);const{data:E,error:I}=await this._getUser(i);if(I)throw I;const Q={provider_token:n,provider_refresh_token:s,access_token:i,expires_in:g,expires_at:p,refresh_token:o,token_type:u,user:E.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:Q,redirectType:e.type},error:null})}catch(n){if(P(n))return this._returnResult({data:{session:null,redirectType:null},error:n});throw n}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){const t=await Rt(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&t)}async signOut(e={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e)):await this._signOut(e)}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async t=>{var r;const{data:n,error:s}=t;if(s&&!as(s))return this._returnResult({error:s});const i=(r=n.session)===null||r===void 0?void 0:r.access_token;if(i){const{error:o}=await this.admin.signOut(i,e);if(o&&!(Zp(o)&&(o.status===404||o.status===401||o.status===403)||as(o)))return this._returnResult({error:o})}return e!=="others"&&(await this._removeSession(),await ye(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(e){const t=AS(),r={id:t,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",t),this.stateChangeEmitters.delete(t)}};return this._debug("#onAuthStateChange()","registered callback with id",t),this.stateChangeEmitters.set(t,r),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)}):await this._emitInitialSession(t)))(),{data:{subscription:r}}}async _emitInitialSession(e){return await this._useSession(async t=>{var r,n;try{const{data:{session:s},error:i}=t;if(i)throw i;await((r=this.stateChangeEmitters.get(e))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",s)),this._debug("INITIAL_SESSION","callback id",e,"session",s)}catch(s){await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",s),as(s)?console.warn(s):console.error(s)}})}async resetPasswordForEmail(e,t={}){let r=null,n=null;this.flowType==="pkce"&&([r,n]=await ir(this.storage,this.storageKey,!0));try{return await K(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:r,code_challenge_method:n,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:null,error:s});throw s}}async getUserIdentities(){var e;try{const{data:t,error:r}=await this.getUser();if(r)throw r;return this._returnResult({data:{identities:(e=t.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var t;try{const{data:r,error:n}=await this._useSession(async s=>{var i,o,l,c,u;const{data:d,error:g}=s;if(g)throw g;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(o=e.options)===null||o===void 0?void 0:o.scopes,queryParams:(l=e.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:!0});return await K(this.fetch,"GET",p,{headers:this.headers,jwt:(u=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&u!==void 0?u:void 0})});if(n)throw n;return je()&&!(!((t=e.options)===null||t===void 0)&&t.skipBrowserRedirect)&&window.location.assign(r==null?void 0:r.url),this._returnResult({data:{provider:e.provider,url:r==null?void 0:r.url},error:null})}catch(r){if(P(r))return this._returnResult({data:{provider:e.provider,url:null},error:r});throw r}}async linkIdentityIdToken(e){return await this._useSession(async t=>{var r;try{const{error:n,data:{session:s}}=t;if(n)throw n;const{options:i,provider:o,token:l,access_token:c,nonce:u}=e,d=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(r=s==null?void 0:s.access_token)!==null&&r!==void 0?r:void 0,body:{provider:o,id_token:l,access_token:c,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:Ct}),{data:g,error:p}=d;return p?this._returnResult({data:{user:null,session:null},error:p}):!g||!g.session||!g.user?this._returnResult({data:{user:null,session:null},error:new rr}):(g.session&&(await this._saveSession(g.session),await this._notifyAllSubscribers("USER_UPDATED",g.session)),this._returnResult({data:g,error:p}))}catch(n){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{var r,n;const{data:s,error:i}=t;if(i)throw i;return await K(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(n=(r=s.session)===null||r===void 0?void 0:r.access_token)!==null&&n!==void 0?n:void 0})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _refreshAccessToken(e){const t="#_refreshAccessToken()";this._debug(t,"begin");try{const r=Date.now();return await iS(async n=>(n>0&&await sS(200*Math.pow(2,n-1)),this._debug(t,"refreshing attempt",n),await K(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ct})),(n,s)=>{const i=200*Math.pow(2,n);return s&&Sc(s)&&Date.now()+i-r<sA})}catch(r){if(this._debug(t,"error",r),P(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}finally{this._debug(t,"end")}}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,t){const r=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",t,"url",r),je()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}async _recoverAndRefresh(){var e,t;const r="#_recoverAndRefresh()";this._debug(r,"begin");try{const n=await Rt(this.storage,this.storageKey);if(n&&this.userStorage){let i=await Rt(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!i&&(i={user:n.user},await qr(this.userStorage,this.storageKey+"-user",i)),n.user=(e=i==null?void 0:i.user)!==null&&e!==void 0?e:kc()}else if(n&&!n.user&&!n.user){const i=await Rt(this.storage,this.storageKey+"-user");i&&(i!=null&&i.user)?(n.user=i.user,await ye(this.storage,this.storageKey+"-user"),await qr(this.storage,this.storageKey,n)):n.user=kc()}if(this._debug(r,"session from storage",n),!this._isValidSession(n)){this._debug(r,"session is not valid"),n!==null&&await this._removeSession();return}const s=((t=n.expires_at)!==null&&t!==void 0?t:1/0)*1e3-Date.now()<Ic;if(this._debug(r,`session has${s?"":" not"} expired with margin of ${Ic}s`),s){if(this.autoRefreshToken&&n.refresh_token){const{error:i}=await this._callRefreshToken(n.refresh_token);i&&(Aw(i)?this._debug(r,"refresh discarded by commit guard",i):this._debug(r,"refresh failed",i))}}else if(n.user&&n.user.__isUserNotAvailableProxy===!0)try{const{data:i,error:o}=await this._getUser(n.access_token);!o&&(i!=null&&i.user)?(n.user=i.user,await this._saveSession(n),await this._notifyAllSubscribers("SIGNED_IN",n)):this._debug(r,"could not get user data, skipping SIGNED_IN notification")}catch(i){console.error("Error getting user data:",i),this._debug(r,"error getting user data, skipping SIGNED_IN notification",i)}else await this._notifyAllSubscribers("SIGNED_IN",n)}catch(n){this._debug(r,"error",n),console.error(n);return}finally{this._debug(r,"end")}}async _callRefreshToken(e){var t,r;if(!e)throw new Te;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug("#_callRefreshToken()","returning cached failure (cooldown active)"),this.lastRefreshFailure.result;const n="#_callRefreshToken()";this._debug(n,"begin");try{this.refreshingDeferred=new yo;const s=await Rt(this.storage,this.storageKey),{data:i,error:o}=await this._refreshAccessToken(e);if(o)throw o;if(!i.session)throw new Te;const l=await Rt(this.storage,this.storageKey);if(s!==null&&(l===null||l.refresh_token!==s.refresh_token)){this._debug(n,"commit guard: storage changed since refresh started, discarding rotated tokens",{startedWith:"present",nowHolds:l?"replaced":"cleared"});const g={data:null,error:new Rc};return this.refreshingDeferred.resolve(g),g}const u=this._sessionRemovalEpoch;if(await this._saveSession(i.session),this._sessionRemovalEpoch!==u){this._debug(n,"commit guard (post-save): _removeSession ran during _saveSession, undoing write"),await ye(this.storage,this.storageKey),this.userStorage&&await ye(this.userStorage,this.storageKey+"-user");const g={data:null,error:new Rc};return this.refreshingDeferred.resolve(g),g}await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const d={data:i.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(d),d}catch(s){if(this._debug(n,"error",s),P(s)){const i={data:null,error:s};if(!Sc(s)){const o=await Rt(this.storage,this.storageKey);!!(o!=null&&o.expires_at&&o.expires_at*1e3>Date.now())?this._debug(n,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:i,expiresAt:Date.now()+MT},(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null,this._debug(n,"end")}}async _notifyAllSubscribers(e,t,r=!0){const n=`#_notifyAllSubscribers(${e})`;this._debug(n,"begin",t,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t});const s=[],i=Array.from(this.stateChangeEmitters.values()).map(async o=>{try{await o.callback(e,t)}catch(l){s.push(l)}});if(await Promise.all(i),s.length>0){for(let o=0;o<s.length;o+=1)console.error(s[o]);throw s[0]}}finally{this._debug(n,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.suppressGetSessionWarning=!0,await ye(this.storage,`${this.storageKey}-code-verifier`);const t=Object.assign({},e),r=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!r&&t.user&&await qr(this.userStorage,this.storageKey+"-user",{user:t.user});const n=Object.assign({},t);delete n.user;const s=lw(n);await qr(this.storage,this.storageKey,s)}else{const n=lw(t);await qr(this.storage,this.storageKey,n)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug("#_removeSession()"),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await ye(this.storage,this.storageKey),await ye(this.storage,this.storageKey+"-code-verifier"),await ye(this.storage,this.storageKey+"-user"),this.userStorage&&await ye(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&je()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const e=setInterval(()=>this._autoRefreshTokenTick(),sA);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e);const t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);const t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)===null||e===void 0||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async t=>{const{data:{session:r}}=t;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const n=Math.floor((r.expires_at*1e3-e)/sA);this._debug("#_autoRefreshTokenTick()",`access token expires in ${n} ticks, a tick lasts ${sA}ms, refresh threshold is ${os} ticks`),n<=os&&await this._callRefreshToken(r.refresh_token)})}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e instanceof hs)this._debug("auto refresh token tick lock not available");else throw e}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const e=Date.now();try{await this._useSession(async t=>{const{data:{session:r}}=t;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const n=Math.floor((r.expires_at*1e3-e)/sA);this._debug("#_autoRefreshTokenTick()",`access token expires in ${n} ticks, a tick lasts ${sA}ms, refresh threshold is ${os} ticks`),n<=os&&await this._callRefreshToken(r.refresh_token)})}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!je()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug("#visibilityChangedCallback","error",e)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const t=`#_onVisibilityChanged(${e})`;if(this._debug(t,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(t,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,r){const n=[`provider=${encodeURIComponent(t)}`];if(r!=null&&r.redirectTo&&n.push(`redirect_to=${encodeURIComponent(r.redirectTo)}`),r!=null&&r.scopes&&n.push(`scopes=${encodeURIComponent(r.scopes)}`),this.flowType==="pkce"){const[s,i]=await ir(this.storage,this.storageKey),o=new URLSearchParams({code_challenge:`${encodeURIComponent(s)}`,code_challenge_method:`${encodeURIComponent(i)}`});n.push(o.toString())}if(r!=null&&r.queryParams){const s=new URLSearchParams(r.queryParams);n.push(s.toString())}return r!=null&&r.skipBrowserRedirect&&n.push(`skip_http_redirect=${r.skipBrowserRedirect}`),`${e}?${n.join("&")}`}async _unenroll(e){try{return await this._useSession(async t=>{var r;const{data:n,error:s}=t;return s?this._returnResult({data:null,error:s}):await K(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(r=n==null?void 0:n.session)===null||r===void 0?void 0:r.access_token})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _enroll(e){try{return await this._useSession(async t=>{var r,n;const{data:s,error:i}=t;if(i)return this._returnResult({data:null,error:i});const o=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:l,error:c}=await K(this.fetch,"POST",`${this.url}/factors`,{body:o,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});return c?this._returnResult({data:null,error:c}):(e.factorType==="totp"&&l.type==="totp"&&(!((n=l==null?void 0:l.totp)===null||n===void 0)&&n.qr_code)&&(l.totp.qr_code=`data:image/svg+xml;utf-8,${l.totp.qr_code}`),this._returnResult({data:l,error:null}))})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _verify(e){const t=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 o=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?Bw(e.webauthn.credential_response):mw(e.webauthn.credential_response)})}:{code:e.code}),{data:l,error:c}=await K(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:o,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,t):t()}async _challenge(e){const t=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 o=await K(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});if(o.error)return o;const{data:l}=o;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:pw(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:ww(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,t):t()}async _challengeAndVerify(e){const{data:t,error:r}=await this._challenge({factorId:e.factorId});return r?this._returnResult({data:null,error:r}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){var e;const{data:{user:t},error:r}=await this.getUser();if(r)return{data:null,error:r};const n={all:[],phone:[],totp:[],webauthn:[]};for(const s of(e=t==null?void 0:t.factors)!==null&&e!==void 0?e:[])n.all.push(s),s.status==="verified"&&n[s.factor_type].push(s);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){var t,r,n,s;if(e)try{const{payload:p}=vo(e);let B=null;p.aal&&(B=p.aal);let C=B;const{data:{user:E},error:I}=await this.getUser(e);if(I)return this._returnResult({data:null,error:I});((r=(t=E==null?void 0:E.factors)===null||t===void 0?void 0:t.filter(k=>k.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(C="aal2");const S=p.amr||[];return{data:{currentLevel:B,nextLevel:C,currentAuthenticationMethods:S},error:null}}catch(p){if(P(p))return this._returnResult({data:null,error:p});throw p}const{data:{session:i},error:o}=await this.getSession();if(o)return this._returnResult({data:null,error:o});if(!i)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:l}=vo(i.access_token);let c=null;l.aal&&(c=l.aal);let u=c;((s=(n=i.user.factors)===null||n===void 0?void 0:n.filter(p=>p.status==="verified"))!==null&&s!==void 0?s:[]).length>0&&(u="aal2");const g=l.amr||[];return{data:{currentLevel:c,nextLevel:u,currentAuthenticationMethods:g},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;return n?this._returnResult({data:null,error:n}):r?await K(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:r.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new Te})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _approveAuthorization(e,t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!n)return this._returnResult({data:null,error:new Te});const i=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:n.access_token,body:{action:"approve"},xform:o=>({data:o,error:null})});return i.data&&i.data.redirect_url&&je()&&!(t!=null&&t.skipBrowserRedirect)&&window.location.assign(i.data.redirect_url),i})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _denyAuthorization(e,t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!n)return this._returnResult({data:null,error:new Te});const i=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:n.access_token,body:{action:"deny"},xform:o=>({data:o,error:null})});return i.data&&i.data.redirect_url&&je()&&!(t!=null&&t.skipBrowserRedirect)&&window.location.assign(i.data.redirect_url),i})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;return r?this._returnResult({data:null,error:r}):t?await K(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:n=>({data:n,error:null})}):this._returnResult({data:null,error:new Te})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;return n?this._returnResult({data:null,error:n}):r?(await K(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Te})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async fetchJwk(e,t={keys:[]}){let r=t.keys.find(o=>o.kid===e);if(r)return r;const n=Date.now();if(r=this.jwks.keys.find(o=>o.kid===e),r&&this.jwks_cached_at+WT>n)return r;const{data:s,error:i}=await K(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(i)throw i;return!s.keys||s.keys.length===0||(this.jwks=s,this.jwks_cached_at=n,r=s.keys.find(o=>o.kid===e),!r)?null:r}async getClaims(e,t={}){try{let r=e;if(!r){const{data:p,error:B}=await this.getSession();if(B||!p.session)return this._returnResult({data:null,error:B});r=p.session.access_token}const{header:n,payload:s,signature:i,raw:{header:o,payload:l}}=vo(r);if(!(t!=null&&t.allowExpired))try{dS(s.exp)}catch(p){throw new us(p instanceof Error?p.message:"JWT validation failed")}const c=!n.alg||n.alg.startsWith("HS")||!n.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(n.kid,t!=null&&t.keys?{keys:t.keys}:t==null?void 0:t.jwks);if(!c){const{error:p}=await this.getUser(r);if(p)throw p;return{data:{claims:s,header:n,signature:i},error:null}}const u=fS(n.alg),d=await crypto.subtle.importKey("jwk",c,u,!0,["verify"]);if(!await crypto.subtle.verify(u,d,i,eS(`${o}.${l}`)))throw new us("Invalid JWT signature");return{data:{claims:s,header:n,signature:i},error:null}}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async signInWithPasskey(e){var t,r,n;xt(this.experimental);try{if(!Eo())return this._returnResult({data:null,error:new _t("Browser does not support WebAuthn",null)});const{data:s,error:i}=await this._startPasskeyAuthentication({options:{captchaToken:(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.captchaToken}});if(i||!s)return this._returnResult({data:null,error:i});const o=ww(s.options),l=(n=(r=e==null?void 0:e.options)===null||r===void 0?void 0:r.signal)!==null&&n!==void 0?n:Dc.createNewAbortSignal(),{data:c,error:u}=await _w({publicKey:o,signal:l});if(u||!c)return this._returnResult({data:null,error:u??new _t("WebAuthn ceremony failed",null)});const d=mw(c);return this._verifyPasskeyAuthentication({challengeId:s.challenge_id,credential:d})}catch(s){if(P(s))return this._returnResult({data:null,error:s});throw s}}async registerPasskey(e){var t,r;xt(this.experimental);try{if(!Eo())return this._returnResult({data:null,error:new _t("Browser does not support WebAuthn",null)});const{data:n,error:s}=await this._startPasskeyRegistration();if(s||!n)return this._returnResult({data:null,error:s});const i=pw(n.options),o=(r=(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.signal)!==null&&r!==void 0?r:Dc.createNewAbortSignal(),{data:l,error:c}=await vw({publicKey:i,signal:o});if(c||!l)return this._returnResult({data:null,error:c??new _t("WebAuthn ceremony failed",null)});const u=Bw(l);return this._verifyPasskeyRegistration({challengeId:n.challenge_id,credential:u})}catch(n){if(P(n))return this._returnResult({data:null,error:n});throw n}}async _startPasskeyRegistration(){xt(this.experimental);try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)return this._returnResult({data:null,error:r});if(!t)return this._returnResult({data:null,error:new Te});const{data:n,error:s}=await K(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return s?this._returnResult({data:null,error:s}):this._returnResult({data:n,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{data:s,error:i}=await K(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:r.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:s,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _startPasskeyAuthentication(e){var t;xt(this.experimental);try{const{data:r,error:n}=await K(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:r,error:null})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _verifyPasskeyAuthentication(e){xt(this.experimental);try{const{data:t,error:r}=await K(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Ct});return r?this._returnResult({data:null,error:r}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),this._returnResult({data:t,error:null}))}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _listPasskeys(){xt(this.experimental);try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)return this._returnResult({data:null,error:r});if(!t)return this._returnResult({data:null,error:new Te});const{data:n,error:s}=await K(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:i=>({data:i,error:null})});return s?this._returnResult({data:null,error:s}):this._returnResult({data:n,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{data:s,error:i}=await K(this.fetch,"PATCH",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:r.access_token,body:{friendly_name:e.friendlyName}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:s,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _deletePasskey(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{error:s}=await K(this.fetch,"DELETE",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:r.access_token,noResolveJson:!0});return s?this._returnResult({data:null,error:s}):this._returnResult({data:null,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}}Xr.nextInstanceID={};const PS=Hc,Cw=Xr,NS="2.108.2";let ds="",Uo;if(typeof Deno<"u"){var Oc;ds="deno",Uo=(Oc=Deno.version)===null||Oc===void 0?void 0:Oc.deno}else if(typeof document<"u")ds="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")ds="react-native";else{var Pc;ds="node",Uo=typeof process<"u"?(Pc=process.version)===null||Pc===void 0?void 0:Pc.replace(/^v/,""):void 0}const Ew=[`runtime=${ds}`];Uo&&Ew.push(`runtime-version=${Uo}`);const VS={headers:{"X-Client-Info":`supabase-js/${NS}; ${Ew.join("; ")}`}},MS={schema:"public"},KS={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},GS={},jS={enabled:!1,respectSamplingDecision:!0};function $S(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,[])).next())})}let Nc=null;const WS="@opentelemetry/api";function qS(){return Nc===null&&(Nc=import(WS).catch(()=>null)),Nc}function JS(){return $S(this,void 0,void 0,function*(){try{const A=yield qS();if(!A||!A.propagation||!A.context)return null;const e={};A.propagation.inject(A.context.active(),e);const t=e.traceparent;return t?{traceparent:t,tracestate:e.tracestate,baggage:e.baggage}:null}catch{return null}})}function XS(A){if(!A||typeof A!="string")return null;const e=A.split("-");if(e.length!==4)return null;const[t,r,n,s]=e;if(t.length!==2||r.length!==32||n.length!==16||s.length!==2)return null;const i=/^[0-9a-f]+$/i;return!i.test(t)||!i.test(r)||!i.test(n)||!i.test(s)||r==="00000000000000000000000000000000"||n==="0000000000000000"?null:{version:t,traceId:r,parentId:n,traceFlags:s,isSampled:(parseInt(s,16)&1)===1}}function zS(A,e){if(!A||!e||e.length===0)return!1;let t;if(A instanceof URL)t=A;else try{t=new URL(A)}catch{return!1}for(const r of e)try{if(typeof r=="string"){if(YS(t.hostname,r))return!0}else if(r instanceof RegExp){if(r.test(t.hostname))return!0}else if(typeof r=="function"&&r(t))return!0}catch{continue}return!1}function YS(A,e){if(e===A)return!0;if(e.startsWith("*.")){const t=e.slice(2);if(A.endsWith(t)&&(A===t||A.endsWith("."+t)))return!0}return!1}function ZS(A){const e=[];try{const t=new URL(A);e.push(t.hostname)}catch{}return e.push("*.supabase.co","*.supabase.in"),e.push("localhost","127.0.0.1","[::1]"),e}function fs(A){"@babel/helpers - typeof";return fs=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},fs(A)}function eR(A,e){if(fs(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function tR(A){var e=eR(A,"string");return fs(e)=="symbol"?e:e+""}function AR(A,e,t){return(e=tR(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function bw(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function ge(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bw(Object(t),!0).forEach(function(r){AR(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):bw(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}const rR=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),nR=()=>Headers,sR=(A,e,t,r,n)=>{const s=rR(r),i=nR(),o=(n==null?void 0:n.enabled)===!0,l=(n==null?void 0:n.respectSamplingDecision)!==!1,c=o?ZS(e):null;return async(u,d)=>{var g;const p=(g=await t())!==null&&g!==void 0?g:A;let B=new i(d==null?void 0:d.headers);if(B.has("apikey")||B.set("apikey",A),B.has("Authorization")||B.set("Authorization",`Bearer ${p}`),c){const C=await iR(u,c,l);C&&(C.traceparent&&!B.has("traceparent")&&B.set("traceparent",C.traceparent),C.tracestate&&!B.has("tracestate")&&B.set("tracestate",C.tracestate),C.baggage&&!B.has("baggage")&&B.set("baggage",C.baggage))}return s(u,ge(ge({},d),{},{headers:B}))}};async function iR(A,e,t){if(!zS(typeof A=="string"||A instanceof URL?A:A.url,e))return null;const r=await JS();if(!r||!r.traceparent)return null;if(t){const n=XS(r.traceparent);if(n&&!n.isSampled)return null}return r}function Uw(A){return typeof A=="boolean"?{enabled:A}:A}function oR(A){return A.endsWith("/")?A:A+"/"}function aR(A,e){var t,r,n,s,i,o;const{db:l,auth:c,realtime:u,global:d}=A,{db:g,auth:p,realtime:B,global:C}=e,E=Uw(A.tracePropagation),I=Uw(e.tracePropagation),Q={db:ge(ge({},g),l),auth:ge(ge({},p),c),realtime:ge(ge({},B),u),storage:{},global:ge(ge(ge({},C),d),{},{headers:ge(ge({},(t=C==null?void 0:C.headers)!==null&&t!==void 0?t:{}),(r=d==null?void 0:d.headers)!==null&&r!==void 0?r:{})}),tracePropagation:{enabled:(n=(s=E==null?void 0:E.enabled)!==null&&s!==void 0?s:I==null?void 0:I.enabled)!==null&&n!==void 0?n:!1,respectSamplingDecision:(i=(o=E==null?void 0:E.respectSamplingDecision)!==null&&o!==void 0?o:I==null?void 0:I.respectSamplingDecision)!==null&&i!==void 0?i:!0},accessToken:async()=>""};return A.accessToken?Q.accessToken=A.accessToken:delete Q.accessToken,Q}function lR(A){const e=A==null?void 0:A.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(oR(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var cR=class extends Cw{constructor(A){super(A)}},Qw=class{constructor(A,e,t){var r,n;this.supabaseUrl=A,this.supabaseKey=e;const s=lR(A);if(!e)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",s),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",s),this.storageUrl=new URL("storage/v1",s),this.functionsUrl=new URL("functions/v1",s);const i=`sb-${s.hostname.split(".")[0]}-auth-token`,o={db:MS,realtime:GS,auth:ge(ge({},KS),{},{storageKey:i}),global:VS,tracePropagation:jS},l=aR(t??{},o);if(this.settings=l,this.storageKey=(r=l.auth.storageKey)!==null&&r!==void 0?r:"",this.headers=(n=l.global.headers)!==null&&n!==void 0?n:{},l.accessToken)this.accessToken=l.accessToken,this.auth=new Proxy({},{get:(u,d)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(d)} is not possible`)}});else{var c;this.auth=this._initSupabaseAuthClient((c=l.auth)!==null&&c!==void 0?c:{},this.headers,l.global.fetch)}this.fetch=sR(e,A,this._getAccessToken.bind(this),l.global.fetch,l.tracePropagation),this.realtime=this._initRealtimeClient(ge({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},l.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new RF(new URL("rest/v1",s).href,{headers:this.headers,schema:l.db.schema,fetch:this.fetch,timeout:l.db.timeout,urlLengthLimit:l.db.urlLengthLimit}),this.storage=new VT(this.storageUrl.href,this.headers,this.fetch,t==null?void 0:t.storage),l.accessToken||this._listenForAuthEvents()}get functions(){return new CF(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(A){return this.rest.from(A)}schema(A){return this.rest.schema(A)}rpc(A,e={},t={head:!1,get:!1,count:void 0}){return this.rest.rpc(A,e,t)}channel(A,e={config:{}}){return this.realtime.channel(A,e)}getChannels(){return this.realtime.getChannels()}removeChannel(A){return this.realtime.removeChannel(A)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var A=this,e,t;if(A.accessToken)return await A.accessToken();const{data:r}=await A.auth.getSession();return(e=(t=r.session)===null||t===void 0?void 0:t.access_token)!==null&&e!==void 0?e:A.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:r,userStorage:n,storageKey:s,flowType:i,lock:o,debug:l,throwOnError:c,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:g},p,B){const C={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new cR({url:this.authUrl.href,headers:ge(ge({},C),p),storageKey:s,autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:r,userStorage:n,flowType:i,lock:o,debug:l,throwOnError:c,experimental:u,fetch:B,lockAcquireTimeout:d,skipAutoInitialize:g,hasCustomAuthorizationHeader:Object.keys(this.headers).some(E=>E.toLowerCase()==="authorization")})}_initRealtimeClient(A){return new Mp(this.realtimeUrl.href,ge(ge({},A),{},{params:ge(ge({},{apikey:this.supabaseKey}),A==null?void 0:A.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((A,e)=>{this._handleTokenChanged(A,"CLIENT",e==null?void 0:e.access_token)})}_handleTokenChanged(A,e,t){(A==="TOKEN_REFRESHED"||A==="SIGNED_IN")&&this.changedAccessToken!==t?(this.changedAccessToken=t,this.realtime.setAuth(t)):A==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const uR=(A,e,t)=>new Qw(A,e,t);function hR(){if(typeof window<"u")return!1;const A=globalThis.process;if(!A)return!1;const e=A.version;if(e==null)return!1;const t=e.match(/^v(\d+)\./);return t?parseInt(t[1],10)<=18:!1}hR()&&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");const dR=Object.freeze(Object.defineProperty({__proto__:null,AuthAdminApi:PS,AuthApiError:Yp,AuthClient:Cw,AuthError:$r,AuthImplicitGrantRedirectError:cs,AuthInvalidCredentialsError:ls,AuthInvalidJwtError:us,AuthInvalidTokenResponseError:rr,AuthPKCECodeVerifierMissingError:tw,AuthPKCEGrantCodeExchangeError:Tc,AuthRefreshDiscardedError:Rc,AuthRetryableFetchError:Bo,AuthSessionMissingError:Te,AuthUnknownError:_t,AuthWeakPasswordError:xc,CustomAuthError:St,get FunctionRegion(){return io},FunctionsError:so,FunctionsFetchError:bp,FunctionsHttpError:wc,FunctionsRelayError:pc,GoTrueAdminApi:Hc,GoTrueClient:Xr,NavigatorLockAcquireTimeoutError:Lc,PostgrestError:Bc,REALTIME_CHANNEL_STATES:sT,get REALTIME_LISTEN_TYPES(){return Ar},get REALTIME_POSTGRES_CHANGES_LISTEN_EVENT(){return Ec},get REALTIME_PRESENCE_LISTEN_EVENTS(){return Cc},get REALTIME_SUBSCRIBE_STATES(){return Wt},RealtimeChannel:Kr,RealtimeClient:Mp,RealtimePresence:Np,SIGN_OUT_SCOPES:_o,StorageApiError:po,SupabaseClient:Qw,WebSocketFactory:Rp,createClient:uR,isAuthApiError:Zp,isAuthError:P,isAuthImplicitGrantRedirectError:ew,isAuthPKCECodeVerifierMissingError:qT,isAuthRefreshDiscardedError:Aw,isAuthRetryableFetchError:Sc,isAuthSessionMissingError:as,isAuthWeakPasswordError:JT,lockInternals:kt,navigatorLock:ES,processLock:bS},Symbol.toStringTag,{value:"Module"}));wt.initFeedbackPlugin=qB,Object.defineProperty(wt,Symbol.toStringTag,{value:"Module"})});
|
|
3034
|
+
${I}`}class Ue extends Error{constructor({message:e,code:t,cause:r,name:n}){var s;super(e,{cause:r}),this.__isWebAuthnError=!0,this.name=(s=n??(r instanceof Error?r.name:void 0))!==null&&s!==void 0?s:"Unknown Error",this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Co extends Ue{constructor(e,t){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t,message:e}),this.name="WebAuthnUnknownError",this.originalError=t}}function FS({error:A,options:e}){var t,r,n;const{publicKey:s}=e;if(!s)throw Error("options was missing required publicKey property");if(A.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Ue({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:A})}else if(A.name==="ConstraintError"){if(((t=s.authenticatorSelection)===null||t===void 0?void 0:t.requireResidentKey)===!0)return new Ue({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:A});if(e.mediation==="conditional"&&((r=s.authenticatorSelection)===null||r===void 0?void 0:r.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:A});if(((n=s.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new Ue({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:A})}else{if(A.name==="InvalidStateError")return new Ue({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:A});if(A.name==="NotAllowedError")return new Ue({message:A.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A});if(A.name==="NotSupportedError")return s.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:A}):new Ue({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:A});if(A.name==="SecurityError"){const i=window.location.hostname;if(yw(i)){if(s.rp.id!==i)return new Ue({message:`The RP ID "${s.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:A})}else return new Ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:A})}else if(A.name==="TypeError"){if(s.user.id.byteLength<1||s.user.id.byteLength>64)return new Ue({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:A})}else if(A.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:A})}return new Ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A})}function TS({error:A,options:e}){const{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(A.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Ue({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:A})}else{if(A.name==="NotAllowedError")return new Ue({message:A.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A});if(A.name==="SecurityError"){const r=window.location.hostname;if(yw(r)){if(t.rpId!==r)return new Ue({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:A})}else return new Ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:A})}else if(A.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:A})}return new Ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:A})}class SS{createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const Dc=new SS;function pw(A){if(!A)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(A);const{challenge:e,user:t,excludeCredentials:r}=A,n=no(A,["challenge","user","excludeCredentials"]),s=Wr(e).buffer,i=Object.assign(Object.assign({},t),{id:Wr(t.id).buffer}),o=Object.assign(Object.assign({},n),{challenge:s,user:i});if(r&&r.length>0){o.excludeCredentials=new Array(r.length);for(let l=0;l<r.length;l++){const c=r[l];o.excludeCredentials[l]=Object.assign(Object.assign({},c),{id:Wr(c.id).buffer,type:c.type||"public-key",transports:c.transports})}}return o}function ww(A){if(!A)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(A);const{challenge:e,allowCredentials:t}=A,r=no(A,["challenge","allowCredentials"]),n=Wr(e).buffer,s=Object.assign(Object.assign({},r),{challenge:n});if(t&&t.length>0){s.allowCredentials=new Array(t.length);for(let i=0;i<t.length;i++){const o=t[i];s.allowCredentials[i]=Object.assign(Object.assign({},o),{id:Wr(o.id).buffer,type:o.type||"public-key",transports:o.transports})}}return s}function Bw(A){var e;if("toJSON"in A&&typeof A.toJSON=="function")return A.toJSON();const t=A;return{id:A.id,rawId:A.id,response:{attestationObject:nr(new Uint8Array(A.response.attestationObject)),clientDataJSON:nr(new Uint8Array(A.response.clientDataJSON))},type:"public-key",clientExtensionResults:A.getClientExtensionResults(),authenticatorAttachment:(e=t.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function mw(A){var e;if("toJSON"in A&&typeof A.toJSON=="function")return A.toJSON();const t=A,r=A.getClientExtensionResults(),n=A.response;return{id:A.id,rawId:A.id,response:{authenticatorData:nr(new Uint8Array(n.authenticatorData)),clientDataJSON:nr(new Uint8Array(n.clientDataJSON)),signature:nr(new Uint8Array(n.signature)),userHandle:n.userHandle?nr(new Uint8Array(n.userHandle)):void 0},type:"public-key",clientExtensionResults:r,authenticatorAttachment:(e=t.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function yw(A){return A==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(A)}function Eo(){var A,e;return!!(je()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((A=navigator==null?void 0:navigator.credentials)===null||A===void 0?void 0:A.create)=="function"&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.get)=="function")}async function vw(A){try{const e=await navigator.credentials.create(A);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new Co("Browser returned unexpected credential type",e)}:{data:null,error:new Co("Empty credential response",e)}}catch(e){return{data:null,error:FS({error:e,options:A})}}}async function _w(A){try{const e=await navigator.credentials.get(A);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new Co("Browser returned unexpected credential type",e)}:{data:null,error:new Co("Empty credential response",e)}}catch(e){return{data:null,error:TS({error:e,options:A})}}}const RS={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},xS={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function bo(...A){const e=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),t=n=>n instanceof ArrayBuffer||ArrayBuffer.isView(n),r={};for(const n of A)if(n)for(const s in n){const i=n[s];if(i!==void 0)if(Array.isArray(i))r[s]=i;else if(t(i))r[s]=i;else if(e(i)){const o=r[s];e(o)?r[s]=bo(o,i):r[s]=bo(i)}else r[s]=i}return r}function kS(A,e){return bo(RS,A,e||{})}function HS(A,e){return bo(xS,A,e||{})}class LS{constructor(e){this.client=e,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(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:t,friendlyName:r,signal:n},s){var i;try{const{data:o,error:l}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!o)return{data:null,error:l};const c=n??Dc.createNewAbortSignal();if(o.webauthn.type==="create"){const{user:u}=o.webauthn.credential_options.publicKey;if(!u.name){const d=r;if(d)u.name=`${u.id}:${d}`;else{const p=(await this.client.getUser()).data.user,B=((i=p==null?void 0:p.user_metadata)===null||i===void 0?void 0:i.name)||(p==null?void 0:p.email)||(p==null?void 0:p.id)||"User";u.name=`${u.id}:${B}`}}u.displayName||(u.displayName=u.name)}switch(o.webauthn.type){case"create":{const u=kS(o.webauthn.credential_options.publicKey,s==null?void 0:s.create),{data:d,error:g}=await vw({publicKey:u,signal:c});return d?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:g}}case"request":{const u=HS(o.webauthn.credential_options.publicKey,s==null?void 0:s.request),{data:d,error:g}=await _w(Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:u,signal:c}));return d?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:g}}}}catch(o){return P(o)?{data:null,error:o}:{data:null,error:new _t("Unexpected error in challenge",o)}}}async _verify({challengeId:e,factorId:t,webauthn:r}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:r})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:n}={}},s){if(!t)return{data:null,error:new $r("rpId is required for WebAuthn authentication")};try{if(!Eo())return{data:null,error:new _t("Browser does not support WebAuthn",null)};const{data:i,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:r},signal:n},{request:s});if(!i)return{data:null,error:o};const{webauthn:l}=i;return this._verify({factorId:e,challengeId:i.challengeId,webauthn:{type:l.type,rpId:t,rpOrigins:r,credential_response:l.credential_response}})}catch(i){return P(i)?{data:null,error:i}:{data:null,error:new _t("Unexpected error in authenticate",i)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:n}={}},s){if(!t)return{data:null,error:new $r("rpId is required for WebAuthn registration")};try{if(!Eo())return{data:null,error:new _t("Browser does not support WebAuthn",null)};const{data:i,error:o}=await this._enroll({friendlyName:e});if(!i)return await this.client.mfa.listFactors().then(u=>{var d;return(d=u.data)===null||d===void 0?void 0:d.all.find(g=>g.factor_type==="webauthn"&&g.friendly_name===e&&g.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:o};const{data:l,error:c}=await this._challenge({factorId:i.id,friendlyName:i.friendly_name,webauthn:{rpId:t,rpOrigins:r},signal:n},{create:s});return l?this._verify({factorId:i.id,challengeId:l.challengeId,webauthn:{rpId:t,rpOrigins:r,type:l.webauthn.type,credential_response:l.webauthn.credential_response}}):{data:null,error:c}}catch(i){return P(i)?{data:null,error:i}:{data:null,error:new _t("Unexpected error in register",i)}}}}bS();const DS={url:MT,storageKey:KT,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:GT,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Jr={};class Xr{get jwks(){var e,t;return(t=(e=Jr[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&t!==void 0?t:{keys:[]}}set jwks(e){Jr[this.storageKey]=Object.assign(Object.assign({},Jr[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,t;return(t=(e=Jr[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&t!==void 0?t:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Jr[this.storageKey]=Object.assign(Object.assign({},Jr[this.storageKey]),{cachedAt:e})}constructor(e){var t,r,n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const s=Object.assign(Object.assign({},DS),e);if(this.storageKey=s.storageKey,this.instanceID=(t=Xr.nextInstanceID[this.storageKey])!==null&&t!==void 0?t:0,Xr.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.instanceID>0&&je()){const i=`${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(i),this.logDebugMessages&&console.trace(i)}if(this.persistSession=s.persistSession,this.autoRefreshToken=s.autoRefreshToken,this.experimental=(r=s.experimental)!==null&&r!==void 0?r:{},this.admin=new Hc({url:s.url,headers:s.headers,fetch:s.fetch,experimental:this.experimental}),this.url=s.url,this.headers=s.headers,this.fetch=aw(s.fetch),this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,this.hasCustomAuthorizationHeader=s.hasCustomAuthorizationHeader,this.throwOnError=s.throwOnError,this.lockAcquireTimeout=s.lockAcquireTimeout,s.lock!=null&&(this.lock=s.lock),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 LS(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.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(s.storage?this.storage=s.storage:ow()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=dw(this.memoryStorage)),s.userStorage&&(this.userStorage=s.userStorage)):(this.memoryStorage={},this.storage=dw(this.memoryStorage)),je()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(i){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",i)}(n=this.broadcastChannel)===null||n===void 0||n.addEventListener("message",async i=>{this._debug("received broadcast notification from other tab or client",i),(i.data.event==="TOKEN_REFRESHED"||i.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(i.data.event,i.data.session,!1)}catch(o){this._debug("#broadcastChannel","error",o)}})}s.skipAutoInitialize||this.initialize().catch(i=>{this._debug("#initialize()","error",i)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Xp}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())(),await this.initializePromise)}async _initialize(){var e;try{let t={},r="none";if(je()&&(t=AS(window.location.href),this._isImplicitGrantCallback(t)?r="implicit":await this._isPKCECallback(t)&&(r="pkce")),je()&&this.detectSessionInUrl&&r!=="none"){const{data:n,error:s}=await this._getSessionFromURL(t,r);if(s){if(this._debug("#_initialize()","error detecting session from URL",s),ew(s)){const l=(e=s.details)===null||e===void 0?void 0:e.code;if(l==="identity_already_exists"||l==="identity_not_found"||l==="single_identity_not_deletable")return{error:s}}return{error:s}}const{session:i,redirectType:o}=n;return this._debug("#_initialize()","detected session in URL",i,"redirect type",o),await this._saveSession(i),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",i):await this._notifyAllSubscribers("SIGNED_IN",i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(t){return P(t)?this._returnResult({error:t}):this._returnResult({error:new _t("Unexpected error during initialization",t)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var t,r,n;try{const s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(r=(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:(n=e==null?void 0:e.options)===null||n===void 0?void 0:n.captchaToken}},xform:Ct}),{data:i,error:o}=s;if(o||!i)return this._returnResult({data:{user:null,session:null},error:o});const l=i.session,c=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(P(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signUp(e){var t,r,n;try{let s;if("email"in e){const{email:u,password:d,options:g}=e;let p=null,B=null;this.flowType==="pkce"&&([p,B]=await ir(this.storage,this.storageKey)),s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:g==null?void 0:g.emailRedirectTo,body:{email:u,password:d,data:(t=g==null?void 0:g.data)!==null&&t!==void 0?t:{},gotrue_meta_security:{captcha_token:g==null?void 0:g.captchaToken},code_challenge:p,code_challenge_method:B},xform:Ct})}else if("phone"in e){const{phone:u,password:d,options:g}=e;s=await K(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:d,data:(r=g==null?void 0:g.data)!==null&&r!==void 0?r:{},channel:(n=g==null?void 0:g.channel)!==null&&n!==void 0?n:"sms",gotrue_meta_security:{captcha_token:g==null?void 0:g.captchaToken}},xform:Ct})}else throw new ls("You must provide either an email or phone number and a password");const{data:i,error:o}=s;if(o||!i)return await ye(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:o});const l=i.session,c=i.user;return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithPassword(e){try{let t;if("email"in e){const{email:s,password:i,options:o}=e;t=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:s,password:i,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:uw})}else if("phone"in e){const{phone:s,password:i,options:o}=e;t=await K(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:s,password:i,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:uw})}else throw new ls("You must provide either an email or phone number and a password");const{data:r,error:n}=t;if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!r||!r.session||!r.user){const s=new rr;return this._returnResult({data:{user:null,session:null},error:s})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:Object.assign({user:r.user,session:r.session},r.weak_password?{weakPassword:r.weak_password}:null),error:n})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async signInWithOAuth(e){var t,r,n,s;return await this._handleProviderSignIn(e.provider,{redirectTo:(t=e.options)===null||t===void 0?void 0:t.redirectTo,scopes:(r=e.options)===null||r===void 0?void 0:r.scopes,queryParams:(n=e.options)===null||n===void 0?void 0:n.queryParams,skipBrowserRedirect:(s=e.options)===null||s===void 0?void 0:s.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e)):this._exchangeCodeForSession(e)}async signInWithWeb3(e){const{chain:t}=e;switch(t){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){var t,r,n,s,i,o,l,c,u,d,g;let p,B;if("message"in e)p=e.message,B=e.signature;else{const{chain:C,wallet:E,statement:I,options:Q}=e;let S;if(je())if(typeof E=="object")S=E;else{const y=window;if("ethereum"in y&&typeof y.ethereum=="object"&&"request"in y.ethereum&&typeof y.ethereum.request=="function")S=y.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 E!="object"||!(Q!=null&&Q.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");S=E}const k=new URL((t=Q==null?void 0:Q.url)!==null&&t!==void 0?t:window.location.href),H=await S.request({method:"eth_requestAccounts"}).then(y=>y).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!H||H.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const R=gw(H[0]);let _=(r=Q==null?void 0:Q.signInWithEthereum)===null||r===void 0?void 0:r.chainId;if(!_){const y=await S.request({method:"eth_chainId"});_=US(y)}const m={domain:k.host,address:R,statement:I,uri:k.href,version:"1",chainId:_,nonce:(n=Q==null?void 0:Q.signInWithEthereum)===null||n===void 0?void 0:n.nonce,issuedAt:(i=(s=Q==null?void 0:Q.signInWithEthereum)===null||s===void 0?void 0:s.issuedAt)!==null&&i!==void 0?i:new Date,expirationTime:(o=Q==null?void 0:Q.signInWithEthereum)===null||o===void 0?void 0:o.expirationTime,notBefore:(l=Q==null?void 0:Q.signInWithEthereum)===null||l===void 0?void 0:l.notBefore,requestId:(c=Q==null?void 0:Q.signInWithEthereum)===null||c===void 0?void 0:c.requestId,resources:(u=Q==null?void 0:Q.signInWithEthereum)===null||u===void 0?void 0:u.resources};p=IS(m),B=await S.request({method:"personal_sign",params:[QS(p),R]})}try{const{data:C,error:E}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:p,signature:B},!((d=e.options)===null||d===void 0)&&d.captchaToken?{gotrue_meta_security:{captcha_token:(g=e.options)===null||g===void 0?void 0:g.captchaToken}}:null),xform:Ct});if(E)throw E;if(!C||!C.session||!C.user){const I=new rr;return this._returnResult({data:{user:null,session:null},error:I})}return C.session&&(await this._saveSession(C.session),await this._notifyAllSubscribers("SIGNED_IN",C.session)),this._returnResult({data:Object.assign({},C),error:E})}catch(C){if(P(C))return this._returnResult({data:{user:null,session:null},error:C});throw C}}async signInWithSolana(e){var t,r,n,s,i,o,l,c,u,d,g,p;let B,C;if("message"in e)B=e.message,C=e.signature;else{const{chain:E,wallet:I,statement:Q,options:S}=e;let k;if(je())if(typeof I=="object")k=I;else{const R=window;if("solana"in R&&typeof R.solana=="object"&&("signIn"in R.solana&&typeof R.solana.signIn=="function"||"signMessage"in R.solana&&typeof R.solana.signMessage=="function"))k=R.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 I!="object"||!(S!=null&&S.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");k=I}const H=new URL((t=S==null?void 0:S.url)!==null&&t!==void 0?t:window.location.href);if("signIn"in k&&k.signIn){const R=await k.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},S==null?void 0:S.signInWithSolana),{version:"1",domain:H.host,uri:H.href}),Q?{statement:Q}:null));let _;if(Array.isArray(R)&&R[0]&&typeof R[0]=="object")_=R[0];else if(R&&typeof R=="object"&&"signedMessage"in R&&"signature"in R)_=R;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in _&&"signature"in _&&(typeof _.signedMessage=="string"||_.signedMessage instanceof Uint8Array)&&_.signature instanceof Uint8Array)B=typeof _.signedMessage=="string"?_.signedMessage:new TextDecoder().decode(_.signedMessage),C=_.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in k)||typeof k.signMessage!="function"||!("publicKey"in k)||typeof k!="object"||!k.publicKey||!("toBase58"in k.publicKey)||typeof k.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");B=[`${H.host} wants you to sign in with your Solana account:`,k.publicKey.toBase58(),...Q?["",Q,""]:[""],"Version: 1",`URI: ${H.href}`,`Issued At: ${(n=(r=S==null?void 0:S.signInWithSolana)===null||r===void 0?void 0:r.issuedAt)!==null&&n!==void 0?n:new Date().toISOString()}`,...!((s=S==null?void 0:S.signInWithSolana)===null||s===void 0)&&s.notBefore?[`Not Before: ${S.signInWithSolana.notBefore}`]:[],...!((i=S==null?void 0:S.signInWithSolana)===null||i===void 0)&&i.expirationTime?[`Expiration Time: ${S.signInWithSolana.expirationTime}`]:[],...!((o=S==null?void 0:S.signInWithSolana)===null||o===void 0)&&o.chainId?[`Chain ID: ${S.signInWithSolana.chainId}`]:[],...!((l=S==null?void 0:S.signInWithSolana)===null||l===void 0)&&l.nonce?[`Nonce: ${S.signInWithSolana.nonce}`]:[],...!((c=S==null?void 0:S.signInWithSolana)===null||c===void 0)&&c.requestId?[`Request ID: ${S.signInWithSolana.requestId}`]:[],...!((d=(u=S==null?void 0:S.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||d===void 0)&&d.length?["Resources",...S.signInWithSolana.resources.map(_=>`- ${_}`)]:[]].join(`
|
|
3035
|
+
`);const R=await k.signMessage(new TextEncoder().encode(B),"utf8");if(!R||!(R instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");C=R}}try{const{data:E,error:I}=await K(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:B,signature:nr(C)},!((g=e.options)===null||g===void 0)&&g.captchaToken?{gotrue_meta_security:{captcha_token:(p=e.options)===null||p===void 0?void 0:p.captchaToken}}:null),xform:Ct});if(I)throw I;if(!E||!E.session||!E.user){const Q=new rr;return this._returnResult({data:{user:null,session:null},error:Q})}return E.session&&(await this._saveSession(E.session),await this._notifyAllSubscribers("SIGNED_IN",E.session)),this._returnResult({data:Object.assign({},E),error:I})}catch(E){if(P(E))return this._returnResult({data:{user:null,session:null},error:E});throw E}}async _exchangeCodeForSession(e){const t=await Rt(this.storage,`${this.storageKey}-code-verifier`),[r,n]=(t??"").split("/");try{if(!r&&this.flowType==="pkce")throw new tw;const{data:s,error:i}=await K(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:r},xform:Ct});if(await ye(this.storage,`${this.storageKey}-code-verifier`),i)throw i;if(!s||!s.session||!s.user){const o=new rr;return this._returnResult({data:{user:null,session:null,redirectType:null},error:o})}return s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers(n==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",s.session)),this._returnResult({data:Object.assign(Object.assign({},s),{redirectType:n??null}),error:i})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:{user:null,session:null,redirectType:null},error:s});throw s}}async signInWithIdToken(e){try{const{options:t,provider:r,token:n,access_token:s,nonce:i}=e,o=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:n,access_token:s,nonce:i,gotrue_meta_security:{captcha_token:t==null?void 0:t.captchaToken}},xform:Ct}),{data:l,error:c}=o;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const u=new rr;return this._returnResult({data:{user:null,session:null},error:u})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:l,error:c})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async signInWithOtp(e){var t,r,n,s,i;try{if("email"in e){const{email:o,options:l}=e;let c=null,u=null;this.flowType==="pkce"&&([c,u]=await ir(this.storage,this.storageKey));const{error:d}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:o,data:(t=l==null?void 0:l.data)!==null&&t!==void 0?t:{},create_user:(r=l==null?void 0:l.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},code_challenge:c,code_challenge_method:u},redirectTo:l==null?void 0:l.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:d})}if("phone"in e){const{phone:o,options:l}=e,{data:c,error:u}=await K(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:o,data:(n=l==null?void 0:l.data)!==null&&n!==void 0?n:{},create_user:(s=l==null?void 0:l.shouldCreateUser)!==null&&s!==void 0?s:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},channel:(i=l==null?void 0:l.channel)!==null&&i!==void 0?i:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:u})}throw new ls("You must provide either an email or phone number.")}catch(o){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async verifyOtp(e){var t,r;try{let n,s;"options"in e&&(n=(t=e.options)===null||t===void 0?void 0:t.redirectTo,s=(r=e.options)===null||r===void 0?void 0:r.captchaToken);const{data:i,error:o}=await K(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:s}}),redirectTo:n,xform:Ct});if(o)throw o;if(!i)throw new Error("An error occurred on token verification.");const l=i.session,c=i.user;return l!=null&&l.access_token&&(await this._saveSession(l),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(n){if(P(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithSSO(e){var t,r,n,s,i;try{let o=null,l=null;this.flowType==="pkce"&&([o,l]=await ir(this.storage,this.storageKey));const c=await K(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(r=(t=e.options)===null||t===void 0?void 0:t.redirectTo)!==null&&r!==void 0?r:void 0}),!((n=e==null?void 0:e.options)===null||n===void 0)&&n.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:l}),headers:this.headers,xform:mS});return!((s=c.data)===null||s===void 0)&&s.url&&je()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(c.data.url),this._returnResult(c)}catch(o){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(o))return this._returnResult({data:null,error:o});throw o}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)throw r;if(!t)throw new Te;const{error:n}=await K(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:n})})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const t=`${this.url}/resend`;if("email"in e){const{email:r,type:n,options:s}=e;let i=null,o=null;this.flowType==="pkce"&&([i,o]=await ir(this.storage,this.storageKey));const{error:l}=await K(this.fetch,"POST",t,{headers:this.headers,body:{email:r,type:n,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken},code_challenge:i,code_challenge_method:o},redirectTo:s==null?void 0:s.emailRedirectTo});return l&&await ye(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l})}else if("phone"in e){const{phone:r,type:n,options:s}=e,{data:i,error:o}=await K(this.fetch,"POST",t,{headers:this.headers,body:{phone:r,type:n,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:i==null?void 0:i.message_id},error:o})}throw new ls("You must provide either an email or phone number and a type")}catch(t){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e)):await this._useSession(async e=>e)}async _acquireLock(e,t){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await r,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const r=t();for(this.pendingInLock.push((async()=>{try{await r}catch{}})()),await r;this.pendingInLock.length;){const n=[...this.pendingInLock];await Promise.all(n),this.pendingInLock.splice(0,n.length)}return await r}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const t=await this.__loadSession();return await e(t)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const t=await Rt(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",t),t!==null&&(this._isValidSession(t)?e=t:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const r=e.expires_at?e.expires_at*1e3-Date.now()<Ic:!1;if(this._debug("#__loadSession()",`session has${r?"":" not"} expired`,"expires_at",e.expires_at),!r){if(this.userStorage){const i=await Rt(this.userStorage,this.storageKey+"-user");i!=null&&i.user?e.user=i.user:e.user=kc()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){const i={value:this.suppressGetSessionWarning};e.user=gS(e.user,i),i.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}const{data:n,error:s}=await this._callRefreshToken(e.refresh_token);if(s){if(!!(e.expires_at&&e.expires_at*1e3>Date.now())){const o=await Rt(this.storage,this.storageKey);if(o&&o.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:s})}return this._returnResult({data:{session:n},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return this.lock!=null?t=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):t=await this._getUser(),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:RA}):await this._useSession(async t=>{var r,n,s;const{data:i,error:o}=t;if(o)throw o;return!(!((r=i.session)===null||r===void 0)&&r.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Te}:await K(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(s=(n=i.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0,xform:RA})})}catch(t){if(P(t))return as(t)&&(await this._removeSession(),await ye(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:t});throw t}}async updateUser(e,t={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t)):await this._updateUser(e,t)}async _updateUser(e,t={}){try{return await this._useSession(async r=>{const{data:n,error:s}=r;if(s)throw s;if(!n.session)throw new Te;const i=n.session;let o=null,l=null;this.flowType==="pkce"&&e.email!=null&&([o,l]=await ir(this.storage,this.storageKey));const{data:c,error:u}=await K(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:t==null?void 0:t.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:o,code_challenge_method:l}),jwt:i.access_token,xform:RA});if(u)throw u;return i.user=c.user,await this._saveSession(i),await this._notifyAllSubscribers("USER_UPDATED",i),this._returnResult({data:{user:i.user},error:null})})}catch(r){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(r))return this._returnResult({data:{user:null},error:r});throw r}}async setSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e)):await this._setSession(e)}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Te;const t=Date.now()/1e3;let r=t,n=!0,s=null;const{payload:i}=vo(e.access_token);if(i.exp&&(r=i.exp,n=r<=t),n){const{data:o,error:l}=await this._callRefreshToken(e.refresh_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!o)return{data:{user:null,session:null},error:null};s=o}else{const{data:o,error:l}=await this._getUser(e.access_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});s={access_token:e.access_token,refresh_token:e.refresh_token,user:o.user,token_type:"bearer",expires_in:r-t,expires_at:r},await this._saveSession(s),await this._notifyAllSubscribers("SIGNED_IN",s)}return this._returnResult({data:{user:s.user,session:s},error:null})}catch(t){if(P(t))return this._returnResult({data:{session:null,user:null},error:t});throw t}}async refreshSession(e){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e)):await this._refreshSession(e)}async _refreshSession(e){try{return await this._useSession(async t=>{var r;if(!e){const{data:i,error:o}=t;if(o)throw o;e=(r=i.session)!==null&&r!==void 0?r:void 0}if(!(e!=null&&e.refresh_token))throw new Te;const{data:n,error:s}=await this._callRefreshToken(e.refresh_token);return s?this._returnResult({data:{user:null,session:null},error:s}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(t){if(P(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async _getSessionFromURL(e,t){var r;try{if(!je())throw new cs("No browser detected.");if(e.error||e.error_description||e.error_code)throw new cs(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(t){case"implicit":if(this.flowType==="pkce")throw new Tc("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new cs("Not a valid implicit grant flow url.");break;default:}if(t==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new Tc("No code detected.");const{data:S,error:k}=await this._exchangeCodeForSession(e.code);if(k)throw k;const H=new URL(window.location.href);return H.searchParams.delete("code"),window.history.replaceState(window.history.state,"",H.toString()),{data:{session:S.session,redirectType:(r=S.redirectType)!==null&&r!==void 0?r:null},error:null}}const{provider_token:n,provider_refresh_token:s,access_token:i,refresh_token:o,expires_in:l,expires_at:c,token_type:u}=e;if(!i||!l||!o||!u)throw new cs("No session defined in URL");const d=Math.round(Date.now()/1e3),g=parseInt(l);let p=d+g;c&&(p=parseInt(c));const B=p-d;B*1e3<=sA&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${B}s, should have been closer to ${g}s`);const C=p-g;d-C>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",C,p,d):d-C<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",C,p,d);const{data:E,error:I}=await this._getUser(i);if(I)throw I;const Q={provider_token:n,provider_refresh_token:s,access_token:i,expires_in:g,expires_at:p,refresh_token:o,token_type:u,user:E.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:Q,redirectType:e.type},error:null})}catch(n){if(P(n))return this._returnResult({data:{session:null,redirectType:null},error:n});throw n}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){const t=await Rt(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&t)}async signOut(e={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e)):await this._signOut(e)}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async t=>{var r;const{data:n,error:s}=t;if(s&&!as(s))return this._returnResult({error:s});const i=(r=n.session)===null||r===void 0?void 0:r.access_token;if(i){const{error:o}=await this.admin.signOut(i,e);if(o&&!(Zp(o)&&(o.status===404||o.status===401||o.status===403)||as(o)))return this._returnResult({error:o})}return e!=="others"&&(await this._removeSession(),await ye(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(e){const t=tS(),r={id:t,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",t),this.stateChangeEmitters.delete(t)}};return this._debug("#onAuthStateChange()","registered callback with id",t),this.stateChangeEmitters.set(t,r),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)}):await this._emitInitialSession(t)))(),{data:{subscription:r}}}async _emitInitialSession(e){return await this._useSession(async t=>{var r,n;try{const{data:{session:s},error:i}=t;if(i)throw i;await((r=this.stateChangeEmitters.get(e))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",s)),this._debug("INITIAL_SESSION","callback id",e,"session",s)}catch(s){await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",s),as(s)?console.warn(s):console.error(s)}})}async resetPasswordForEmail(e,t={}){let r=null,n=null;this.flowType==="pkce"&&([r,n]=await ir(this.storage,this.storageKey,!0));try{return await K(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:r,code_challenge_method:n,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(s){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(s))return this._returnResult({data:null,error:s});throw s}}async getUserIdentities(){var e;try{const{data:t,error:r}=await this.getUser();if(r)throw r;return this._returnResult({data:{identities:(e=t.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var t;try{const{data:r,error:n}=await this._useSession(async s=>{var i,o,l,c,u;const{data:d,error:g}=s;if(g)throw g;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(o=e.options)===null||o===void 0?void 0:o.scopes,queryParams:(l=e.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:!0});return await K(this.fetch,"GET",p,{headers:this.headers,jwt:(u=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&u!==void 0?u:void 0})});if(n)throw n;return je()&&!(!((t=e.options)===null||t===void 0)&&t.skipBrowserRedirect)&&window.location.assign(r==null?void 0:r.url),this._returnResult({data:{provider:e.provider,url:r==null?void 0:r.url},error:null})}catch(r){if(P(r))return this._returnResult({data:{provider:e.provider,url:null},error:r});throw r}}async linkIdentityIdToken(e){return await this._useSession(async t=>{var r;try{const{error:n,data:{session:s}}=t;if(n)throw n;const{options:i,provider:o,token:l,access_token:c,nonce:u}=e,d=await K(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(r=s==null?void 0:s.access_token)!==null&&r!==void 0?r:void 0,body:{provider:o,id_token:l,access_token:c,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:Ct}),{data:g,error:p}=d;return p?this._returnResult({data:{user:null,session:null},error:p}):!g||!g.session||!g.user?this._returnResult({data:{user:null,session:null},error:new rr}):(g.session&&(await this._saveSession(g.session),await this._notifyAllSubscribers("USER_UPDATED",g.session)),this._returnResult({data:g,error:p}))}catch(n){if(await ye(this.storage,`${this.storageKey}-code-verifier`),P(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{var r,n;const{data:s,error:i}=t;if(i)throw i;return await K(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(n=(r=s.session)===null||r===void 0?void 0:r.access_token)!==null&&n!==void 0?n:void 0})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _refreshAccessToken(e){const t="#_refreshAccessToken()";this._debug(t,"begin");try{const r=Date.now();return await sS(async n=>(n>0&&await nS(200*Math.pow(2,n-1)),this._debug(t,"refreshing attempt",n),await K(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ct})),(n,s)=>{const i=200*Math.pow(2,n);return s&&Sc(s)&&Date.now()+i-r<sA})}catch(r){if(this._debug(t,"error",r),P(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}finally{this._debug(t,"end")}}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,t){const r=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",t,"url",r),je()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}async _recoverAndRefresh(){var e,t;const r="#_recoverAndRefresh()";this._debug(r,"begin");try{const n=await Rt(this.storage,this.storageKey);if(n&&this.userStorage){let i=await Rt(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!i&&(i={user:n.user},await qr(this.userStorage,this.storageKey+"-user",i)),n.user=(e=i==null?void 0:i.user)!==null&&e!==void 0?e:kc()}else if(n&&!n.user&&!n.user){const i=await Rt(this.storage,this.storageKey+"-user");i&&(i!=null&&i.user)?(n.user=i.user,await ye(this.storage,this.storageKey+"-user"),await qr(this.storage,this.storageKey,n)):n.user=kc()}if(this._debug(r,"session from storage",n),!this._isValidSession(n)){this._debug(r,"session is not valid"),n!==null&&await this._removeSession();return}const s=((t=n.expires_at)!==null&&t!==void 0?t:1/0)*1e3-Date.now()<Ic;if(this._debug(r,`session has${s?"":" not"} expired with margin of ${Ic}s`),s){if(this.autoRefreshToken&&n.refresh_token){const{error:i}=await this._callRefreshToken(n.refresh_token);i&&(Aw(i)?this._debug(r,"refresh discarded by commit guard",i):this._debug(r,"refresh failed",i))}}else if(n.user&&n.user.__isUserNotAvailableProxy===!0)try{const{data:i,error:o}=await this._getUser(n.access_token);!o&&(i!=null&&i.user)?(n.user=i.user,await this._saveSession(n),await this._notifyAllSubscribers("SIGNED_IN",n)):this._debug(r,"could not get user data, skipping SIGNED_IN notification")}catch(i){console.error("Error getting user data:",i),this._debug(r,"error getting user data, skipping SIGNED_IN notification",i)}else await this._notifyAllSubscribers("SIGNED_IN",n)}catch(n){this._debug(r,"error",n),console.error(n);return}finally{this._debug(r,"end")}}async _callRefreshToken(e){var t,r;if(!e)throw new Te;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug("#_callRefreshToken()","returning cached failure (cooldown active)"),this.lastRefreshFailure.result;const n="#_callRefreshToken()";this._debug(n,"begin");try{this.refreshingDeferred=new yo;const s=await Rt(this.storage,this.storageKey),{data:i,error:o}=await this._refreshAccessToken(e);if(o)throw o;if(!i.session)throw new Te;const l=await Rt(this.storage,this.storageKey);if(s!==null&&(l===null||l.refresh_token!==s.refresh_token)){this._debug(n,"commit guard: storage changed since refresh started, discarding rotated tokens",{startedWith:"present",nowHolds:l?"replaced":"cleared"});const g={data:null,error:new Rc};return this.refreshingDeferred.resolve(g),g}const u=this._sessionRemovalEpoch;if(await this._saveSession(i.session),this._sessionRemovalEpoch!==u){this._debug(n,"commit guard (post-save): _removeSession ran during _saveSession, undoing write"),await ye(this.storage,this.storageKey),this.userStorage&&await ye(this.userStorage,this.storageKey+"-user");const g={data:null,error:new Rc};return this.refreshingDeferred.resolve(g),g}await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const d={data:i.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(d),d}catch(s){if(this._debug(n,"error",s),P(s)){const i={data:null,error:s};if(!Sc(s)){const o=await Rt(this.storage,this.storageKey);!!(o!=null&&o.expires_at&&o.expires_at*1e3>Date.now())?this._debug(n,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:i,expiresAt:Date.now()+VT},(t=this.refreshingDeferred)===null||t===void 0||t.resolve(i),i}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(s),s}finally{this.refreshingDeferred=null,this._debug(n,"end")}}async _notifyAllSubscribers(e,t,r=!0){const n=`#_notifyAllSubscribers(${e})`;this._debug(n,"begin",t,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t});const s=[],i=Array.from(this.stateChangeEmitters.values()).map(async o=>{try{await o.callback(e,t)}catch(l){s.push(l)}});if(await Promise.all(i),s.length>0){for(let o=0;o<s.length;o+=1)console.error(s[o]);throw s[0]}}finally{this._debug(n,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.suppressGetSessionWarning=!0,await ye(this.storage,`${this.storageKey}-code-verifier`);const t=Object.assign({},e),r=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!r&&t.user&&await qr(this.userStorage,this.storageKey+"-user",{user:t.user});const n=Object.assign({},t);delete n.user;const s=lw(n);await qr(this.storage,this.storageKey,s)}else{const n=lw(t);await qr(this.storage,this.storageKey,n)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug("#_removeSession()"),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await ye(this.storage,this.storageKey),await ye(this.storage,this.storageKey+"-code-verifier"),await ye(this.storage,this.storageKey+"-user"),this.userStorage&&await ye(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&je()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(t){console.error("removing visibilitychange callback failed",t)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const e=setInterval(()=>this._autoRefreshTokenTick(),sA);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e);const t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);const t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)===null||e===void 0||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async t=>{const{data:{session:r}}=t;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const n=Math.floor((r.expires_at*1e3-e)/sA);this._debug("#_autoRefreshTokenTick()",`access token expires in ${n} ticks, a tick lasts ${sA}ms, refresh threshold is ${os} ticks`),n<=os&&await this._callRefreshToken(r.refresh_token)})}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e instanceof hs)this._debug("auto refresh token tick lock not available");else throw e}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const e=Date.now();try{await this._useSession(async t=>{const{data:{session:r}}=t;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const n=Math.floor((r.expires_at*1e3-e)/sA);this._debug("#_autoRefreshTokenTick()",`access token expires in ${n} ticks, a tick lasts ${sA}ms, refresh threshold is ${os} ticks`),n<=os&&await this._callRefreshToken(r.refresh_token)})}catch(t){console.error("Auto refresh tick failed with error. This is likely a transient error.",t)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!je()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug("#visibilityChangedCallback","error",e)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const t=`#_onVisibilityChanged(${e})`;if(this._debug(t,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(t,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,r){const n=[`provider=${encodeURIComponent(t)}`];if(r!=null&&r.redirectTo&&n.push(`redirect_to=${encodeURIComponent(r.redirectTo)}`),r!=null&&r.scopes&&n.push(`scopes=${encodeURIComponent(r.scopes)}`),this.flowType==="pkce"){const[s,i]=await ir(this.storage,this.storageKey),o=new URLSearchParams({code_challenge:`${encodeURIComponent(s)}`,code_challenge_method:`${encodeURIComponent(i)}`});n.push(o.toString())}if(r!=null&&r.queryParams){const s=new URLSearchParams(r.queryParams);n.push(s.toString())}return r!=null&&r.skipBrowserRedirect&&n.push(`skip_http_redirect=${r.skipBrowserRedirect}`),`${e}?${n.join("&")}`}async _unenroll(e){try{return await this._useSession(async t=>{var r;const{data:n,error:s}=t;return s?this._returnResult({data:null,error:s}):await K(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(r=n==null?void 0:n.session)===null||r===void 0?void 0:r.access_token})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _enroll(e){try{return await this._useSession(async t=>{var r,n;const{data:s,error:i}=t;if(i)return this._returnResult({data:null,error:i});const o=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:l,error:c}=await K(this.fetch,"POST",`${this.url}/factors`,{body:o,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});return c?this._returnResult({data:null,error:c}):(e.factorType==="totp"&&l.type==="totp"&&(!((n=l==null?void 0:l.totp)===null||n===void 0)&&n.qr_code)&&(l.totp.qr_code=`data:image/svg+xml;utf-8,${l.totp.qr_code}`),this._returnResult({data:l,error:null}))})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _verify(e){const t=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 o=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?Bw(e.webauthn.credential_response):mw(e.webauthn.credential_response)})}:{code:e.code}),{data:l,error:c}=await K(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:o,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,t):t()}async _challenge(e){const t=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 o=await K(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});if(o.error)return o;const{data:l}=o;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:pw(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:ww(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,t):t()}async _challengeAndVerify(e){const{data:t,error:r}=await this._challenge({factorId:e.factorId});return r?this._returnResult({data:null,error:r}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){var e;const{data:{user:t},error:r}=await this.getUser();if(r)return{data:null,error:r};const n={all:[],phone:[],totp:[],webauthn:[]};for(const s of(e=t==null?void 0:t.factors)!==null&&e!==void 0?e:[])n.all.push(s),s.status==="verified"&&n[s.factor_type].push(s);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){var t,r,n,s;if(e)try{const{payload:p}=vo(e);let B=null;p.aal&&(B=p.aal);let C=B;const{data:{user:E},error:I}=await this.getUser(e);if(I)return this._returnResult({data:null,error:I});((r=(t=E==null?void 0:E.factors)===null||t===void 0?void 0:t.filter(k=>k.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(C="aal2");const S=p.amr||[];return{data:{currentLevel:B,nextLevel:C,currentAuthenticationMethods:S},error:null}}catch(p){if(P(p))return this._returnResult({data:null,error:p});throw p}const{data:{session:i},error:o}=await this.getSession();if(o)return this._returnResult({data:null,error:o});if(!i)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:l}=vo(i.access_token);let c=null;l.aal&&(c=l.aal);let u=c;((s=(n=i.user.factors)===null||n===void 0?void 0:n.filter(p=>p.status==="verified"))!==null&&s!==void 0?s:[]).length>0&&(u="aal2");const g=l.amr||[];return{data:{currentLevel:c,nextLevel:u,currentAuthenticationMethods:g},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;return n?this._returnResult({data:null,error:n}):r?await K(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:r.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new Te})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _approveAuthorization(e,t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!n)return this._returnResult({data:null,error:new Te});const i=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:n.access_token,body:{action:"approve"},xform:o=>({data:o,error:null})});return i.data&&i.data.redirect_url&&je()&&!(t!=null&&t.skipBrowserRedirect)&&window.location.assign(i.data.redirect_url),i})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _denyAuthorization(e,t){try{return await this._useSession(async r=>{const{data:{session:n},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!n)return this._returnResult({data:null,error:new Te});const i=await K(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:n.access_token,body:{action:"deny"},xform:o=>({data:o,error:null})});return i.data&&i.data.redirect_url&&je()&&!(t!=null&&t.skipBrowserRedirect)&&window.location.assign(i.data.redirect_url),i})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;return r?this._returnResult({data:null,error:r}):t?await K(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:n=>({data:n,error:null})}):this._returnResult({data:null,error:new Te})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;return n?this._returnResult({data:null,error:n}):r?(await K(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Te})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async fetchJwk(e,t={keys:[]}){let r=t.keys.find(o=>o.kid===e);if(r)return r;const n=Date.now();if(r=this.jwks.keys.find(o=>o.kid===e),r&&this.jwks_cached_at+$T>n)return r;const{data:s,error:i}=await K(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(i)throw i;return!s.keys||s.keys.length===0||(this.jwks=s,this.jwks_cached_at=n,r=s.keys.find(o=>o.kid===e),!r)?null:r}async getClaims(e,t={}){try{let r=e;if(!r){const{data:p,error:B}=await this.getSession();if(B||!p.session)return this._returnResult({data:null,error:B});r=p.session.access_token}const{header:n,payload:s,signature:i,raw:{header:o,payload:l}}=vo(r);if(!(t!=null&&t.allowExpired))try{hS(s.exp)}catch(p){throw new us(p instanceof Error?p.message:"JWT validation failed")}const c=!n.alg||n.alg.startsWith("HS")||!n.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(n.kid,t!=null&&t.keys?{keys:t.keys}:t==null?void 0:t.jwks);if(!c){const{error:p}=await this.getUser(r);if(p)throw p;return{data:{claims:s,header:n,signature:i},error:null}}const u=dS(n.alg),d=await crypto.subtle.importKey("jwk",c,u,!0,["verify"]);if(!await crypto.subtle.verify(u,d,i,ZT(`${o}.${l}`)))throw new us("Invalid JWT signature");return{data:{claims:s,header:n,signature:i},error:null}}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async signInWithPasskey(e){var t,r,n;xt(this.experimental);try{if(!Eo())return this._returnResult({data:null,error:new _t("Browser does not support WebAuthn",null)});const{data:s,error:i}=await this._startPasskeyAuthentication({options:{captchaToken:(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.captchaToken}});if(i||!s)return this._returnResult({data:null,error:i});const o=ww(s.options),l=(n=(r=e==null?void 0:e.options)===null||r===void 0?void 0:r.signal)!==null&&n!==void 0?n:Dc.createNewAbortSignal(),{data:c,error:u}=await _w({publicKey:o,signal:l});if(u||!c)return this._returnResult({data:null,error:u??new _t("WebAuthn ceremony failed",null)});const d=mw(c);return this._verifyPasskeyAuthentication({challengeId:s.challenge_id,credential:d})}catch(s){if(P(s))return this._returnResult({data:null,error:s});throw s}}async registerPasskey(e){var t,r;xt(this.experimental);try{if(!Eo())return this._returnResult({data:null,error:new _t("Browser does not support WebAuthn",null)});const{data:n,error:s}=await this._startPasskeyRegistration();if(s||!n)return this._returnResult({data:null,error:s});const i=pw(n.options),o=(r=(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.signal)!==null&&r!==void 0?r:Dc.createNewAbortSignal(),{data:l,error:c}=await vw({publicKey:i,signal:o});if(c||!l)return this._returnResult({data:null,error:c??new _t("WebAuthn ceremony failed",null)});const u=Bw(l);return this._verifyPasskeyRegistration({challengeId:n.challenge_id,credential:u})}catch(n){if(P(n))return this._returnResult({data:null,error:n});throw n}}async _startPasskeyRegistration(){xt(this.experimental);try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)return this._returnResult({data:null,error:r});if(!t)return this._returnResult({data:null,error:new Te});const{data:n,error:s}=await K(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return s?this._returnResult({data:null,error:s}):this._returnResult({data:n,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{data:s,error:i}=await K(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:r.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:s,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _startPasskeyAuthentication(e){var t;xt(this.experimental);try{const{data:r,error:n}=await K(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:r,error:null})}catch(r){if(P(r))return this._returnResult({data:null,error:r});throw r}}async _verifyPasskeyAuthentication(e){xt(this.experimental);try{const{data:t,error:r}=await K(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Ct});return r?this._returnResult({data:null,error:r}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers("SIGNED_IN",t.session)),this._returnResult({data:t,error:null}))}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _listPasskeys(){xt(this.experimental);try{return await this._useSession(async e=>{const{data:{session:t},error:r}=e;if(r)return this._returnResult({data:null,error:r});if(!t)return this._returnResult({data:null,error:new Te});const{data:n,error:s}=await K(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:i=>({data:i,error:null})});return s?this._returnResult({data:null,error:s}):this._returnResult({data:n,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{data:s,error:i}=await K(this.fetch,"PATCH",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:r.access_token,body:{friendly_name:e.friendlyName}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:s,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}async _deletePasskey(e){xt(this.experimental);try{return await this._useSession(async t=>{const{data:{session:r},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!r)return this._returnResult({data:null,error:new Te});const{error:s}=await K(this.fetch,"DELETE",`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:r.access_token,noResolveJson:!0});return s?this._returnResult({data:null,error:s}):this._returnResult({data:null,error:null})})}catch(t){if(P(t))return this._returnResult({data:null,error:t});throw t}}}Xr.nextInstanceID={};const OS=Hc,Cw=Xr,PS="2.108.2";let ds="",Uo;if(typeof Deno<"u"){var Oc;ds="deno",Uo=(Oc=Deno.version)===null||Oc===void 0?void 0:Oc.deno}else if(typeof document<"u")ds="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")ds="react-native";else{var Pc;ds="node",Uo=typeof process<"u"?(Pc=process.version)===null||Pc===void 0?void 0:Pc.replace(/^v/,""):void 0}const Ew=[`runtime=${ds}`];Uo&&Ew.push(`runtime-version=${Uo}`);const NS={headers:{"X-Client-Info":`supabase-js/${PS}; ${Ew.join("; ")}`}},VS={schema:"public"},MS={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},KS={},GS={enabled:!1,respectSamplingDecision:!0};function jS(A,e,t,r){function n(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(u){try{c(r.next(u))}catch(d){i(d)}}function l(u){try{c(r.throw(u))}catch(d){i(d)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((r=r.apply(A,[])).next())})}let Nc=null;const $S="@opentelemetry/api";function WS(){return Nc===null&&(Nc=import($S).catch(()=>null)),Nc}function qS(){return jS(this,void 0,void 0,function*(){try{const A=yield WS();if(!A||!A.propagation||!A.context)return null;const e={};A.propagation.inject(A.context.active(),e);const t=e.traceparent;return t?{traceparent:t,tracestate:e.tracestate,baggage:e.baggage}:null}catch{return null}})}function JS(A){if(!A||typeof A!="string")return null;const e=A.split("-");if(e.length!==4)return null;const[t,r,n,s]=e;if(t.length!==2||r.length!==32||n.length!==16||s.length!==2)return null;const i=/^[0-9a-f]+$/i;return!i.test(t)||!i.test(r)||!i.test(n)||!i.test(s)||r==="00000000000000000000000000000000"||n==="0000000000000000"?null:{version:t,traceId:r,parentId:n,traceFlags:s,isSampled:(parseInt(s,16)&1)===1}}function XS(A,e){if(!A||!e||e.length===0)return!1;let t;if(A instanceof URL)t=A;else try{t=new URL(A)}catch{return!1}for(const r of e)try{if(typeof r=="string"){if(zS(t.hostname,r))return!0}else if(r instanceof RegExp){if(r.test(t.hostname))return!0}else if(typeof r=="function"&&r(t))return!0}catch{continue}return!1}function zS(A,e){if(e===A)return!0;if(e.startsWith("*.")){const t=e.slice(2);if(A.endsWith(t)&&(A===t||A.endsWith("."+t)))return!0}return!1}function YS(A){const e=[];try{const t=new URL(A);e.push(t.hostname)}catch{}return e.push("*.supabase.co","*.supabase.in"),e.push("localhost","127.0.0.1","[::1]"),e}function fs(A){"@babel/helpers - typeof";return fs=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},fs(A)}function ZS(A,e){if(fs(A)!="object"||!A)return A;var t=A[Symbol.toPrimitive];if(t!==void 0){var r=t.call(A,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(A)}function eR(A){var e=ZS(A,"string");return fs(e)=="symbol"?e:e+""}function tR(A,e,t){return(e=eR(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function bw(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(A,n).enumerable})),t.push.apply(t,r)}return t}function ge(A){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bw(Object(t),!0).forEach(function(r){tR(A,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):bw(Object(t)).forEach(function(r){Object.defineProperty(A,r,Object.getOwnPropertyDescriptor(t,r))})}return A}const AR=A=>A?(...e)=>A(...e):(...e)=>fetch(...e),rR=()=>Headers,nR=(A,e,t,r,n)=>{const s=AR(r),i=rR(),o=(n==null?void 0:n.enabled)===!0,l=(n==null?void 0:n.respectSamplingDecision)!==!1,c=o?YS(e):null;return async(u,d)=>{var g;const p=(g=await t())!==null&&g!==void 0?g:A;let B=new i(d==null?void 0:d.headers);if(B.has("apikey")||B.set("apikey",A),B.has("Authorization")||B.set("Authorization",`Bearer ${p}`),c){const C=await sR(u,c,l);C&&(C.traceparent&&!B.has("traceparent")&&B.set("traceparent",C.traceparent),C.tracestate&&!B.has("tracestate")&&B.set("tracestate",C.tracestate),C.baggage&&!B.has("baggage")&&B.set("baggage",C.baggage))}return s(u,ge(ge({},d),{},{headers:B}))}};async function sR(A,e,t){if(!XS(typeof A=="string"||A instanceof URL?A:A.url,e))return null;const r=await qS();if(!r||!r.traceparent)return null;if(t){const n=JS(r.traceparent);if(n&&!n.isSampled)return null}return r}function Uw(A){return typeof A=="boolean"?{enabled:A}:A}function iR(A){return A.endsWith("/")?A:A+"/"}function oR(A,e){var t,r,n,s,i,o;const{db:l,auth:c,realtime:u,global:d}=A,{db:g,auth:p,realtime:B,global:C}=e,E=Uw(A.tracePropagation),I=Uw(e.tracePropagation),Q={db:ge(ge({},g),l),auth:ge(ge({},p),c),realtime:ge(ge({},B),u),storage:{},global:ge(ge(ge({},C),d),{},{headers:ge(ge({},(t=C==null?void 0:C.headers)!==null&&t!==void 0?t:{}),(r=d==null?void 0:d.headers)!==null&&r!==void 0?r:{})}),tracePropagation:{enabled:(n=(s=E==null?void 0:E.enabled)!==null&&s!==void 0?s:I==null?void 0:I.enabled)!==null&&n!==void 0?n:!1,respectSamplingDecision:(i=(o=E==null?void 0:E.respectSamplingDecision)!==null&&o!==void 0?o:I==null?void 0:I.respectSamplingDecision)!==null&&i!==void 0?i:!0},accessToken:async()=>""};return A.accessToken?Q.accessToken=A.accessToken:delete Q.accessToken,Q}function aR(A){const e=A==null?void 0:A.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(iR(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var lR=class extends Cw{constructor(A){super(A)}},Qw=class{constructor(A,e,t){var r,n;this.supabaseUrl=A,this.supabaseKey=e;const s=aR(A);if(!e)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",s),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",s),this.storageUrl=new URL("storage/v1",s),this.functionsUrl=new URL("functions/v1",s);const i=`sb-${s.hostname.split(".")[0]}-auth-token`,o={db:VS,realtime:KS,auth:ge(ge({},MS),{},{storageKey:i}),global:NS,tracePropagation:GS},l=oR(t??{},o);if(this.settings=l,this.storageKey=(r=l.auth.storageKey)!==null&&r!==void 0?r:"",this.headers=(n=l.global.headers)!==null&&n!==void 0?n:{},l.accessToken)this.accessToken=l.accessToken,this.auth=new Proxy({},{get:(u,d)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(d)} is not possible`)}});else{var c;this.auth=this._initSupabaseAuthClient((c=l.auth)!==null&&c!==void 0?c:{},this.headers,l.global.fetch)}this.fetch=nR(e,A,this._getAccessToken.bind(this),l.global.fetch,l.tracePropagation),this.realtime=this._initRealtimeClient(ge({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},l.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new SF(new URL("rest/v1",s).href,{headers:this.headers,schema:l.db.schema,fetch:this.fetch,timeout:l.db.timeout,urlLengthLimit:l.db.urlLengthLimit}),this.storage=new NT(this.storageUrl.href,this.headers,this.fetch,t==null?void 0:t.storage),l.accessToken||this._listenForAuthEvents()}get functions(){return new _F(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(A){return this.rest.from(A)}schema(A){return this.rest.schema(A)}rpc(A,e={},t={head:!1,get:!1,count:void 0}){return this.rest.rpc(A,e,t)}channel(A,e={config:{}}){return this.realtime.channel(A,e)}getChannels(){return this.realtime.getChannels()}removeChannel(A){return this.realtime.removeChannel(A)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var A=this,e,t;if(A.accessToken)return await A.accessToken();const{data:r}=await A.auth.getSession();return(e=(t=r.session)===null||t===void 0?void 0:t.access_token)!==null&&e!==void 0?e:A.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:r,userStorage:n,storageKey:s,flowType:i,lock:o,debug:l,throwOnError:c,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:g},p,B){const C={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new lR({url:this.authUrl.href,headers:ge(ge({},C),p),storageKey:s,autoRefreshToken:A,persistSession:e,detectSessionInUrl:t,storage:r,userStorage:n,flowType:i,lock:o,debug:l,throwOnError:c,experimental:u,fetch:B,lockAcquireTimeout:d,skipAutoInitialize:g,hasCustomAuthorizationHeader:Object.keys(this.headers).some(E=>E.toLowerCase()==="authorization")})}_initRealtimeClient(A){return new Mp(this.realtimeUrl.href,ge(ge({},A),{},{params:ge(ge({},{apikey:this.supabaseKey}),A==null?void 0:A.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((A,e)=>{this._handleTokenChanged(A,"CLIENT",e==null?void 0:e.access_token)})}_handleTokenChanged(A,e,t){(A==="TOKEN_REFRESHED"||A==="SIGNED_IN")&&this.changedAccessToken!==t?(this.changedAccessToken=t,this.realtime.setAuth(t)):A==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const cR=(A,e,t)=>new Qw(A,e,t);function uR(){if(typeof window<"u")return!1;const A=globalThis.process;if(!A)return!1;const e=A.version;if(e==null)return!1;const t=e.match(/^v(\d+)\./);return t?parseInt(t[1],10)<=18:!1}uR()&&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");const hR=Object.freeze(Object.defineProperty({__proto__:null,AuthAdminApi:OS,AuthApiError:Yp,AuthClient:Cw,AuthError:$r,AuthImplicitGrantRedirectError:cs,AuthInvalidCredentialsError:ls,AuthInvalidJwtError:us,AuthInvalidTokenResponseError:rr,AuthPKCECodeVerifierMissingError:tw,AuthPKCEGrantCodeExchangeError:Tc,AuthRefreshDiscardedError:Rc,AuthRetryableFetchError:Bo,AuthSessionMissingError:Te,AuthUnknownError:_t,AuthWeakPasswordError:xc,CustomAuthError:St,get FunctionRegion(){return io},FunctionsError:so,FunctionsFetchError:bp,FunctionsHttpError:wc,FunctionsRelayError:pc,GoTrueAdminApi:Hc,GoTrueClient:Xr,NavigatorLockAcquireTimeoutError:Lc,PostgrestError:Bc,REALTIME_CHANNEL_STATES:nT,get REALTIME_LISTEN_TYPES(){return Ar},get REALTIME_POSTGRES_CHANGES_LISTEN_EVENT(){return Ec},get REALTIME_PRESENCE_LISTEN_EVENTS(){return Cc},get REALTIME_SUBSCRIBE_STATES(){return Wt},RealtimeChannel:Kr,RealtimeClient:Mp,RealtimePresence:Np,SIGN_OUT_SCOPES:_o,StorageApiError:po,SupabaseClient:Qw,WebSocketFactory:Rp,createClient:cR,isAuthApiError:Zp,isAuthError:P,isAuthImplicitGrantRedirectError:ew,isAuthPKCECodeVerifierMissingError:WT,isAuthRefreshDiscardedError:Aw,isAuthRetryableFetchError:Sc,isAuthSessionMissingError:as,isAuthWeakPasswordError:qT,lockInternals:kt,navigatorLock:CS,processLock:ES},Symbol.toStringTag,{value:"Module"}));wt.initFeedbackPlugin=WB,Object.defineProperty(wt,Symbol.toStringTag,{value:"Module"})});
|
|
3036
3036
|
//# sourceMappingURL=ui-feedback-plugin.umd.js.map
|