1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="e4ed0bc0-d0ee-bff4-fedf-3cc23ec942e7")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63263,e=>{"use strict";e.i(247167);var t,r,n,i,s=((t={}).DASHBOARD="dashboard",t.SCHOLARSHIP="scholarship",t.ACCOUNT="account",t),a=((r={}).APPILY="Aj2AaFMZGZun8noWhHQ3",r.ASCENT_SUMMER_GIVEAWAY="92c89bac-0558-4316-a62d-279da888ac6a",r.COLLEGE_AVE="7ec49742-d93e-4985-974a-518fb0206160",r.SMARTER_COLLEGE="2b77e4f8-2ea3-41a0-8bc9-1b7f7683c3a5",r.COLLEGE_PLAN_2026="276e17f1-1cae-49e7-9cb3-1ea5789def1c",r),o=((n={}).ASCENT="Ascent",n),B=((i={}).SALLIE="12",i.BOLD="13",i.JUNO="20",i.ACCESS_SCHOLARSHIPS="5",i.STUDENT_SCHOLARSHIPS="8",i.NSHSS="17",i.ZEEMEE="22",i.COURAGE_TO_GROW="37",i);let l=["PromotionalBanner.NROTC_General","PromotionalBanner.NROTC_Nurse"];e.s(["AFFILIATE_SOURCES",()=>B,"BACKGROUND_INTERESTS_VERSION",0,2,"CROSS_APPLICATION_HIDE_RULES",0,[{hideScholarshipId:"9f2538b0-af8d-4c6a-a513-8b147929a2b3",ifAppliedToAny:["52117556-b6f4-439f-8316-89f9196b195d"]},{hideScholarshipId:"fbb40a28-3de0-442b-9d1d-ddf6bf6f4f42",ifAppliedToAny:["9f2538b0-af8d-4c6a-a513-8b147929a2b3","52117556-b6f4-439f-8316-89f9196b195d"]}],"CURRENT_PROFILE_VERSION",0,13,"EMAIL_AUDIENCE",0,[{value:"High School Freshman",label:"High School Freshman"},{value:"High School Sophomore",label:"High School Sophomore"},{value:"High School Junior",label:"High School Junior"},{value:"High School Senior",label:"High School Senior"},{value:"College Freshman",label:"College Freshman"},{value:"College Sophomore",label:"College Sophomore"},{value:"College Junior",label:"College Junior"},{value:"College Senior",label:"College Senior"},{value:"Graduate Student",label:"Graduate Student"},{value:"none",label:"None"}],"GRADE_LEVELS",0,[{value:"9",label:"High School Freshman"},{value:"10",label:"High School Sophomore"},{value:"11",label:"High School Junior"},{value:"12",label:"High School Senior"},{value:"13",label:"College Freshman"},{value:"14",label:"College Sophomore"},{value:"15",label:"College Junior"},{value:"16",label:"College Senior"},{value:"17",label:"Graduate Student"}],"MEILISEARCH_INDEXES",0,{SCHOLARSHIPS:"S360-scholarships",SCHOOLS:"S360-schools",COLLEGE_PROFILES:"S360-college-profiles"},"NROTC_APPLY_URL",0,"https://www.netc.navy.mil/Commands/Naval-Service-Training-Command/NROTC/Prospective-Midshipmen/NROTC-Apply-Now/","NROTC_PROMOTIONAL_BANNER_NAMES",0,l,"PAGE_SIZE",0,20,"ParentChildBannerLocation",()=>s,"SCHOLARSHIPS",()=>a,"SCHOLARSHIPS_TO_HIDE_FROM_ASCENT",0,["52117556-b6f4-439f-8316-89f9196b195d","6ec779ac-a5b8-489f-8448-b95d4ff0b74a"],"SCHOLARSHIPS_TO_HIDE_FROM_BOLD",0,["bold"],"SCHOLARSHIPS_TO_HIDE_FROM_SALLIE",0,["52117556-b6f4-439f-8316-89f9196b195d","9f2538b0-af8d-4c6a-a513-8b147929a2b3"],"SCHOOL_YEAR",0,"2026-2027","SCHOOL_YEAR_STARTING",0,2026,"SCHOOL_YEAR_STOPPING",0,2027,"STATES",0,[{value:"AL",label:"Alabama"},{value:"AK",label:"Alaska"},{value:"AZ",label:"Arizona"},{value:"AR",label:"Arkansas"},{value:"CA",label:"California"},{value:"CO",label:"Colorado"},{value:"CT",label:"Connecticut"},{value:"DE",label:"Delaware"},{value:"FL",label:"Florida"},{value:"GA",label:"Georgia"},{value:"HI",label:"Hawaii"},{value:"ID",label:"Idaho"},{value:"IL",label:"Illinois"},{value:"IN",label:"Indiana"},{value:"IA",label:"Iowa"},{value:"KS",label:"Kansas"},{value:"KY",label:"Kentucky"},{value:"LA",label:"Louisiana"},{value:"ME",label:"Maine"},{value:"MD",label:"Maryland"},{value:"MA",label:"Massachusetts"},{value:"MI",label:"Michigan"},{value:"MN",label:"Minnesota"},{value:"MS",label:"Mississippi"},{value:"MO",label:"Missouri"},{value:"MT",label:"Montana"},{value:"NE",label:"Nebraska"},{value:"NV",label:"Nevada"},{value:"NH",label:"New Hampshire"},{value:"NJ",label:"New Jersey"},{value:"NM",label:"New Mexico"},{value:"NY",label:"New York"},{value:"NC",label:"North Carolina"},{value:"ND",label:"North Dakota"},{value:"OH",label:"Ohio"},{value:"OK",label:"Oklahoma"},{value:"OR",label:"Oregon"},{value:"PA",label:"Pennsylvania"},{value:"RI",label:"Rhode Island"},{value:"SC",label:"South Carolina"},{value:"SD",label:"South Dakota"},{value:"TN",label:"Tennessee"},{value:"TX",label:"Texas"},{value:"UT",label:"Utah"},{value:"VT",label:"Vermont"},{value:"VA",label:"Virginia"},{value:"WA",label:"Washington"},{value:"WV",label:"West Virginia"},{value:"WI",label:"Wisconsin"},{value:"WY",label:"Wyoming"},{value:"DC",label:"District of Columbia"}],"SegmentValue",0,{highSchoolFreshman:"High School Freshman",highSchoolSophomore:"High School Sophomore",highSchoolJunior:"High School Junior",highSchoolSenior:"High School Senior",collegeFreshman:"College Freshman",collegeSophomore:"College Sophomore",collegeJunior:"College Junior",collegeSenior:"College Senior",graduateStudent:"Graduate Student",communityCollegeStudent:"Community College Student",none:"none"},"UTMSources",()=>o,"acceptedCountries",0,["US","CA"],"isNrotcPromotionalBannerName",0,function(e){return l.includes(e)}])},612812,e=>{"use strict";var t=e.i(63263);let r={GED:{value:"GED",label:"High School Student"},AS:{value:"AS",label:"Community College Student"},BA:{value:"BA",label:"Four Year College Undergraduate"},GRAD:{value:"GRAD",label:"Graduate Student"},TRADE:{value:"TRADE",label:"Trade School Certificate"},BOOTCAMP:{value:"BOOTCAMP",label:"Bootcamp Certificate"}},n={...r,AS:{value:"AS",label:"Associateâs Degree"},BA:{value:"BA",label:"Bachelorâs Degree"}},i={GED:[{value:`${t.SCHOOL_YEAR_STOPPING+3}`,label:"Freshman",start:"9/1/2008",end:"8/31/2009"},{value:`${t.SCHOOL_YEAR_STOPPING+2}`,label:"Sophomore",start:"9/1/2007",end:"8/31/2008"},{value:`${t.SCHOOL_YEAR_STOPPING+1}`,label:"Junior",start:"9/1/2006",end:"8/31/2007"},{value:`${t.SCHOOL_YEAR_STOPPING}`,label:"Senior",start:"9/1/2005",end:"8/31/2006"}],BA:[{value:`${t.SCHOOL_YEAR_STOPPING+3}`,label:"Freshman",start:"9/1/2004",end:"8/31/2005"},{value:`${t.SCHOOL_YEAR_STOPPING+2}`,label:"Sophomore",start:"9/1/2003",end:"8/31/2004"},{value:`${t.SCHOOL_YEAR_STOPPING+1}`,label:"Junior",start:"9/1/2002",end:"8/31/2003"},{value:`${t.SCHOOL_YEAR_STOPPING}`,label:"Senior",start:"9/1/2001",end:"8/31/2002"}],AS:[{value:`${t.SCHOOL_YEAR_STOPPING+1}`,label:"First-Year Student",start:"9/1/2002",end:"8/31/2003"},{value:`${t.SCHOOL_YEAR_STOPPING}`,label:"Second-Year Student",start:"9/1/2001",end:"8/31/2002"}]};e.s(["EDUCATION_DEGREES",0,r,"EDUCATION_DEGREE_LABELS",0,{GED:{label:"high school"},BA:{label:"college"},AS:{label:"community college"},GRAD:{label:"grad school"},TRADE:{label:"trade school"},BOOTCAMP:{label:"bootcamp"},MA:{label:"grad school",desc:"master's degree"},PHD:{label:"grad school",desc:"PHD"}},"EDUCATION_FUTURE_DEGREES",0,{GED:{value:"GED",label:"High School Diploma / GED"},AS:{value:"AS",label:"Associateâs Degree"},BA:{value:"BA",label:"Bachelorâs Degree"},GRAD:{value:"GRAD",label:"Graduate Degree"},TRADE:{value:"TRADE",label:"Trade School Certificate"},BOOTCAMP:{value:"BOOTCAMP",label:"Bootcamp Certificate"}},"GRAD_DATE_SELECTOR",0,i,"GRAD_PROGRAM_ENG_TILES",0,[{label:"Chemical Engineering",s360Group:"Chemical Engineering"},{label:"Civil Engineering",s360Group:"Civil Engineering"},{label:"Electrical Engineering",s360Group:"Electrical Engineering"},{label:"Mechanical Engineering",s360Group:"Mechanical Engineering"},{label:"Nuclear Science/Engineering",s360Group:"Nuclear Science/Engineering"},{label:"Other",s360Group:"Engineering"}
2],"GRAD_PROGRAM_OTHER_TILES",0,["Animal/Veterinary Sciences","Biology","Chemistry","Economics","Education","Literature/English/Writing","Optometry","Visual & Performing Arts"],"GRAD_PROGRAM_TILES",0,[{label:"MBA",s360Group:"Business"},{label:"Law",s360Group:"Law"},{label:"Engineering",s360Group:null},{label:"Computer Science",s360Group:"Computer Science"},{label:"Dental",s360Group:"Dental Health/Services"},{label:"Nursing",s360Group:"Nursing"},{label:"Medical",s360Group:"Medicine"},{label:"Pharmacy",s360Group:"Pharmacy"},{label:"Physical Therapy",s360Group:"Therapy/Rehabilitation"},{label:"Other",s360Group:null}],"OTHER_SCHOOLS",0,[{value:"international",label:"Iâm an international student."},{value:"unlisted",label:"My school isnât listed."},{value:"homeschooled",label:"Iâm homeschooled."}],"SEMESTERS",0,[{value:"Fall",label:"Fall"},{value:"Spring",label:"Spring"}],"STUDENT_LOANS_OPTIONS",0,[{value:"PRI",label:"Yes, I may need private student loans"},{value:"FED",label:"No, my federal loans are enough"},{value:"NO",label:"No, I won't need any loans"},{value:"UNSURE",label:"I'm not sure"}],"SUBSCRIPTION_EDUCATION_DEGREES",0,n])},316735,e=>{"use strict";e.i(247167),e.s(["AUTH_ERROR_CODE_MESSAGE",0,{"auth/user-not-found":"Couldnât find account.","auth/email-already-in-use":"Email is already in use.","auth/expired-action-code":"Your request to verify your email has expired.","auth/invalid-action-code":"Your request to verify your email has expired or the link has already been used.","auth/user-disabled":"Your account has been disabled.","auth/too-many-requests":"Too many attempts. Please wait a few minutes and try again.","auth/popup-closed-by-user":"Google Login Popup closed by user.","auth/invalid-email":"Please enter a valid email address.","auth/internal-error":"Internal error. Please try again later.","auth/network-request-failed":"Network error. Please try again later.","auth/invalid-custom-token":"Invalid custom token.","auth/invalid-credential":"Invalid email or password.","auth/account-exists-with-different-credential":"An account already exists with the same email address but different sign-in credentials.","auth/requires-recent-login":"This operation requires recent authentication. Please log in again.","auth/operation-not-allowed":"This operation is not allowed. Please contact support.","auth/invalid-verification-code":"Invalid verification code. Please try again.","auth/invalid-verification-id":"Invalid verification ID. Please try again.","auth/missing-verification-code":"Please enter the verification code.","auth/missing-verification-id":"Verification ID is missing. Please try again.","auth/quota-exceeded":"Quota exceeded. Please try again later.","auth/app-not-authorized":"This app is not authorized to use Firebase Authentication.","auth/invalid-app-credential":"Invalid app credential.","auth/invalid-user-token":"Your session has expired. Please log in again.","auth/user-token-expired":"Your session has expired. Please log in again.","auth/null-user":"User is null. Please try again.","auth/app-deleted":"This app has been deleted.","auth/invalid-api-key":"Invalid API key.","auth/invalid-user":"Invalid user.","auth/invalid-tenant-id":"Invalid tenant ID.","auth/tenant-id-mismatch":"Tenant ID mismatch.","auth/unsupported-tenant-operation":"This operation is not supported for this tenant.","auth/invalid-recaptcha-token":"Invalid reCAPTCHA token.","auth/invalid-recaptcha-action":"Invalid reCAPTCHA action.","auth/missing-recaptcha-token":"reCAPTCHA token is missing.","auth/missing-recaptcha-action":"reCAPTCHA action is missing.","auth/invalid-recaptcha-secret":"Invalid reCAPTCHA secret.","auth/invalid-recaptcha-response":"Invalid reCAPTCHA response.","auth/invalid-phone-number":"Invalid phone number format.","auth/missing-phone-number":"Phone number is required.","auth/captcha-check-failed":"CAPTCHA check failed. Please try again.","auth/invalid-app-check-token":"Invalid app check token.","auth/firebase-app-check-token-is-invalid":"App check token is invalid. Please refresh the page.","auth/firebase-app-check-token-is-invalid.":"App check token is invali
2d. Please refresh the page.","auth/app-check-token-expired":"App check token has expired.","auth/app-check-replay-attack":"App check replay attack detected.","auth/app-check-unsupported":"App check is not supported.","auth/multi-factor-auth-required":"This account is registered with the Partner Portal. Please sign in at partners.scholarships360.org.","portal-account":"This account is registered with the Partner Portal. Please sign in at partners.scholarships360.org.","auth/invalid-oauth-provider":"Invalid OAuth provider.","auth/invalid-oauth-client-id":"Invalid OAuth client ID.","auth/unauthorized-continue-uri":"Unauthorized continue URI.","auth/invalid-dynamic-link-domain":"Invalid dynamic link domain.","auth/argument-error":"Invalid argument provided.","auth/invalid-persistence-type":"Invalid persistence type.","auth/unsupported-persistence-type":"Unsupported persistence type.","auth/invalid-credential-different-user":"Invalid credential for different user.","auth/user-mismatch":"The credential provided does not match the current user. Please try again.","auth/credential-already-in-use":"This credential is already associated with another account.","auth/operation-not-supported-in-this-environment":"This operation is not supported in this environment.","auth/timeout":"Operation timed out. Please try again.","auth/web-storage-unsupported":"Web storage is not supported in this environment."},"default",0,{apiKey:"AIzaSyBSzusLiSLizkHiUpfEoyK308QOQVWkffI",authDomain:"auth.scholarships360.org",projectId:"scholarships360-48e36",storageBucket:"scholarships360-48e36.appspot.com",messagingSenderId:"1000900520039",appId:"1:1000900520039:web:d9b39f9e135c7274e60cc2",measurementId:"G-6QL3Q1LJYK"}])},212891,e=>{"use strict";e.i(214539);var t=e.i(92953);e.i(151718);var r=e.i(107745);e.i(436180);var n=e.i(499917),n=n,i=e.i(316735);let s=(0,t.initializeApp)(i.default),a=(0,r.getAuth)(s),o=(0,n.aX)(s,{ignoreUndefinedProperties:!0});e.s(["app",0,s,"auth",0,a,"db",0,o],212891)},92953,897427,308070,683877,e=>{"use strict";let t,r,n;var i,s,a=e.i(247167);let o=function(e){let t=[],r=0;for(let n=0;n<e.length;n++){let i=e.charCodeAt(n);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:((64512&i)==55296&&n+1<e.length&&(64512&e.charCodeAt(n+1))==56320?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++n)),t[r++]=i>>18|240,t[r++]=i>>12&63|128):t[r++]=i>>12|224,t[r++]=i>>6&63|128),t[r++]=63&i|128)}return t},B=function(e){let t=[],r=0,n=0;for(;r<e.length;){let i=e[r++];if(i<128)t[n++]=String.fromCharCode(i);else if(i>191&&i<224){let s=e[r++];t[n++]=String.fromCharCode((31&i)<<6|63&s)}else if(i>239&&i<365){let s=((7&i)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(s>>10)),t[n++]=String.fromCharCode(56320+(1023&s))}else{let s=e[r++],a=e[r++];t[n++]=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}}return t.join("")},l={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:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t<e.length;t+=3){let i=e[t],s=t+1<e.length,a=s?e[t+1]:0,o=t+2<e.length,B=o?e[t+2]:0,l=i>>2,u=(3&i)<<4|a>>4,h=(15&a)<<2|B>>6,c=63&B;!o&&(c=64,s||(h=64)),n.push(r[l],r[u],r[h],r[c])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(o(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):B(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t<e.length;){let i=r[e.charAt(t++)],s=t<e.length?r[e.charAt(t)]:0,a=++t<e.length?r[e.charAt(t)]:64,o=++t<e.length?r[e.charAt(t)]:64;if(++t,null==i||null==s||null==a||null==o)throw new u;let B=i<<2|s>>4;if(n.push(B),64!==a){let e=s<<4&240|a>>2;if(n.push(e),64!==o){let e=a<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};
2class u extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let h=function(e){let t=o(e);return l.encodeByteArray(t,!0)},c=function(e){return h(e).replace(/\./g,"")},d=function(e){try{return l.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function C(){return"u">typeof self?self:"u">typeof window?window:e.g}let p=()=>{try{return C().__FIREBASE_DEFAULTS__||(()=>{if(void 0===a.default||void 0===a.default.env)return;let e=a.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&d(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},f=e=>p()?.emulatorHosts?.[e],g=()=>p()?.config;class m{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),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,r))}}}function E(){return"u">typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function D(){let t=p()?.forceEnvironment;if("node"===t)return!0;if("browser"===t)return!1;try{return"[object process]"===Object.prototype.toString.call(e.g.process)}catch(e){return!1}}function y(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}function w(){try{return"object"==typeof indexedDB}catch(e){return!1}}function I(){return new Promise((e,t)=>{try{let r=!0,n="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(n);i.onsuccess=()=>{i.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},i.onupgradeneeded=()=>{r=!1},i.onerror=()=>{t(i.error?.message||"")}}catch(e){t(e)}})}class v extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,v.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,_.prototype.create)}}class _{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){let r=t[0]||{},n=`${this.service}/${e}`,i=this.errors[e],s=i?function(e,t){try{let r=0,n="";for(;r<e.length;){let i=e.indexOf("{$",r);if(-1===i){n+=e.substring(r);break}let s=e.indexOf("}",i+2);if(-1===s){n+=e.substring(r);break}let a=e.substring(i+2,s),o=t[a];n+=e.substring(r,i)+(null!=o?String(o):`<${a}?>`),r=s+1}return n}catch(t){return e}}(i,r):"Error",a=`${this.serviceName}: ${s} (${n}).`;return new v(n,a,r)}}function b(e){return JSON.parse(e)}let T=function(e){let t={},r={},n={},i="";try{let s=e.split(".");t=b(d(s[0])||""),r=b(d(s[1])||""),i=s[2],n=r.d||{},delete r.d}catch(e){}return{header:t,claims:r,data:n,signature:i}};function S(e,t){if(e===t)return!0;let r=Object.keys(e),n=Object.keys(t);for(let i of r){if(!n.includes(i))return!1;let r=e[i],s=t[i];if(A(r)&&A(s)){if(!S(r,s))return!1}else if(r!==s)return!1}for(let e of n)if(!r.includes(e))return!1;return!0}function A(e){return null!==e&&"object"==typeof e}class O{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw Error("Missing Observer.");void 0===(n=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:r}:e).next&&(n.next=N),void 0===n.error&&(n.error=N),void 0===n.complete&&(n.complete=N);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>
2{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"u">typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function N(){}async function F(e){return(await fetch(e,{credentials:"include"})).ok}e.s(["Deferred",0,m,"ErrorFactory",0,_,"FirebaseError",0,v,"base64",0,l,"base64Decode",0,d,"base64urlEncodeWithoutPadding",0,c,"calculateBackoffMillis",0,function(e,t=1e3,r=2){let n=t*Math.pow(r,e),i=Math.round(.5*n*(Math.random()-.5)*2);return Math.min(144e5,n+i)},"createMockUserToken",0,function(e,t){if(e.uid)throw Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');let r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(!i)throw Error("mockUserToken must contain 'sub' or 'user_id' field!");let s={iss:`https://securetoken.google.com/${r}`,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e};return[c(JSON.stringify({alg:"none",type:"JWT"})),c(JSON.stringify(s)),""].join(".")},"createSubscribe",0,function(e,t){let r=new O(e,t);return r.subscribe.bind(r)},"deepEqual",0,S,"extractQuerystring",0,function(e){let t=e.indexOf("?");if(!t)return"";let r=e.indexOf("#",t);return e.substring(t,r>0?r:void 0)},"getDefaultAppConfig",0,g,"getDefaultEmulatorHost",0,f,"getDefaultEmulatorHostnameAndPort",0,e=>{let t=f(e);
2if(!t)return;let r=t.lastIndexOf(":");if(r<=0||r+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let n=parseInt(t.substring(r+1),10);return"["===t[0]?[t.substring(1,r-1),n]:[t.substring(0,r),n]},"getExperimentalSetting",0,e=>p()?.[`_${e}`],"getGlobal",0,C,"getModularInstance",0,function(e){return e&&e._delegate?e._delegate:e},"getUA",0,E,"isBrowser",0,function(){return"u">typeof window||y()},"isBrowserExtension",0,function(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id},"isCloudWorkstation",0,function(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}},"isCloudflareWorker",0,function(){return"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent},"isEmpty",0,function(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0},"isIE",0,function(){let e=E();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0},"isIndexedDBAvailable",0,w,"isMobileCordova",0,function(){return"u">typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(E())},"isReactNative",0,function(){return"object"==typeof navigator&&"ReactNative"===navigator.product},"isSafari",0,function(){return!D()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")},"isSafariOrWebkit",0,function(){return!D()&&!!navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")},"isWebWorker",0,y,"issuedAtTime",0,function(e){let t=T(e).claims;return"object"==typeof t&&t.hasOwnProperty("iat")?t.iat:null},"pingServer",0,F,"querystring",0,function(e){let t=[];for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""},"querystringDecode",0,function(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[r,n]=e.split("=");
2t[decodeURIComponent(r)]=decodeURIComponent(n)}}),t},"validateIndexedDBOpenable",0,I],897427);class x{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let R="[DEFAULT]";class L{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){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new m;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),r=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}if(r)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("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:R})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let r=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch(e){}}}}clearInstance(e=R){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=R){return this.instances.has(e)}getOptions(e=R){return this.instancesOptions.get(e)||{}}initialize(e={}){let{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`);let n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(let[e,t]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(e)&&t.resolve(n);return n}onInit(e,t){let r=this.normalizeInstanceIdentifier(t),n=this.onInitCallbacks.get(r)??new Set;n.add(e),this.onInitCallbacks.set(r,n);let i=this.instances.get(r);return i&&e(i,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let r=this.onInitCallbacks.get(t);if(r)for(let n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var r;let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===R?void 0:r,options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch{}return n||null}normalizeInstanceIdentifier(e=R){return this.component?this.component.multipleInstances?e:R:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class k{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw 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);let t=new L(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}e.s(["Component",0,x,"ComponentContainer",0,k],308070);let P=[];(i=s||(s={}))[i.DEBUG=0]="DEBUG",i[i.VERBOSE=1]="VERBOSE",i[i.INFO=2]="INFO",i[i.WARN=3]="WARN",i[i.ERROR=4]="ERROR",i[i.SILENT=5]="SILENT";
2let M={debug:s.DEBUG,verbose:s.VERBOSE,info:s.INFO,warn:s.WARN,error:s.ERROR,silent:s.SILENT},G=s.INFO,H={[s.DEBUG]:"log",[s.VERBOSE]:"log",[s.INFO]:"info",[s.WARN]:"warn",[s.ERROR]:"error"},U=(e,t,...r)=>{if(t<e.logLevel)return;let n=new Date().toISOString(),i=H[t];if(i)console[i](`[${n}] ${e.name}:`,...r);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class V{constructor(e){this.name=e,this._logLevel=G,this._logHandler=U,this._userLogHandler=null,P.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in s))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?M[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw 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,s.DEBUG,...e),this._logHandler(this,s.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,s.VERBOSE,...e),this._logHandler(this,s.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,s.INFO,...e),this._logHandler(this,s.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,s.WARN,...e),this._logHandler(this,s.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,s.ERROR,...e),this._logHandler(this,s.ERROR,...e)}}e.s(["LogLevel",0,s,"Logger",0,V,"setLogLevel",0,function(e){P.forEach(t=>{t.setLogLevel(e)})},"setUserLogHandler",0,function(e,t){for(let r of P){let n=null;t&&t.level&&(n=M[t.level]),null===e?r.userLogHandler=null:r.userLogHandler=(t,r,...i)=>{let a=i.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");r>=(n??t.logLevel)&&e({level:s[r].toLowerCase(),message:a,args:i,type:t.name})}}}],683877);let j=new WeakMap,J=new WeakMap,q=new WeakMap,K=new WeakMap,z=new WeakMap,Q={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return J.get(e);if("objectStoreNames"===t)return e.objectStoreNames||q.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return W(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function W(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{t(W(e.result)),n()},s=()=>{r(e.error),n()};e.addEventListener("success",i),e.addEventListener("error",s)})).then(t=>{t instanceof IDBCursor&&j.set(t,e)}).catch(()=>{}),z.set(t,e),t}if(K.has(e))return K.get(e);let n=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(r||(r=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply($(this),t),W(j.get(this))}:function(...t){return W(e.apply($(this),t))}:function(t,...r){let n=e.call($(this),t,...r);return q.set(n,t.sort?t.sort():[t]),W(n)};return e instanceof IDBTransaction&&function(e){if(J.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{t(),n()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});J.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,Q):e}(e);return n!==e&&(K.set(e,n),z.set(n,e)),n}let $=e=>z.get(e),Y=["get","getKey","getAll","getAllKeys","count"],X=["put","add","delete","clear"],Z=new Map;function ee(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(Z.get(t))return Z.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,i=X.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(i||Y.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,i?"readwrite":"readonly"),a=s.store;
2return n&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),i&&s.done]))[0]};return Z.set(t,s),s}Q={...n=Q,get:(e,t,r)=>ee(e,t)||n.get(e,t,r),has:(e,t)=>!!ee(e,t)||n.has(e,t)};class et{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if(t=e.getComponent(),t?.type!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let er="@firebase/app",en="0.16.1",ei=new V("@firebase/app"),es="[DEFAULT]",ea={[er]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},eo=new Map,eB=new Map,el=new Map;function eu(e,t){try{e.container.addComponent(t)}catch(r){ei.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function eh(e){let t=e.name;if(el.has(t))return ei.debug(`There were multiple attempts to register component ${t}.`),!1;for(let r of(el.set(t,e),eo.values()))eu(r,e);for(let t of eB.values())eu(t,e);return!0}function ec(e,t){let r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}let ed=new _("app","Firebase",{"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 {$mismatchedParam}. Existing: '{$oldValue}'. New: '{$newValue}'.","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.","invali
2d-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."});class eC{constructor(e,t,r){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new x("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 ed.create("app-deleted",{appName:this._name})}}function ep(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});let n={name:es,automaticDataCollectionEnabled:!0,...t},i=n.name;if("string"!=typeof i||!i)throw ed.create("bad-app-name",{appName:String(i)});if(r||(r=g()),!r)throw ed.create("no-options");let s=eo.get(i);if(s)if(S(r,s.options))if(S(n,s.config))return s;else throw ed.create("duplicate-app",{appName:i,mismatchedParam:"config",oldValue:JSON.stringify(s.config),newValue:JSON.stringify(n)});else throw ed.create("duplicate-app",{appName:i,mismatchedParam:"options",oldValue:JSON.stringify(s.options),newValue:JSON.stringify(r)});let a=new k(i);for(let e of el.values())a.addComponent(e);let o=new eC(r,n,a);return eo.set(i,o),o}function ef(e,t,r){let n=ea[e]??e;r&&(n+=`-${r}`);let i=n.match(/\s|\//),s=t.match(/\s|\//);if(i||s){let e=[`Unable to register library "${n}" with version "${t}":`];i&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),ei.warn(e.join(" "));return}eh(new x(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}let eg="firebase-heartbeat-store",em=null;function eE(){return em||(em=(function(e,{blocked:t,upgrade:r,blocking:n,terminated:i}={}){let s=indexedDB.open(e,1),a=W(s);return r&&s.addEventListener("upgradeneeded",e=>{r(W(s.result),e.oldVersion,e.newVersion,W(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),a.then(e=>{i&&e.addEventListener("close",()=>i()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),a})("firebase-heartbeat-database",{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(eg)}catch(e){console.warn(e)}}}).catch(e=>{throw ed.create("idb-open",{originalErrorMessage:e.message})})),em}async function eD(e){try{let t=(await eE()).transaction(eg),r=await t.objectStore(eg).get(ew(e));return await t.done,r}catch(e){if(e instanceof v)ei.warn(e.message);else{let t=ed.create("idb-get",{originalErrorMessage:e?.message});ei.warn(t.message)}}}async function ey(e,t){try{let r=(await eE()).transaction(eg,"readwrite"),n=r.objectStore(eg);await n.put(t,ew(e)),await r.done}catch(e){if(e instanceof v)ei.warn(e.message);else{let t=ed.create("idb-set",{originalErrorMessage:e?.message});ei.warn(t.message)}}}function ew(e){return`${e.name}!${e.options.appId}`}class eI{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new e_(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=ev();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,r=e[0].date;for(let n=1;n<e.length;n++)e[n].date<r&&(r=e[n].date,t=n);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){ei.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=ev(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){let r=[],n=e.slice();for(let i of e){let e=r.find(e=>e.agent===i.agent);if(e){if(e.dates.push(i.date),eb(r)>t){e.dates.pop();break}}else if(r.push({agent:i.agent,dates:[i.date]}),eb(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}(this._heartbeatsCache.heartbeats),n=c(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}catch(e){return ei.warn(e),""}}}function ev(){return new Date().toISOString().substring(0,10)}class e_{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!w()&&I().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await eD(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return ey(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return ey(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function eb(e){return c(JSON.stringify({version:2,heartbeats:e})).length}eh(new x("platform-logger",e=>new et(e),"PRIVATE")),eh(new x("heartbeat",e=>new eI(e),"PRIVATE")),ef(er,en,""),ef(er,en,"esm2020"),ef("fire-js",""),e.s(["SDK_VERSION",0,"12.18.0","_getProvider",0,ec,"_isFirebaseServerApp",0,function(e){return null!=e&&void 0!==e.settings},"_registerComponent",0,eh,"_removeServiceInstance",0,function(e,t,r=es){ec(e,t).clearInstance(r)},"getApp",0,function(e=es){let t=eo.get(e);if(!t&&e===es&&g())return ep();if(!t)throw ed.create("no-app",{appName:e});return t},"initializeApp",0,ep,"registerVersion",0,ef],92953)},107745,e=>{"use strict";var t=e.i(35020);e.s(["getAuth",()=>t.D])},602361,433710,e=>{"use strict";var t=e.i(499917);e.s(["doc",()=>t.v],602361),e.s(["serverTimestamp",()=>t.b0],433710)},214539,e=>{"use strict";(0,e.i(92953).registerVersion)("firebase","12.18.0","app"),e.s([])},151718,35020,e=>{"use strict";var t,r=e.i(92953),n=e.i(897427),i=e.i(683877),s=e.i(308070);function a(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}let o=new n.ErrorFactory("auth","Firebase",a()),B=new i.Logger("@firebase/auth");function l(e,...t){B.logLevel<=i.LogLevel.WARN&&B.warn(`Auth (${r.SDK_VERSION}): ${e}`,...t)}function u(e,...t){B.logLevel<=i.LogLevel.ERROR&&B.error(`Auth (${r.SDK_VERSION}): ${e}`,...t)}function h(e,...t){throw f(e,...t)}function c(e,...t){return f(e,...t)}function d(e,t,r){let i={...a(),[t]:r};return new n.ErrorFactory("auth","Firebase",i).create(t,{appName:e.n
2ame})}function C(e){return d(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function p(e,t,r){if(!(t instanceof r))throw r.name!==t.constructor.name&&h(e,"argument-error"),d(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function f(e,...t){if("string"!=typeof e){let r=t[0],n=[...t.slice(1)];return n[0]&&(n[0].appName=e.name),e._errorFactory.create(r,...n)}return o.create(e,...t)}function g(e,t,...r){if(!e)throw f(t,...r)}function m(e){let t="INTERNAL ASSERTION FAILED: "+e;throw u(t),Error(t)}function E(){return"u">typeof self&&self.location?.href||""}function D(){return"u">typeof self&&self.location?.protocol||null}class y{constructor(e,t){this.shortDelay=e,this.longDelay=t,function(e,t){e||m(t)}(t>e,"Short delay should be less than long delay!"),this.isMobile=(0,n.isMobileCordova)()||(0,n.isReactNative)()}get(){return!("u">typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&("http:"===D()||"https:"===D()||(0,n.isBrowserExtension)()||"connection"in navigator))||navigator.onLine?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function w(e,t){var r,n;r=e.emulator,n="Emulator should always be set here",r||m(n);let{url:i}=e.emulator;return t?`${i}${t.startsWith("/")?t.slice(1):t}`:i}class I{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){return this.fetchImpl?this.fetchImpl:"u">typeof self&&"fetch"in self?self.fetch:"u">typeof globalThis&&globalThis.fetch?globalThis.fetch:"u">typeof fetch?fetch:void m("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"u">typeof self&&"Headers"in self?self.Headers:"u">typeof globalThis&&globalThis.Headers?globalThis.Headers:"u">typeof Headers?Headers:void m("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"u">typeof self&&"Response"in self?self.Response:"u">typeof globalThis&&globalThis.Response?globalThis.Response:"u">typeof Response?Response:void m("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}let v={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-rec
2aptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},_=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],b=new y(3e4,6e4);function T(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function S(e,t,r,i,s={}){return A(e,s,async()=>{let s={},a={};i&&("GET"===t?a=i:s={body:JSON.stringify(i)});let o=(0,n.querystring)({...a,key:e.config.apiKey}).slice(1),B=await e._getAdditionalHeaders();B["Content-Type"]="application/json",e.languageCode&&(B["X-Firebase-Locale"]=e.languageCode);let l={method:t,headers:B,...s};return(0,n.isCloudflareWorker)()||(l.referrerPolicy="strict-origin-when-cross-origin"),e.emulatorConfig&&(0,n.isCloudWorkstation)(e.emulatorConfig.host)&&(l.credentials="include"),I.fetch()(await N(e,e.config.apiHost,r,o),l)})}async function A(e,t,r){e._canInitEmulator=!1;let i={...v,...t};try{let t=new F(e),n=await Promise.race([r(),t.promise]);t.clearNetworkTimeout();let s=await n.json();if("needConfirmation"in s)throw x(e,"account-exists-with-different-credential",s);if(n.ok&&!("errorMessage"in s))return s;{let[t,r]=(n.ok?s.errorMessage:s.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===t)throw x(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===t)throw x(e,"email-already-in-use",s);if("USER_DISABLED"===t)throw x(e,"user-disabled",s);let a=i[t]||t.toLowerCase().replace(/[_\s]+/g,"-");if(r)throw d(e,a,r);h(e,a)}}catch(t){if(t instanceof n.FirebaseError)throw t;h(e,"network-request-failed",{message:String(t)})}}async function O(e,t,r,n,i={}){let s=await S(e,t,r,n,i);return"mfaPendingCredential"in s&&h(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function N(e,t,r,n){let i=`${t}${r}?${n}`,s=e.config.emulator?w(e.config,i):`${e.config.apiScheme}://${i}`;return _.includes(r)&&(await e._persistenceManagerAvailable,"COOKIE"===e._getPersistenceType())?e._getPersistence()._getFinalTarget(s).toString():s}class F{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(c(this.auth,"network-request-failed")),b.get())})}}function x(e,t,r){let n={appName:e.name};r.email&&(n.email=r.email),r.phoneNumber&&(n.phoneNumber=r.phoneNumber);let i=c(e,t,n);return i.customData._tokenResponse=r,i}function R(e){return void 0!==e&&void 0!==e.enterprise}class L{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)switch(t.enforcementState){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function k(e,t){return S(e,"GET","/v2/recaptchaConfig",T(e,t))}async function P(e,t){return S(e,"POST","/v1/accounts:delete",t)}async function M(e,t){return S(e,"POST","/v1/accounts:lookup",t)}function G(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}async function H(e,t=!1){let r=(0,n.getModularInstance)(e),i=await r.getIdToken(t),s=V(i);g(s&&s.exp&&s.auth_time&&s.iat,r.auth,"internal-error");let a="object"==typeof s.firebase?s.firebase:void 0,o=a?.sign_in_provider;return{claims:s,token:i,authTime:G(U(s.auth_time)),issuedAtTime:G(U(s.iat)),expirationTime:G(U(s.exp
2)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function U(e){return 1e3*Number(e)}function V(e){let[t,r,i]=e.split(".");if(void 0===t||void 0===r||void 0===i)return u("JWT malformed, contained fewer than 3 sections"),null;try{let e=(0,n.base64Decode)(r);if(!e)return u("Failed to decode base64 JWT payload"),null;return JSON.parse(e)}catch(e){return u("Caught error parsing JWT payload as JSON",e?.toString()),null}}function j(e){let t=V(e);return g(t,"internal-error"),g(void 0!==t.exp,"internal-error"),g(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function J(e,t,r=!1){if(r)return t;try{return await t}catch(t){throw t instanceof n.FirebaseError&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class q{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){if(!e)return this.errorBackoff=3e4,Math.max(0,(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5);{let e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}class K{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=G(this.lastLoginAt),this.creationTime=G(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function z(e){var t,r;let n=e.auth,i=await e.getIdToken(),s=await J(e,M(n,{idToken:i}));g(s?.users.length,n,"internal-error");let a=s.users[0];e._notifyReloadListener(a);let o=a.providerUserInfo?.length?W(a.providerUserInfo):[],B=(t=e.providerData,r=o,[...t.filter(e=>!r.some(t=>t.providerId===e.providerId)),...r]),l=e.isAnonymous,u=!(e.email&&a.passwordHash)&&!B?.length;Object.assign(e,{uid:a.localId,displayName:a.displayName||null,photoURL:a.photoUrl||null,email:a.email||null,emailVerified:a.emailVerified||!1,phoneNumber:a.phoneNumber||null,tenantId:a.tenantId||null,providerData:B,metadata:new K(a.createdAt,a.lastLoginAt),isAnonymous:!!l&&u})}async function Q(e){let t=(0,n.getModularInstance)(e);await z(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function W(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||"",displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function $(e,t){let r=await A(e,{},async()=>{let r=(0,n.querystring)({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:i,apiKey:s}=e.config,a=await N(e,i,"/v1/token",`key=${s}`),o=await e._getAdditionalHeaders();o["Content-Type"]="application/x-www-form-urlencoded";let B={method:"POST",headers:o,body:r};return e.emulatorConfig&&(0,n.isCloudWorkstation)(e.emulatorConfig.host)&&(B.credentials="include"),I.fetch()(a,B)});return{accessToken:r.access_token,expiresIn:r.expires_in,refreshToken:r.refresh_token}}async function Y(e,t){return S(e,"POST","/v2/accounts:revokeToken",T(e,t))}class X{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){g(e.idToken,"internal-error"),g(void 0!==e.idToken,"internal-error"),g(void 0!==e.refreshToken,"internal-error");let t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):j(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){g(0!==e.length,"internal-error");let t=j(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(g(this.refreshToken,e,"user-token-expired"),this.refreshToken)?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:r,refreshToken:n,expiresIn:i}=await $(e,t);this.updateTokensAndExpiration(r,n,Number(i))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){let{refreshToken:r,accessToken:n,expirationTime:i}=t,s=new X;return r&&(g("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),n&&(g("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),i&&(g("number"==typeof i,"internal-error",{appName:e}),s.expirationTime=i),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new X,this.toJSON())}_performRefresh(){return m("not implemented")}}function Z(e,t){g("string"==typeof e||void 0===e,"internal-error",{appName:t})}class ee{constructor({uid:e,auth:t,stsTokenManager:r,...n}){this.providerId="firebase",this.proactiveRefresh=new q(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=n.displayName||null,this.email=n.email||null,this.emailVerified=n.emailVerified||!1,this.phoneNumber=n.phoneNumber||null,this.photoURL=n.photoURL||null,this.isAnonymous=n.isAnonymous||!1,this.tenantId=n.tenantId||null,this.providerData=n.providerData?[...n.providerData]:[],this.metadata=new K(n.createdAt||void 0,n.lastLoginAt||void 0)}async getIdToken(e){let t=await J(this,this.stsTokenManager.getToken(this.auth,e));return g(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return H(this,e)}reload(){return Q(this)}_assign(e){this!==e&&(g(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.ph
2otoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){let t=new ee({...this,auth:e,stsTokenManager:this.stsTokenManager._clone()});return t.metadata._copy(this.metadata),t}_onReload(e){g(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await z(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if((0,r._isFirebaseServerApp)(this.auth.app))return Promise.reject(C(this.auth));let e=await this.getIdToken();return await J(this,P(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){let r=t.displayName??void 0,n=t.email??void 0,i=t.phoneNumber??void 0,s=t.photoURL??void 0,a=t.tenantId??void 0,o=t._redirectEventId??void 0,B=t.createdAt??void 0,l=t.lastLoginAt??void 0,{uid:u,emailVerified:h,isAnonymous:c,providerData:d,stsTokenManager:C}=t;g(u&&C,e,"internal-error");let p=X.fromJSON(this.name,C);g("string"==typeof u,e,"internal-error"),Z(r,e.name),Z(n,e.name),g("boolean"==typeof h,e,"internal-error"),g("boolean"==typeof c,e,"internal-error"),Z(i,e.name),Z(s,e.name),Z(a,e.name),Z(o,e.name),Z(B,e.name),Z(l,e.name);let f=new ee({uid:u,auth:e,email:n,emailVerified:h,displayName:r,isAnonymous:c,photoURL:s,phoneNumber:i,tenantId:a,stsTokenManager:p,createdAt:B,lastLoginAt:l});return d&&Array.isArray(d)&&(f.providerData=d.map(e=>({...e}))),o&&(f._redirectEventId=o),f}static async _fromIdTokenResponse(e,t,r=!1){let n=new X;n.updateFromServerResponse(t);let i=new ee({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:r});return await z(i),i}static async _fromGetAccountInfoResponse(e,t,r){let n=t.users[0];g(void 0!==n.localId,"internal-error");let i=void 0!==n.providerUserInfo?W(n.providerUserInfo):[],s=!(n.email&&n.passwordHash)&&!i?.length,a=new X;a.updateFromIdToken(r);let o=new ee({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s});return Object.assign(o,{uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new K(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash)&&!i?.length}),o}}let et=new Map;function er(e){var t,r;t="Expected a class definition",e instanceof Function||m(t);let n=et.get(e);return n?(r="Instance stored in cache mismatched with class",n instanceof e||m(r)):(n=new e,et.set(e,n)),n}class en{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}function ei(e,t,r){return`firebase:${e}:${t}:${r}`}en.type="NONE";class es{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:n,name:i}=this.auth;this.fullUserKey=ei(this.userKey,n.apiKey,i),this.fullPersistenceKey=ei("persistence",n.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if("string"==typeof e){let t=await M(this.auth,{idToken:e}).catch(()=>void 0);return t?ee._fromGetAccountInfoResponse(this.auth,t,e):null}return ee._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,r="authUser"){if(!t.length)return new es(er(en),e,r);let n=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>
2e),i=n[0]||er(en),s=ei(r,e.config.apiKey,e.name),a=null;for(let r of t)try{let t=await r._get(s);if(t){let n;if("string"==typeof t){let r=await M(e,{idToken:t}).catch(()=>void 0);if(!r)break;n=await ee._fromGetAccountInfoResponse(e,r,t)}else n=ee._fromJSON(e,t);r!==i&&(a=n),i=r;break}}catch{}let o=n.filter(e=>e._shouldAllowMigration);return i._shouldAllowMigration&&o.length&&(i=o[0],a&&await i._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==i)try{await e._remove(s)}catch{}}))),new es(i,e,r)}}function ea(e){let t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";{if(eu(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if(eo(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(ec(t))return"Blackberry";if(ed(t))return"Webos";if(eB(t))return"Safari";if((t.includes("chrome/")||el(t))&&!t.includes("edge/"))return"Chrome";if(eh(t))return"Android";let r=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(r?.length===2)return r[1]}return"Other"}function eo(e=(0,n.getUA)()){return/firefox\//i.test(e)}function eB(e=(0,n.getUA)()){let t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function el(e=(0,n.getUA)()){return/crios\//i.test(e)}function eu(e=(0,n.getUA)()){return/iemobile/i.test(e)}function eh(e=(0,n.getUA)()){return/android/i.test(e)}function ec(e=(0,n.getUA)()){return/blackberry/i.test(e)}function ed(e=(0,n.getUA)()){return/webos/i.test(e)}function eC(e=(0,n.getUA)()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function ep(e=(0,n.getUA)()){return eC(e)||eh(e)||ed(e)||ec(e)||/windows phone/i.test(e)||eu(e)}function ef(e,t=[]){let i;switch(e){case"Browser":i=ea((0,n.getUA)());break;case"Worker":i=`${ea((0,n.getUA)())}-${e}`;break;default:i=e}let s=t.length?t.join(","):"FirebaseCore-web";return`${i}/JsCore/${r.SDK_VERSION}/${s}`}class eg{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let r=t=>new Promise((r,n)=>{try{let n=e(t);r(n)}catch(e){n(e)}});r.onAbort=t,this.queue.push(r);let n=this.queue.length-1;return()=>{this.queue[n]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){for(let e of(t.reverse(),t))try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:e?.message})}}}async function em(e,t={}){return S(e,"GET","/v2/passwordPolicy",T(e,t))}class eE{constructor(e){const t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??6,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),void 0!==t.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),void 0!==t.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),void 0!==t.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),void 0!==t.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join("")??"",this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&(t.isValid=t.meetsMinPasswordLength??!0),t.isValid&&(t.isValid=t.meetsMaxPasswordLength??!0),t.isValid&&(t.isValid=t.containsLowercaseLetter??!0),t.isValid&&(t.isValid=t.containsUppercaseLetter??!0),t.isValid&&(t.isValid=t.containsNumericCharacter??!0),t.isValid&&(t.isValid=t.containsNonAlphanumericCharacter??!0),t}validatePasswordLengthOptions(e,t){let r=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){let r;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n<e.length;n++)r=e.charAt(n),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,n,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=n)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=i))}}class eD{constructor(e,t,r,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new ew(this),this.idTokenSubscription=new ew(this),this.beforeStateQueue=new eg(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=o,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=er(t)),this._initializationPromise=this.queue(async()=>
2{if(!this._deleted){if(this.persistenceManager=await es.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,this._deleted||(this._isInitialized=!0)}}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await M(this,{idToken:e}),r=await ee._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if((0,r._isFirebaseServerApp)(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,i=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,r=n?._redirectEventId,s=await this.tryRedirectSignIn(e);(!t||t===r)&&s?.user&&(n=s.user,i=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(i)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return(g(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId)?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await z(e)}catch(e){if(e?.code!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("u"<typeof navigator)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if((0,r._isFirebaseServerApp)(this.app))return Promise.reject(C(this));let t=e?(0,n.getModularInstance)(e):null;return t&&g(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&g(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return(0,r._isFirebaseServerApp)(this.app)?Promise.reject(C(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return(0,r._isFirebaseServerApp)(this.app)?Promise.reject(C(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(er(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new eE(await em(this));null===this.tenantId?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new n.ErrorFactory("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((e,t)=>
2{if(this.currentUser)e();else{let r=this.onAuthStateChanged(()=>{r(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await Y(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&er(e)||this._popupRedirectResolver;g(t,this,"argument-error"),this.redirectPersistenceManager=await es.create(this,[er(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return(this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e)?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,n){if(this._deleted)return()=>{};let i="function"==typeof t?t:t.next.bind(t),s=!1,a=this._isInitialized?Promise.resolve():this._initializationPromise;if(g(a,this,"internal-error"),a.then(()=>{s||i(this.currentUser)}),"function"==typeof t){let i=e.addObserver(t,r,n);return()=>{s=!0,i()}}{let r=e.addObserver(t);return()=>{s=!0,r()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return g(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ef(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e["X-Firebase-gmpid"]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e["X-Firebase-Client"]=t);let r=await this._getAppCheckToken();return r&&(e["X-Firebase-AppCheck"]=r),e}async _getAppCheckToken(){if((0,r._isFirebaseServerApp)(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&l(`Error while retrieving App Check token: ${e.error}`),e?.token}}function ey(e){return(0,n.getModularInstance)(e)}class ew{constructor(e){this.auth=e,this.observer=null,this.addObserver=(0,n.createSubscribe)(e=>this.observer=e)}get next(){return g(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let eI={async loadJS(){throw Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function ev(e){return`__${e}${Math.floor(1e6*Math.random())}`}class e_{constructor(){this.enterprise=new eb}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eb{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}let eT="NO_RECAPTCHA",eS="onFirebaseAuthREInstanceReady";class eA{constructor(e){this.type="recaptcha-enterprise",this.auth=ey(e)}async verify(e="verify",t=!1){async function r(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,r)=>
2{k(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(n=>{if(void 0===n.recaptchaKey)r(Error("recaptcha Enterprise site key undefined"));else{let r=new L(n);return null==e.tenantId?e._agentRecaptchaConfig=r:e._tenantRecaptchaConfigs[e.tenantId]=r,t(r.siteKey)}}).catch(e=>{r(e)})})}function i(t,r,n){let i=window.grecaptcha;R(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{r(e)}).catch(()=>{r(eT)})}):n(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new e_().execute("siteKey",{action:"verify"}):new Promise((e,s)=>{r(this.auth).then(async r=>{if(!t&&R(window.grecaptcha)&&eA.scriptInjectionDeferred)await eA.scriptInjectionDeferred.promise,i(r,e,s);else{var a;if("u"<typeof window)return void s(Error("RecaptchaVerifier is only supported in browser"));let t=eI.recaptchaEnterpriseScript;0!==t.length&&(t+=r+`&onload=${eS}`),eA.scriptInjectionDeferred=new n.Deferred,window[eS]=()=>{eA.scriptInjectionDeferred?.resolve()},(a=t,eI.loadJS(a)).then(()=>eA.scriptInjectionDeferred?.promise).then(()=>{i(r,e,s)}).catch(e=>{s(e)})}}).catch(e=>{s(e)})})}}async function eO(e,t,r,n=!1,i=!1){let s,a=new eA(e);if(i)s=eT;else try{s=await a.verify(r)}catch(e){s=await a.verify(r,!0)}let o={...t};if("mfaSmsEnrollment"===r||"mfaSmsSignIn"===r){if("phoneEnrollmentInfo"in o){let e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){let e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return n?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function eN(e,t,r,n,i){if("EMAIL_PASSWORD_PROVIDER"===i)if(!e._getRecaptchaConfig()?.isProviderEnabled("EMAIL_PASSWORD_PROVIDER"))return n(e,t).catch(async i=>{if("auth/missing-recaptcha-token"!==i.code)return Promise.reject(i);{console.log(`${r} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);let i=await eO(e,t,r,"getOobCode"===r);return n(e,i)}});else{let i=await eO(e,t,r,"getOobCode"===r);return n(e,i)}if("PHONE_PROVIDER"!==i)return Promise.reject(i+" provider is not supported.");if(e._getRecaptchaConfig()?.isProviderEnabled("PHONE_PROVIDER")){let i=await eO(e,t,r);return n(e,i).catch(async i=>{if(e._getRecaptchaConfig()?.getProviderEnforcementState("PHONE_PROVIDER")==="AUDIT"&&("auth/missing-recaptcha-token"===i.code||"auth/invalid-app-credential"===i.code)){console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${r} flow.`);let i=await eO(e,t,r,!1,!0);return n(e,i)}return Promise.reject(i)})}{let i=await eO(e,t,r,!1,!0);return n(e,i)}}async function eF(e){let t=ey(e),r=new L(await k(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}));null==t.tenantId?t._agentRecaptchaConfig=r:t._tenantRecaptchaConfigs[t.tenantId]=r,r.isAnyProviderEnabled()&&new eA(t).verify()}function ex(e){let t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function eR(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}eA.scriptInjectionDeferred=null;class eL{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return m("not implemented")}_getIdTokenResponse(e){return m("not implemented")}_linkToIdToken(e,t){return m("not implemented")}_getReauthenticationResolver(e){return m("not implemented")}}async function ek(e,t){return S(e,"POST","/v1/accounts:signUp",t)}async function eP(e,t){return O(e,"POST","/v1/accounts:signInWithPassword",T(e,t))}async function eM(e,t){return S(e,"POST","/v1/accounts:sendOobCode",T(e,t))}async function eG(e,t){return eM(e,t)}async function eH(e,t){return O(e,"POST","/v1/accounts:signInWithEmailLink",T(e,t))}async function eU(e,t){return O(e,"POST","/v1/accounts:signInWithEmailLink",T(e,t))}class eV extends eL{constructor(e,t,r,n=null){super("password",r),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new eV(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new eV(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e;if(t?.email&&t?.password){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);else if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return eN(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",eP,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eH(e,{email:this._email,oobCode:this._password});default:h(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return eN(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",ek,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eU(e,{idToken:t,email:this._email,oobCode:this._password});default:h(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function ej(e,t){return O(e,"POST","/v1/accounts:signInWithIdp",T(e,t))}class eJ extends eL{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){let t=new eJ(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&
2(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):h("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){let{providerId:t,signInMethod:r,...n}="string"==typeof e?JSON.parse(e):e;if(!t||!r)return null;let i=new eJ(t,r);return i.idToken=n.idToken||void 0,i.accessToken=n.accessToken||void 0,i.secret=n.secret,i.nonce=n.nonce,i.pendingToken=n.pendingToken||null,i}_getIdTokenResponse(e){return ej(e,this.buildRequest())}_linkToIdToken(e,t){let r=this.buildRequest();return r.idToken=t,ej(e,r)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,ej(e,t)}buildRequest(){let e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=(0,n.querystring)(t)}return e}}async function eq(e,t){return S(e,"POST","/v1/accounts:sendVerificationCode",T(e,t))}async function eK(e,t){return O(e,"POST","/v1/accounts:signInWithPhoneNumber",T(e,t))}async function ez(e,t){let r=await O(e,"POST","/v1/accounts:signInWithPhoneNumber",T(e,t));if(r.temporaryProof)throw x(e,"account-exists-with-different-credential",r);return r}let eQ={USER_NOT_FOUND:"user-not-found"};async function eW(e,t){return O(e,"POST","/v1/accounts:signInWithPhoneNumber",T(e,{...t,operation:"REAUTH"}),eQ)}class e$ extends eL{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new e$({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new e$({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return eK(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return ez(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return eW(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:n}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"==typeof e&&(e=JSON.parse(e));let{verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}=e;return r||t||n||i?new e$({verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}):null}}class eY{constructor(e){const t=(0,n.querystringDecode)((0,n.extractQuerystring)(e)),r=t.apiKey??null,i=t.oobCode??null,s=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(t.mode??null);g(r&&i&&s,"argument-error"),this.apiKey=r,this.operation=s,this.code=i,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(e){let t,r,i,s=(r=(t=(0,n.querystringDecode)((0,n.extractQuerystring)(e)).link)?(0,n.querystringDecode)((0,n.extractQuerystring)(t)).deep_link_id:null,((i=(0,n.querystringDecode)((0,n.extractQuerystring)(e)).deep_link_id)?(0,n.querystringDecode)((0,n.extractQuerystring)(i)).link:null)||i||r||t||e);try{return new eY(s)}catch{return null}}}class eX{constructor(){this.providerId=eX.PROVIDER_ID}static credential(e,t){return eV._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let r=eY.parseLink(t);return g(r,"argument-error"),eV._fromEmailAndCode(e,r.code,r.tenantId)}}eX.PROVIDER_ID="password",eX.EMAIL_PASSWORD_SIGN_IN_METHOD="password",eX.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class eZ{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class e0 extends eZ{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class e1 extends e0{constructor(){super("facebook.com")}static credential(e){return eJ._fromParams({providerId:e1.PROVIDER_ID,signInMethod:e1.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e1.credentialFromTaggedObject(e)}static credentialFromError(e){return e1.credentialFromTaggedObject(e.customData||{})}
2static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e1.credential(e.oauthAccessToken)}catch{return null}}}e1.FACEBOOK_SIGN_IN_METHOD="facebook.com",e1.PROVIDER_ID="facebook.com";class e2 extends e0{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return eJ._fromParams({providerId:e2.PROVIDER_ID,signInMethod:e2.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return e2.credentialFromTaggedObject(e)}static credentialFromError(e){return e2.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return e2.credential(t,r)}catch{return null}}}e2.GOOGLE_SIGN_IN_METHOD="google.com",e2.PROVIDER_ID="google.com";class e3 extends e0{constructor(){super("github.com")}static credential(e){return eJ._fromParams({providerId:e3.PROVIDER_ID,signInMethod:e3.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e3.credentialFromTaggedObject(e)}static credentialFromError(e){return e3.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e3.credential(e.oauthAccessToken)}catch{return null}}}e3.GITHUB_SIGN_IN_METHOD="github.com",e3.PROVIDER_ID="github.com";class e8 extends e0{constructor(){super("twitter.com")}static credential(e,t){return eJ._fromParams({providerId:e8.PROVIDER_ID,signInMethod:e8.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return e8.credentialFromTaggedObject(e)}static credentialFromError(e){return e8.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return e8.credential(t,r)}catch{return null}}}async function e6(e,t){return O(e,"POST","/v1/accounts:signUp",T(e,t))}e8.TWITTER_SIGN_IN_METHOD="twitter.com",e8.PROVIDER_ID="twitter.com";class e5{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,n=!1){return new e5({user:await ee._fromIdTokenResponse(e,r,n),providerId:e4(r),_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){return await e._updateTokensIfNecessary(r,!0),new e5({user:e,providerId:e4(r),_tokenResponse:r,operationType:t})}}function e4(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}async function e9(e){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(C(e));let t=ey(e);if(await t._initializationPromise,t.currentUser?.isAnonymous)return new e5({user:t.currentUser,providerId:null,operationType:"signIn"});let n=await e6(t,{returnSecureToken:!0}),i=await e5._fromIdTokenResponse(t,"signIn",n,!0);return await t._updateCurrentUser(i.user),i}class e7 extends n.FirebaseError{constructor(e,t,r,n){super(t.code,t.message),this.operationType=r,this.user=n,Object.setPrototypeOf(this,e7.prototype),this.customData={appName:e.name,tenantId:e.tenantId??void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,n){return new e7(e,t,r,n)}}function te(e,t,r,n){return("reauthenticate"===t?r._getReauthenticationResolver(e):r._getIdTokenResponse(e)).catch(r=>{if("auth/multi-factor-auth-required"===r.code)throw e7._fromErrorAndOperation(e,r,t,n);throw r})}async function tt(e,t,r=!1){let n=await J(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return e5._forOperation(e,"link",n)}async function tr(e,t,r){await z(t),g(new Set(t.providerData.map(({providerId:e})=>e).filter(e=>!!e)).has(r)===e,t.auth,!1===e?"provider-already-linked":"no-such-provider")}async function tn(e,t,n=!1){let{auth:i}=e;if((0,r._isFirebaseServerApp)(i.app))return Promise.reject(C(i));let s="reauthenticate";try{let r=await J(e,te(i,s,t,e),n);g(r.idToken,i,"internal-error");let a=V(r.idToken);g(a,i,"internal-error");let{sub:o}=a;return g(e.uid===o,i,"user-mismatch"),e5._forOperation(e,s,r)}catch(e){throw e?.code==="auth/user-not-found"&&h(i,"user-mismatch"),e}}async function ti(e,t,n=!1){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(C(e));let i="signIn",s=await te(e,i,t),a=await e5._fromIdTokenResponse(e,i,s);return n||await e._updateCurrentUser(a.user),a}async function ts(e,t){return ti(ey(e),t)}async function ta(e,t){let r=(0,n.getModularInstance)(e);return await tr(!1,r,t.providerId),tt(r,t)}async function to(e,t){return O(e,"POST","/v1/accounts:signInWithCustomToken",T(e,t))}async function tB(e,t){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(C(e));let n=ey(e),i=await to(n,{token:t,returnSecureToken:!0}),s=await e5._fromIdTokenResponse(n,"signIn",i);return await n._updateCurrentUser(s.user),s}async function tl(e,t,r){let n=ey(e),i={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};g(r.handleCodeInApp,n,"argument-error"),r&&(g(r.url?.length>0,n,"invalid-continue-uri"),g(void 0===r.dynamicLinkDomain||r.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),g(void 0===r.linkDomain||r.linkDomain.length>0,n,"invalid-hosting-link-domain"),i.continueUrl=r.url,i.dynamicLinkDomain=r.dynamicLinkDomain,i.linkDomain=r.linkDomain,i.canHandleCodeInApp=r.handleCodeInApp,r.iOS&&(g(r.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),i.iOSBundleId=r.iOS.bundleId),r.android&&(g(r.android.packageName.length>0,n,"missing-android-pkg-name"),i.androidInstallApp=r.android.installApp,i.androidMinimumVersionCode=r.android.minimumVersion,i.androidPackageName=r.android.packageName)),await eN(n,i,"getOobCode",eG,"EMAIL_PASSWORD_PROVIDER")}async function tu(e,t,i){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(C(e));let s=(0,n.getModularInstance)(e),a=eX.credentialWithLink(t,i||E());return g(a._tenantId===(s.tenantId||null),s,"tenant-id-mismatch"),ts(s,a)}function th(e,t,r,i){return(0,n.getModularInstance)(e).onIdTokenChanged(t,r,i)}function tc(e,t){return S(e,"POST","/v2/accounts/mfaEnrollment:start",T(e,t))}new WeakMap;let td="__sak";class tC{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{if(!this.storage)return Promise.resolve(!1);return this.storage.setItem(td,"1"),this.storage.removeItem(td),Promise.resolve(!0)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class tp extends tC{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=ep(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let r=this.storage.getItem(t),n=this.localCache[t];r!==n&&e(t,n,r)}}
2onStorageEvent(e,t=!1){if(!e.key)return void this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)});let r=e.key;t?this.detachListener():this.stopPolling();let i=()=>{let e=this.storage.getItem(r);(t||this.localCache[r]!==e)&&this.notifyListeners(r,e)},s=this.storage.getItem(r);(0,n.isIE)()&&10===document.documentMode&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(i,10):i()}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}tp.type="LOCAL";class tf extends tC{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}tf.type="SESSION";class tg{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){let t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;let r=new tg(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let{eventId:t,eventType:r,data:n}=e.data,i=this.handlersMap[r];if(!i?.size)return;e.ports[0].postMessage({status:"ack",eventId:t,eventType:r});let s=Array.from(i).map(async t=>t(e.origin,n)),a=await Promise.all(s.map(async e=>{try{let t=await e;return{fulfilled:!0,value:t}}catch(e){return{fulfilled:!1,reason:e}}}));e.ports[0].postMessage({status:"done",eventId:t,eventType:r,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function tm(e="",t=10){let r="";for(let e=0;e<t;e++)r+=Math.floor(10*Math.random());return e+r}tg.receivers=[];class tE{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener("message",e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,r=50){let n,i,s="u">typeof MessageChannel?new MessageChannel:null;if(!s)throw Error("connection_unavailable");return new Promise((a,o)=>{let B=tm("",20);s.port1.start();let l=setTimeout(()=>{o(Error("unsupported_event"))},r);i={messageChannel:s,onMessage(e){if(e.data.eventId===B)switch(e.data.status){case"ack":clearTimeout(l),n=setTimeout(()=>{o(Error("timeout"))},3e3);break;case"done":clearTimeout(n),a(e.data.response);break;default:clearTimeout(l),clearTimeout(n),o(Error("invalid_response"))}}},this.handlers.add(i),s.port1.addEventListener("message",i.onMessage),this.target.postMessage({eventType:e,eventId:B,data:t},[s.port2])}).finally(()=>{i&&this.removeMessageHandler(i)})}}function tD(){return window}function ty(){return void 0!==tD().WorkerGlobalScope&&"function"==typeof tD().importScripts}async function tw(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}let tI="firebaseLocalStorageDb",tv="firebaseLocalStorage",t_="fbase_key";class tb{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>
2{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function tT(e,t){return e.transaction([tv],t?"readwrite":"readonly").objectStore(tv)}async function tS(e,t,r){return new tb(tT(e,!0).put({[t_]:t,value:r})).toPromise()}async function tA(e,t){let r=tT(e,!1).get(t),n=await new tb(r).toPromise();return void 0===n?null:n.value}function tO(e,t){return new tb(tT(e,!0).delete(t)).toPromise()}class tN{registerLifecycleListeners(){"u">typeof window&&"function"==typeof window.addEventListener&&(window.addEventListener("pagehide",this.onPageHide),window.addEventListener("pageshow",this.onPageShow))}unregisterLifecycleListeners(){"u">typeof window&&"function"==typeof window.removeEventListener&&(window.removeEventListener("pagehide",this.onPageHide),window.removeEventListener("pageshow",this.onPageShow))}constructor(){this.type="LOCAL",this.dbPromise=null,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.isClosing=!1,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this.onPageHide=()=>{this.isClosing=!0,this.stopPolling(),this.dbPromise&&(this.dbPromise.then(e=>e.close()).catch(()=>{}),this.dbPromise=null)},this.onPageShow=()=>{this.isClosing&&(this.isClosing=!1,Object.keys(this.listeners).length>0&&this.startPolling())},this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){if(this.isClosing)throw Error("Database is closing");return this.dbPromise||(this.dbPromise=function e(){let t=indexedDB.open(tI,1);return new Promise((r,n)=>{t.addEventListener("error",()=>{n(t.error)}),t.addEventListener("upgradeneeded",()=>{let e=t.result;try{e.createObjectStore(tv,{keyPath:t_})}catch(e){n(e)}}),t.addEventListener("success",async()=>{let n=t.result;n.objectStoreNames.contains(tv)?r(n):(n.close(),await new tb(indexedDB.deleteDatabase(tI)).toPromise(),r(await e()))})})}(),this.dbPromise.catch(()=>{this.dbPromise=null})),this.dbPromise}async _withRetries(e){let t=0;for(;;)try{let t=await this._openDb();return await e(t)}catch(e){if(this.isClosing||t++>3)throw e;this.dbPromise&&((await this.dbPromise).close(),this.dbPromise=null)}}async initializeServiceWorkerMessaging(){return ty()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=tg._getInstance(ty()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){if(this.activeServiceWorker=await tw(),!this.activeServiceWorker)return;this.sender=new tE(this.activeServiceWorker);let e=await this.sender._send("ping",{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&(navigator?.serviceWorker?.controller||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;return await this._withRetries(async e=>{await tS(e,td,"1"),await tO(e,td)}),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(r=>tS(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>tA(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>tO(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){if(this.isClosing)return[];try{let e=await this._withRetries(e=>{let t=tT(e,!1).getAll();return new tb(t).toPromise()});if(this.isClosing||!e||0!==this.pendingWrites)return[];let t=[],r=new Set;if(0!==e.length)for(let{fbase_key:n,value:i}of e)r.add(n),JSON.stringify(this.localCache[n])!==JSON.stringify(i)&&(this.notifyListeners(n,i),t.push(n));for(let e of Object.keys(this.localCache))this.localCache[e]&&!r.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}catch(e){return this.isClosing||l(`Firebase Auth cross-tab polling failed with error: ${e}`),[]}}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.startPolling(),this.registerLifecycleListeners()),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.stopPolling(),this.unregisterLifecycleListeners())}}function tF(e,t){return S(e,"POST","/v2/accounts/mfaSignIn:start",T(e,t))}tN.type="LOCAL",ev("rcb"),new y(3e4,6e4);let tx="recaptcha";async function tR(e,t,r){if(!e._getRecaptchaConfig())try{await eF(e)}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let n;if(n="string"==typeof t?{phoneNumber:t}
2:t,"session"in n){let t=n.session;if("phoneNumber"in n){g("enroll"===t.type,e,"internal-error");let i={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===eT){g(r?.type===tx,e,"argument-error");let n=await tL(e,t,r);return tc(e,n)}return tc(e,t)},a=eN(e,i,"mfaSmsEnrollment",s,"PHONE_PROVIDER");return(await a.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{g("signin"===t.type,e,"internal-error");let i=n.multiFactorHint?.uid||n.multiFactorUid;g(i,e,"missing-multi-factor-info");let s={mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},a=async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===eT){g(r?.type===tx,e,"argument-error");let n=await tL(e,t,r);return tF(e,n)}return tF(e,t)},o=eN(e,s,"mfaSmsSignIn",a,"PHONE_PROVIDER");return(await o.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{let t={phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"},i=async(e,t)=>{if(t.captchaResponse===eT){g(r?.type===tx,e,"argument-error");let n=await tL(e,t,r);return eq(e,n)}return eq(e,t)},s=eN(e,t,"sendVerificationCode",i,"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).sessionInfo}}finally{r?._reset()}}async function tL(e,t,r){g(r.type===tx,e,"argument-error");let n=await r.verify();g("string"==typeof n,e,"argument-error");let i={...t};if("phoneEnrollmentInfo"in i){let e=i.phoneEnrollmentInfo.phoneNumber,t=i.phoneEnrollmentInfo.captchaResponse,r=i.phoneEnrollmentInfo.clientType,s=i.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(i,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:n,captchaResponse:t,clientType:r,recaptchaVersion:s}}),i}if(!("phoneSignInInfo"in i))return Object.assign(i,{recaptchaToken:n}),i;{let e=i.phoneSignInInfo.captchaResponse,t=i.phoneSignInInfo.clientType,r=i.phoneSignInInfo.recaptchaVersion;return Object.assign(i,{phoneSignInInfo:{recaptchaToken:n,captchaResponse:e,clientType:t,recaptchaVersion:r}}),i}}class tk{constructor(e){this.providerId=tk.PROVIDER_ID,this.auth=ey(e)}verifyPhoneNumber(e,t){return tR(this.auth,e,(0,n.getModularInstance)(t))}static credential(e,t){return e$._fromVerification(e,t)}static credentialFromResult(e){return tk.credentialFromTaggedObject(e)}static credentialFromError(e){return tk.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:r}=e;return t&&r?e$._fromTokenResponse(t,r):null}}function tP(e,t){return t?er(t):(g(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}tk.PROVIDER_ID="phone",tk.PHONE_SIGN_IN_METHOD="phone";class tM extends eL{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return ej(e,this._buildIdpRequest())}_linkToIdToken(e,t){return ej(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return ej(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function tG(e){return ti(e.auth,new tM(e),e.bypassAuthState)}function tH(e){let{auth:t,user:r}=e;return g(r,t,"internal-error"),tn(r,new tM(e),e.bypassAuthState)}async function tU(e){let{auth:t,user:r}=e;return g(r,t,"internal-error"),tt(r,new tM(e),e.bypassAuthState)}class tV{constructor(e,t,r,n,i=!1){this.auth=e,this.resolver=r,this.user=n,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:r,postBody:n,tenantId:i,error:s,type:a}=e;if(s)return void this.reject(s);let o={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(o))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return tG;case"linkViaPopup":case"linkViaRedirect":return tU;case"reauthViaPopup":case"reauthViaRedirect":return tH;default:h(this.auth,"internal-error")}}resolve(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||m(r),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||m(r),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}let tj=new y(2e3,1e4);async function tJ(e,t,n){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(c(e,"operation-not-supported-in-this-environment"));let i=ey(e);p(e,t,eZ);let s=tP(i,n);return new tK(i,"signInViaPopup",t,s).executeNotNull()}async function tq(e,t,r){let i=(0,n.getModularInstance)(e);p(i.auth,t,eZ);let s=tP(i.auth,r);return new tK(i.auth,"linkViaPopup",t,s,i).executeNotNull()}class tK extends tV{constructor(e,t,r,n,i){super(e,t,n,i),this.provider=r,this.authWindow=null,this.pollId=null,tK.currentPopupAction&&tK.currentPopupAction.cancel(),tK.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return g(e,this.auth,"internal-error"),e}async onExecution(){var e,t;e=1===this.filter.length,t="Popup operations only handle one event",e||m(t);let r=tm();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],r),this.authWindow.associatedEvent=r,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(c(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(c(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,tK.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(c(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,tj.get())};e()}}tK.currentPopupAction=null;let tz=new Map;class tQ extends tV{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=tz.get(this.auth._key());if(!e){try{let t=await tW(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}tz.set(this.auth._key(),e)}return this.bypassAuthState||tz.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);
2if("unknown"===e.type)return void this.resolve(null);if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function tW(e,t){var r;let n=ei("pendingRedirect",(r=t).config.apiKey,r.name),i=er(e._redirectPersistence);if(!await i._isAvailable())return!1;let s=await i._get(n)==="true";return await i._remove(n),s}function t$(e,t){tz.set(e._key(),t)}async function tY(e,t,n=!1){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(C(e));let i=ey(e),s=tP(i,t),a=new tQ(i,s,n),o=await a.execute();return o&&!n&&(delete o.user._redirectEventId,await i._persistUserIfCurrent(o.user),await i._setRedirectUser(null,t)),o}class tX{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(r=>{this.isEventForConsumer(e,r)&&(t=!0,this.sendToConsumer(e,r),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return t0(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){if(e.error&&!t0(e)){let r=e.error.code?.split("auth/")[1]||"internal-error";t.onError(c(this.auth,r))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(tZ(e))}saveEventToCache(e){this.cachedEventUids.add(tZ(e)),this.lastProcessedEventTime=Date.now()}}function tZ(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function t0({type:e,error:t}){return"unknown"===e&&t?.code==="auth/no-auth-event"}async function t1(e,t={}){return S(e,"GET","/v1/projects",t)}let t2=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,t3=/^https?/;async function t8(e){if(e.config.emulator)return;let{authorizedDomains:t}=await t1(e);for(let e of t)try{if(function(e){let t=E(),{protocol:r,hostname:n}=new URL(t);if(e.startsWith("chrome-extension://")){let i=new URL(e);return""===i.hostname&&""===n?"chrome-extension:"===r&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===r&&i.hostname===n}if(!t3.test(r))return!1;if(t2.test(e))return n===e;let i=e.replace(/\./g,"\\.");return RegExp("^(.+\\."+i+"|"+i+")$","i").test(n)}(e))return}catch{}h(e,"unauthorized-domain")}let t6=new y(3e4,6e4);function t5(){let e=tD().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}let t4=null,t9=new y(5e3,15e3),t7={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},re=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function rt(e){let t,i,s,a,o,B=await (t4=t4||new Promise((t,r)=>{function n(){t5(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{t5(),r(c(e,"network-request-failed"))},timeout:t6.get()})}if(tD().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(tD().gapi?.load)n();else{var i;let t=ev("iframefcb");return tD()[t]=()=>{gapi.load?n():r(c(e,"network-request-failed"))},(i=`${eI.gapiScript}?onload=${t}`,eI.loadJS(i)).catch(e=>r(e))}}).catch(e=>{throw t4=null,e})),l=tD().gapi;return g(l,e,"internal-error"),B.open({where:document.body,url:(g((t=e.config).authDomain,e,"auth-domain-config-required"),i=t.emulator?w(t,"emulator/auth/iframe"):`https://${e.config.authDomain}
2/__/auth/iframe`,s={apiKey:t.apiKey,appName:e.name,v:r.SDK_VERSION},(a=re.get(e.config.apiHost))&&(s.eid=a),(o=e._getFrameworks()).length&&(s.fw=o.join(",")),`${i}?${(0,n.querystring)(s).slice(1)}`),messageHandlersFilter:l.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:t7,dontclear:!0},t=>new Promise(async(r,n)=>{await t.restyle({setHideOnLeave:!1});let i=c(e,"network-request-failed"),s=tD().setTimeout(()=>{n(i)},t9.get());function a(){tD().clearTimeout(s),r(t)}t.ping(a).then(a,()=>{n(i)})}))}let rr={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class rn{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}let ri=encodeURIComponent("fac");async function rs(e,t,i,s,a,o){g(e.config.authDomain,e,"auth-domain-config-required"),g(e.config.apiKey,e,"invalid-api-key");let B={apiKey:e.config.apiKey,appName:e.name,authType:i,redirectUrl:s,v:r.SDK_VERSION,eventId:a};if(t instanceof eZ)for(let[r,i]of(t.setDefaultLanguage(e.languageCode),B.providerId=t.providerId||"",(0,n.isEmpty)(t.getCustomParameters())||(B.customParameters=JSON.stringify(t.getCustomParameters())),Object.entries(o||{})))B[r]=i;if(t instanceof e0){let e=t.getScopes().filter(e=>""!==e);e.length>0&&(B.scopes=e.join(","))}for(let t of(e.tenantId&&(B.tid=e.tenantId),Object.keys(B)))void 0===B[t]&&delete B[t];let l=await e._getAppCheckToken(),u=l?`#${ri}=${encodeURIComponent(l)}`:"";return`${function({config:e}){return e.emulator?w(e,"emulator/auth/handler"):`https://${e.authDomain}/__/auth/handler`}(e)}?${(0,n.querystring)(B).slice(1)}${u}`}let ra="webStorageSupport",ro=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=tf,this._completeRedirectFn=tY,this._overrideRedirectResult=t$}async _openPopup(e,t,r,i){var s,a;s=this.eventManagers[e._key()]?.manager,a="_initialize() not called before _openPopup()",s||m(a);let o=await rs(e,t,r,E(),i);return function(e,t,r,i=500,s=600){let a=Math.max((window.screen.availHeight-s)/2,0).toString(),o=Math.max((window.screen.availWidth-i)/2,0).toString(),B="",l={...rr,width:i.toString(),height:s.toString(),top:a,left:o},u=(0,n.getUA)().toLowerCase();r&&(B=el(u)?"_blank":r),eo(u)&&(t=t||"http://localhost",l.scrollbars="yes");let h=Object.entries(l).reduce((e,[t,r])=>`${e}${t}=${r},`,"");if(function(e=(0,n.getUA)()){return eC(e)&&!!window.navigator?.standalone}(u)&&"_self"!==B){var c,d;let e,r;return c=t||"",d=B,(e=document.createElement("a")).href=c,e.target=d,(r=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),e.dispatchEvent(r),new rn(null)}let C=window.open(t||"",B,h);g(C,e,"popup-blocked");try{C.focus()}catch(e){}return new rn(C)}(e,o,tm())}async _openRedirect(e,t,r,n){var i;return await this._originValidation(e),i=await rs(e,t,r,E(),n),tD().location.href=i,new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){var r;let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(r="If manager is not set, promise should be",n||m(r),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await rt(e),r=new tX(e);return t.register("authEvent",t=>(g(t?.authEvent,e,"invalid-auth-event"),{status:r.onEvent(t.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:r},this.iframes[e._key()]=t,r}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(ra,{type:ra},r=>{let n=r?.[0]?.[ra];void 0!==n&&t(!!n),h(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=t8(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return ep()||eB()||eC()}};var rB="@firebase/auth",rl="1.13.5";class ru{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return(this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser)?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){g(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}let rh=(0,n.getExperimentalSetting)("authIdTokenMaxAge")||300,rc=null;eI={loadJS:e=>
2new Promise((t,r)=>{let n=document.createElement("script");n.setAttribute("src",e),n.onload=t,n.onerror=e=>{let t=c("internal-error");t.customData=e,r(t)},n.type="text/javascript",n.charset="UTF-8",(document.getElementsByTagName("head")?.[0]??document).appendChild(n)}),gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="},t="Browser",(0,r._registerComponent)(new s.Component("auth",(e,{options:r})=>{let n,i,s=e.getProvider("app").getImmediate(),a=e.getProvider("heartbeat"),o=e.getProvider("app-check-internal"),{apiKey:B,authDomain:l}=s.options;g(B&&!B.includes(":"),"invalid-api-key",{appName:s.name});let u=new eD(s,a,o,{apiKey:B,authDomain:l,clientPlatform:t,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ef(t)});return i=(Array.isArray(n=r?.persistence||[])?n:[n]).map(er),r?.errorMap&&u._updateErrorMap(r.errorMap),u._initializeWithPersistence(i,r?.popupRedirectResolver),u},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),(0,r._registerComponent)(new s.Component("auth-internal",e=>new ru(ey(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),(0,r.registerVersion)(rB,rl,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}(t)),(0,r.registerVersion)(rB,rl,"esm2020"),e.s(["$",0,th,"D",0,function(e=(0,r.getApp)()){let t=(0,r._getProvider)(e,"auth");if(t.isInitialized())return t.getImmediate();let i=function(e,t){let i=(0,r._getProvider)(e,"auth");if(i.isInitialized()){let e=i.getImmediate(),r=i.getOptions();if((0,n.deepEqual)(r,t??{}))return e;h(e,"already-initialized")}return i.initialize({options:t})}(e,{popupRedirectResolver:ro,persistence:[tN,tp,tf]}),s=(0,n.getExperimentalSetting)("authTokenSyncURL");if(s&&"boolean"==typeof isSecureContext&&isSecureContext){let e=new URL(s,location.origin);if(location.origin===e.origin){let t,r=(t=e.toString(),async e=>{let r=e&&await e.getIdTokenResult(),n=r&&(new Date().getTime()-Date.parse(r.issuedAtTime))/1e3;if(n&&n>rh)return;let i=r?.token;rc!==i&&(rc=i,await fetch(t,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))});(0,n.getModularInstance)(i).beforeAuthStateChanged(r,()=>r(i.currentUser)),th(i,e=>r(e))}}let a=(0,n.getDefaultEmulatorHost)("auth");return a&&function(e,t){let r=ey(e);g(/^https?:\/\//.test(t),r,"invalid-emulator-scheme");let i=ex(t),{host:s,port:a}=function(e){let t=ex(e),r=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!r)return{host:"",port:null};let n=r[2].split("@").pop()||"",i=/^(\[[^\]]+\])(:|$)/.exec(n);if(i){let e=i[1];return{host:e,port:eR(n.substr(e.length+1))}}{let[e,t]=n.split(":");return{host:e,port:eR(t)}}}(t),o=null===a?"":`:${a}`,B={url:`${i}//${s}${o}/`},l=Object.freeze({host:s,port:a,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:!1})});if(!r._canInitEmulator){g(r.config.emulator&&r.emulatorConfig,r,"emulator-config-failed"),g((0,n.deepEqual)(B,r.config.emulator)&&(0,n.deepEqual)(l,r.emulatorConfig),r,"emulator-config-failed");return}r.config.emulator=B,r.emulatorConfig=l,r.settings.appVerificationDisabledForTesting=!0,(0,n.isCloudWorkstation)(s)?(0,n.pingServer)(`${i}//${s}${o}`):function(){function e(){let e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"u">typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"u">typeof window&&"u">typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}(i,`http://${a}`),i},"V",0,ta,"X",0,tq,"_",0,function(e,t,r,i){return(0,n.getModularInstance)(e).onAuthStateChanged(t,r,i)},"aa",0,tl,"ac",0,e9,"ad",0,ts,"ae",0,tB,"ag",0,tu,"ai",0,tJ,"ak",0,function(e){return(0,n.getModularInstance)(e).signOut()},"d",0,eX,"f",0,e2],35020),e.s([],151718)},436180,499917,263802,e=>{"use strict";var t,r,n,i,s,a,o,B,l,u,h,c,d,C,p=e.i(92953),f=e.i(308070),g=e.i(467034),m=e.i(247167),E=e.i(897427),D="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,y={};(function(){function e(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}var t=function(){this.blockSize=-1};function i(){}function s(e,t,r){r||(r=0);let n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1],i=e.g[2];let s=e.g[3],a;a=t+(s^r&(i^s))+n[0]+0xd76aa478|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[1]+0xe8c7b756|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[2]+0x242070db|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[3]+0xc1bdceee|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[4]+0xf57c0faf|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[5]+0x4787c62a|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[6]+0xa8304613|0,a=r+(t^(i=s+(a<<17|a>>>
215))&(s^t))+n[7]+0xfd469501|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[8]+0x698098d8|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[9]+0x8b44f7af|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[10]+0xffff5bb1|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[11]+0x895cd7be|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[12]+0x6b901122|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[13]+0xfd987193|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[14]+0xa679438e|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[15]+0x49b40821|0,r=i+(a<<22|a>>>10),a=t+(i^s&(r^i))+n[1]+0xf61e2562|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[6]+0xc040b340|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[11]+0x265e5a51|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[0]+0xe9b6c7aa|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[5]+0xd62f105d|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[10]+0x2441453|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[15]+0xd8a1e681|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[4]+0xe7d3fbc8|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[9]+0x21e1cde6|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[14]+0xc33707d6|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[3]+0xf4d50d87|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[8]+0x455a14ed|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[13]+0xa9e3e905|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[2]+0xfcefa3f8|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[7]+0x676f02d9|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[12]+0x8d2a4c8a|0,a=t+((r=i+(a<<20|a>>>12))^i^s)+n[5]+0xfffa3942|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[8]+0x8771f681|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[11]+0x6d9d6122|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[14]+0xfde5380c|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[1]+0xa4beea44|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[4]+0x4bdecfa9|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[7]+0xf6bb4b60|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[10]+0xbebfbc70|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[13]+0x289b7ec6|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[0]+0xeaa127fa|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[3]+0xd4ef3085|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[6]+0x4881d05|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[9]+0xd9d4d039|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[12]+0xe6db99e5|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[15]+0x1fa27cf8|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[2]+0xc4ac5665|0,r=i+(a<<23|a>>>9),a=t+(i^(r|~s))+n[0]+0xf4292244|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[7]+0x432aff97|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[14]+0xab9423a7|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[5]+0xfc93a039|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[12]+0x655b59c3|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[3]+0x8f0ccc92|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[10]+0xffeff47d|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[1]+0x85845dd1|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[8]+0x6fa87e4f|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[15]+0xfe2ce6e0|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[6]+0xa3014314|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[13]+0x4e0811a1|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[4]+0xf7537e82|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[11]+0xbd3af235|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[2]+0x2ad7d2bb|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[9]+0xeb86d391|0,e.g[0]=e.g[0]+t|0,e.g[1]=e.g[1]+(i+(a<<21|a>>>11))|0,e.g[2]=e.g[2]+i|0,e.g[3]=e.g[3]+s|0}function a(e,t){this.h=t;let r=[],n=!0;for(let i=e.length-1;i>=0;i--){let s=0|e[i];n&&s==t||(r[i]=s,n=!1)}this.g=r}i.prototype=t.prototype,e.F=t.prototype,e.prototype=new i,e.prototype.constructor=e,e.D=function(e,r,n){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[r].apply(e,i)},e.prototype.u=function(){this.g[0]=0x67452301,this.g[1]=0xefcdab89,this.g[2]=0x98badcfe,this.g[3]=0x10325476,this.o=this.h=0},e.prototype.v=function(e,t){void 0===t&&(t=e.length);let r=t-this.blockSize,n=this.C,i=this.h,a=0;for(;a<t;){if(0==i)for(;a<=r;)s(this,e,a),a+=this.blockSize;if("string"==typeof e){for(;a<t;)if(n[i++]=e.charCodeAt(a++),i==this.blockSize){s(this,n),i=0;break}}else for(;a<t;)if(n[i++]=e[a++],i==this.blockSize){s(this,n),i=0;break}}this.h=i,this.o+=t},e.prototype.A=function(){var e=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=8*this.o;for(var r=e.length-8;r<e.length;++r)e[r]=255&t,t/=256;for(this.v(e),e=Array(16),t=0,r=0;r<4;++r)for(let n=0;n<32;n+=8)e[t++]=this.g[r]>>>n&255;return e};var o,B={};function l(e){var t;return -128<=e&&e<128?(t=function(e){return new a([0|e],e<0?-1:0)},Object.prototype.hasOwnProperty.call(B,e)?B[e]:B[e]=t(e)):new a([0|e],e<0?-1:0)}function u(e){if(isNaN(e)||!isFinite(e))return h;if(e<0)return f(u(-e));let t=[],r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=0x100000000;return new a(t,0)}var h=l(0),c=l(1),d=l(0x1000000);function C(e){if(0!=e.h)return!1;for(let t=0;t<e.g.length;t++)if(0!=e.g[t])return!1;return!0}function p(e){return -1==e.h}function f(e){let t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new a(r,~e.h).add(c)}function g(e,t){return e.add(f(t))}function m(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function E(e,t){this.g=e,this.h=t}function D(e,t){if(C(t))throw Error("division by zero");if(C(e))return new E(h,h);if(p(e))return t=D(f(e),t),new E(f(t.g),f(t.h));if(p(t))return t=D(e,f(t)),new E(f(t.g),t.h);if(e.g.length>
230){if(p(e)||p(t))throw Error("slowDivide_ only works with positive integers.");for(var r=c,n=t;0>=n.l(e);)r=w(r),n=w(n);var i=I(r,1),s=I(n,1);for(n=I(n,2),r=I(r,2);!C(n);){var a=s.add(n);0>=a.l(e)&&(i=i.add(r),s=a),n=I(n,1),r=I(r,1)}return t=g(e,i.j(t)),new E(i,t)}for(i=h;e.l(t)>=0;){for(n=(n=Math.ceil(Math.log(r=Math.max(1,Math.floor(e.m()/t.m())))/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=u(r)).j(t);p(a)||a.l(e)>0;)r-=n,a=(s=u(r)).j(t);C(s)&&(s=c),i=i.add(s),e=g(e,a)}return new E(i,e)}function w(e){let t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new a(r,e.h)}function I(e,t){let r=t>>5;t%=32;let n=e.g.length-r,i=[];for(let s=0;s<n;s++)i[s]=t>0?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new a(i,e.h)}(o=a.prototype).m=function(){if(p(this))return-f(this).m();let e=0,t=1;for(let r=0;r<this.g.length;r++){let n=this.i(r);e+=(n>=0?n:0x100000000+n)*t,t*=0x100000000}return e},o.toString=function(e){if((e=e||10)<2||36<e)throw Error("radix out of range: "+e);if(C(this))return"0";if(p(this))return"-"+f(this).toString(e);let t=u(Math.pow(e,6));var r=this;let n="";for(;;){let i=D(r,t).g,s=(((r=g(r,i.j(t))).g.length>0?r.g[0]:r.h)>>>0).toString(e);if(C(r=i))return s+n;for(;s.length<6;)s="0"+s;n=s+n}},o.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},o.l=function(e){return p(e=g(this,e))?-1:+!C(e)},o.abs=function(){return p(this)?f(this):this},o.add=function(e){let t=Math.max(this.g.length,e.g.length),r=[],n=0;for(let i=0;i<=t;i++){let t=n+(65535&this.i(i))+(65535&e.i(i)),s=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);n=s>>>16,t&=65535,s&=65535,r[i]=s<<16|t}return new a(r,-0x80000000&r[r.length-1]?-1:0)},o.j=function(e){if(C(this)||C(e))return h;if(p(this))return p(e)?f(this).j(f(e)):f(f(this).j(e));if(p(e))return f(this.j(f(e)));if(0>this.l(d)&&0>e.l(d))return u(this.m()*e.m());let t=this.g.length+e.g.length,r=[];for(var n=0;n<2*t;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let t=0;t<e.g.length;t++){let i=this.i(n)>>>16,s=65535&this.i(n),a=e.i(t)>>>16,o=65535&e.i(t);r[2*n+2*t]+=s*o,m(r,2*n+2*t),r[2*n+2*t+1]+=i*o,m(r,2*n+2*t+1),r[2*n+2*t+1]+=s*a,m(r,2*n+2*t+1),r[2*n+2*t+2]+=i*a,m(r,2*n+2*t+2)}for(e=0;e<t;e++)r[e]=r[2*e+1]<<16|r[2*e];for(e=t;e<2*t;e++)r[e]=0;return new a(r,0)},o.B=function(e){return D(this,e).h},o.and=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new a(r,this.h&e.h)},o.or=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new a(r,this.h|e.h)},o.xor=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new a(r,this.h^e.h)},e.prototype.digest=e.prototype.A,e.prototype.reset=e.prototype.u,e.prototype.update=e.prototype.v,n=y.Md5=e,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.B,a.prototype.compare=a.prototype.l,a.prototype.toNumber=a.prototype.m,a.prototype.toString=a.prototype.toString,a.prototype.getBits=a.prototype.i,a.fromNumber=u,a.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return f(e(t.substring(1),r));if(t.indexOf("-")>=0)throw Error('number format error: interior "-" character');let n=u(Math.pow(r,8)),i=h;for(let e=0;e<t.length;e+=8){var s=Math.min(8,t.length-e);let a=parseInt(t.substring(e,e+s),r);s<8?(s=u(Math.pow(r,s)),i=i.j(s).add(u(a))):i=(i=i.j(n)).add(u(a))}return i},r=y.Integer=a}).apply(void 0!==D?D:"u">typeof self?self:"u">typeof window?window:{});var w=e.i(683877),I="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,v={};(function(){var e,t,r=Object.defineProperty,n=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof I&&I];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function c(e,t){if(t)e:{var i=n;e=e.split(".");for(var s=0;s<e.length-1;s++){var a=e[s];if(!(a in i))break e;i=i[a]}(t=t(s=i[e=e[e.length-1]]))!=s&&null!=t&&r(i,e,{configurable:!0,writable:!0,value:t})}}c("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),c("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),c("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var d=d||{},C=this||self;function p(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function f(e,t,r){return e.call.apply(e.bind,arguments)}function g(e,t,r){return(g=f).apply(null,arguments)}
2function m(e,t){var r=Array.prototype.slice.call(arguments,1);return function(){var t=r.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function E(e,t){function r(){}r.prototype=t.prototype,e.Z=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.Ob=function(e,r,n){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[r].apply(e,i)}}var D="u">typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function y(e){let t=e.length;if(t>0){let r=Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}return[]}function w(e,t){for(let t=1;t<arguments.length;t++){let n=arguments[t];var r=typeof n;if("array"==(r="object"!=r?r:n?Array.isArray(n)?"array":r:"null")||"object"==r&&"number"==typeof n.length){r=e.length||0;let t=n.length||0;e.length=r+t;for(let i=0;i<t;i++)e[r+i]=n[i]}else e.push(n)}}var _=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new b,e=>e.reset());class b{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let T,S=!1,A=new class{constructor(){this.h=this.g=null}add(e,t){let r=_.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},O=()=>{let e=Promise.resolve(void 0);T=()=>{e.then(N)}};function N(){let e;for(var t;e=null,A.g&&(e=A.g,A.g=A.g.next,A.g||(A.h=null),e.next=null),t=e;){try{t.h.call(t.g)}catch(e){!function(e){C.setTimeout(()=>{throw e},0)}(e)}_.j(t),_.h<100&&(_.h++,t.next=_.g,_.g=t)}S=!1}function F(){this.u=this.u,this.C=this.C}function x(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}F.prototype.u=!1,F.prototype.dispose=function(){this.u||(this.u=!0,this.N())},F.prototype[Symbol.dispose]=function(){this.dispose()},F.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},x.prototype.h=function(){this.defaultPrevented=!0};var R=function(){if(!C.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{let e=()=>{};C.addEventListener("test",e,t),C.removeEventListener("test",e,t)}catch(e){}return e}();function L(e){return/^[\s\xa0]*$/.test(e)}function k(e,t){x.call(this,e?e.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,e&&this.init(e,t)}E(k,x),k.prototype.init=function(e,t){let r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,this.i=e,e.defaultPrevented&&k.Z.h.call(this)},k.prototype.h=function(){k.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var P="closure_listenable_"+(1e6*Math.random()|0),M=0;function G(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++M,this.da=this.fa=!1}function H(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function U(e,t,r){for(let n in e)t.call(r,e[n],n,e)}function V(e){let t={};for(let r in e)t[r]=e[r];return t}let j="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function J(e,t){let r,n;for(let t=1;t<arguments.length;t++){for(r in n=arguments[t])e[r]=n[r];for(let t=0;t<j.length;t++)r=j[t],Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}}function q(e){this.src=e,this.g={},this.h=0}function K(e,t){let r=t.type;if(r in e.g){var n,i=e.g[r],s=Array.prototype.indexOf.call(i,t,void 0);(n=s>=0)&&Array.prototype.splice.call(i,s,1),n&&(H(t),0==e.g[r].length&&(delete e.g[r],e.h--))}}function z(e,t,r,n){for(let i=0;i<e.length;++i){let s=e[i];if(!s.da&&s.listener==t&&!!r==s.capture&&s.ha==n)return i}return -1}q.prototype.add=function(e,t,r,n,i){let s=e.toString();(e=this.g[s])||(e=this.g[s]=[],this.h++);let a=z(e,t,n,i);return a>-1?(t=e[a],r||(t.fa=!1)):((t=new G(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var Q="closure_lm_"+(1e6*Math.random()|0),W={};function $(e){if("number"!=typeof e&&e&&!e.da){var t=e.src;if(t&&t[P])K(t.i,e);else{var r=e.type,n=e.proxy;t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(Y(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=Z(t))?(K(r,e),0==r.h&&(r.src=null,t[Q]=null)):H(e)}}}function Y(e){return e in W?W[e]:W[e]="on"+e}function X(e,t){if(e.da)e=!0;else{t=new k(t,this);let r=e.listener,n=e.ha||e.src;e.fa&&$(e),e=r.call(n,t)}return e}function Z(e){return(e=e[Q])instanceof q?e:null}var ee="__closure_events_fn_"+(1e9*Math.random()>>>0);function et(e){return"function"==typeof e?e:(e[ee]||(e[ee]=function(t){return e.handleEvent(t)}),e[ee])}function er(){F.call(this),this.i=new q(this),this.M=this,this.G=null}function en(e,t){let r,n;var i,s=e.G;if(s)for(i=[];s;s=s.G)i.push(s);if(e=e.M,s=t.type||t,"string"==typeof t)t=new x(t,e);else if(t instanceof x)t.target=t.target||e;else{var a=t;J(t=new x(s,e),a)}if(a=!0,i)for(n=i.length-1;n>=0;n--)a=ei(r=t.g=i[n],s,!0,t)&&a;if(a=ei(r=t.g=e,s,!0,t)&&a,a=ei(r,s,!1,t)&&a,i)for(n=0;n<i.length;n++)a=ei(r=t.g=i[n],s,!1,t)&&a}function ei(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let s=0;s<t.length;++s){let a=t[s];if(a&&!a.da&&a.capture==r){let t=a.listener,r=a.ha||a.src;a.fa&&K(e.i,a),i=!1!==t.call(r,n)&&i}}return i&&!n.defaultPrevented}E(er,F),er.prototype[P]=!0,er.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else(i=p(i)?!!i.capture:!!i,n=et(n),t&&t[P])?(t=t.i,(a=String(r).toString())in t.g&&(n=z(r=t.g[a],n,i,s))>-1&&(H(r[n]),Array.prototype.splice.call(r,n,1),0==r.length&&(delete t.g[a],t.h--))):t&&(t=Z(t))&&(r=t.g[r.toString()],t=-1,r&&(t=z(r,n,i,s)
2),(n=t>-1?r[t]:null)&&$(n))}(this,e,t,r,n)},er.prototype.N=function(){if(er.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let r=e.g[t];for(let e=0;e<r.length;e++)H(r[e]);delete e.g[t],e.h--}}this.G=null},er.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},er.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class es extends F{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:function e(t){t.g=function(e,t){if("function"!=typeof e)if(e&&"function"==typeof e.handleEvent)e=g(e.handleEvent,e);else throw Error("Invalid listener argument");return Number(t)>0x7fffffff?-1:C.setTimeout(e,t||0)}(()=>{t.g=null,t.i&&(t.i=!1,e(t))},t.l);let r=t.h;t.h=null,t.m.apply(null,r)}(this)}N(){super.N(),this.g&&(C.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function ea(e){F.call(this),this.h=e,this.g={}}E(ea,F);var eo=[];function eB(e){U(e.g,function(e,t){this.g.hasOwnProperty(t)&&$(e)},e),e.g={}}ea.prototype.N=function(){ea.Z.N.call(this),eB(this)},ea.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var el=C.JSON.stringify,eu=C.JSON.parse,eh=class{stringify(e){return C.JSON.stringify(e,void 0)}parse(e){return C.JSON.parse(e,void 0)}};function ec(){}function ed(){}var eC={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function ep(){x.call(this,"d")}function ef(){x.call(this,"c")}E(ep,x),E(ef,x);var eg={},em=null;function eE(){return em=em||new er}function eD(e){x.call(this,eg.Ia,e)}function ey(e){let t=eE();en(t,new eD(t))}function ew(e,t){x.call(this,eg.STAT_EVENT,e),this.stat=t}function eI(e){let t=eE();en(t,new ew(t,e))}function ev(e,t){x.call(this,eg.Ja,e),this.size=t}function e_(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return C.setTimeout(function(){e()},t)}function eb(){this.g=!0}function eT(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+function(e,t){if(!e.g)return t;if(!t)return null;try{let s=JSON.parse(t);if(s){for(e=0;e<s.length;e++)if(Array.isArray(s[e])){var r=s[e];if(!(r.length<2)){var n=r[1];if(Array.isArray(n)&&!(n.length<1)){var i=n[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(let e=1;e<n.length;e++)n[e]=""}}}}return el(s)}catch(e){return t}}(e,r)+(n?" "+n:"")})}eg.Ia="serverreachability",E(eD,x),eg.STAT_EVENT="statevent",E(ew,x),eg.Ja="timingevent",E(ev,x),eb.prototype.ua=function(){this.g=!1},eb.prototype.info=function(){};var eS={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},eA={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function eO(){}function eN(e){return encodeURIComponent(String(e))}function eF(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new ea(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new ex}function ex(){this.i=null,this.g="",this.h=!1}E(eO,ec),eO.prototype.g=function(){return new XMLHttpRequest},e=new eO;var eR={},eL={};function ek(e,t,r){e.M=1,e.A=e5(e1(t)),e.u=r,e.R=!0,eP(e,null)}function eP(e,t){e.F=Date.now(),eG(e),e.B=e1(e.A);var r,n,i,s,a,o,B=e.B,l=e.S;Array.isArray(l)||(l=[String(l)]),tu(B.i,"t",l),e.C=0,B=e.j.L,e.h=new ex,e.g=t$(e.j,B?t:null,!e.u),e.P>0&&(e.O=new es(g(e.Y,e,e.g),e.P)),t=e.V,B=e.g,l=e.ba;var u="readystatechange";Array.isArray(u)||(u&&(eo[0]=u.toString()),u=eo);for(let e=0;e<u.length;e++){let r=function e(t,r,n,i,s){if(Array.isArray(r)){for(let a=0;a<r.length;a++)e(t,r[a],n,i,s);return null}return n=et(n),t&&t[P]?t.J(r,n,!!p(i)&&!!i.capture,s):function(e,t,r,n,i,s){if(!t)throw Error("Invalid event type");let a=p(i)?!!i.capture:!!i,o=Z(e);if(o||(e[Q]=o=new q(e)),(r=o.add(t,r,n,a,s)).proxy)return r;if(n=function e(t){return X.call(e.src,e.listener,t)},r.proxy=n,n.src=e,n.listener=r,e.addEventListener)R||(i=a),void 0===i&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(Y(t.toString()),n);else if(e.addListener&&e.removeListener)e.addListener(n);else throw Error("addEventListener and attachEvent are unavailable.");return r}(t,r,n,!1,i,s)}(B,u[e],l||t.handleEvent,!1,t.h||t);if(!r)break;t.g[r.key]=r}t=e.J?V(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),ey(),r=e.i,n=e.v,i=e.B,s=e.l,a=e.S,o=e.u,r.info(function(){if(r.g)if(o){var e="",t=o.split("&");for(let r=0;r<t.length;r++){var B=t[r].split("=");if(B.length>1){let t=B[0];B=B[1];let r=t.split("_");e=r.length>=2&&"type"==r[1]?e+(t+"=")+B+"&":e+(t+"=redacted&")}}}else e=null;else e=o;return"XMLHTTP REQ ("+s+") [attempt "+a+"]: "+n+"\n"+i+"\n"+e})}function eM(e){return!!e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function eG(e){e.T=Date.now()+e.H,eH(e,e.H)}function eH(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=e_(g(e.aa,e),t)}function eU(e){e.D&&(C.clearTimeout(e.D),e.D=null)}function eV(e){0==e.j.I||e.K||tq(e.j,e)}function ej(e){eU(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,eB(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dis
2pose())}function eJ(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||eW(r.h,e))){if(!e.L&&eW(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g)if(r.g.F+3e3<e.F)tJ(r),tR(r);else break e;tU(r),eI(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=e_(g(r.Va,r),6e3));1>=eQ(r.h)&&r.ta&&(r.ta=void 0)}else tz(r,11)}else if((e.L||r.g==e)&&tJ(r),!L(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){let o=i[t],B=o[0];if(!(B<=r.K))if(r.K=B,o=o[1],2==r.I)if("c"==o[0]){r.M=o[1],r.ba=o[2];let t=o[3];null!=t&&(r.ka=t,r.j.info("VER="+r.ka));let i=o[4];null!=i&&(r.za=i,r.j.info("SVER="+r.za));let B=o[5];null!=B&&"number"==typeof B&&B>0&&(r.O=n=1.5*B,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r;let l=e.g;if(l){let e=l.g?l.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(e){var s=n.h;s.g||-1==e.indexOf("spdy")&&-1==e.indexOf("quic")&&-1==e.indexOf("h2")||(s.j=s.l,s.g=new Set,s.h&&(e$(s,s.h),s.h=null))}if(n.G){let e=l.g?l.g.getResponseHeader("X-HTTP-Session-Id"):null;e&&(n.wa=e,e6(n.J,n.G,e))}}if(r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),(n=r).na=tW(n,n.L?n.ba:null,n.W),e.L){eY(n.h,e);var a=n.O;a&&(e.H=a),e.D&&(eU(e),eG(e)),n.g=e}else tH(n);r.i.length>0&&tk(r)}else"stop"!=o[0]&&"close"!=o[0]||tz(r,7);else 3==r.I&&("stop"==o[0]||"close"==o[0]?"stop"==o[0]?tz(r,7):tx(r):"noop"!=o[0]&&r.l&&r.l.qa(o),r.A=0)}}ey(4)}catch(e){}}eF.prototype.ba=function(e){e=e.target;let t=this.O;t&&3==tA(e)?t.j():this.Y(e)},eF.prototype.Y=function(e){try{if(e==this.g)e:{let c=tA(this.g),d=this.g.ya(),p=this.g.ca();if(!(c<3)&&(3!=c||this.g&&(this.h.h||this.g.la()||tO(this.g)))){this.K||4!=c||7==d||(8==d||p<=0?ey(3):ey(2)),eU(this);var t=this.g.ca();this.X=t;var r=function(e){if(!eM(e))return e.g.la();let t=tO(e.g);if(""===t)return"";let r="",n=t.length,i=4==tA(e.g);if(!e.h.i){if("u"<typeof TextDecoder)return ej(e),eV(e),"";e.h.i=new C.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g}(this);if(this.o=200==t,n=this.i,i=this.v,s=this.B,a=this.l,o=this.S,n.info(function(){return"XMLHTTP RESP ("+a+") [ attempt "+o+"]: "+i+"\n"+s+"\n"+c+" "+t}),this.o){if(this.U&&!this.L){t:{if(this.g){var n,i,s,a,o,B,l=this.g;if((B=l.g?l.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!L(B)){var u=B;break t}}u=null}if(e=u)eT(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,eJ(this,e);else{this.o=!1,this.m=3,eI(12),ej(this),eV(this);break e}}if(this.R){let t;for(e=!0;!this.K&&this.C<r.length;)if((t=function(e,t){var r=e.C,n=t.indexOf("\n",r);return -1==n?eL:isNaN(r=Number(t.substring(r,n)))?eR:(n+=1)+r>t.length?eL:(t=t.slice(n,n+r),e.C=n+r,t)}(this,r))==eL){4==c&&(this.m=4,eI(14),e=!1),eT(this.i,this.l,null,"[Incomplete Response]");break}else if(t==eR){this.m=4,eI(15),eT(this.i,this.l,r,"[Invalid Chunk]"),e=!1;break}else eT(this.i,this.l,t,null),eJ(this,t);if(eM(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=c||0!=r.length||this.h.h||(this.m=1,eI(16),e=!1),this.o=this.o&&e,e){if(r.length>0&&!this.W){this.W=!0;var h=this.j;h.g==this&&h.aa&&!h.P&&(h.j.info("Great, no buffering proxy detected. Bytes received: "+r.length),tV(h),h.P=!0,eI(11))}}else eT(this.i,this.l,r,"[Invalid Chunked Response]"),ej(this),eV(this)}else eT(this.i,this.l,r,null),eJ(this,r);4==c&&ej(this),this.o&&!this.K&&(4==c?tq(this.j,this):(this.o=!1,eG(this)))}else(function(e){let t={};e=(e.g&&tA(e)>=2&&e.g.getAllResponseHeaders()||"").split("\r\n");for(let n=0;n<e.length;n++){if(L(e[n]))continue;var r=function(e){var t=1;e=e.split(":");let r=[];for(;t>0&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r}(e[n]);let i=r[0];if("string"!=typeof(r=r[1]))continue;r=r.trim();let s=t[i]||[];t[i]=s,s.push(r)}var n=function(e){return e.join(", ")};for(let e in t)n.call(void 0,t[e],e,t)})(this.g),400==t&&r.indexOf("Unknown SID")>0?(this.m=3,eI(12)):(this.m=0,eI(13)),ej(this),eV(this)}}}catch(e){}finally{}},eF.prototype.cancel=function(){this.K=!0,ej(this)},eF.prototype.aa=function(){var e,t;this.D=null;let r=Date.now();r-this.T>=0?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(ey(),eI(17)),ej(this),this.m=2,eV(this)):eH(this,this.T-r)};var eq=class{constructor(e,t){this.g=e,this.map=t}};function eK(e){this.l=e||10,e=C.PerformanceNavigationTiming?(e=C.performance.getEntriesByType("navigation")).length>0&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(C.chrome&&C.chrome.loadTimes&&C.chrome.loadTimes()&&C.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,this.j>1&&(this.g=new Set),this.h=null,this.i=[]}function ez(e){return!!e.h||!!e.g&&e.g.size>=e.j}function eQ(e){return e.h?1:e.g?e.g.size:0}function eW(e,t){return e.h?e.h==t:!!e.g&&e.g.has(t)}function e$(e,t){e.g?e.g.add(t):e.h=t}function eY(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function eX(e){if(null!=e.h)return e.i.concat(e.h.G);if(null!=e.g&&0!==e.g.size){let t=e.i;for(let r of e.g.values())t=t.concat(r.G);return t}return y(e.i)}eK.prototype.cancel=function(){if(this.i=eX(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(let e of this.g.values())e.cancel();this.g.clear()}};var eZ=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function e0(e){let t;this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1,e instanceof e0?(this.l=e.l,e2(this,e.j),this.o=e.o,this.g=e.g,e3(this,e.u),this.h=e.h,e8(this,th(e.i)),this.m=e.m):e&&(t=String(e).match(eZ))?(this.l=!1,e2(this,t[1]||"",!0),this.o=e4(t[2]||""),this.g=e4(t[3]||"",!0),e3(this,t[4]),this.h=e4(t[5]||"",!0),e8(this,t[6]||"",!0),this.m=e4(t[7]||"")):(this.l=!1,this.i=new ts(null,this.l))}function e1(e){return new e0(e)}function e2(e,t,r){e.j=r?e4(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function e3(e,t){if(t){if(isNaN(t=Number(t))||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function e8(e,t,r){var n,i;t instanceof ts?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(ta(n),n.i=null,n.g.forEach(function(e,t){let r=t.toLowerCase();t!=r&&(to(this,t),tu(this,r,e))},n)),n.j=i):(r||(t=e9(t,tn)),e.i=new ts(t,e.l))}function e6(e,t,r){e.i.set(t,r)}function e5(e){return e6(e,"zx",Math.floor(0x80000000*Math.random()).toString(36)+Math.abs(Math.floor(0x80000000*Math.random())^Date.now()).toString(36)),e}function e4(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function e9(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,e7),r&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),e):null}function e7(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}e0.prototype.toString=function(){let e=[];var t=this.j;t&&e.push(e9(t,te,!0),":");var r=this.g;return(r||"file"==t)&&(e.push("//"),(t=this.o)&&e.push(e9(t,te,!0),"@"),e.push(eN(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(r=this.u)&&e.push(":",String(r))),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(e9(r,"/"==r.charAt(0)?tr:tt,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",e9(r,ti)),e.join("")},e0.prototype.resolve=function(e){let t=e1(this),r=!!e.j;r?e2(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)e3(t,e.u);else if(r=!!e.h){if("/"!=n.charAt(0))if(this.g&&!this.h)n="/"+n;else{var i=t.h.lastIndexOf("/");-1!=i&&(n=t.h.slice(0,i+1)+n)}if(".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){n=0==i.lastIndexOf("/",0),i=i.split("/");let e=[];for(let t=0;t<i.length;){let r=i[t++];"."==r?n&&t==i.length&&e.push(""):".."==r?((e.length>1||1==e.length&&""!=e[0])&&e.pop(),n&&t==i.length&&e.push("")):(e.push(r),n=!0)}n=e.join("/")}else n=i}return r?t.h=n:r=""!==e.i.toString(),r?e8(t,th(e.i)):r=!!e.m,r&&(t.m=e.m),t};var te=/[#\/\?@]/g,tt=/[#\?:]/g,tr=/[#\?]/g,tn=/[#\?@]/g,ti=/#/g;function ts(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function ta(e){e.g||(e.g=new Map,e.h=0,e.i&&function(e,t){if(e){e=e.split("&");for(let r=0;r<e.length;r++){let n=e[r].indexOf("="),i,s=null;n>=0?(i=e[r].substring(0,n),s=e[r].substring(n+1)):i=e[r],t(i,s?decodeURIComponent(s.replace(/\+/g," ")):"")}}}(e.i,function(t,r){e.add(decodeURIComponent(t.replace(/\+/g," ")),r)}))}function to(e,t){ta(e),t=tc(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function tB(e,t){return ta(e),t=tc(e,t),e.g.has(t)}function tl(e,t){ta(e);let r=[];if("string"==typeof t)tB(e,t)&&(r=r.concat(e.g.get(tc(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function tu(e,t,r){to(e,t),r.length>0&&(e.i=null,e.g.set(tc(e,t),y(r)),e.h+=r.length)}function th(e){let t=new ts;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function tc(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}function td(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function tC(){this.g=new eh}function tp(e){this.i=e.Sb||null,this.h=e.ab||!1}function tf(e,t){er.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function tg(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function tm(e){e.readyState=4,e.l=null,e.j=null,e.B=null,tE(e)}function tE(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function tD(e){let t="";return U(e,function(e,r){t+=r,t+=":",t+=e,t+="\r\n"}),t}function ty(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=tD(r),"string"==typeof e?null!=r&&eN(r):e6(e,t,r))}function tw(e){er.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(t=ts.prototype).add=function(e,t){ta(this),this.i=null,e=tc(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},t.forEach=function(e,t){ta(this),this.g.forEach(function(r,n){r.forEach(function(r){e.call(t,r,n,this)},this)},this)},t.set=function(e,t){return ta(this),this.i=null,tB(this,e=tc(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},t.get=function(e,t){return e&&(e=tl(this,e)).length>0?String(e[0]):t},t.toString=function(){if(this.i)return this.i;if(!this.g)return"";let e=[],t=Array.from(this.g.keys());for(let n=0;n<t.length;n++){var r=t[n];let i=eN(r);r=tl(this,r);for(let t=0;t<r.length;t++){let n=i;""!==r[t]&&(n+="="+eN(r[t])),e.push(n)}}return this.i=e.join("&")},E(tp,ec),tp.prototype.g=function(){return new tf(this.i,this.h)},E(tf,er),(t=tf.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,tE(this)},t.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");
2if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;let t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||C).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},t.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),this.readyState>=1&&this.g&&4!=this.readyState&&(this.g=!1,tm(this)),this.readyState=0},t.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,tE(this)),this.g&&(this.readyState=3,tE(this),this.g)))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==C.ReadableStream&&"body"in e){if(this.j=e.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.B=new TextDecoder;tg(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},t.Ma=function(e){if(this.g){if(this.o&&e.value)this.response.push(e.value);else if(!this.o){var t=e.value?e.value:new Uint8Array(0);(t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?tm(this):tE(this),3==this.readyState&&tg(this)}},t.Oa=function(e){this.g&&(this.response=this.responseText=e,tm(this))},t.Na=function(e){this.g&&(this.response=e,tm(this))},t.ga=function(){this.g&&tm(this)},t.setRequestHeader=function(e,t){this.A.append(e,t)},t.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},t.getAllResponseHeaders=function(){if(!this.h)return"";let e=[],t=this.h.entries();for(var r=t.next();!r.done;)e.push((r=r.value)[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(tf.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),E(tw,er);var tI=/^https?$/i,tv=["POST","PUT"];function t_(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,tb(e),tS(e)}function tb(e){e.A||(e.A=!0,en(e,"complete"),en(e,"error"))}function tT(e){if(e.h&&void 0!==d){if(e.v&&4==tA(e))setTimeout(e.Ca.bind(e),0);else if(en(e,"readystatechange"),4==tA(e)){e.h=!1;try{let s=e.ca();switch(s){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var t,r,n=!0;break;default:n=!1}if(!(t=n)){if(r=0===s){let t=String(e.D).match(eZ)[1]||null;!t&&C.self&&C.self.location&&(t=C.self.location.protocol.slice(0,-1)),r=!tI.test(t?t.toLowerCase():"")}t=r}if(t)en(e,"complete"),en(e,"success");else{e.o=6;try{var i=tA(e)>2?e.g.statusText:""}catch(e){i=""}e.l=i+" ["+e.ca()+"]",tb(e)}}finally{tS(e)}}}}function tS(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);let r=e.g;e.g=null,t||en(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function tA(e){return e.g?e.g.readyState:0}function tO(e){try{if(!e.g)return null;if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}return null}catch(e){return null}}function tN(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function tF(e){this.za=0,this.i=[],this.j=new eb,this.ba=this.na=this.J=this.W=this.g=this.wa=this.G=this.H=this.u=this.U=this.o=null,this.Ya=this.V=0,this.Sa=tN("failFast",!1,e),this.F=this.C=this.v=this.m=this.l=null,this.X=!0,this.xa=this.K=-1,this.Y=this.A=this.D=0,this.Qa=tN("baseRetryDelayMs",5e3,e),this.Za=tN("retryDelaySeedMs",1e4,e),this.Ta=tN("forwardChannelMaxRetries",2,e),this.va=tN("forwardChannelRequestTimeoutMs",2e4,e),this.ma=e&&e.xmlHttpFactory||void 0,this.Ua=e&&e.Rb||void 0,this.Aa=e&&e.useFetchStreams||!1,this.O=void 0,this.L=e&&e.supportsCrossDomainXhr||!1,this.M="",this.h=new eK(e&&e.concurrentRequestLimit),this.Ba=new tC,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&e.longPollingTimeout>0&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function tx(e){if(tL(e),3==e.I){var t=e.V++,r=e1(e.J);if(e6(r,"SID",e.M),e6(r,"RID",t),e6(r,"TYPE","terminate"),tM(e,r),(t=new eF(e,e.j,t)).M=2,t.A=e5(e1(r)),r=!1,C.navigator&&C.navigator.sendBeacon)try{r=C.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&C.Image&&((new Image).src=t.A,r=!0),r||(t.g=t$(t.j,null),t.g.ea(t.A)),t.F=Date.now(),eG(t)}tQ(e)}function tR(e){e.g&&(tV(e),e.g.cancel(),e.g=null)}function tL(e){tR(e),e.v&&(C.clearTimeout(e.v),e.v=null),tJ(e),e.h.cancel(),e.m&&("number"==typeof e.m&&C.clearTimeout(e.m),e.m=null)}function tk(e){if(!ez(e.h)&&!e.m){e.m=!0;var t=e.Ea;T||O(),S||(T(),S=!0),A.add(t,e),e.D=0}}function tP(e,t){var r;r=t?t.l:e.V++;let n=e1(e.J);e6(n,"SID",e.M),e6(n,"RID",r),e6(n,"AID",e.K),tM(e,n),e.u&&e.o&&ty(n,e.u,e.o),r=new eF(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=tG(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),e$(e.h,r),ek(r,n,t)}function tM(e,t){e.H&&U(e.H,function(e,r){e6(t,r,e)}),e.l&&U({},function(e,r){e6(t,r,e)})}function tG(e,t,r){r=Math.min(e.i.length,r);let n=e.l?g(e.l.Ka,e.l,e):null;e:{var i=e.i;let t=-1;for(;;){let e=["count="+r];-1==t?r>0?(t=i[0].g,e.push("ofs="+t)):t=0:e.push("ofs="+t);let o=!0;for(let B=0;B<r;B++){var s=i[B].g;let r=i[B].map;if((s-=t)<0)t=Math.max(0,i[B].g-100),o=!1;else try{s="req"+s+"_";try{var a=r instanceof Map?r:Object.entries(r);for(let[t,r]of a){let n=r;
2p(r)&&(n=el(r)),e.push(s+t+"="+encodeURIComponent(n))}}catch(t){throw e.push(s+"type="+encodeURIComponent("_badmap")),t}}catch(e){n&&n(r)}}if(o){a=e.join("&");break e}}a=void 0}return t.G=e=e.i.splice(0,r),a}function tH(e){if(!e.g&&!e.v){e.Y=1;var t=e.Da;T||O(),S||(T(),S=!0),A.add(t,e),e.A=0}}function tU(e){return!e.g&&!e.v&&!(e.A>=3)&&(e.Y++,e.v=e_(g(e.Da,e),tK(e,e.A)),e.A++,!0)}function tV(e){null!=e.B&&(C.clearTimeout(e.B),e.B=null)}function tj(e){e.g=new eF(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=e1(e.na);e6(t,"RID","rpc"),e6(t,"SID",e.M),e6(t,"AID",e.K),e6(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&e6(t,"TO",e.ia),e6(t,"TYPE","xmlhttp"),tM(e,t),e.u&&e.o&&ty(t,e.u,e.o),e.O&&(e.g.H=e.O);var r=e.g;e=e.ba,r.M=1,r.A=e5(e1(t)),r.u=null,r.R=!0,eP(r,e)}function tJ(e){null!=e.C&&(C.clearTimeout(e.C),e.C=null)}function tq(e,t){var r,n=null;if(e.g==t){tJ(e),tV(e),e.g=null;var i=2}else{if(!eW(e.h,t))return;n=t.G,eY(e.h,t),i=1}if(0!=e.I){if(t.o)if(1==i){n=t.u?t.u.length:0,t=Date.now()-t.F;var s=e.D;en(i=eE(),new ev(i,n)),tk(e)}else tH(e);else if(3==(s=t.m)||0==s&&t.X>0||!(1==i&&(r=t,!(eQ(e.h)>=e.h.j-!!e.m)&&(e.m?(e.i=r.G.concat(e.i),!0):1!=e.I&&2!=e.I&&!(e.D>=(e.Sa?0:e.Ta))&&(e.m=e_(g(e.Ea,e,r),tK(e,e.D)),e.D++,!0)))||2==i&&tU(e)))switch(n&&n.length>0&&((t=e.h).i=t.i.concat(n)),s){case 1:tz(e,5);break;case 4:tz(e,10);break;case 3:tz(e,6);break;default:tz(e,2)}}}function tK(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function tz(e,t){if(e.j.info("Error code "+t),2==t){let t,s,a;var r,n=g(e.bb,e),i=e.Ua;let o=!i;i=new e0(i||"//www.google.com/images/cleardot.gif"),C.location&&"http"==C.location.protocol||e2(i,"https"),e5(i),o?function(e,t){let r=new eb;if(C.Image){let n=new Image;n.onload=m(td,r,"TestLoadImage: loaded",!0,t,n),n.onerror=m(td,r,"TestLoadImage: error",!1,t,n),n.onabort=m(td,r,"TestLoadImage: abort",!1,t,n),n.ontimeout=m(td,r,"TestLoadImage: timeout",!1,t,n),C.setTimeout(function(){n.ontimeout&&n.ontimeout()},1e4),n.src=e}else t(!1)}(i.toString(),n):(r=i.toString(),t=new eb,s=new AbortController,a=setTimeout(()=>{s.abort(),td(t,"TestPingServer: timeout",!1,n)},1e4),fetch(r,{signal:s.signal}).then(e=>{clearTimeout(a),e.ok?td(t,"TestPingServer: ok",!0,n):td(t,"TestPingServer: server error",!1,n)}).catch(()=>{clearTimeout(a),td(t,"TestPingServer: error",!1,n)}))}else eI(2);e.I=0,e.l&&e.l.pa(t),tQ(e),tL(e)}function tQ(e){if(e.I=0,e.ja=[],e.l){let t=eX(e.h);(0!=t.length||0!=e.i.length)&&(w(e.ja,t),w(e.ja,e.i),e.h.i.length=0,y(e.i),e.i.length=0),e.l.oa()}}function tW(e,t,r){var n=r instanceof e0?e1(r):new e0(r);if(""!=n.g)t&&(n.g=t+"."+n.g),e3(n,n.u);else{var i=C.location;n=i.protocol,t=t?t+"."+i.hostname:i.hostname,i=+i.port;let e=new e0(null);n&&e2(e,n),t&&(e.g=t),i&&e3(e,i),r&&(e.h=r),n=e}return r=e.G,t=e.wa,r&&t&&e6(n,r,t),e6(n,"VER",e.ka),tM(e,n),n}function t$(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=new tw(e.Aa&&!e.ma?new tp({ab:r}):e.ma)).Fa(e.L),t}function tY(){}function tX(){}function tZ(e,t){er.call(this),this.g=new tF(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!L(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!L(t)&&(this.g.G=t,null!==(e=this.h)&&t in e&&t in(e=this.h)&&delete e[t]),this.j=new t2(this)}function t0(e){ep.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(let r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function t1(){ef.call(this),this.status=1}function t2(e){this.g=e}(t=tw.prototype).Fa=function(e){this.H=e},t.ea=function(t,r,n,i){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+t);r=r?r.toUpperCase():"GET",this.D=t,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=this.L?this.L.g():e.g(),this.g.onreadystatechange=D(g(this.Ca,this));try{this.B=!0,this.g.open(r,String(t),!0),this.B=!1}catch(e){t_(this,e);return}if(t=n||"",n=new Map(this.headers),i)if(Object.getPrototypeOf(i)===Object.prototype)for(var s in i)n.set(s,i[s]);else if("function"==typeof i.keys&&"function"==typeof i.get)for(let e of i.keys())n.set(e,i.get(e));else throw Error("Unknown input type for opt_headers: "+String(i));for(let[e,a]of(i=Array.from(n.keys()).find(e=>"content-type"==e.toLowerCase()),s=C.FormData&&t instanceof C.FormData,!(Array.prototype.indexOf.call(tv,r,void 0)>=0)||i||s||n.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),n))this.g.setRequestHeader(e,a);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(t),this.v=!1}catch(e){t_(this,e)}},t.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,en(this,"complete"),en(this,"abort"),tS(this))},t.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),tS(this,!0)),tw.Z.N.call(this)},t.Ca=function(){this.u||(this.B||this.v||this.j?tT(this):this.Xa())},t.Xa=function(){tT(this)},t.isActive=function(){return!!this.g},t.ca=function(){try{return tA(this)>2?this.g.status:-1}catch(e){return -1}},t.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},t.La=function(e){if(this.g){var t=this.g.responseText;
2return e&&0==t.indexOf(e)&&(t=t.substring(e.length)),eu(t)}},t.ya=function(){return this.o},t.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(t=tF.prototype).ka=8,t.I=1,t.connect=function(e,t,r,n){eI(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=tW(this,null,this.W),tk(this)},t.Ea=function(e){if(this.m)if(this.m=null,1==this.I){if(!e){this.V=Math.floor(1e5*Math.random()),e=this.V++;let i=new eF(this,this.j,e),s=this.o;if(this.U&&(s?J(s=V(s),this.U):s=this.U),null!==this.u||this.R||(i.J=s,s=null),this.S)e:{for(var t=0,r=0;r<this.i.length;r++){t:{var n=this.i[r];if("__data__"in n.map&&"string"==typeof(n=n.map.__data__)){n=n.length;break t}n=void 0}if(void 0===n)break;if((t+=n)>4096){t=r;break e}if(4096===t||r===this.i.length-1){t=r+1;break e}}t=1e3}else t=1e3;t=tG(this,i,t),e6(r=e1(this.J),"RID",e),e6(r,"CVER",22),this.G&&e6(r,"X-HTTP-Session-Id",this.G),tM(this,r),s&&(this.R?t="headers="+eN(tD(s))+"&"+t:this.u&&ty(r,this.u,s)),e$(this.h,i),this.Ra&&e6(r,"TYPE","init"),this.S?(e6(r,"$req",t),e6(r,"SID","null"),i.U=!0,ek(i,r,null)):ek(i,r,t),this.I=2}}else 3==this.I&&(e?tP(this,e):0==this.i.length||ez(this.h)||tP(this))},t.Da=function(){if(this.v=null,tj(this),this.aa&&!(this.P||null==this.g||this.T<=0)){var e=4*this.T;this.j.info("BP detection timer enabled: "+e),this.B=e_(g(this.Wa,this),e)}},t.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,eI(10),tR(this),tj(this))},t.Va=function(){null!=this.C&&(this.C=null,tR(this),tU(this),eI(19))},t.bb=function(e){e?(this.j.info("Successfully pinged google.com"),eI(2)):(this.j.info("Failed to ping google.com"),eI(1))},t.isActive=function(){return!!this.l&&this.l.isActive(this)},(t=tY.prototype).ra=function(){},t.qa=function(){},t.pa=function(){},t.oa=function(){},t.isActive=function(){return!0},t.Ka=function(){},tX.prototype.g=function(e,t){return new tZ(e,t)},E(tZ,er),tZ.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},tZ.prototype.close=function(){tx(this.g)},tZ.prototype.o=function(e){var t=this.g;if("string"==typeof e){var r={};r.__data__=e,e=r}else this.v&&((r={}).__data__=el(e),e=r);t.i.push(new eq(t.Ya++,e)),3==t.I&&tk(t)},tZ.prototype.N=function(){this.g.l=null,delete this.j,tx(this.g),delete this.g,tZ.Z.N.call(this)},E(t0,ep),E(t1,ef),E(t2,tY),t2.prototype.ra=function(){en(this.g,"a")},t2.prototype.qa=function(e){en(this.g,new t0(e))},t2.prototype.pa=function(e){en(this.g,new t1)},t2.prototype.oa=function(){en(this.g,"b")},tX.prototype.createWebChannel=tX.prototype.g,tZ.prototype.send=tZ.prototype.o,tZ.prototype.open=tZ.prototype.m,tZ.prototype.close=tZ.prototype.close,h=v.createWebChannelTransport=function(){return new tX},u=v.getStatEventTarget=function(){return eE()},l=v.Event=eg,B=v.Stat={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},eS.NO_ERROR=0,eS.TIMEOUT=8,eS.HTTP_ERROR=6,o=v.ErrorCode=eS,eA.COMPLETE="complete",a=v.EventType=eA,ed.EventType=eC,eC.OPEN="a",eC.CLOSE="b",eC.ERROR="c",eC.MESSAGE="d",er.prototype.listen=er.prototype.J,s=v.WebChannel=ed,v.FetchXmlHttpFactory=tp,tw.prototype.listenOnce=tw.prototype.K,tw.prototype.getLastError=tw.prototype.Ha,tw.prototype.getLastErrorCode=tw.prototype.ya,tw.prototype.getStatus=tw.prototype.ca,tw.prototype.getResponseJson=tw.prototype.La,tw.prototype.getResponseText=tw.prototype.la,tw.prototype.send=tw.prototype.ea,tw.prototype.setWithCredentials=tw.prototype.Fa,i=v.XhrIo=tw}).apply(void 0!==I?I:"u">typeof self?self:"u">typeof window?window:{});var _=class e{static FOLD_CASE=1;static LITERAL=2;static CLASS_NL=4;static DOT_NL=8;static ONE_LINE=16;static NON_GREEDY=32;static PERL_X=64;static UNICODE_GROUPS=128;static WAS_DOLLAR=256;static LOOKBEHIND=512;static MATCH_NL=e.CLASS_NL|e.DOT_NL;static PERL=e.CLASS_NL|e.ONE_LINE|e.PERL_X|e.UNICODE_GROUPS;static POSIX=0;static UNANCHORED=0;static ANCHOR_START=1;static ANCHOR_BOTH=2};let b=new Int32Array(128),T=new Int32Array(128);for(let e=0;e<128;
2e++)e>=97&&e<=122?b[e]=e-32:b[e]=e,e>=65&&e<=90?T[e]=e+32:T[e]=e;var S=class{static CODES=new Map([["\x07",7],["\b",8],[" ",9],["\n",10],["\v",11],["\f",12],["\r",13],[" ",32],['"',34],["$",36],["&",38],["'",39],["(",40],[")",41],["*",42],["+",43],["-",45],[".",46],["0",48],["1",49],["2",50],["3",51],["4",52],["5",53],["6",54],["7",55],["8",56],["9",57],[":",58],["<",60],[">",62],["?",63],["A",65],["B",66],["C",67],["F",70],["P",80],["Q",81],["U",85],["Z",90],["[",91],["\\",92],["]",93],["^",94],["_",95],["`",96],["a",97],["b",98],["f",102],["i",105],["m",109],["n",110],["r",114],["s",115],["t",116],["v",118],["x",120],["z",122],["{",123],["|",124],["}",125]]);static toUpperCase(e){if(e<128)return b[e];let t=String.fromCodePoint(e).toUpperCase(),r=t.codePointAt(0)>65535?2:1;if(t.length>r)return e;let n=String.fromCodePoint(t.codePointAt(0)).toLowerCase(),i=n.codePointAt(0)>65535?2:1;return n.length>i||n.codePointAt(0)!==e?e:t.codePointAt(0)}static toLowerCase(e){if(e<128)return T[e];let t=String.fromCodePoint(e).toLowerCase(),r=t.codePointAt(0)>65535?2:1;if(t.length>r)return e;let n=String.fromCodePoint(t.codePointAt(0)).toUpperCase(),i=n.codePointAt(0)>65535?2:1;return n.length>i||n.codePointAt(0)!==e?e:t.codePointAt(0)}},A=class{constructor(e,t=!1){this.data=e,this.isStride1=t,this.SIZE=t?2:3}getLo(e){return this.data[e*this.SIZE]}getHi(e){return this.data[e*this.SIZE+1]}getStride(e){return this.isStride1?1:this.data[e*this.SIZE+2]}get length(){return this.data.length/this.SIZE}};let O=new Uint8Array(256);for(let e=0;e<64;e++)O["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(e)]=e;let N=e=>{let t=[],r=0,n=0;for(let i=0;i<e.length;i++){let s=O[e.charCodeAt(i)];r|=(31&s)<<n,(32&s)==0?(t.push(r),r=0,n=0):n+=5}return t},F=(e,t)=>{let r=N(e),n=t?r.length/2:r.length/3,i=new Uint32Array(3*n),s=0,a=0;for(let e=0;e<n;e++)s+=r[a++],i[3*e]=s,s+=r[a++],i[3*e+1]=s,i[3*e+2]=t?1:r[a++];return i};var x=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.initializer[e],r=t?t():null;return this.cache.set(e,r),r}},R=class{static _CASE_ORBIT=null;static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{let t=N(e),r=new Map,n=0;for(let e=0;e<t.length;e+=2){n+=t[e];let i=t[e+1],s=i>>>1^-(1&i);r.set(n,n+s)}return r})("rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTC
2BBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC")),this._CASE_ORBIT}static _Print=null;static get Print(){return this._Print||(this._Print=new A(F("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjB
2BFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static CATEGORIES=new x({C:()=>new A(F("AfBgDgBBOrWrWBHHBCBICCVuMuMnBBBzBBBE4B4BBGBcDBHQBXhGhGxBBB8BBBmDNB8BBByBBBQddBCCMEBhBGBsCiFiFJBBDBBXIICCBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBPMMBEB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKMMBDBbEByBPBDBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCB-FCBHBBHBBHBBECBIIIBLBDBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIB-BGGBLBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMBxhBPBXJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBF-6DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBrCHBxDUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
2BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIlkzVBxHvw-FB",!1)),Cc:()=>new A(F("AfgDgB",!0)),Cf:()=>new A(F("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new A(F("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBDBvzIBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
2BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-BB---BBB---BBB",!1)),Co:()=>new A(F("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new A(F("gg2B--B",!0)),L:()=>new A(F("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new A(F("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new A(F("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new A(F("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new A(F("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGB
2pBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new A(F("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new A(F("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new A(F("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnB
2IBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new A(F("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new A(F("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new A(F("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new A(F("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new A(F("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new A(F("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new A(F("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new A(F("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBI
2BXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new A(F("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new A(F("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new A(F("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new A(F("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new A(F("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new A(F("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new A(F("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new A(F("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new A(F("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new A(F("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new A(F("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new A(F("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new A(F("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new A(F("ohIA",!0)),Zp:()=>new A(F("phIA",!0)),Zs:()=>new A(F("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new A(F("wBJIFbF",!0)),Alphabetic:()=>new A(F("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBI
2RRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new A(F("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new A(F("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new A(F("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new A(F("7-8DE",!0)),Emoji_Modifier_Base:()=>new A(F("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new A(F("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new A(F("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new A(F("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new A(F("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new A(F("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>
2new A(F("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new A(F("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new A(F("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new A(F("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))});static get Upper(){return this.CATEGORIES.get("Lu")}static SCRIPTS=new x({Adlam:()=>new A(F("go6DrCFJFB",!0)),Ahom:()=>new A(F("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new A(F("ggxCmS",!0)),Arabic:()=>new A(F("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new A(F("xpBlBDxBDCks9BE",!0)),Avestan:()=>new A(F("g4iC1BEG",!0)),Balinese:()=>new A(F("g4GsCCxB",!0)),Bamum:()=>new A(F("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new A(F("w26CdDF",!0)),Batak:()=>new A(F("g+GzBJD",!0)),Bengali:()=>new A(F("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new A(F("g17CYDY",!0)),Bhaiksuki:()=>new A(F("ggnCICsBCNLc",!0)),Bopomofo:()=>new A(F("qXB6wLqBxDf",!0)),Brahmi:()=>new A(F("ggkCtCFjBKA",!0)),Braille:()=>new A(F("ggK-H",!0)),Buginese:()=>new A(F("gwGbDB",!0)),Buhid:()=>new A(F("g6FT",!0)),Canadian_Aboriginal:()=>new A(F("ggF-TxRlC7tgCP",!0)),Carian:()=>new A(F("g1gCwB",!0)),Caucasian_Albanian:()=>new A(F("wphCzBMA",!0)),Chakma:()=>new A(F("gokC0BCR",!0)),Cham:()=>new A(F("gwqB2BKNDJDD",!0)),Cherokee:()=>new A(F("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new A(F("w9jCb",!0)),Common:()=>
2new A(F("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new A(F("ifNxkKzDGG",!0)),Cuneiform:()=>new A(F("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new A(F("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new A(F("w8rCiD",!0)),Cyrillic:()=>new A(F("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new A(F("gghCvC",!0)),Devanagari:()=>new A(F("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new A(F("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new A(F("ggmC7B",!0)),Duployan:()=>new A(F("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new A(F("ggsC1iBL68D",!0)),Elbasan:()=>new A(F("gohCnB",!0)),Elymaic:()=>new A(F("g-jCW",!0)),Ethiopic:()=>new A(F("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCD
2BCBBCOB",!1)),Garay:()=>new A(F("gqjClBEcJB",!0)),Georgian:()=>new A(F("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new A(F("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new A(F("w5gCa",!0)),Grantha:()=>new A(F("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new A(F("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new A(F("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new A(F("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new A(F("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new A(F("go4C5B",!0)),Han:()=>new A(F("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new A(F("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new A(F("gojCnBJJ",!0)),Hanunoo:()=>new A(F("g5FU",!0)),Hatran:()=>new A(F("gniCSCBGE",!0)),Hebrew:()=>new A(F("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new A(F("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new A(F("giiCVCI",!0)),Inherited:()=>new A(F("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new A(F("g7iCSGH",!0)),Inscriptional_Parthian:()=>new A(F("g6iCVDH",!0)),Javanese:()=>new A(F("gsqBtCDJFB",!0)),Kaithi:()=>new A(F("gkkCiCLA",!0)),Kannada:()=>new A(F("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new A(F("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new A(F("g4nCQCoBEc",!0)),Kayah_Li:()=>new A(F("goqBtBCA",!0)),Kharoshthi:()=>new A(F("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new A(F("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new A(F("g8F9CDJHJnPf",!0)),Khojki:()=>new A(F("gwkCRCuB",!0)),Khudawadi:()=>new A(F("w1kC6BGJ",!0)),Kirat_Rai:()=>new A(F("gq7C5B",!0)),Lao:()=>new A(F("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new A(F("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new A(F("ggH3BEOEC",!0)),Limbu:()=>new A(F("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new A(F("gwhC2JKVLH",!0)),Linear_B:()=>new A(F("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new A(F("wmpBvBx1eA",!0)),Lycian:()=>new A(F("g0gCc",!0)),Lydian:()=>new A(F("gpiCZGA",!0)),Mahajani:()=>new A(F("wqkCmB",!0)),Makasar:()=>new A(F("g3nCY",!0)),Malayalam:()=>new A(F("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new A(F("giCbDA",!0)),Manichaean:()=>new A(F("g2iCmBFL",!0)),Marchen:()=>new A(F("wjnCfDVCN",!0)),Masaram_Gondi:()=>new A(F("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new A(F("gy7C6C",!0)),Meetei_Mayek:()=>new A(F("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new A(F("gg6DkGDP",!0)),Meroitic_Cursive:()=>new A(F("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new A(F("gsiCf",!0)),Miao:()=>new A(F("g47CqCF4BIQ",!0)),Modi:()=>new A(F("gwlCkCMJ",!0)),Mongolian:()=>new A(F("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new A(F("gy6CeCJFB",!0)),Multani:()=>new A(F("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new A(F("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new A(F("gkiCeJI",!0)),Nag_Mundari:()=>new A(F("wm5DpB",!0)),Nandinagari:()=>new A(F("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new A(F("gsGrBFZHKEB",!0)),Newa:()=>new A(F("gglC7CCE",!0)),Nko:()=>new A(F("g+B6BDC",!0)),Nushu:()=>new A(F("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new A(F("go4DsBENDJFB",!0)),Ogham:()=>new A(F("g0Fc",!0)),Ol_Chiki:()=>new A(F("wiHvB",!0)),Ol_Onal:()=>new A(F("wu5DqBFA",!0)),Old_Hungarian:()=>new A(F("gkjCyBOyBIF",!0)),Old_Italic:()=>new A(F("g4gCjBKC",!0)),Old_North_Arabian:()=>new A(F("g0iCf",!0)),Old_Permic:()=>new A(F("w6gCqB",!0)),Old_Persian:()=>new A(F("g9gCjBFN",!0)),Old_Sogdian:()=>new A(F("g4jCnB",!0)),Old_South_Arabian:()=>new A(F("gziCf",!0)),Old_Turkic:()=>new A(F("ggjCoC",!0)),Old_Uyghur:()=>new A(F("w7jCZ",!0)),Oriya:()=>new A(F("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new A(F("wlhCjBFjB",!0)),Osmanya:()=>new A(F("gkhCdDJ",!0)),Pahawh_Hmong:()=>new A(F("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new A(F("gjiCf",!0)),Pau_Cin_Hau:()=>new A(F("g2mC4B",!0)),Phags_Pa:()=>new A(F("giqB3B",!0)),Phoenician:()=>new A(F("goiCbEA",!0)),Psalter_Pahlavi:()=>new A(F("g8iCRIDNG",!0)),Rejang:()=>new A(F("wpqBjBMA",!0)),Runic:()=>new A(F("g1FqCEK",!0)),Samaritan:()=>new A(F("ggCtBDO",!0)),Saurashtra:()=>new A(F("gkqBlCJL",!0)),Sharada:()=>new A(F("gskC-ChsCH",!0)),Shavian:()=>new A(F("wihCvB",!0)),Siddham:()=>new A(F("gslC1BDlB",!0)),Sidetic:()=>new A(F("gqiCZ",!0)),SignWriting:()=>new A(F("gg2DrUQECO",!0)),Sinhala:()=>new A(F("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new A(F("w5jCpB",!0)),Sora_Sompeng:()=>new A(F("wmkCYIJ",!0)),Soyombo:()=>new A(F("wymCyC",!0)),Sundanese:()=>new A(F("g8G-BhIH",!0)),Sunuwar:()=>new A(F("g+mChBPJ",!0)),Syloti_Nagri:()=>new A(F("ggqBsB",!0)),Syriac:()=>new A(F("g4BNC7BDCxIK",!0)),Tagalog:()=>new A(F("g4FVKA",!0)),Tagbanwa:()=>new A(F("g7FMCCCB",!0)),Tai_Le:()=>new A(F("wqGdDE",!0)),Tai_Tham:()=>new A(F("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new A(F("g0qBiCZE",!0)),Tai_Yo:()=>new A(F("g25DeCVJB",!0)),Takri:()=>new A(F("g0lC5BHJ",!0)),Tamil:()=>new A(F("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new A(F("wz6CuCCJ",!0)),Tangut:()=>new A(F("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>
2new A(F("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new A(F("g8BxB",!0)),Thai:()=>new A(F("hwD5BGb",!0)),Tibetan:()=>new A(F("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new A(F("wpL3BIBPA",!0)),Tirhuta:()=>new A(F("gklCnCJJ",!0)),Todhri:()=>new A(F("guhCzB",!0)),Tolong_Siki:()=>new A(F("wtnCrBFJ",!0)),Toto:()=>new A(F("w04De",!0)),Tulu_Tigalari:()=>new A(F("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new A(F("g8gCdCA",!0)),Unknown:()=>new A(F("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBND
2BLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-FB",!1)),Vai:()=>new A(F("gopBrJ",!0)),Vithkuqi:()=>new A(F("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new A(F("g24D5BGA",!0)),Warang_Citi:()=>new A(F("glmCyCNA",!0)),Yezidi:()=>new A(F("g0jCpBCCDB",!0)),Yi:()=>new A(F("ggoBskBE2B",!0)),Zanabazar_Square:()=>new A(F("gwmCnC",!0))});static FOLD_CATEGORIES=new x({L:()=>new A(F("laA",!0)),LC:()=>new A(F("laA",!0)),Ll:()=>new A(F("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new A(F("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new A(F("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new A(F("5cgBgBlgHAB",!1)),Mn:()=>new A(F("5cgBgBlgHAB",!1)),Emoji:()=>new A(F("8mJA",!0)),Extended_Pictographic:()=>new A(F("8mJA",!0)),Lowercase:()=>new A(F("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new A(F("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new A(F("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))});static FOLD_SCRIPT=new x({Common:()=>new A(F("8cgBgB",!1)),Greek:()=>new A(F("1FwUwU",!1)),Inherited:()=>new A(F("5cgBgBlgHAB",!1))})},L=class e{static MAX_RUNE=1114111;static MAX_ASCII=127;static MAX_LATIN1=255;static MAX_BMP=65535;static MIN_FOLD=65;static MAX_FOLD=125251;static MIN_HIGH_SURROGATE=55296;static MAX_HIGH_SURROGATE=56319;static MIN_LOW_SURROGATE=56320;static MAX_LOW_SURROGATE=57343;static MIN_SUPPLEMENTARY_CODE_POINT=65536;static is32(e,t){let r=0,n=e.length;for(;r<n;){let i=r+Math.floor((n-r)/2),s=e.getLo(i),a=e.getHi(i);if(s<=t&&t<=a)return(t-s)%e.getStride(i)==0;t<s?n=i:r=i+1}return!1}static is(t,r){if(r<=e.MAX_LATIN1){for(let e=0;e<t.length;e++){if(r>t.getHi(e))continue;let n=t.getLo(e);if(r<n)break;return(r-n)%t.getStride(e)==0}return!1}return t.length>0&&r>=t.getLo(0)&&e.is32(t,r)}static isUpper(t){if(t<=e.MAX_LATIN1){let e=String.fromCodePoint(t);return e.toUpperCase()===e&&e.toLowerCase()!==e}return e.is(R.Upper,t)}static isPrint(t){return t<=e.MAX_LATIN1?t>=32&&t<e.MAX_ASCII||t>=161&&173!==t:e.is(R.Print,t)}static simpleFold(e){if(R.CASE_ORBIT.has(e))return R.CASE_ORBIT.get(e);let t=S.toLowerCase(e);return t!==e?t:S.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(t<0||r<0)return!1;if(t<=e.MAX_ASCII&&r<=e.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let n=e.simpleFold(t);n!==t;n=e.simpleFold(n))if(n===r)return!0;return!1}};let k=new Uint8Array(256);for(let e=0;e<256;e++)k[e]=+(97<=e&&e<=122||65<=e&&e<=90||48<=e&&e<=57||95===e);let P=null,M=null;var G=class e{static METACHARACTERS="\\.+*?()|[]{}^$";static EMPTY_BEGIN_LINE=1;static EMPTY_END_LINE=2;static EMPTY_BEGIN_TEXT=4;static EMPTY_END_TEXT=8;static EMPTY_WORD_BOUNDARY=16;static EMPTY_NO_WORD_BOUNDARY=32;static EMPTY_ALL=-1;static emptyInts(){return[]}static isByteArray(e){return Array.isArray(e)||e instanceof Uint8Array}static isalnum(e){return S.CODES.get("0")<=e&&e<=S.CODES.get("9")||S.CODES.get("a")<=e&&e<=S.CODES.get("z")||S.CODES.get("A")<=e&&e<=S.CODES.get("Z")}static unhex(e){return S.CODES.get("0")<=e&&e<=S.CODES.get("9")?e-S.CODES.get("0"):S.CODES.get("a")<=e&&e<=S.CODES.get("f")?e-S.CODES.get("a")+10:S.CODES.get("A")<=e&&e<=S.CODES.get("F")?e-S.CODES.get("A")+10:-1}static escapeRune(t){let r="";if(L.isPrint(t))e.METACHARACTERS.indexOf(String.fromCodePoint(t))>=0&&(r+="\\"),r+=String.fromCodePoint(t);else switch(t){case S.CODES.get('"'):r+='\\"';break;case S.CODES.get("\\"):r+="\\\\";break;case S.CODES.get(" "):r+="\\t";break;case S.CODES.get("\n"):r+="\\n";break;case S.CODES.get("\r"):r+="\\r";break;case S.CODES.get("\b"):r+="\\b";break;case S.CODES.get("\f"):r+="\\f";break;default:{let e=t.toString(16);t<256?(r+="\\x",1===e.length&&(r+="0"),r+=e):r+=`\\x{${e}}`}}return r}static stringToRunes(e){let t=String(e),r=[],n=0;for(;n<t.length;){let e=t.codePointAt(n);
2r.push(e),n+=e>L.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===k[e]}static emptyOpContext(t,r){let n=0;return t<0&&(n|=e.EMPTY_BEGIN_TEXT|e.EMPTY_BEGIN_LINE),10===t&&(n|=e.EMPTY_BEGIN_LINE),r<0&&(n|=e.EMPTY_END_TEXT|e.EMPTY_END_LINE),10===r&&(n|=e.EMPTY_END_LINE),e.isWordRune(t)!==e.isWordRune(r)?n|=e.EMPTY_WORD_BOUNDARY:n|=e.EMPTY_NO_WORD_BOUNDARY,n}static quoteMeta(t){return t.split("").map(t=>e.METACHARACTERS.indexOf(t)>=0?`\\${t}`:t).join("")}static charCount(e){return e>L.MAX_BMP?2:1}static toArray(e){let t=e.length,r=Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(e){if(globalThis.TextEncoder)return P||(P=new TextEncoder),P.encode(e);{let t=[],r=0;for(let n=0;n<e.length;n++){let i=e.charCodeAt(n);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:((64512&i)===L.MIN_HIGH_SURROGATE&&n+1<e.length&&(64512&e.charCodeAt(n+1))===L.MIN_LOW_SURROGATE?(i=L.MIN_SUPPLEMENTARY_CODE_POINT+((1023&i)<<10)+(1023&e.charCodeAt(++n)),t[r++]=i>>18|240,t[r++]=i>>12&63|128):t[r++]=i>>12|224,t[r++]=i>>6&63|128),t[r++]=63&i|128)}return t}}static utf8ByteArrayToString(e){if(globalThis.TextDecoder){M||(M=new TextDecoder("utf-8"));let t=e instanceof Uint8Array?e:new Uint8Array(e);return M.decode(t)}{let t=[],r=0,n=0;for(;r<e.length;){let i=e[r++];if(i<128)t[n++]=String.fromCharCode(i);else if(i>191&&i<224){let s=e[r++];t[n++]=String.fromCharCode((31&i)<<6|63&s)}else if(i>239&&i<365){let s=((7&i)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-L.MIN_SUPPLEMENTARY_CODE_POINT;t[n++]=String.fromCharCode(L.MIN_HIGH_SURROGATE+(s>>10)),t[n++]=String.fromCharCode(L.MIN_LOW_SURROGATE+(1023&s))}else{let s=e[r++],a=e[r++];t[n++]=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}}return t.join("")}}};let H=(e=[],t=0)=>{let r=Object.create(null);for(let n=0;n<e.length;n++){let i=e[n],s=t+n;r[i]=s,r[s]=i}return Object.freeze(r)};var U=class e{static Encoding=H(["UTF_16","UTF_8"]);getEncoding(){throw Error("not implemented")}asCharSequence(){throw Error("not implemented")}asBytes(){throw Error("not implemented")}length(){throw Error("not implemented")}isUTF8Encoding(){return this.getEncoding()===e.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===e.Encoding.UTF_16}},V=class extends U{constructor(e=null){super(),this.bytes=e}getEncoding(){return U.Encoding.UTF_8}asCharSequence(){return G.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},j=class extends U{constructor(e=null){super(),this.charSequence=e}getEncoding(){return U.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return G.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},J=class{static utf16(e){return new j(e)}static utf8(e){return new V(G.isByteArray(e)?e:G.stringToUtf8ByteArray(e))}},q=class{static EOF(){return -8}constructor(){this.end=0}canCheckPrefix(){return!0}endPos(){return this.end}hasString(){return!1}hasAnyString(){return!1}prefixLength(){return 0}},K=class extends q{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){let r=e.bytes;if(0===r.length)return!0;let n=this.indexOf(this.bytes,r,this.start+t);return -1!==n&&n<=this.end-r.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){if((e+=this.start)>=this.end)return q.EOF();let t=255&this.bytes[e];if(t<128)return t<<3|1;if(t>=194&&t<=223&&e+1<this.end){let r=255&this.bytes[e+1];return(192&r)!=128?t<<3|1:((31&t)<<6|63&r)<<3|2}if(t>=224&&t<=239&&e+2<this.end){let r=255&this.bytes[e+1];if((192&r)!=128)return t<<3|1;let n=255&this.bytes[e+2];return(192&n)!=128?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3}{if(!(t>=240)||!(t<=244)||!(e+3<this.end))return t<<3|1;let r=255&this.bytes[e+1];if((192&r)!=128)return t<<3|1;let n=255&this.bytes[e+2];if((192&n)!=128)return t<<3|1;let i=255&this.bytes[e+3];return(192&i)!=128?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&i)<<3|4}}index(e,t){t+=this.start;let r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(e){e+=this.start;let t=-1;if(e>this.start&&e<=this.end){let r=e-1;if((t=this.bytes[r--])>=128){let n=e-4;for(n<this.start&&(n=this.start);r>=n&&(192&this.bytes[r])==128;)r--;r<this.start&&(r=this.start),t=this.step(r-this.start)>>3}}let r=e<this.end?this.step(e-this.start)>>3:-1;return G.emptyOpContext(t,r)}indexOf(e,t,r=0){let n=t.length;if(0===n)return r<=this.end?r:-1;let i=t[0],s=this.end-n,a="function"==typeof e.indexOf,o=r;for(;o<=s;){if(a){if(-1===(o=e.indexOf(i,o))||o>s)break}else{for(;o<=s&&e[o]!==i;)o++;if(o>s)break}let r=!0;for(let i=1;i<n;i++)if(e[o+i]!==t[i]){r=!1;break}if(r)return o;o++}return -1}prefixLength(e){return e.prefixUTF8.length}},z=class extends q{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){let r=this.charSequence.indexOf(e.str,this.start+t);return -1!==r&&r<=this.end-e.str.length}hasAnyString(e,t){return!!e.ac16&&e.ac16.searchUTF16(this.charSequence,this.start+t,this.end)}step(e){if((e+=this.start)>=this.end)return q.EOF();let t=this.charSequence.charCodeAt(e);if(t<L.MIN_HIGH_SURROGATE||t>L.MAX_HIGH_SURROGATE||e+1>=this.end)return t<<3|1;let r=this.charSequence.charCodeAt(e+1);return r>=L.MIN_LOW_SURROGATE&&r<=L.MAX_LOW_SURROGATE?(t-L.MIN_HIGH_SURROGATE)*1024+(r-L.MIN_LOW_SURROGATE)+L.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;let r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){let t=(e+=this.start)>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,r=e<this.end?this.charSequence.charCodeAt(e):-1;return G.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}},Q=class{static fromUTF8(e,t=0,r=e.length){return new K(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new z(e,t,r)}}
2,W=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},$=class extends W{constructor(e,t=null){let r=`error parsing regexp: ${e}`;t&&(r+=`: \`${t}\``),super(r),this.name="RE2JSSyntaxException",this.message=r,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},Y=class extends W{constructor(e){super(e),this.name="RE2JSCompileException"}},X=class extends W{constructor(e){super(e),this.name="RE2JSGroupException"}},Z=class extends W{constructor(e){super(e),this.name="RE2JSFlagsException"}},ee=class extends W{constructor(e){super(e),this.name="RE2JSInternalException"}},et=class e{static MAX_REPLACER_ARGS=65535;static quoteReplacement(e,t=!1){return t?0>e.indexOf("\\")&&0>e.indexOf("$")?e:e.split("").map(e=>{let t=e.codePointAt(0);return t===S.CODES.get("\\")||t===S.CODES.get("$")?`\\${e}`:e}).join(""):0>e.indexOf("$")?e:e.split("").map(e=>e.codePointAt(0)===S.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw Error("pattern is null");this.patternInput=e;const r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof U?this.resetMatcherInput(t):G.isByteArray(t)?this.resetMatcherInput(J.utf8(t)):this.resetMatcherInput(J.utf16(t))}pattern(){return this.patternInput}reset(){return this.matcherInputLength=this.matcherInput.length(),this.appendPos=0,this.hasMatch=!1,this.hasGroups=!1,this.anchorFlag=0,this}resetMatcherInput(e){if(null===e)throw Error("input is null");return e instanceof U||(e=G.isByteArray(e)?J.utf8(e):J.utf16(e)),this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new X(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new X(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if("string"==typeof e){let t=this.namedGroups[e];if(!Number.isFinite(t))throw new X(`group '${e}' not found`);e=t}let t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new X("perhaps no match attempted");let e=Object.create(null);for(let t of Object.keys(this.namedGroups))e[t]=this.group(t);return e}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new X(`Group index out of bounds: ${e}`);if(!this.hasMatch)throw new X("perhaps no match attempted");if(0===e||this.hasGroups)return;let t=this.matcherInputLength,r=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!r[0])throw new X("inconsistency in matching group data");this.groups=r[1],this.hasGroups=!0}matches(){return this.genMatch(0,_.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,_.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new X(`start index out of bounds: ${e}`);return this.reset(),this.genMatch(e,0)}if(e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])){let t=(this.matcherInput.isUTF16Encoding()?Q.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):Q.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e);t<0?e++:e+=7&t}return this.genMatch(e,_.UNANCHORED)}genMatch(e,t){let r=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return r[0]?(this.groups=r[1],this.hasMatch=!0,this.hasGroups=0===this.patternGroupCount,this.anchorFlag=t,!0):(this.hasMatch=!1,!1)}substring(e,t){return this.matcherInput.isUTF8Encoding()?G.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="",n=this.start(),i=this.end();return this.appendPos<n&&(r+=this.substring(this.appendPos,n)),this.appendPos=i,r+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e)}appendReplacementInternalJava(e){let t="",r=0,n=e.length,i=0;for(;i<n;){let s=e.codePointAt(i);if(s===S.CODES.get("\\")){if(r<i&&(t+=e.substring(r,i)),++i>=n)throw new X("character to be escaped is missing");r=i,i++;continue}if(s===S.CODES.get("$")){if(r<i&&(t+=e.substring(r,i)),i+1>=n)throw new X("Illegal group reference: group index is missing");let s=e.codePointAt(i+1);if(S.CODES.get("0")<=s&&s<=S.CODES.get("9")){let a=s-S.CODES.get("0"),o=i+2;for(;o<n;o++){let t=e.codePointAt(o);if(t<S.CODES.get("0")||t>S.CODES.get("9")||10*a+t-S.CODES.get("0")>this.patternGroupCount)break;a=10*a+t-S.CODES.get("0")}if(a>this.patternGroupCount)throw new X(`n > number of groups: ${a}`);let B=this.group(a);null!==B&&(t+=B),r=i=o}else if(s===S.CODES.get("{")){let s=i+2;for(;s<n&&e.codePointAt(s)!==S.CODES.get("}");)s++;
2if(s>=n)throw new X("named capture group is missing trailing '}'");let a=e.substring(i+2,s),o=this.group(a);null!==o&&(t+=o),r=i=s+1}else throw new X("Illegal group reference");continue}i++}return r<n&&(t+=e.substring(r,n)),t}appendReplacementInternalJs(e){let t="",r=0,n=e.length;for(let i=0;i<n-1;i++)if(e.codePointAt(i)===S.CODES.get("$")){let s=e.codePointAt(i+1);if(S.CODES.get("$")===s){r<i&&(t+=e.substring(r,i)),t+="$",r=++i+1;continue}if(S.CODES.get("&")===s){r<i&&(t+=e.substring(r,i));let n=this.group(0);null!==n?t+=n:t+="$&",r=++i+1;continue}if(S.CODES.get("`")===s){r<i&&(t+=e.substring(r,i)),t+=this.substring(0,this.start(0)),r=++i+1;continue}else if(S.CODES.get("'")===s){r<i&&(t+=e.substring(r,i)),t+=this.substring(this.end(0),this.matcherInputLength),r=++i+1;continue}else if(S.CODES.get("1")<=s&&s<=S.CODES.get("9")){let a=s-S.CODES.get("0");for(r<i&&(t+=e.substring(r,i)),i+=2;i<n&&!((s=e.codePointAt(i))<S.CODES.get("0")||s>S.CODES.get("9")||10*a+s-S.CODES.get("0")>this.patternGroupCount);i++)a=10*a+s-S.CODES.get("0");if(a>this.patternGroupCount){t+=`$${a}`,r=i,i--;continue}let o=this.group(a);null!==o&&(t+=o),r=i,i--;continue}else if(s===S.CODES.get("<")){r<i&&(t+=e.substring(r,i));let n=++i+1;for(;n<e.length&&e.codePointAt(n)!==S.CODES.get(">")&&e.codePointAt(n)!==S.CODES.get(" ");)n++;if(n===e.length||e.codePointAt(n)!==S.CODES.get(">")){t+=e.substring(i-1,n+1),r=n+1,i=n;continue}let s=e.substring(i+1,n);if(Object.prototype.hasOwnProperty.call(this.namedGroups,s)){let e=this.group(s);null!==e&&(t+=e)}else t+=`$<${s}>`;r=n+1,i=n;continue}}return r<n&&(t+=e.substring(r,n)),t}appendTail(){return this.substring(this.appendPos,this.matcherInputLength)}replaceAll(e,t=!1){return this.replace(e,!0,t)}replaceFirst(e,t=!1){return this.replace(e,!1,t)}replace(t,r=!0,n=!1){let i="";this.reset();let s="function"==typeof t,a=Object.keys(this.namedGroups).length>0,o=null;if(s){if(this.groupCount()>=e.MAX_REPLACER_ARGS)throw new X("Too many capture groups to safely invoke replacer function");o=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(i+=s?this.appendReplacementFunc(t,a,o):this.appendReplacement(t,n),r););return i+this.appendTail()}appendReplacementFunc(e,t,r){let n="",i=this.start(),s=this.end();return this.appendPos<i&&(n+=this.substring(this.appendPos,i)),this.appendPos=s,n+=String(e(...this.buildReplacerArgs(i,t,r)))}buildReplacerArgs(e,t,r){let n=[this.group(0)],i=this.groupCount();for(let e=1;e<=i;e++){let t=this.start(e);t<0?n.push(void 0):n.push(this.substring(t,this.end(e)))}if(n.push(e),n.push(r),t){let e=this.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);n.push(e)}return n}},er=class e{static ALT=1;static ALT_MATCH=2;static CAPTURE=3;static EMPTY_WIDTH=4;static FAIL=5;static MATCH=6;static NOP=7;static RUNE=8;static RUNE1=9;static RUNE_ANY=10;static RUNE_ANY_NOT_NL=11;static LB_WRITE=12;static LB_CHECK=13;static isRuneOp(t){return e.RUNE<=t&&t<=e.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(let r of e)t+=G.escapeRune(r);return t+'"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(e){if(1===this.runes.length){let t=this.runes[0];return(this.arg&_.FOLD_CASE)!=0?L.equalsIgnoreCase(t,e):e===t}let t=this.runes.length;if(0===t)return!1;if(2===t||4===t||6===t||8===t){for(let r=0;r<t&&!(e<this.runes[r]);r+=2)if(e<=this.runes[r+1])return!0;return!1}let r=0,n=t>>1;for(;n>1;){let t=n>>1;r+=this.runes[r+t<<1]<=e?t:0,n-=t}let i=(r+=+(this.runes[r<<1]<=e))-1;return i>=0&&e<=this.runes[i<<1|1]}matchRunePos(e){if(1===this.runes.length){let t=this.runes[0];return(this.arg&_.FOLD_CASE)!=0?L.equalsIgnoreCase(t,e)?0:-1:e===t?0:-1}let t=this.runes.length;if(0===t)return -1;if(2===t||4===t||6===t||8===t){for(let r=0;r<t&&!(e<this.runes[r]);r+=2)if(e<=this.runes[r+1])return Math.floor(r/2);return -1}let r=0,n=t>>1;for(;n>1;){let t=n>>1;r+=this.runes[r+t<<1]<=e?t:0,n-=t}let i=(r+=+(this.runes[r<<1]<=e))-1;return i>=0&&e<=this.runes[i<<1|1]?i:-1}toString(){switch(this.op){case e.ALT:return`alt -> ${this.out}, ${this.arg}`;case e.ALT_MATCH:return`altmatch -> ${this.out}, ${this.arg}`;case e.CAPTURE:return`cap ${this.arg} -> ${this.out}`;case e.EMPTY_WIDTH:return`empty ${this.arg} -> ${this.out}`;case e.MATCH:return`match${0!==this.arg?` ${this.arg}`:""}`;case e.FAIL:return"fail";case e.NOP:return`nop -> ${this.out}`;case e.LB_WRITE:return`lbwrite ${this.arg} -> ${this.out}`;case e.LB_CHECK:return`lbcheck ${this.arg} -> ${this.out}`;case e.RUNE:if(null===this.runes)return"rune <null>";return["rune ",e.escapeRunes(this.runes),(this.arg&_.FOLD_CASE)!=0?"/i":""," -> ",this.out].join("");case e.RUNE1:return`rune1 ${e.escapeRunes(this.runes)} -> ${this.out}`;case e.RUNE_ANY:return`any -> ${this.out}`;case e.RUNE_ANY_NOT_NL:return`anynotnl -> ${this.out}`;default:throw Error("unhandled case in Inst.toString")}}},en=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseCaps=null,this.size=0,this.ncap=0}init(e){this.ncap=e;let t=this.densePcs.length*e;(!this.denseCaps||this.denseCaps.length<t)&&(this.denseCaps=new Int32Array(t))}contains(e){let t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){let t=this.size++;return this.sparse[e]=t,this.densePcs[t]=e,t}clear(){this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+"}"}},ei=class e{static fromRE2(t){let r=new e;return r.prog=t.prog,r.re2=t,r.q0=new en(r.prog.numInst()),r.q1=new en(r.prog.numInst()),r.matched=!1,r.matchcap=new Int32Array(r.prog.numCap<2?2:r.prog.numCap),r.ncap=0,r}static fromMachine(t){return e.fromRE2(t.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){this.ncap=e,e>this.matchcap.length?this.matchcap=new Int32Array(e).fill(-1):this.matchcap.fill(-1),this.q0.init(e),this.q1.init(e),this.prog.numLb>0&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}submatches(){return 0===this.ncap?G.emptyInts():G.toArray(this.matchcap.subarray(0,this.ncap))}match(e,t,r){let n,i=this.re2.cond;if(i===G.EMPTY_ALL||(r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let s=this.prog.numLb>0?0:t,a=this.q0,o=this.q1,B=e.step(s),l=B>>3,u=7&B,h=-1,c=0;for(B!==q.EOF()&&(h=(B=e.step(s+u))>>3,c=7&B),n=0===s?G.emptyOpContext(-1,l):e.context(s);;){if(a.isEmpty()){if((i&G.EMPTY_BEGIN_TEXT)!=0&&0!==s||(r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==s||this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&h!==this.re2.prefixRune&&e.canCheckPrefix()){let t=e.index(this.re2,s);if(t<0)break;s+=t,l=(B=e.step(s))>>3,u=7&B,h=(B=e.step(s+u))>>3,c=7&B,n=e.context(s)}}if(0===s&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],s,this.matchcap,0,n);!this.matched&&(0===s||r===_.UNANCHORED)&&s>=t&&(this.ncap>0&&(this.matchcap[0]=s),this.add(a,this.prog.start,s,this.matchcap,0,n));let d=s+u;if(n=e.context(d),this.step(a,o,s,d,l,n,r,s===e.endPos()),0===u||0===this.ncap&&this.matched)break;s+=u,l=h,u=c,-1!==l&&(h=(B=e.step(s+u))>>3,c=7&B);let C=a;a=o,o=C}return o.clear(),this.matched}matchSet(e,t,r){let n=this.re2.cond;if(n===G.EMPTY_ALL||(r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return[];let i=this.prog.numLb>0?0:t,s=this.q0,a=this.q1,o=e.step(i),B=o>>3,l=7&o,u=-1,h=0;o!==q.EOF()&&(u=(o=e.step(i+l))>>3,h=7&o);let c=0===i?G.emptyOpContext(-1,B):e.context(i),d=new Set;for(;!s.isEmpty()||((n&G.EMPTY_BEGIN_TEXT)==0||0===i)&&(r!==_.ANCHOR_START&&r!==_.ANCHOR_BOTH||0===i);){if(0===i&&this.prog.numLb>0)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(s,this.prog.lbStarts[e],i,this.matchcap,0,c);(0===i||r===_.UNANCHORED)&&i>=t&&this.add(s,this.prog.start,i,this.matchcap,0,c);let n=i+l;c=e.context(n);for(let t=0;t<s.size;t++){let o=s.densePcs[t],l=this.prog.inst[o],u=t*this.ncap,h=!1;switch(l.op){case er.MATCH:if(r===_.ANCHOR_BOTH&&i!==e.endPos())break;d.add(l.arg);break;case er.RUNE:h=l.matchRune(B);break;case er.RUNE1:h=B===l.runes[0];break;case er.RUNE_ANY:h=!0;break;case er.RUNE_ANY_NOT_NL:h=10!==B;break;default:continue}h&&this.add(a,l.out,n,s.denseCaps,u,c)}if(s.clear(),0===l)break;i+=l,B=u,l=h,-1!==B&&(u=(o=e.step(i+l))>>3,h=7&o);let C=s;s=a,a=C}return a.clear(),Array.from(d).sort((e,t)=>
2e-t)}step(e,t,r,n,i,s,a,o){let B=this.re2.longest;for(let l=0;l<e.size;l++){let u=e.densePcs[l],h=l*this.ncap;if(B&&this.matched&&this.ncap>0&&this.matchcap[0]<e.denseCaps[h])continue;let c=this.prog.inst[u],d=!1;switch(c.op){case er.MATCH:if(a===_.ANCHOR_BOTH&&!o)break;if(this.ncap>0&&(!B||!this.matched||this.matchcap[1]<r)){e.denseCaps[h+1]=r;for(let t=0;t<this.ncap;t++)this.matchcap[t]=e.denseCaps[h+t]}B||(e.size=0),this.matched=!0;break;case er.RUNE:d=c.matchRune(i);break;case er.RUNE1:d=i===c.runes[0];break;case er.RUNE_ANY:d=!0;break;case er.RUNE_ANY_NOT_NL:d=10!==i;break;default:continue}d&&this.add(t,c.out,n,e.denseCaps,h,s)}e.clear()}add(e,t,r,n,i,s){for(;;){if(0===t||e.contains(t))return;let a=e.add(t),o=this.prog.inst[t];switch(o.op){case er.FAIL:return;case er.ALT:case er.ALT_MATCH:this.add(e,o.out,r,n,i,s),t=o.arg;continue;case er.EMPTY_WIDTH:if((o.arg&~s)==0){t=o.out;continue}return;case er.NOP:t=o.out;continue;case er.CAPTURE:if(o.arg<this.ncap){let t=n[i+o.arg];n[i+o.arg]=r,this.add(e,o.out,r,n,i,s),n[i+o.arg]=t;return}t=o.out;continue;case er.LB_WRITE:this.lbTable[Math.abs(o.arg)]=r,t=o.out;continue;case er.LB_CHECK:if(o.arg>0){if(this.lbTable[o.arg]===r){t=o.out;continue}}else if(this.lbTable[-o.arg]!==r){t=o.out;continue}return;case er.MATCH:case er.RUNE:case er.RUNE1:case er.RUNE_ANY:case er.RUNE_ANY_NOT_NL:if(this.ncap>0){let t=a*this.ncap;for(let r=0;r<this.ncap;r++)e.denseCaps[t+r]=n[i+r]}return;default:throw new ee("unhandled")}}}};let es=e=>{let t=-0x7ee3623b;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,0x1000193);return t},ea=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};var eo=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=Array(L.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=Array(L.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},eB=class e{static MAX_CACHE_CLEARS=5;static STATE_MEMORY_ESTIMATE=838;constructor(t,r=8388608){this.prog=t,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(r/e.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){let t=new Set,r=[...e],n=!1,i=[];for(;r.length>0;){let e=r.pop();if(t.has(e))continue;t.add(e);let s=this.prog.getInst(e);switch(s.op){case er.MATCH:n=!0,i.includes(s.arg)||i.push(s.arg);break;case er.ALT:case er.ALT_MATCH:r.push(s.out),r.push(s.arg);break;case er.NOP:case er.CAPTURE:r.push(s.out);break;case er.EMPTY_WIDTH:case er.LB_WRITE:case er.LB_CHECK:return null}}let s=Int32Array.from(t).sort();return i.sort((e,t)=>e-t),{pcs:s,isMatch:n,matchIDs:i}}getState(t){let r=this.computeClosure(t);if(!r)return null;let n=r.pcs,i=es(n),s=this.stateCache.get(i);if(s)for(let e=0;e<s.length;e++){let t=s[e];if(ea(t.nfaStates,n))return t.lastSeen=++this.clock,t}else s=[],this.stateCache.set(i,s);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=e.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null,null;this.evictCache(),(s=this.stateCache.get(i))||(s=[],this.stateCache.set(i,s))}let a=new eo(n,r.isMatch,r.matchIDs);return a.lastSeen=++this.clock,s.push(a),this.stateCount++,a}evictCache(){let e=[];for(let t of this.stateCache.values())for(let r=0;r<t.length;r++)e.push(t[r]);e.sort((e,t)=>e.lastSeen-t.lastSeen);let t=Math.max(1,Math.floor(this.stateLimit/2)),r=e.length-t,n=e.slice(r),i=new Set(n);this.stateCache.clear(),this.stateCount=0;for(let e=0;e<n.length;e++){let t=n[e];t.nextLatin1.fill(null),t.nextLatin1Anchored.fill(null),t.transKeys.length=0,t.transVals.length=0;let r=es(t.nfaStates),i=this.stateCache.get(r);i||(i=[],this.stateCache.set(r,i)),i.push(t),this.stateCount++}this.startState&&!i.has(this.startState)&&(this.startState=null)}step(e,t,r){if(t<=L.MAX_LATIN1)if(r===_.UNANCHORED){let r=e.nextLatin1[t];if(null!==r)return r}else{let r=e.nextLatin1Anchored[t];if(null!==r)return r}else{let n=t+(r===_.UNANCHORED?0:L.MAX_RUNE+1),i=e.transKeys,s=i.length;for(let t=0;t<s;t++)if(i[t]===n)return e.transVals[t]}let n=[];for(let r=0;r<e.nfaStates.length;r++){let i=e.nfaStates[r],s=this.prog.getInst(i);er.isRuneOp(s.op)&&s.matchRune(t)&&n.push(s.out)}r===_.UNANCHORED&&n.push(this.prog.start);let i=this.getState(n);if(t<=L.MAX_LATIN1)r===_.UNANCHORED?e.nextLatin1[t]=i:e.nextLatin1Anchored[t]=i;else{let n=t+(r===_.UNANCHORED?0:L.MAX_RUNE+1);e.transKeys.push(n),e.transVals.push(i)}return i}match(e,t,r){if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return!1;if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),i=this.startState;if(i.isMatch){if(r!==_.ANCHOR_BOTH)return!0;else if(t===n)return!0}let s=t;for(;s<n;){let t=e.step(s),a=t>>3,o=7&t;if(0===o)break;if(null===(i=r===_.UNANCHORED&&a<=L.MAX_LATIN1&&i.nextLatin1[a]||this.step(i,a,r)))return null;if(i.lastSeen=++this.clock,i.isMatch){if(r!==_.ANCHOR_BOTH)return!0;else if(s+o===n)return!0}if(0===i.nfaStates.length&&r!==_.UNANCHORED)break;s+=o}return!1}matchSet(e,t,r){if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),i=this.startState,s=new Set,a=(e,t)=>
2{e.isMatch&&(r===_.ANCHOR_BOTH?t===n&&e.matchIDs.forEach(e=>s.add(e)):e.matchIDs.forEach(e=>s.add(e)))};a(i,t);let o=t;for(;o<n;){let t=e.step(o),n=t>>3,s=7&t;if(0===s)break;if(null===(i=r===_.UNANCHORED&&n<=L.MAX_LATIN1&&i.nextLatin1[n]||this.step(i,n,r)))return null;if(i.lastSeen=++this.clock,a(i,o+=s),0===i.nfaStates.length&&r!==_.UNANCHORED)break}return Array.from(s).sort((e,t)=>e-t)}},el=class{constructor(){this.end=0,this.cap=new Int32Array(0),this.matchcap=new Int32Array(0),this.ncap=0,this.jobPc=new Int32Array(256),this.jobArg=new Uint8Array(256),this.jobPos=new Int32Array(256),this.jobLen=0,this.visited=new Uint32Array(0)}reset(e,t,r){this.end=t,this.jobLen=0,this.ncap=r;let n=e.numInst()*(t+1)+32-1>>>5;this.visited.length<n?this.visited=new Uint32Array(n):this.visited.fill(0,0,n),this.cap.length<r?this.cap=new Int32Array(r).fill(-1):this.cap.fill(-1,0,r),this.matchcap.length<r?this.matchcap=new Int32Array(r).fill(-1):this.matchcap.fill(-1,0,r)}shouldVisit(e,t){let r=e*(this.end+1)+t,n=r>>>5,i=1<<(31&r);return(this.visited[n]&i)==0&&(this.visited[n]|=i,!0)}push(e,t,r,n){if(e.prog.getInst(t).op!==er.FAIL&&(n||this.shouldVisit(t,r))){if(this.jobLen>=this.jobPc.length){let e=2*this.jobPc.length,t=new Int32Array(e);t.set(this.jobPc),this.jobPc=t;let r=new Uint8Array(e);r.set(this.jobArg),this.jobArg=r;let n=new Int32Array(e);n.set(this.jobPos),this.jobPos=n}this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=+!!n,this.jobPos[this.jobLen]=r,this.jobLen++}}tryBacktrack(e,t,r,n,i){let s=e.longest;for(this.push(e,r,n,!1);this.jobLen>0;){this.jobLen--;let r=this.jobPc[this.jobLen],n=1===this.jobArg[this.jobLen],a=this.jobPos[this.jobLen],o=!0;for(;o||this.shouldVisit(r,a);){o=!1;let B=e.prog.getInst(r);switch(B.op){case er.FAIL:throw new ee("unexpected InstFail");case er.ALT:if(n){n=!1,r=B.arg;continue}this.push(e,r,a,!0),r=B.out;continue;case er.ALT_MATCH:{let t=e.prog.getInst(B.out);if(er.isRuneOp(t.op)){this.push(e,B.arg,a,!1),r=B.arg,a=this.end;continue}this.push(e,B.out,this.end,!1),r=B.out;continue}case er.RUNE:{let e=t.step(a);if(e===q.EOF()||!B.matchRune(e>>3))break;a+=7&e,r=B.out;continue}case er.RUNE1:{let e=t.step(a);if(e===q.EOF()||e>>3!==B.runes[0])break;a+=7&e,r=B.out;continue}case er.RUNE_ANY_NOT_NL:{let e=t.step(a);if(e===q.EOF()||e>>3==10)break;a+=7&e,r=B.out;continue}case er.RUNE_ANY:{let e=t.step(a);if(e===q.EOF())break;a+=7&e,r=B.out;continue}case er.CAPTURE:if(n){this.cap[B.arg]=a;break}B.arg<this.ncap&&(this.push(e,r,this.cap[B.arg],!0),this.cap[B.arg]=a),r=B.out;continue;case er.EMPTY_WIDTH:{let e=t.context(a);if((B.arg&~e)!=0)break;r=B.out;continue}case er.NOP:r=B.out;continue;case er.MATCH:{if(i===_.ANCHOR_BOTH&&a!==this.end)break;if(0===this.ncap)return!0;this.ncap>1&&(this.cap[1]=a);let e=this.matchcap[1];if((-1===e||s&&a>0&&a>e)&&this.matchcap.set(this.cap),!s||a===this.end)return!0;break}case er.LB_WRITE:case er.LB_CHECK:throw new ee("Backtracker cannot evaluate Lookbehind instructions");default:throw new ee("bad inst")}break}}return s&&this.matchcap.length>1&&this.matchcap[1]>=0}};let eu=[];var eh=class e{static shouldBacktrack(e){return 500>=e.numInst()}static maxBitStateLen(t){return e.shouldBacktrack(t)?Math.floor(262144/t.numInst()):0}static execute(e,t,r,n,i){let s=e.cond;if(s===G.EMPTY_ALL||(n===_.ANCHOR_START||n===_.ANCHOR_BOTH)&&0!==r||(s&G.EMPTY_BEGIN_TEXT)!=0&&0!==r)return null;let a=eu.length>0?eu.pop():new el,o=t.endPos();a.reset(e.prog,o,i);let B=!1;if((s&G.EMPTY_BEGIN_TEXT)!=0||n===_.ANCHOR_START||n===_.ANCHOR_BOTH)a.ncap>0&&(a.cap[0]=r),a.tryBacktrack(e,t,e.prog.start,r,n)&&(B=!0);else{let i=-1;for(;r<=o&&0!==i;r+=i){if(e.prefix.length>0){let n=t.index(e,r);if(n<0)break;r+=n}if(a.ncap>0&&(a.cap[0]=r),a.tryBacktrack(e,t,e.prog.start,r,n)){B=!0;break}let s=t.step(r);i=s===q.EOF()?0:7&s}}if(!B)return eu.push(a),null;let l=0===i?[]:G.toArray(a.matchcap.subarray(0,i));return eu.push(a),l}},ec=class{constructor(e){this.sparse=new Uint32Array(e),this.dense=new Uint32Array(e),this.size=0,this.nextIndex=0}empty(){return this.nextIndex>=this.size}next(){return this.dense[this.nextIndex++]}clear(){this.size=0,this.nextIndex=0}contains(e){return e<this.sparse.length&&this.sparse[e]<this.size&&this.dense[this.sparse[e]]===e}insert(e){this.contains(e)||this.insertNew(e)}insertNew(e){!(e>=this.sparse.length)&&(this.sparse[e]=this.size,this.dense[this.size]=e,this.size++)}},ed=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=Array(e.inst.length);for(let t=0;t<e.inst.length;t++){const r=e.inst[t],n=new er(r.op);n.out=r.out,n.arg=r.arg,n.runes=r.runes?r.runes.slice():[],n.next=null,this.inst[t]=n}}},eC=class e{static compile(e){if(0===e.start||e.numLb>0)return null;let t=e.inst[e.start];if(t.op!==er.EMPTY_WIDTH||(t.arg&G.EMPTY_BEGIN_TEXT)==0)return null;let r=!1;for(let t=0;t<e.inst.length;t++)if(e.inst[t].op===er.ALT||e.inst[t].op===er.ALT_MATCH){r=!0;break}for(let t=0;t<e.inst.length;t++){let n=e.inst[t],i=e.inst[n.out].op;switch(n.op){case er.ALT:case er.ALT_MATCH:if(i===er.MATCH||e.inst[n.arg].op===er.MATCH)return null;break;case er.EMPTY_WIDTH:if(i===er.MATCH){if((n.arg&G.EMPTY_END_TEXT)===G.EMPTY_END_TEXT)continue;return null}break;default:if(i===er.MATCH&&r)return null}}let n=(e=>{let t=new ed(e);for(let e=0;e<t.inst.length;e++){let r=t.inst[e];if(r.op!==er.ALT&&r.op!==er.ALT_MATCH)continue;let n="out",i="arg",s=t.inst[r[i]];if(s.op!==er.ALT&&s.op!==er.ALT_MATCH&&(n="arg",i="out",(s=t.inst[r[i]]).op!==er.ALT&&s.op!==er.ALT_MATCH))continue;let a=t.inst[r[n]];if(a.op===er.ALT||a.op===er.ALT_MATCH)continue;let o="out",B="arg",l=!1;s.out===e?l=!0:s.arg===e&&(l=!0,o="arg",B="out"),l&&(s[o]=r[n]),r[n]===s[o]&&(r[i]=s[B])}return t})(e);return null!==(n=(e=>{if(e.inst.length>=1e3)return null;let t=new ec(e.inst.length),r=new ec(e.inst.length),n=Array(e.inst.length),i=Array(e.inst.length).fill(!1),s=a=>{let o=!0,B=e.inst[a];if(r.contains(a))return!0;switch(r.insert(a),B.op){case er.ALT:case er.ALT_MATCH:{o=s(B.out)&&s(B.arg);let e=i[B.out],t=i[B.arg];if(e&&t)return!1;if(t){let r=B.out;B.out=B.arg,B.arg=r;let n=e;e=t,t=n}e&&(i[a]=!0,B.op=er.ALT_MATCH);let r=((e,t,r,n)=>{let i=e.length,s=t.length,a=0,o=0,B=[],l=[],u=-1,h=i=>{let s=i?e:t,h=i?a:o;return(!(u>0)||!(s[h]<=B[u]))&&(B.push(s[h],s[h+1]),i?a+=2:o+=2,u+=2,l.push(i?r:n),!0)};for(;a<i||o<s;)if(!h(!!(o>=s)||!(a>=i)&&!(t[o]<e[a])&&!0))return null;return{merged:B,next:l}})(n[B.out]||[],n[B.arg]||[],B.out,B.arg);if(!r)return!1;n[a]=r.merged,B.next=new Uint32Array(r.next);break}case er.CAPTURE:case er.EMPTY_WIDTH:case er.NOP:o=s(B.out),i[a]=i[B.out],n[a]=n[B.out]?n[B.out].slice():[],B.next=new Uint32Array(Math.floor(n[a].length/2)+1).fill(B.out);break;case er.MATCH:case er.FAIL:i[a]=B.op===er.MATCH;break;case er.RUNE:{if(i[a]=!1,B.next&&B.next.length>0)break;if(t.insert(B.out),!B.runes||0===B.runes.length){n[a]=[],B.next=new Uint32Array([B.out]);break}let e=[];
2if(1===B.runes.length&&(B.arg&_.FOLD_CASE)!=0){let t=B.runes[0];e.push(t,t);for(let r=L.simpleFold(t);r!==t;r=L.simpleFold(r))e.push(r,r);e.sort((e,t)=>e-t)}else for(let t=0;t<B.runes.length;t++)e.push(B.runes[t]);n[a]=e,B.next=new Uint32Array(Math.floor(e.length/2)+1).fill(B.out),B.op=er.RUNE;break}case er.RUNE1:{if(i[a]=!1,B.next&&B.next.length>0)break;t.insert(B.out);let e=[];if((B.arg&_.FOLD_CASE)!=0){let t=B.runes[0];e.push(t,t);for(let r=L.simpleFold(t);r!==t;r=L.simpleFold(r))e.push(r,r);e.sort((e,t)=>e-t)}else e.push(B.runes[0],B.runes[0]);n[a]=e,B.next=new Uint32Array(Math.floor(e.length/2)+1).fill(B.out),B.op=er.RUNE;break}case er.RUNE_ANY:if(i[a]=!1,B.next&&B.next.length>0)break;t.insert(B.out),n[a]=[0,L.MAX_RUNE],B.next=new Uint32Array([B.out]);break;case er.RUNE_ANY_NOT_NL:if(i[a]=!1,B.next&&B.next.length>0)break;t.insert(B.out),n[a]=[0,9,11,L.MAX_RUNE],B.next=new Uint32Array(Math.floor(n[a].length/2)+1).fill(B.out)}return o};for(t.clear(),t.insert(e.start);!t.empty();)if(r.clear(),!s(t.next()))return null;for(let t=0;t<e.inst.length;t++)n[t]&&(e.inst[t].runes=n[t]);return e})(n))&&((e,t)=>{for(let r=0;r<t.inst.length;r++){let n=t.inst[r];switch(n.op){case er.ALT:case er.ALT_MATCH:case er.RUNE:break;case er.CAPTURE:case er.EMPTY_WIDTH:case er.NOP:case er.MATCH:case er.FAIL:e.inst[r].next=null;break;case er.RUNE1:case er.RUNE_ANY:case er.RUNE_ANY_NOT_NL:e.inst[r].next=null,e.inst[r].op=n.op,e.inst[r].runes=n.runes?n.runes.slice():[]}}})(n,e),n}static next(e,t){let r=e.matchRunePos(t);return r>=0?e.next[r]:e.op===er.ALT_MATCH?e.out:0}static execute(t,r,n,i,s){let a,o=t.onepass;if(!o)return null;let B=new Int32Array(s).fill(-1),l=!1,u=r.step(n),h=u>>3,c=7&u,d=q.EOF(),C=-1,p=0;u!==q.EOF()&&(d=r.step(n+c))!==q.EOF()&&(C=d>>3,p=7&d);let f=0===n?G.emptyOpContext(-1,h):r.context(n),g=o.start;for(;;){switch(g=(a=o.inst[g]).out,a.op){case er.MATCH:if(i===_.ANCHOR_BOTH&&n!==r.endPos())return null;return l=!0,B.length>0&&(B[0]=0,B[1]=n),0===s?[]:G.toArray(B);case er.RUNE:if(!a.matchRune(h))return null;break;case er.RUNE1:if(h!==a.runes[0])return null;break;case er.RUNE_ANY:break;case er.RUNE_ANY_NOT_NL:if(10===h)return null;break;case er.ALT:case er.ALT_MATCH:g=e.next(a,h);continue;case er.FAIL:return null;case er.NOP:continue;case er.EMPTY_WIDTH:if((a.arg&~f)!=0)return null;continue;case er.CAPTURE:a.arg<B.length&&(B[a.arg]=n);continue;default:throw new ee("bad inst")}if(0===c)break;f=G.emptyOpContext(h,C),n+=c,h=C,c=p,-1!==h&&((d=r.step(n+c))!==q.EOF()?(C=d>>3,p=7&d):(C=-1,p=0))}return l?0===s?[]:G.toArray(B):null}},ep=class e{static Op=H(["NO_MATCH","EMPTY_MATCH","LITERAL","CHAR_CLASS","ANY_CHAR_NOT_NL","ANY_CHAR","BEGIN_LINE","END_LINE","BEGIN_TEXT","END_TEXT","WORD_BOUNDARY","NO_WORD_BOUNDARY","CAPTURE","STAR","PLUS","QUEST","REPEAT","CONCAT","ALTERNATE","PLB","NLB","LEFT_PAREN","VERTICAL_BAR"]);static isPseudoOp(t){return t>=e.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===S.CODES.get("-")?"\\":""}static fromRegexp(t){let r=new e(t.op);return r.flags=t.flags,r.subs=t.subs,r.runes=t.runes,r.cap=t.cap,r.min=t.min,r.max=t.max,r.name=t.name,r.namedGroups=t.namedGroups,r.lb=t.lb,r}constructor(t){this.op=t,this.flags=0,this.subs=e.emptySubs(),this.runes=[],this.min=0,this.max=0,this.cap=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}reinit(){this.flags=0,this.subs=e.emptySubs(),this.runes=[],this.cap=0,this.min=0,this.max=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}toString(){return this.appendTo()}appendTo(){let t="";switch(this.op){case e.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case e.Op.EMPTY_MATCH:t+="(?:)";break;case e.Op.STAR:case e.Op.PLUS:case e.Op.QUEST:case e.Op.REPEAT:{let r=this.subs[0];switch(r.op>e.Op.CAPTURE||r.op===e.Op.LITERAL&&r.runes.length>1?t+=`(?:${r.appendTo()})`:t+=r.appendTo(),this.op){case e.Op.STAR:t+="*";break;case e.Op.PLUS:t+="+";break;case e.Op.QUEST:t+="?";break;case e.Op.REPEAT:t+=`{${this.min}`,this.min!==this.max&&(t+=",",this.max>=0&&(t+=this.max)),t+="}"}(this.flags&_.NON_GREEDY)!=0&&(t+="?");break}case e.Op.CONCAT:for(let r of this.subs)r.op===e.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case e.Op.ALTERNATE:{let e="";for(let r of this.subs)t+=e,e="|",t+=r.appendTo();break}case e.Op.LITERAL:for(let e of((this.flags&_.FOLD_CASE)!=0&&(t+="(?i:"),this.runes))t+=G.escapeRune(e);(this.flags&_.FOLD_CASE)!=0&&(t+=")");break;case e.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case e.Op.ANY_CHAR:t+="(?s:.)";break;
vendor: 14,378 bytes, line 2
2case e.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case e.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case e.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==e.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case e.Op.BEGIN_TEXT:t+="\\A";break;case e.Op.END_TEXT:(this.flags&_.WAS_DOLLAR)!=0?t+="(?-m:$)":t+="\\z";break;case e.Op.BEGIN_LINE:t+="^";break;case e.Op.END_LINE:t+="$";break;case e.Op.WORD_BOUNDARY:t+="\\b";break;case e.Op.NO_WORD_BOUNDARY:t+="\\B";break;case e.Op.CHAR_CLASS:if(this.runes.length%2!=0){t+="[invalid char class]";break}if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===L.MAX_RUNE){t+="^";for(let r=1;r<this.runes.length-1;r+=2){let n=this.runes[r]+1,i=this.runes[r+1]-1;t+=e.quoteIfHyphen(n),t+=G.escapeRune(n),n!==i&&(t+="-",t+=e.quoteIfHyphen(i),t+=G.escapeRune(i))}}else for(let r=0;r<this.runes.length;r+=2){let n=this.runes[r],i=this.runes[r+1];t+=e.quoteIfHyphen(n),t+=G.escapeRune(n),n!==i&&(t+="-",t+=e.quoteIfHyphen(i),t+=G.escapeRune(i))}t+="]";break;default:t+=this.op}return t}maxCap(){let t=0;if(this.op===e.Op.CAPTURE&&(t=this.cap),null!==this.subs)for(let e of this.subs){let r=e.maxCap();t<r&&(t=r)}return t}equals(t){if(!(null!==t&&t instanceof e)||this.op!==t.op)return!1;switch(this.op){case e.Op.END_TEXT:if((this.flags&_.WAS_DOLLAR)!=(t.flags&_.WAS_DOLLAR))return!1;break;case e.Op.LITERAL:case e.Op.CHAR_CLASS:if(null===this.runes&&null===t.runes)break;if(null===this.runes||null===t.runes||this.runes.length!==t.runes.length)return!1;for(let e=0;e<this.runes.length;e++)if(this.runes[e]!==t.runes[e])return!1;break;case e.Op.ALTERNATE:case e.Op.CONCAT:if(this.subs.length!==t.subs.length)return!1;for(let e=0;e<this.subs.length;++e)if(!this.subs[e].equals(t.subs[e]))return!1;break;case e.Op.STAR:case e.Op.PLUS:case e.Op.QUEST:if((this.flags&_.NON_GREEDY)!=(t.flags&_.NON_GREEDY)||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.REPEAT:if((this.flags&_.NON_GREEDY)!=(t.flags&_.NON_GREEDY)||this.min!==t.min||this.max!==t.max||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.CAPTURE:if(this.cap!==t.cap||(null===this.name?null!==t.name:this.name!==t.name)||!this.subs[0].equals(t.subs[0]))return!1;break;case e.Op.PLB:case e.Op.NLB:if(this.lb!==t.lb||!this.subs[0].equals(t.subs[0]))return!1}return!0}},ef=class{constructor(e){for(const t of(this.next=[Object.create(null)],this.fail=[0],this.match=[!1],e)){let e=0;for(let r=0;r<t.length;r++){const n=t[r];n in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][n]=this.next.length-1),e=this.next[e][n]}this.match[e]=!0}const t=[];for(const e in this.next[0])if(Object.prototype.hasOwnProperty.call(this.next[0],e)){const r=this.next[0][e];this.fail[r]=0,t.push(r)}for(;t.length>0;){const e=t.shift();for(const r in this.next[e])if(Object.prototype.hasOwnProperty.call(this.next[e],r)){const n=this.next[e][r];let i=this.fail[e];for(;0!==i&&!(r in this.next[i]);)i=this.fail[i];r in this.next[i]?this.fail[n]=this.next[i][r]:this.fail[n]=0,this.match[n]=this.match[n]||this.match[this.fail[n]],t.push(n)}}}searchUTF16(e,t,r){let n=0;for(let i=t;i<r;i++){let t=e.charCodeAt(i);for(;0!==n&&!(t in this.next[n]);)n=this.fail[n];if(t in this.next[n]&&(n=this.next[n][t]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let i=t;i<r;i++){let t=e[i];for(;0!==n&&!(t in this.next[n]);)n=this.fail[n];if(t in this.next[n]&&(n=this.next[n][t]),this.match[n])return!0}return!1}},eg=class e{static Type={NONE:0,EXACT:1,AND:2,OR:3};constructor(e){this.type=e,this.subs=[],this.str="",this.bytes=null,this.ac16=null,this.ac8=null}eval(t,r){switch(this.type){case e.Type.NONE:return!0;case e.Type.EXACT:return t.hasString(this,r);case e.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(t,r))return!1;return!0;case e.Type.OR:if(this.ac16&&this.ac8)return t.hasAnyString(this,r);for(let e=0;e<this.subs.length;e++)if(this.subs[e].eval(t,r))return!0;return!1;default:return!0}}},em=class e{static build(t){let r=e.fromRegexp(t);return e.simplify(r)}static fromRegexp(t){if(!t)return new eg(eg.Type.NONE);switch(t.op){case ep.Op.PLB:case ep.Op.NLB:case ep.Op.NO_MATCH:case ep.Op.EMPTY_MATCH:case ep.Op.BEGIN_LINE:case ep.Op.END_LINE:case ep.Op.BEGIN_TEXT:case ep.Op.END_TEXT:case ep.Op.WORD_BOUNDARY:case ep.Op.NO_WORD_BOUNDARY:case ep.Op.CHAR_CLASS:case ep.Op.ANY_CHAR_NOT_NL:case ep.Op.ANY_CHAR:return new eg(eg.Type.NONE);case ep.Op.LITERAL:{if(0===t.runes.length||(t.flags&_.FOLD_CASE)!=0)return new eg(eg.Type.NONE);let e=new eg(eg.Type.EXACT),r="";for(let e=0;e<t.runes.length;e++)r+=String.fromCodePoint(t.runes[e]);return e.str=r,e.bytes=G.stringToUtf8ByteArray(e.str),e}case ep.Op.CAPTURE:case ep.Op.PLUS:return e.fromRegexp(t.subs[0]);case ep.Op.REPEAT:if(t.min>=1)return e.fromRegexp(t.subs[0]);return new eg(eg.Type.NONE);case ep.Op.CONCAT:{let r=new eg(eg.Type.AND);for(let n of t.subs)r.subs.push(e.fromRegexp(n));return r}case ep.Op.ALTERNATE:{let r=new eg(eg.Type.OR);for(let n of t.subs)r.subs.push(e.fromRegexp(n));return r}default:return new eg(eg.Type.NONE)}}static simplify(t){if(t.type===eg.Type.EXACT||t.type===eg.Type.NONE)return t;if(t.type===eg.Type.AND){let r=[];for(let n of t.subs){let t=e.simplify(n);if(t.type!==eg.Type.NONE)if(t.type===eg.Type.AND)for(let e=0;e<t.subs.length;e++)r.push(t.subs[e]);else r.push(t)}return 0===r.length?new eg(eg.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===eg.Type.OR){let r=[];for(let n of t.subs){let t=e.simplify(n);if(t.type===eg.Type.NONE)return new eg(eg.Type.NONE);if(t.type===eg.Type.OR)for(let e=0;e<t.subs.length;e++)r.push(t.subs[e]);else r.push(t)}if(0===r.length)return new eg(eg.Type.NONE);if(1===r.length)return r[0];let n=new Set,i=[];for(let e of r)e.type===eg.Type.EXACT?n.has(e.str)||(n.add(e.str),i.push(e)):i.push(e);t.subs=i;let s=!0;for(let e of i)if(e.type!==eg.Type.EXACT){s=!1;break}s&&i.length>1&&(t.ac16=new ef(i.map(e=>{let t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new ef(i.map(e=>e.bytes)))}return t}},eE=class{constructor(e=0,t=0){this.head=e,this.tail=t}},eD=class{constructor(){this.inst=[],this.start=0,this.numCap=2,this.lbStarts=[],this.numLb=0}getInst(e){return this.inst[e]}numInst(){return this.inst.length}addInst(e){this.inst.push(new er(e))}skipNop(e){let t=this.inst[e];for(;t.op===er.NOP||t.op===er.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(!er.isRuneOp(t.op)||1!==t.runes.length)return[t.op===er.MATCH,e];for(;er.isRuneOp(t.op)&&1===t.runes.length&&(t.arg&_.FOLD_CASE)==0;)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===er.MATCH,e]}startCond(){let e=0,t=this.start;r:for(;;){let r=this.inst[t];switch(r.op){case er.EMPTY_WIDTH:e|=r.arg;break;case er.FAIL:return -1;case er.CAPTURE:case er.NOP:break;default:break r}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){let e=this.inst[r>>1];(1&r)==0?(r=e.out,e.out=t):(r=e.arg,e.arg=t)}}append(e,t){if(0===e.head)return t;if(0===t.head)return e;let r=this.inst[e.tail>>1];return(1&e.tail)==0?r.out=t.head:r.arg=t.head,new eE(e.head,t.tail)}toString(){let e="";for(let t=0;t<this.inst.length;t++){let r=e.length;e+=t,t===this.start&&(e+="*"),e+=" ".substring(e.length-r),e+=this.inst[t],e+="\n"}return e}},ey=class{constructor(e=0,t=new eE,r=!1){this.i=e,this.out=t,this.nullable=r}},ew=class e{static ANY_RUNE_NOT_NL(){return[0,S.CODES.get("\n")-1,S.CODES.get("\n")+1,L.MAX_RUNE]}static ANY_RUNE(){return[0,L.MAX_RUNE]}static compileRegexp(t){let r=new e,n=r.compile(t);return r.prog.patch(n.out,r.newInst(er.MATCH).i),r.prog.start=n.i,r.prog}static compileSet(t){let r=new e;if(0===t.length)return r.prog.start=r.newInst(er.FAIL).i,r.prog;let n=[];for(let e=0;e<t.length;e++){let i=r.compile(t[e]),s=r.newInst(er.MATCH);r.prog.getInst(s.i).arg=e,r.prog.patch(i.out,s.i),n.push(i.i)}let i=n[0];for(let e=1;e<n.length;e++){let t=r.newInst(er.ALT),s=r.prog.getInst(t.i);s.out=i,s.arg=n[e],i=t.i}return r.prog.start=i,r.prog}constructor(){this.prog=new eD,this.newInst(er.FAIL)}newInst(e){return this.prog.addInst(e),new ey(this.prog.numInst()-1,new eE,!0)}nop(){let e=this.newInst(er.NOP);return e.out=new eE(e.i<<1,e.i<<1),e}fail(){return new ey}cap(e){let t=this.newInst(er.CAPTURE);return t.out=new eE(t.i<<1,t.i<<1),this.prog.getInst(t.i).arg=e,this.prog.numCap<e+1&&(this.prog.numCap=e+1),t}cat(e,t){return 0===e.i||0===t.i?this.fail():(this.prog.patch(e.out,t.i),new ey(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){if(0===e.i)return t;if(0===t.i)return e;let r=this.newInst(er.ALT),n=this.prog.getInst(r.i);return n.out=e.i,n.arg=t.i,r.out=this.prog.append(e.out,t.out),r.nullable=e.nullable||t.nullable,r}loop(e,t){let r=this.newInst(er.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new eE(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new eE(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){let r=this.newInst(er.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new eE(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new eE(r.i<<1|1,r.i<<1|1)),r.out=this.prog.append(r.out,e.out),r}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new ey(e.i,this.loop(e,t).out,e.nullable)}empty(e){let t=this.newInst(er.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new eE(t.i<<1,t.i<<1),t}rune(e,t){let r=this.newInst(er.RUNE);r.nullable=!1;let n=this.prog.getInst(r.i);return n.runes=e,t&=_.FOLD_CASE,(1!==e.length||L.simpleFold(e[0])===e[0])&&(t&=~_.FOLD_CASE),n.arg=t,r.out=new eE(r.i<<1,r.i<<1),(t&_.FOLD_CASE)==0&&1===e.length||2===e.length&&e[0]===e[1]?n.op=er.RUNE1:2===e.length&&0===e[0]&&e[1]===L.MAX_RUNE?n.op=er.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===S.CODES.get("\n")-1&&e[2]===S.CODES.get("\n")+1&&e[3]===L.MAX_RUNE&&(n.op=er.RUNE_ANY_NOT_NL),r}lookBehind(t,r){let n=this.newInst(er.LB_WRITE);this.prog.getInst(n.i).arg=r;let i=this.rune(e.ANY_RUNE(),0),s=this.star(i,!0),a=this.cat(s,t);this.prog.patch(a.out,n.i);let o=this.newInst(er.LB_CHECK);return this.prog.getInst(o.i).arg=r,this.prog.lbStarts.push(a.i),Math.abs(r)>this.prog.numLb&&(this.prog.numLb=Math.abs(r)),o.out=new eE(o.i<<1,o.i<<1),o}compile(t){switch(t.op){case ep.Op.NO_MATCH:return this.fail();case ep.Op.EMPTY_MATCH:return this.nop();case ep.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(let r of t.runes){let n=this.rune([r],t.flags);e=null===e?n:this.cat(e,n)}return e}case ep.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case ep.Op.ANY_CHAR_NOT_NL:return this.rune(e.ANY_RUNE_NOT_NL(),0);case ep.Op.ANY_CHAR:return this.rune(e.ANY_RUNE(),0);case ep.Op.BEGIN_LINE:return this.empty(G.EMPTY_BEGIN_LINE);case ep.Op.END_LINE:return this.empty(G.EMPTY_END_LINE);case ep.Op.BEGIN_TEXT:return this.empty(G.EMPTY_BEGIN_TEXT);case ep.Op.END_TEXT:return this.empty(G.EMPTY_END_TEXT);case ep.Op.WORD_BOUNDARY:return this.empty(G.EMPTY_WORD_BOUNDARY);case ep.Op.NO_WORD_BOUNDARY:return this.empty(G.EMPTY_NO_WORD_BOUNDARY);case ep.Op.PLB:case ep.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case ep.Op.CAPTURE:{let e=this.cap(t.cap<<1),r=this.compile(t.subs[0]),n=this.cap(t.cap<<1|1);return this.cat(this.cat(e,r),n)}case ep.Op.STAR:return this.star(this.compile(t.subs[0]),(t.flags&_.NON_GREEDY)!=0);case ep.Op.PLUS:return this.plus(this.compile(t.subs[0]),(t.flags&_.NON_GREEDY)!=0);case ep.Op.QUEST:return this.quest(this.compile(t.subs[0]),(t.flags&_.NON_GREEDY)!=0);case ep.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(let r of t.subs){let t=this.compile(r);e=null===e?t:this.cat(e,t)}return e}case ep.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(let r of t.subs){let t=this.compile(r);e=null===e?t:this.alt(e,t)}return e}default:throw new Y("regexp: unhandled case in compile")}}},eI=class e{static simplify(t){if(null===t)return null;switch(t.op){case ep.Op.PLB:case ep.Op.NLB:case ep.Op.CAPTURE:{let r=e.simplify(t.subs[0]);if(r!==t.subs[0]){let e=ep.fromRegexp(t);return e.runes=[],e.subs=[r],e}break}case ep.Op.CONCAT:case ep.Op.ALTERNATE:{let r=[],n=!1;for(let i=0;i<t.subs.length;i++){let s=t.subs[i],a=e.simplify(s);if(a!==s&&(n=!0),t.op===ep.Op.CONCAT){if(a.op===ep.Op.NO_MATCH)return new ep(ep.Op.NO_MATCH);if(a.op===ep.Op.EMPTY_MATCH){n=!0;continue}if(a.op===ep.Op.CONCAT){n=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(t.op===ep.Op.ALTERNATE){if(a.op===ep.Op.NO_MATCH){n=!0;continue}if(a.op===ep.Op.ALTERNATE){n=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}if(n){if(0===r.length)return new ep(t.op===ep.Op.CONCAT?ep.Op.EMPTY_MATCH:ep.Op.NO_MATCH);if(1===r.length)return r[0];let e=ep.fromRegexp(t);return e.runes=[],e.subs=r,e}break}case ep.Op.CHAR_CLASS:if(null===t.runes)break;if(0===t.runes.length)return new ep(ep.Op.NO_MATCH);if(2===t.runes.length&&0===t.runes[0]&&t.runes[1]===L.MAX_RUNE)return new ep(ep.Op.ANY_CHAR);if(4===t.runes.length&&0===t.runes[0]&&t.runes[1]===S.CODES.get("\n")-1&&t.runes[2]===S.CODES.get("\n")+1&&t.runes[3]===L.MAX_RUNE)return new ep(ep.Op.ANY_CHAR_NOT_NL);break;case ep.Op.STAR:case ep.Op.PLUS:case ep.Op.QUEST:{let r=e.simplify(t.subs[0]);return e.simplify1(t.op,t.flags,r,t)}case ep.Op.REPEAT:{if(0===t.min&&0===t.max)return new ep(ep.Op.EMPTY_MATCH);let r=e.simplify(t.subs[0]);if(-1===t.max){if(0===t.min)return e.simplify1(ep.Op.STAR,t.flags,r,null);if(1===t.min)return e.simplify1(ep.Op.PLUS,t.flags,r,null);let n=new ep(ep.Op.CONCAT),i=[];for(let e=0;e<t.min-1;e++)i.push(r);return i.push(e.simplify1(ep.Op.PLUS,t.flags,r,null)),n.subs=i.slice(0),e.simplify(n)}if(1===t.min&&1===t.max)return r;let n=null;if(t.min>0){n=[];for(let e=0;e<t.min;e++)n.push(r)}if(t.max>t.min){let i=e.simplify1(ep.Op.QUEST,t.flags,r,null);for(let n=t.min+1;n<t.max;n++){let n=new ep(ep.Op.CONCAT);n.subs=[r,i],i=e.simplify1(ep.Op.QUEST,t.flags,n,null)}if(null===n)return i;n.push(i)}if(null!==n){let t=new ep(ep.Op.CONCAT);return t.subs=n.slice(0),e.simplify(t)}return new ep(ep.Op.NO_MATCH)}}return t}static simplify1(e,t,r,n){if(r.op===ep.Op.EMPTY_MATCH)return r;if(r.op===ep.Op.NO_MATCH)return e===ep.Op.PLUS?r:new ep(ep.Op.EMPTY_MATCH);if(e===r.op&&(t&_.NON_GREEDY)==(r.flags&_.NON_GREEDY))return r;if(null!==n&&n.op===e&&(n.flags&_.NON_GREEDY)==(t&_.NON_GREEDY)&&r===n.subs[
20])return n;let i=new ep(e);return i.flags=t,i.subs=[r],i}},ev=class{constructor(e,t){this.sign=e,this.cls=t}};let e_=[48,57],eb=[9,10,12,13,32,32],eT=[48,57,65,90,95,95,97,122],eS=new Map([["\\d",new ev(1,e_)],["\\D",new ev(-1,e_)],["\\s",new ev(1,eb)],["\\S",new ev(-1,eb)],["\\w",new ev(1,eT)],["\\W",new ev(-1,eT)]]),eA=[48,57,65,90,97,122],eO=[65,90,97,122],eN=[0,127],eF=[9,9,32,32],ex=[0,31,127,127],eR=[48,57],eL=[33,126],ek=[97,122],eP=[32,126],eM=[33,47,58,64,91,96,123,126],eG=[9,13,32,32],eH=[65,90],eU=[48,57,65,90,95,95,97,122],eV=[48,57,65,70,97,102],ej=new Map([["[:alnum:]",new ev(1,eA)],["[:^alnum:]",new ev(-1,eA)],["[:alpha:]",new ev(1,eO)],["[:^alpha:]",new ev(-1,eO)],["[:ascii:]",new ev(1,eN)],["[:^ascii:]",new ev(-1,eN)],["[:blank:]",new ev(1,eF)],["[:^blank:]",new ev(-1,eF)],["[:cntrl:]",new ev(1,ex)],["[:^cntrl:]",new ev(-1,ex)],["[:digit:]",new ev(1,eR)],["[:^digit:]",new ev(-1,eR)],["[:graph:]",new ev(1,eL)],["[:^graph:]",new ev(-1,eL)],["[:lower:]",new ev(1,ek)],["[:^lower:]",new ev(-1,ek)],["[:print:]",new ev(1,eP)],["[:^print:]",new ev(-1,eP)],["[:punct:]",new ev(1,eM)],["[:^punct:]",new ev(-1,eM)],["[:space:]",new ev(1,eG)],["[:^space:]",new ev(-1,eG)],["[:upper:]",new ev(1,eH)],["[:^upper:]",new ev(-1,eH)],["[:word:]",new ev(1,eU)],["[:^word:]",new ev(-1,eU)],["[:xdigit:]",new ev(1,eV)],["[:^xdigit:]",new ev(-1,eV)]]);var eJ=class e{static charClassToString(e,t){let r="[";for(let n=0;n<t;n+=2){n>0&&(r+=" ");let t=e[n],i=e[n+1];t===i?r+=`0x${t.toString(16)}`:r+=`0x${t.toString(16)}-0x${i.toString(16)}`}return r+"]"}static cmp(e,t,r,n){let i=e[t]-r;return 0!==i?i:n-e[t+1]}static qsortIntPair(t,r,n){let i=(r+n)/2&-2,s=t[i],a=t[i+1],o=r,B=n;for(;o<=B;){for(;o<n&&0>e.cmp(t,o,s,a);)o+=2;for(;B>r&&e.cmp(t,B,s,a)>0;)B-=2;if(o<=B){if(o!==B){let e=t[o];t[o]=t[B],t[B]=e,e=t[o+1],t[o+1]=t[B+1],t[B+1]=e}o+=2,B-=2}}r<B&&e.qsortIntPair(t,r,B),o<n&&e.qsortIntPair(t,o,n)}constructor(e=G.emptyInts()){this.r=e,this.len=e.length}toArray(){return this.len===this.r.length?this.r:this.r.slice(0,this.len)}cleanClass(){if(this.len<4)return this;e.qsortIntPair(this.r,0,this.len-2);let t=2;for(let e=2;e<this.len;e+=2){let r=this.r[e],n=this.r[e+1];if(r<=this.r[t-1]+1){n>this.r[t-1]&&(this.r[t-1]=n);continue}this.r[t]=r,this.r[t+1]=n,t+=2}return this.len=t,this}appendLiteral(e,t){return(t&_.FOLD_CASE)!=0?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(e,t){if(this.len>0){for(let r=2;r<=4;r+=2)if(this.len>=r){let n=this.r[this.len-r],i=this.r[this.len-r+1];if(e<=i+1&&n<=t+1)return e<n&&(this.r[this.len-r]=e),t>i&&(this.r[this.len-r+1]=t),this}}return this.r[this.len++]=e,this.r[this.len++]=t,this}appendFoldedRange(e,t){if(e<=L.MIN_FOLD&&t>=L.MAX_FOLD||t<L.MIN_FOLD||e>L.MAX_FOLD)return this.appendRange(e,t);e<L.MIN_FOLD&&(this.appendRange(e,L.MIN_FOLD-1),e=L.MIN_FOLD),t>L.MAX_FOLD&&(this.appendRange(L.MAX_FOLD+1,t),t=L.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=L.simpleFold(r);e!==r;e=L.simpleFold(e))this.appendRange(e,e)}return this}appendClass(e){for(let t=0;t<e.length;t+=2)this.appendRange(e[t],e[t+1]);return this}appendFoldedClass(e){for(let t=0;t<e.length;t+=2)this.appendFoldedRange(e[t],e[t+1]);return this}appendNegatedClass(e){let t=0;for(let r=0;r<e.length;r+=2){let n=e[r],i=e[r+1];t<=n-1&&this.appendRange(t,n-1),t=i+1}return t<=L.MAX_RUNE&&this.appendRange(t,L.MAX_RUNE),this}appendTable(e){for(let t=0;t<e.length;++t){let r=e.getLo(t),n=e.getHi(t),i=e.getStride(t);if(1===i){this.appendRange(r,n);continue}for(let e=r;e<=n;e+=i)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let r=0;r<e.length;++r){let n=e.getLo(r),i=e.getHi(r),s=e.getStride(r);if(1===s){t<=n-1&&this.appendRange(t,n-1),t=i+1;continue}for(let e=n;e<=i;e+=s)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=L.MAX_RUNE&&this.appendRange(t,L.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let r=0;r<this.len;r+=2){let n=this.r[r],i=this.r[r+1];e<=n-1&&(this.r[t]=e,this.r[t+1]=n-1,t+=2),e=i+1}return this.len=t,e<=L.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=L.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(t,r){let n=t.cls;return r&&(n=new e().appendFoldedClass(n).cleanClass().toArray()),this.appendClassWithSign(n,t.sign)}toString(){return e.charClassToString(this.r,this.len)}},eq=class{constructor(e){this.str=e,this.position=0}pos(){return this.position}rewindTo(e){this.position=e}more(){return this.position<this.str.length}peek(){return this.str.codePointAt(this.position)}skip(e){this.position+=e}skipString(e){this.position+=e.length}pop(){let e=this.str.codePointAt(this.position);return this.position+=G.charCount(e),e}lookingAt(e){return this.str.startsWith(e,this.position)}rest(){return this.str.substring(this.position)}from(e){return this.str.substring(e,this.position)}toString(){return this.rest()}},eK=class e{static ERR_INTERNAL_ERROR="regexp/syntax: internal error";static ERR_INVALID_CHAR_RANGE="invalid character class range";static ERR_INVALID_ESCAPE="invalid escape sequence";
2static ERR_INVALID_NAMED_CAPTURE="invalid named capture";static ERR_INVALID_PERL_OP="invalid or unsupported Perl syntax";static ERR_INVALID_REPEAT_OP="invalid nested repetition operator";static ERR_INVALID_REPEAT_SIZE="invalid repeat count";static ERR_MISSING_BRACKET="missing closing ]";static ERR_MISSING_PAREN="missing closing )";static ERR_MISSING_REPEAT_ARGUMENT="missing argument to repetition operator";static ERR_TRAILING_BACKSLASH="trailing backslash at end of expression";static ERR_DUPLICATE_NAMED_CAPTURE="duplicate capture group name";static ERR_UNEXPECTED_PAREN="unexpected )";static ERR_NESTING_DEPTH="expression nests too deeply";static ERR_LARGE="expression too large";static ERR_INVALID_CAPTURE_IN_LOOKBEHIND="invalid capture in lookbehind";static MAX_HEIGHT=1e3;static MAX_SIZE=3355443;static MAX_RUNES=0x2000000;static ANY_TABLE=new A(new Uint32Array([0,L.MAX_RUNE,1]));static ASCII_TABLE=new A(new Uint32Array([0,127,1]));static ASCII_FOLD_TABLE=new A(new Uint32Array([0,127,1,383,383,1,8490,8490,1]));static unicodeTable(t){return"Any"===t?{tab:e.ANY_TABLE,fold:e.ANY_TABLE,sign:1}:"Ascii"===t?{tab:e.ASCII_TABLE,fold:e.ASCII_FOLD_TABLE,sign:1}:"Assigned"===t?{tab:R.CATEGORIES.get("Cn"),fold:R.CATEGORIES.get("Cn"),sign:-1}:"Lc"===t?{tab:R.CATEGORIES.get("LC"),fold:R.FOLD_CATEGORIES.get("LC"),sign:1}:R.CATEGORIES.has(t)?{tab:R.CATEGORIES.get(t),fold:R.FOLD_CATEGORIES.get(t),sign:1}:R.SCRIPTS.has(t)?{tab:R.SCRIPTS.get(t),fold:R.FOLD_SCRIPT.get(t),sign:1}:null}static minFoldRune(e){if(e<L.MIN_FOLD||e>L.MAX_FOLD)return e;let t=e,r=e;for(e=L.simpleFold(e);e!==r;e=L.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){if(e.op===ep.Op.EMPTY_MATCH)return null;if(e.op===ep.Op.CONCAT&&e.subs.length>0){let t=e.subs[0];return t.op===ep.Op.EMPTY_MATCH?null:t}return e}static literalRegexp(e,t){let r=new ep(ep.Op.LITERAL);return r.flags=t,r.runes=G.stringToRunes(e),r}static parse(t,r){return new e(t,r).parseInternal()}static parseRepeat(t){let r,n=t.pos();if(!t.more()||!t.lookingAt("{"))return -1;t.skip(1);let i=e.parseInt(t);if(-1===i||!t.more())return -1;if(t.lookingAt(",")){if(t.skip(1),!t.more())return -1;if(t.lookingAt("}"))r=-1;else if(-1===(r=e.parseInt(t)))return -1}else r=i;if(!t.more()||!t.lookingAt("}"))return -1;if(t.skip(1),i<0||i>1e3||-2===r||r>1e3||r>=0&&i>r)throw new $(e.ERR_INVALID_REPEAT_SIZE,t.from(n));return i<<16|r&L.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let t=0;t<e.length;t++){let r=e.codePointAt(t);if(r!==S.CODES.get("_")&&!G.isalnum(r))return!1}return!0}static parseInt(e){let t=e.pos();for(;e.more()&&e.peek()>=S.CODES.get("0")&&e.peek()<=S.CODES.get("9");)e.skip(1);let r=e.from(t);return 0===r.length||r.length>1&&r.codePointAt(0)===S.CODES.get("0")?-1:r.length>8?-2:parseInt(r,10)}static isCharClass(e){return e.op===ep.Op.LITERAL&&1===e.runes.length||e.op===ep.Op.CHAR_CLASS||e.op===ep.Op.ANY_CHAR_NOT_NL||e.op===ep.Op.ANY_CHAR}static matchRune(e,t){switch(e.op){case ep.Op.LITERAL:return 1===e.runes.length&&e.runes[0]===t;case ep.Op.CHAR_CLASS:for(let r=0;r<e.runes.length;r+=2)if(e.runes[r]<=t&&t<=e.runes[r+1])return!0;break;case ep.Op.ANY_CHAR_NOT_NL:return t!==S.CODES.get("\n");case ep.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(t,r){switch(t.op){case ep.Op.ANY_CHAR:break;case ep.Op.ANY_CHAR_NOT_NL:e.matchRune(r,S.CODES.get("\n"))&&(t.op=ep.Op.ANY_CHAR);break;case ep.Op.CHAR_CLASS:r.op===ep.Op.LITERAL?t.runes=new eJ(t.runes).appendLiteral(r.runes[0],r.flags).toArray():t.runes=new eJ(t.runes).appendClass(r.runes).toArray();break;case ep.Op.LITERAL:if(r.runes[0]===t.runes[0]&&r.flags===t.flags)break;t.op=ep.Op.CHAR_CLASS,t.runes=new eJ().appendLiteral(t.runes[0],t.flags).appendLiteral(r.runes[0],r.flags).toArray()}}static parseEscape(t){let r=t.pos();if(t.skip(1),!t.more())throw new $(e.ERR_TRAILING_BACKSLASH);let n=t.pop();n:switch(n){case S.CODES.get("1"):case S.CODES.get("2"):case S.CODES.get("3"):case S.CODES.get("4"):case S.CODES.get("5"):case S.CODES.get("6"):case S.CODES.get("7"):if(!t.more()||t.peek()<S.CODES.get("0")||t.peek()>S.CODES.get("7"))break;case S.CODES.get("0"):{let e=n-S.CODES.get("0");for(let r=1;r<3&&!(!t.more()||t.peek()<S.CODES.get("0")||t.peek()>S.CODES.get("7"));r++)e=8*e+t.peek()-S.CODES.get("0"),t.skip(1);return e}case S.CODES.get("x"):{if(!t.more())break;if((n=t.pop())===S.CODES.get("{")){let e=0,r=0;for(;;){if(!t.more())break n;if((n=t.pop())===S.CODES.get("}"))break;let i=G.unhex(n);if(i<0||(r=16*r+i)>L.MAX_RUNE)break n;e++}if(0===e)break;return r}let e=G.unhex(n);if(!t.more())break;n=t.pop();let r=G.unhex(n);if(e<0||r<0)break;return 16*e+r}case S.CODES.get("a"):return S.CODES.get("\x07");case S.CODES.get("f"):return S.CODES.get("\f");case S.CODES.get("n"):return S.CODES.get("\n");case S.CODES.get("r"):return S.CODES.get("\r");case S.CODES.get("t"):return S.CODES.get(" ");case S.CODES.get("v"):return S.CODES.get("\v");default:if(n<=L.MAX_ASCII&&!G.isalnum(n))return n}throw new $(e.ERR_INVALID_ESCAPE,t.from(r))}static parseClassChar(t,r){if(!t.more())throw new $(e.ERR_MISSING_BRACKET,t.from(r));return t.lookingAt("\\")?e.parseEscape(t):t.pop()}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(t){if(null===t)return!1;if(t.op===ep.Op.CAPTURE)return!0;
2if(t.subs){for(let r of t.subs)if(e.hasCapture(r))return!0}return!1}constructor(e,t=0){this.wholeRegexp=e,this.flags=t,this.numCap=0,this.namedGroups=Object.create(null),this.stack=[],this.free=null,this.numRegexp=0,this.numRunes=0,this.repeats=0,this.height=null,this.size=null,this.nlb=0}newRegexp(e){let t=this.free;return null!==t&&null!==t.subs&&t.subs.length>0?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new ep(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&e.subs.length>0&&(e.subs[0]=this.free),this.free=e}checkLimits(t){if(this.numRunes>e.MAX_RUNES)throw new $(e.ERR_LARGE);this.checkSize(t),this.checkHeight(t)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===ep.Op.REPEAT){let r=t.max;-1===r&&(r=t.min),r<=0&&(r=1),r>Math.floor(e.MAX_SIZE/this.repeats)?this.repeats=e.MAX_SIZE:this.repeats*=r}if(this.numRegexp<Math.floor(e.MAX_SIZE/this.repeats))return;for(let e of(this.size=new Map,this.stack))this.checkSize(e)}if(this.calcSize(t,!0)>e.MAX_SIZE)throw new $(e.ERR_LARGE)}calcSize(e,t=!1){if(!t&&null!==this.size&&this.size.has(e))return this.size.get(e);let r=0;switch(e.op){case ep.Op.LITERAL:r=e.runes.length;break;case ep.Op.PLB:case ep.Op.NLB:case ep.Op.CAPTURE:case ep.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case ep.Op.PLUS:case ep.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case ep.Op.CONCAT:for(let t of e.subs)r+=this.calcSize(t);break;case ep.Op.ALTERNATE:for(let t of e.subs)r+=this.calcSize(t);e.subs.length>1&&(r=r+e.subs.length-1);break;case ep.Op.REPEAT:{let t=this.calcSize(e.subs[0]);if(-1===e.max){r=0===e.min?2+t:1+e.min*t;break}r=e.max*t+(e.max-e.min)}}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(t){if(!(this.numRegexp<e.MAX_HEIGHT)){if(null===this.height)for(let e of(this.height=new Map,this.stack))this.checkHeight(e);if(this.calcHeight(t,!0)>e.MAX_HEIGHT)throw new $(e.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&null!==this.height&&this.height.has(e))return this.height.get(e);let r=1;for(let t of e.subs){let e=this.calcHeight(t);r<1+e&&(r=1+e)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){let e=this.stack.length,t=e;for(;t>0&&!ep.isPseudoOp(this.stack[t-1].op);)t--;let r=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),r}push(e){if(this.numRunes+=e.runes.length,e.op===ep.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],this.flags&~_.FOLD_CASE))return null;e.op=ep.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags&~_.FOLD_CASE}else if(e.op===ep.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&L.simpleFold(e.runes[0])===e.runes[2]&&L.simpleFold(e.runes[2])===e.runes[0]||e.op===ep.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&L.simpleFold(e.runes[0])===e.runes[1]&&L.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|_.FOLD_CASE))return null;e.op=ep.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|_.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(t,r){let n=this.stack.length;if(n<2)return!1;let i=this.stack[n-1],s=this.stack[n-2];return i.op===ep.Op.LITERAL&&s.op===ep.Op.LITERAL&&(i.flags&_.FOLD_CASE)==(s.flags&_.FOLD_CASE)&&((s.runes=e.concatRunes(s.runes,i.runes),t>=0)?(i.runes=[t],i.flags=r,!0):(this.pop(),this.reuse(i),!1))}newLiteral(t,r){let n=this.newRegexp(ep.Op.LITERAL);return n.flags=r,(r&_.FOLD_CASE)!=0&&(t=e.minFoldRune(t)),n.runes=[t],n}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){let t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(t,r,n,i,s,a){let o=this.flags;if((o&_.PERL_X)!=0&&(s.more()&&s.lookingAt("?")&&(s.skip(1),o^=_.NON_GREEDY),-1!==a))throw new $(e.ERR_INVALID_REPEAT_OP,s.from(a));let B=this.stack.length;if(0===B)throw new $(e.ERR_MISSING_REPEAT_ARGUMENT,s.from(i));let l=this.stack[B-1];if(ep.isPseudoOp(l.op))throw new $(e.ERR_MISSING_REPEAT_ARGUMENT,s.from(i));let u=this.newRegexp(t);if(u.min=r,u.max=n,u.flags=o,u.subs=[l],this.stack[B-1]=u,this.checkLimits(u),t===ep.Op.REPEAT&&(r>=2||n>=2)&&!this.repeatIsValid(u,1e3))throw new $(e.ERR_INVALID_REPEAT_SIZE,s.from(i))}repeatIsValid(e,t){if(e.op===ep.Op.REPEAT){let r=e.max;if(0===r)return!0;
2if(r<0&&(r=e.min),r>t)return!1;r>0&&(t=Math.trunc(t/r))}for(let r of e.subs)if(!this.repeatIsValid(r,t))return!1;return!0}concat(){this.maybeConcat(-1,0);let e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(ep.Op.EMPTY_MATCH)):this.push(this.collapse(e,ep.Op.CONCAT))}alternate(){let e=this.popToPseudo();return(e.length>0&&this.cleanAlt(e[e.length-1]),0===e.length)?this.push(this.newRegexp(ep.Op.NO_MATCH)):this.push(this.collapse(e,ep.Op.ALTERNATE))}cleanAlt(e){e.op===ep.Op.CHAR_CLASS&&(e.runes=new eJ(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===L.MAX_RUNE?(e.runes=[],e.op=ep.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===S.CODES.get("\n")-1&&e.runes[2]===S.CODES.get("\n")+1&&e.runes[3]===L.MAX_RUNE&&(e.runes=[],e.op=ep.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(let n of e)r+=n.op===t?n.subs.length:1;let n=Array(r).fill(null),i=0;for(let r of e)if(r.op===t){for(let e=0;e<r.subs.length;e++)n[i++]=r.subs[e];this.reuse(r)}else n[i++]=r;let s=this.newRegexp(t);if(s.subs=n,t===ep.Op.ALTERNATE&&(s.subs=this.factor(s.subs),1===s.subs.length)){let e=s;s=s.subs[0],this.reuse(e)}return s}factor(t){if(t.length<2)return t;let r=0,n=t.length,i=0,s=null,a=0,o=0,B=0;for(let e=0;e<=n;e++){let l=null,u=0,h=0;if(e<n){let n=t[r+e];if(n.op===ep.Op.CONCAT&&n.subs.length>0&&(n=n.subs[0]),n.op===ep.Op.LITERAL&&(l=n.runes,u=n.runes.length,h=n.flags&_.FOLD_CASE),h===o){let e=0;for(;e<a&&e<u&&s[e]===l[e];)e++;if(e>0){a=e;continue}}}if(e===B);else if(e===B+1)t[i++]=t[r+B];else{let n=this.newRegexp(ep.Op.LITERAL);n.flags=o,n.runes=s.slice(0,a);for(let n=B;n<e;n++)t[r+n]=this.removeLeadingString(t[r+n],a),this.checkLimits(t[r+n]);let l=this.collapse(t.slice(r+B,r+e),ep.Op.ALTERNATE),u=this.newRegexp(ep.Op.CONCAT);u.subs=[n,l],t[i++]=u}B=e,s=l,a=u,o=h}n=i,r=0,B=0,i=0;let l=null;for(let s=0;s<=n;s++){let a=null;if(!(s<n&&(a=e.leadingRegexp(t[r+s]),null!==l&&l.equals(a)&&(e.isCharClass(l)||l.op===ep.Op.REPEAT&&l.min===l.max&&e.isCharClass(l.subs[0]))))){if(s===B);else if(s===B+1)t[i++]=t[r+B];else{let e=l;for(let e=B;e<s;e++){let n=e!==B;t[r+e]=this.removeLeadingRegexp(t[r+e],n),this.checkLimits(t[r+e])}let n=this.collapse(t.slice(r+B,r+s),ep.Op.ALTERNATE),a=this.newRegexp(ep.Op.CONCAT);a.subs=[e,n],t[i++]=a}B=s,l=a}}n=i,r=0,B=0,i=0;for(let s=0;s<=n;s++)if(!(s<n&&e.isCharClass(t[r+s]))){if(s===B);else if(s===B+1)t[i++]=t[r+B];else{let n=B;for(let e=B+1;e<s;e++){let i=t[r+n],s=t[r+e];(i.op<s.op||i.op===s.op&&(null!==i.runes?i.runes.length:0)<(null!==s.runes?s.runes.length:0))&&(n=e)}let a=t[r+B];t[r+B]=t[r+n],t[r+n]=a;for(let n=B+1;n<s;n++)e.mergeCharClass(t[r+B],t[r+n]),this.reuse(t[r+n]);this.cleanAlt(t[r+B]),t[i++]=t[r+B]}s<n&&(t[i++]=t[r+s]),B=s+1}n=i,r=0,B=0,i=0;for(let e=0;e<n;++e)e+1<n&&t[r+e].op===ep.Op.EMPTY_MATCH&&t[r+e+1].op===ep.Op.EMPTY_MATCH||(t[i++]=t[r+e]);return n=i,r=0,t.slice(r,n)}removeLeadingString(e,t){if(e.op===ep.Op.CONCAT&&e.subs.length>0){let r=this.removeLeadingString(e.subs[0],t);if(e.subs[0]=r,r.op===ep.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=ep.Op.EMPTY_MATCH,e.subs=ep.emptySubs();break;case 2:{let t=e;e=e.subs[1],this.reuse(t);break}default:e.subs=e.subs.slice(1,e.subs.length)}return e}return e.op===ep.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length&&(e.op=ep.Op.EMPTY_MATCH)),e}removeLeadingRegexp(e,t){if(e.op===ep.Op.CONCAT&&e.subs.length>0){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=ep.Op.EMPTY_MATCH,e.subs=ep.emptySubs();break;case 1:{let t=e;e=e.subs[0],this.reuse(t)}}return e}return t&&this.reuse(e),this.newRegexp(ep.Op.EMPTY_MATCH)}parseInternal(){if((this.flags&_.LITERAL)!=0)return e.literalRegexp(this.wholeRegexp,this.flags);let t=-1,r=-1,n=-1,i=new eq(this.wholeRegexp);for(;i.more();){let s=-1;n:switch(i.peek()){case S.CODES.get("("):if((this.flags&_.LOOKBEHIND)!=0){if(i.lookingAt("(?<=")){this.parsePosLookBehind(),i.skip(4);break}if(i.lookingAt("(?<!")){this.parseNegLookBehind(),i.skip(4);break}}if((this.flags&_.PERL_X)!=0&&i.lookingAt("(?")){this.parsePerlFlags(i);break}this.op(ep.Op.LEFT_PAREN).cap=++this.numCap,i.skip(1);break;case S.CODES.get("|"):this.parseVerticalBar(),i.skip(1);break;case S.CODES.get(")"):this.parseRightParen(),i.skip(1);break;case S.CODES.get("^"):(this.flags&_.ONE_LINE)!=0?this.op(ep.Op.BEGIN_TEXT):this.op(ep.Op.BEGIN_LINE),i.skip(1);break;case S.CODES.get("$"):(this.flags&_.ONE_LINE)!=0?this.op(ep.Op.END_TEXT).flags|=_.WAS_DOLLAR:this.op(ep.Op.END_LINE),i.skip(1);break;case S.CODES.get("."):(this.flags&_.DOT_NL)!=0?this.op(ep.Op.ANY_CHAR):this.op(ep.Op.ANY_CHAR_NOT_NL),i.skip(1);break;case S.CODES.get("["):this.parseClass(i);break;case S.CODES.get("*"):case S.CODES.get("+"):case S.CODES.get("?"):{s=i.pos();let e=null;switch(i.pop()){case S.CODES.get("*"):e=ep.Op.STAR;break;case S.CODES.get("+"):e=ep.Op.PLUS;break;case S.CODES.get("?"):e=ep.Op.QUEST}this.repeat(e,r,n,s,i,t);break}case S.CODES.get("{"):{s=i.pos();let a=e.parseRepeat(i);if(a<0){i.rewindTo(s),this.literal(i.pop());break}r=a>>16,n=(a&L.MAX_BMP)<<16>>16,this.repeat(ep.Op.REPEAT,r,n,s,i,t);break}case S.CODES.get("\\"):{let t=i.pos();if(i.skip(1),(this.flags&_.PERL_X)!=0&&i.more())switch(i.pop()){case S.CODES.get("A"):this.op(ep.Op.BEGIN_TEXT);break n;case S.CODES.get("b"):this.op(ep.Op.WORD_BOUNDARY);break n;case S.CODES.get("B"):this.op(ep.Op.NO_WORD_BOUNDARY);break n;case S.CODES.get("C"):throw new $(e.ERR_INVALID_ESCAPE,"\\C");case S.CODES.get("Q"):{let e=i.rest(),t=e.indexOf("\\E");t>=0?(e=e.substring(0,t),i.skipString(e),i.skipString("\\E")):i.skipString(e);let r=0;for(;r<e.length;){let t=e.codePointAt(r);this.literal(t),r+=G.charCount(t)}break n}case S.CODES.get("z"):this.op(ep.Op.END_TEXT);break n;default:i.rewindTo(t)}else i.rewindTo(t);let r=this.newRegexp(ep.Op.CHAR_CLASS);if(r.flags=this.flags,i.lookingAt("\\p")||i.lookingAt("\\P")){let e=new eJ;if(this.parseUnicodeClass(i,e)){r.runes=e.toArray(),this.push(r);break}}let n=new eJ;if(this.parsePerlClassEscape(i,n)){r.runes=n.toArray(),this.push(r);break}i.rewindTo(t),this.reuse(r),this.literal(e.parseEscape(i));break}default:this.literal(i.pop())}t=s}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new $(e.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(t){let r=t.pos(),n=t.rest();if(n.startsWith("(?P<")||n.startsWith("(?<")){let r="P"===n.charAt(2)?4:3,i=n.indexOf(">");
2if(i<0)throw new $(e.ERR_INVALID_NAMED_CAPTURE,n);let s=n.substring(r,i);if(t.skipString(s),t.skip(r+1),!e.isValidCaptureName(s))throw new $(e.ERR_INVALID_NAMED_CAPTURE,n.substring(0,i+1));let a=this.op(ep.Op.LEFT_PAREN);if(a.cap=++this.numCap,this.namedGroups[s])throw new $(e.ERR_DUPLICATE_NAMED_CAPTURE,s);this.namedGroups[s]=this.numCap,a.name=s;return}t.skip(2);let i=this.flags,s=1,a=!1;r:for(;t.more();){let e=t.pop();switch(e){case S.CODES.get("i"):i|=_.FOLD_CASE,a=!0;break;case S.CODES.get("m"):i&=~_.ONE_LINE,a=!0;break;case S.CODES.get("s"):i|=_.DOT_NL,a=!0;break;case S.CODES.get("U"):i|=_.NON_GREEDY,a=!0;break;case S.CODES.get("-"):if(s<0)break r;s=-1,i=~i,a=!1;break;case S.CODES.get(":"):case S.CODES.get(")"):if(s<0){if(!a)break r;i=~i}e===S.CODES.get(":")&&this.op(ep.Op.LEFT_PAREN),this.flags=i;return;default:break r}}throw new $(e.ERR_INVALID_PERL_OP,t.from(r))}parsePosLookBehind(){let e=this.newRegexp(ep.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){let e=this.newRegexp(ep.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(ep.Op.VERTICAL_BAR)}swapVerticalBar(){let t=this.stack.length;if(t>=3&&this.stack[t-2].op===ep.Op.VERTICAL_BAR&&e.isCharClass(this.stack[t-1])&&e.isCharClass(this.stack[t-3])){let r=this.stack[t-1],n=this.stack[t-3];if(r.op>n.op){let e=n;n=r,r=e,this.stack[t-3]=n}return e.mergeCharClass(n,r),this.reuse(r),this.pop(),!0}if(t>=2){let e=this.stack[t-1],r=this.stack[t-2];if(r.op===ep.Op.VERTICAL_BAR)return t>=3&&this.cleanAlt(this.stack[t-3]),this.stack[t-2]=e,this.stack[t-1]=r,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new $(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);let t=this.pop(),r=this.pop();if(r.op!==ep.Op.LEFT_PAREN)throw new $(e.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=r.flags,0!==r.lb){if(e.hasCapture(t))throw new $(e.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);r.lb>0?r.op=ep.Op.PLB:r.op=ep.Op.NLB,r.subs=[t],this.push(r);return}0===r.cap?this.push(t):(r.op=ep.Op.CAPTURE,r.subs=[t],this.push(r))}parsePerlClassEscape(e,t){let r=e.pos();if((this.flags&_.PERL_X)==0||!e.more()||e.pop()!==S.CODES.get("\\")||!e.more())return!1;e.pop();let n=e.from(r),i=eS.has(n)?eS.get(n):null;return null!==i&&(t.appendGroup(i,(this.flags&_.FOLD_CASE)!=0),!0)}parseNamedClass(t,r){let n=t.rest(),i=n.indexOf(":]");if(i<0)return!1;let s=n.substring(0,i+2);t.skipString(s);let a=ej.has(s)?ej.get(s):null;if(null===a)throw new $(e.ERR_INVALID_CHAR_RANGE,s);return r.appendGroup(a,(this.flags&_.FOLD_CASE)!=0),!0}parseUnicodeClass(t,r){let n,i=t.pos();if((this.flags&_.UNICODE_GROUPS)==0||!t.lookingAt("\\p")&&!t.lookingAt("\\P"))return!1;t.skip(1);let s=1,a=t.pop();if(a===S.CODES.get("P")&&(s=-1),!t.more())throw t.rewindTo(i),new $(e.ERR_INVALID_CHAR_RANGE,t.rest());if((a=t.pop())!==S.CODES.get("{"))n=G.runeToString(a);else{let r=t.rest(),s=r.indexOf("}");if(s<0)throw t.rewindTo(i),new $(e.ERR_INVALID_CHAR_RANGE,t.rest());n=r.substring(0,s),t.skipString(n),t.skip(1)}0!==n.length&&n.codePointAt(0)===S.CODES.get("^")&&(s=0-s,n=n.substring(1));let o=e.unicodeTable(n);if(null===o)throw new $(e.ERR_INVALID_CHAR_RANGE,t.from(i));o.sign<0&&(s=0-s);let B=o.tab,l=o.fold;if((this.flags&_.FOLD_CASE)==0||null===l)r.appendTableWithSign(B,s);else{let e=new eJ().appendTable(B).appendTable(l).cleanClass().toArray();r.appendClassWithSign(e,s)}return!0}parseClass(t){let r=t.pos();t.skip(1);let n=this.newRegexp(ep.Op.CHAR_CLASS);n.flags=this.flags;let i=new eJ,s=1;t.more()&&t.lookingAt("^")&&(s=-1,t.skip(1),(this.flags&_.CLASS_NL)==0&&i.appendRange(S.CODES.get("\n"),S.CODES.get("\n")));let a=!0;for(;!t.more()||t.peek()!==S.CODES.get("]")||a;){if(t.more()&&t.lookingAt("-")&&(this.flags&_.PERL_X)==0&&!a){let n=t.rest();if("-"===n||!n.startsWith("-]"))throw t.rewindTo(r),new $(e.ERR_INVALID_CHAR_RANGE,t.rest())}a=!1;let n=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,i))continue;t.rewindTo(n)}if(this.parseUnicodeClass(t,i)||this.parsePerlClassEscape(t,i))continue;t.rewindTo(n);let s=e.parseClassChar(t,r),o=s;if(t.more()&&t.lookingAt("-")){if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((o=e.parseClassChar(t,r))<s)throw new $(e.ERR_INVALID_CHAR_RANGE,t.from(n))}(this.flags&_.FOLD_CASE)==0?i.appendRange(s,o):i.appendFoldedRange(s,o)}t.skip(1),i.cleanClass(),s<0&&i.negateClass(),n.runes=i.toArray(),this.push(n)}},ez=class e{static initTest(t){let r=e.compile(t),n=new e(r.expr,r.prog,r.numSubexp,r.longest);return n.cond=r.cond,n.prefix=r.prefix,n.prefixUTF8=r.prefixUTF8,n.prefixComplete=r.prefixComplete,n.prefixRune=r.prefixRune,n.prefilter=r.prefilter,n}static compile(t){return e.compileImpl(t,_.PERL,!1)}static compilePOSIX(t){return e.compileImpl(t,_.POSIX,!0)}static compileImpl(t,r,n){let i=eK.parse(t,r),s=i.maxCap();i=eI.simplify(i);let a=em.build(i),o=ew.compileRegexp(i),B=new e(t,o,s,n);B.prefilter=a.type===eg.Type.NONE?null:a;let[l,u]=o.prefix();return B.prefixComplete=l,B.prefix=u,B.prefixUTF8=G.stringToUtf8ByteArray(B.prefix),B.prefix.length>0&&(B.prefixRune=B.prefix.codePointAt(0)),B.namedGroups=i.namedGroups,B}static match(t,r){return e.compile(t).match(r)}constructor(e,t,r=0,n=0){this.expr=e,this.prog=t,this.numSubexp=r,this.longest=n,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.machinePool=[],this.dfa=new eB(this.prog),this.onepass=eC.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return null;let i=-1,s=-1,a=e.prefixLength(this);if(r===_.UNANCHORED){let r=e.index(this,t);if(r<0)return null;s=(i=t+r)+a}else if(r===_.ANCHOR_BOTH){if(e.endPos()!==a||0!==e.index(this,0))return null;i=0,s=a}else if(r===_.ANCHOR_START){if(0!==e.index(this,0))return null;i=0,s=a}if(i<0)return null;if(n>0){let e=new Int32Array(n).fill(-1);return e[0]=i,e[1]=s,Array.from(e)}return[]}executeEngine(e,t,r,n){if(this.prefixComplete&&(0===n||0===this.numSubexp))return this.matchPrefixComplete(e,t,r,n);if(null!==this.prefilter&&r===_.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return eC.execute(this,e,t,r,n);if(n>0)return 0===this.prog.numLb&&e.endPos()<=eh.maxBitStateLen(this.prog)?eh.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){let i=this.dfa.match(e,t,r);if(null!==i)return i?[]:null;if(e.endPos()<=eh.maxBitStateLen(this.prog))return eh.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}
2numberOfInstructions(){return this.prog.numInst()}get(){return this.machinePool.length>0?this.machinePool.pop():null}reset(){this.machinePool.length=0}put(e){this.machinePool.push(e)}toString(){return this.expr}doExecuteNFA(e,t,r,n){let i=this.get();i||(i=ei.fromRE2(this)),i.init(n);let s=i.match(e,t,r)?i.submatches():null;return this.put(i),s}match(e){return null!==this.executeEngine(Q.fromUTF16(e),0,_.UNANCHORED,0)}matchWithGroup(e,t,r,n,i){return e instanceof U||(e=G.isByteArray(e)?J.utf8(e):J.utf16(e)),this.matchMachineInput(e,t,r,n,i)}matchMachineInput(e,t,r,n,i){if(t>r)return[!1,null];let s=e.isUTF16Encoding()?Q.fromUTF16(e.asCharSequence(),0,r):Q.fromUTF8(e.asBytes(),0,r),a=this.executeEngine(s,t,n,2*i);return null===a?[!1,null]:[!0,a]}matchUTF8(e){return null!==this.executeEngine(Q.fromUTF8(e),0,_.UNANCHORED,0)}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,r){let n=0,i=0,s="",a=Q.fromUTF16(e),o=0;for(;i<=e.length;){let B=this.executeEngine(a,i,_.UNANCHORED,2);if(null===B||0===B.length)break;s+=e.substring(n,B[0]),(B[1]>n||0===B[0])&&(s+=t(e.substring(B[0],B[1])),o++),n=B[1];let l=7&a.step(i);if(i+l>B[1]?i+=l:i+1>B[1]?i++:i=B[1],o>=r)break}return s+e.substring(n)}pad(e){if(null===e)return null;let t=(1+this.numSubexp)*2;if(e.length<t){let r=Array(t).fill(-1);for(let t=0;t<e.length;t++)r[t]=e[t];e=r}return e}allMatches(e,t,r=e=>e){let n=[],i=e.endPos();t<0&&(t=i+1);let s=0,a=0,o=-1;for(;a<t&&s<=i;){let t=this.executeEngine(e,s,_.UNANCHORED,this.prog.numCap);if(null===t||0===t.length)break;let B=!0;if(t[1]===s){t[0]===o&&(B=!1);let r=e.step(s);r<0?s=i+1:s+=7&r}else s=t[1];o=t[1],B&&(n.push(r(this.pad(t))),a++)}return n}findUTF8(e){let t=this.executeEngine(Q.fromUTF8(e),0,_.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){let t=this.executeEngine(Q.fromUTF8(e),0,_.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){let t=this.executeEngine(Q.fromUTF16(e),0,_.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(Q.fromUTF16(e),0,_.UNANCHORED,2)}findUTF8Submatch(e){let t=this.executeEngine(Q.fromUTF8(e),0,_.UNANCHORED,this.prog.numCap);if(null===t)return null;let r=Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&t[2*n]>=0&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(Q.fromUTF8(e),0,_.UNANCHORED,this.prog.numCap))}findSubmatch(e){let t=this.executeEngine(Q.fromUTF16(e),0,_.UNANCHORED,this.prog.numCap);if(null===t)return null;let r=Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&t[2*n]>=0&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(Q.fromUTF16(e),0,_.UNANCHORED,this.prog.numCap))}findAllUTF8(e,t){let r=this.allMatches(Q.fromUTF8(e),t,t=>e.slice(t[0],t[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){let r=this.allMatches(Q.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(e,t){let r=this.allMatches(Q.fromUTF16(e),t,t=>e.substring(t[0],t[1]));return 0===r.length?null:r}findAllIndex(e,t){let r=this.allMatches(Q.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(e,t){let r=this.allMatches(Q.fromUTF8(e),t,t=>{let r=Array(t.length/2|0).fill(null);for(let n=0;n<r.length;n++)t[2*n]>=0&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r});return 0===r.length?null:r}findAllUTF8SubmatchIndex(e,t){let r=this.allMatches(Q.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(e,t){let r=this.allMatches(Q.fromUTF16(e),t,t=>{let r=Array(t.length/2|0).fill(null);for(let n=0;n<r.length;n++)t[2*n]>=0&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r});return 0===r.length?null:r}findAllSubmatchIndex(e,t){let r=this.allMatches(Q.fromUTF16(e),t);return 0===r.length?null:r}};_.UNANCHORED,_.ANCHOR_START,_.ANCHOR_BOTH;var eQ=class e{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(t){let r="";if(t instanceof RegExp&&(t.ignoreCase&&(r+="i"),t.multiline&&(r+="m"),t.dotAll&&(r+="s"),t=t.source),"string"!=typeof t)return t;let n="",i=!1,s=t.length;0===s&&(n="(?:)",i=!0);let a=!1,o=0;for(;o<s;){let r=t[o];if("\\"===r){if(o+1<s)switch(r=t[o+1]){case"\\":n+="\\\\",o+=2;continue;case"c":if(o+2<s){let e=t[o+2].charCodeAt(0);if(e>=65&&e<=90||e>=97&&e<=122){let t=e%32;n+="\\x",n+=(t>>4).toString(16).toUpperCase(),n+=(15&t).toString(16).toUpperCase(),o+=3,i=!0;continue}}n+="c",o+=2,i=!0;continue;case"u":if(o+2<s){if("{"===t[o+2]){let r=o+3,a=!1,B=!1;for(;r<s;){let n=t[r];
2if("}"===n){B=!0;break}if(!e.isHexadecimal(n))break;a=!0,r++}if(B&&a){n+="\\x",o+=2,i=!0;continue}}else if(o+5<s){let r=!0;for(let n=0;n<4;n++)if(!e.isHexadecimal(t[o+2+n])){r=!1;break}if(r){n+="\\x{"+t.substring(o+2,o+6)+"}",o+=6,i=!0;continue}}}n+="u",o+=2,i=!0;continue;case"x":{let r=!1;if(o+2<s&&"{"===t[o+2]){let n=o+3,i=!1,a=!1;for(;n<s;){let r=t[n];if("}"===r){a=!0;break}if(!e.isHexadecimal(r))break;i=!0,n++}a&&i&&(r=!0)}else o+3<s&&e.isHexadecimal(t[o+2])&&e.isHexadecimal(t[o+3])&&(r=!0);r?(n+="\\x",o+=2):(n+="x",o+=2,i=!0);continue}case"n":case"r":case"t":case"a":case"f":case"v":case"d":case"D":case"s":case"S":case"w":case"W":case"b":case"B":case"p":case"P":case"A":case"z":case"Q":case"E":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":n+="\\"+r,o+=2;continue;default:{let e=t.codePointAt(o+1);if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){let r=G.charCount(e);n+=t.substring(o+1,o+1+r),o+=r+1,i=!0}else{n+="\\";let r=G.charCount(e);n+=t.substring(o+1,o+1+r),o+=r+1}continue}}}else if("/"===r){n+="\\/",o+=1,i=!0;continue}else if("["===r)a=!0;else if("]"===r)a=!1;else if(!a&&"("===r&&o+2<s&&"?"===t[o+1]&&"<"===t[o+2]&&o+3<s&&!"=!>)".includes(t[o+3])){n+="(?P<",o+=3,i=!0;continue}let B=t.codePointAt(o),l=G.charCount(B);n+=t.substring(o,o+l),o+=l}let B=i?n:t;return r.length>0?`(?${r})${B}`:B}},eW=class e{static CASE_INSENSITIVE=1;static DOTALL=2;static MULTILINE=4;static DISABLE_UNICODE_GROUPS=8;static LONGEST_MATCH=16;static LOOKBEHINDS=512;static quote(e){return G.quoteMeta(e)}static quoteReplacement(e,t=!1){return et.quoteReplacement(e,t)}static translateRegExp(e){return eQ.translate(e)}static compile(t,r=0){let n=t;if((r&e.CASE_INSENSITIVE)!=0&&(n=`(?i)${n}`),(r&e.DOTALL)!=0&&(n=`(?s)${n}`),(r&e.MULTILINE)!=0&&(n=`(?m)${n}`),(r&~(e.MULTILINE|e.DOTALL|e.CASE_INSENSITIVE|e.DISABLE_UNICODE_GROUPS|e.LONGEST_MATCH|e.LOOKBEHINDS))!=0)throw new Z("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let i=_.PERL;(r&e.DISABLE_UNICODE_GROUPS)!=0&&(i&=~_.UNICODE_GROUPS),(r&e.LOOKBEHINDS)!=0&&(i|=_.LOOKBEHIND);let s=new e(t,r);return s.re2Input=ez.compileImpl(n,i,(r&e.LONGEST_MATCH)!=0),s}static matches(t,r){return e.compile(t).testExact(r)}static initTest(t,r,n){if(null==t)throw Error("pattern is null");if(null==n)throw Error("re2 is null");let i=new e(t,r);return i.re2Input=n,i}constructor(e,t){this.patternInput=e,this.flagsInput=t,this.re2Input=null}reset(){this.re2Input.reset()}flags(){return this.flagsInput}pattern(){return this.patternInput}re2(){return this.re2Input}matches(e){return this.testExact(e)}matcher(e){return G.isByteArray(e)&&(e=J.utf8(e)),new et(this,e)}test(e){return G.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){let t=G.isByteArray(e)?Q.fromUTF8(e):Q.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,_.ANCHOR_BOTH,0)}exec(e){let t=this.matcher(e);if(!t.find())return null;let r=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let n=t.group(e);r.push(null===n?void 0:n)}if(r.index=t.start(0),r.input=e,Object.keys(this.namedGroups()).length>0){let e=t.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);r.groups=e}else r.groups=void 0;return r}split(e,t=0){let r=this.matcher(e),n=[],i=0,s=0;for(;r.find();){if(0===s&&0===r.end()){s=r.end();continue}if(t>0&&n.length===t-1)break;if(s===r.start()){if(0===t){i+=1,s=r.end();continue}}else for(;i>0;)n.push(""),i-=1;n.push(r.substring(s,r.start())),s=r.end()}if(0===t&&s!==r.inputLength()){for(;i>0;)n.push(""),i-=1;n.push(r.substring(s,r.inputLength()))}return 0===t&&(0!==n.length||s===r.inputLength()&&s>0)||n.push(r.substring(s,r.inputLength())),n}*matchAll(e){let t=this.matcher(e);for(;t.find();){let r=[t.group(0)];for(let e=1;e<=t.groupCount();e++){let n=t.group(e);r.push(null===n?void 0:n)}if(r.index=t.start(0),r.input=e,Object.keys(this.namedGroups()).length>0){let e=t.getNamedGroups();for(let t in e)null===e[t]&&(e[t]=void 0);r.groups=e}else r.groups=void 0;yield r}}toString(){return this.patternInput}
2programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e||null!==e&&this.constructor===e.constructor&&this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}};let e$="12.18.0";function eY(e){e$=e}let eX=new w.Logger("@firebase/firestore");function eZ(){return eX.logLevel}function e0(e,...t){if(eX.logLevel<=w.LogLevel.DEBUG){let r=t.map(e3);eX.debug(`Firestore (${e$}): ${e}`,...r)}}function e1(e,...t){if(eX.logLevel<=w.LogLevel.ERROR){let r=t.map(e3);eX.error(`Firestore (${e$}): ${e}`,...r)}}function e2(e,...t){if(eX.logLevel<=w.LogLevel.WARN){let r=t.map(e3);eX.warn(`Firestore (${e$}): ${e}`,...r)}}function e3(e){if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){return e}}function e8(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,e6(e,n,r)}function e6(e,t,r){let n=`FIRESTORE (${e$}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw e1(n),Error(n)}function e5(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||e6(t,i,n)}class e4{static newId(){let e=62*Math.floor(256/62),t="";for(;t.length<20;){let r=function(){let e="u">typeof self&&(self.crypto||self.msCrypto),t=new Uint8Array(40);if(e&&"function"==typeof e.getRandomValues)e.getRandomValues(t);else for(let e=0;e<40;e++)t[e]=Math.floor(256*Math.random());return t}();for(let n=0;n<r.length;++n)t.length<20&&r[n]<e&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(r[n]%62))}return t}}function e9(e,t){return e<t?-1:+(e>t)}function e7(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=e.charAt(n),i=t.charAt(n);if(r!==i)return te(r)===te(i)?e9(r,i):te(r)?1:-1}return e9(e.length,t.length)}function te(e){let t=e.charCodeAt(0);return t>=55296&&t<=57343}function tt(e,t,r){return e.length===t.length&&e.every((e,n)=>r(e,t[n]))}class tr{constructor(e,t){this.comparator=e,this.root=t||ti.EMPTY}insert(e,t){return new tr(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,ti.BLACK,null,null))}remove(e){return new tr(this.comparator,this.root.remove(e,this.comparator).copy(null,null,ti.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){let r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:r>0&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){let n=this.comparator(e,r.key);if(0===n)return t+r.left.size;n<0?r=r.left:(t+=r.left.size+1,r=r.right)}return -1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal((t,r)=>(e(t,r),!1))}toString(){let e=[];return this.inorderTraversal((t,r)=>(e.push(`${t}:${r}`),!1)),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new tn(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new tn(this.root,e,this.comparator,!1)}getReverseIterator(){return new tn(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new tn(this.root,e,this.comparator,!0)}}class tn{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(0===i){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop(),t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;let e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class ti{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:ti.RED,this.left=null!=n?n:ti.EMPTY,this.right=null!=i?i:ti.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new ti(null!=e?e:this.key,null!=t?t:this.value,
2null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){let n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return ti.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),(e=e.copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(0>t(e,n.key))n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()||(n=n.moveRedLeft()),n=n.copy(null,null,null,n.left.remove(e,t),null);else{if(n.left.isRed()&&(n=n.rotateRight()),n.right.isEmpty()||n.right.isRed()||n.right.left.isRed()||(n=n.moveRedRight()),0===t(e,n.key)){if(n.right.isEmpty())return ti.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=(e=e.rotateRight()).colorFlip()),e}rotateLeft(){let e=this.copy(null,null,ti.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){let e=this.copy(null,null,ti.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){let e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){return Math.pow(2,this.check())<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw e8(43730,{key:this.key,value:this.value});if(this.right.isRed())throw e8(14113,{key:this.key,value:this.value});let e=this.left.check();if(e!==this.right.check())throw e8(27949);return e+ +!this.isRed()}}
2ti.EMPTY=null,ti.RED=!0,ti.BLACK=!1,ti.EMPTY=new class{constructor(){this.size=0}get key(){throw e8(57766)}get value(){throw e8(16141)}get color(){throw e8(16727)}get left(){throw e8(29726)}get right(){throw e8(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new ti(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class ts{constructor(e){this.comparator=e,this.data=new tr(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal((t,r)=>(e(t),!1))}forEachInRange(e,t){let r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){let n=r.getNext();if(this.comparator(n.key,e[1])>=0)return;t(n.key)}}forEachWhile(e,t){let r;for(r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){let t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new ta(this.data.getIterator())}getIteratorFrom(e){return new ta(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof ts)||this.size!==e.size)return!1;let t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(0!==this.comparator(e,n))return!1}return!0}toArray(){let e=[];return this.forEach(t=>{e.push(t)}),e}toString(){let e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){let t=new ts(this.comparator);return t.data=e,t}}class ta{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function to(e){return e.hasNext()?e.getNext():void 0}let tB={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class tl extends E.FirebaseError{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}let tu="__name__";class th{constructor(e,t,r){void 0===t?t=0:t>e.length&&e8(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&e8(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===th.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof th?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=void 0===e?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 0===this.length}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){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=th.compareSegments(e.get(n),t.get(n));if(0!==r)return r}return e9(e.length,t.length)}static compareSegments(e,t){let r=th.isNumericId(e),n=th.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?th.extractNumericId(e).compare(th.extractNumericId(t)):e7(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return r.fromString(e.substring(4,e.length-2))}}class tc extends th{construct(e,t,r){return new tc(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return`/${this.canonicalString()}`}
2toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){let t=[];for(let r of e){if(r.indexOf("//")>=0)throw new tl(tB.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(e=>e.length>0))}return new tc(t)}static emptyPath(){return new tc([])}}let td=/^[_a-zA-Z][_a-zA-Z0-9]*$/,tC=class e extends th{construct(t,r,n){return new e(t,r,n)}static isValidIdentifier(e){return td.test(e)}canonicalString(){return this.toArray().map(t=>(t=t.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e.isValidIdentifier(t)||(t="`"+t+"`"),t)).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===tu}static keyField(){return new e([tu])}static fromServerFormat(t){let r=[],n="",i=0,s=()=>{if(0===n.length)throw new tl(tB.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);r.push(n),n=""},a=!1;for(;i<t.length;){let e=t[i];if("\\"===e){if(i+1===t.length)throw new tl(tB.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[i+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new tl(tB.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);n+=e,i+=2}else"`"===e?a=!a:"."!==e||a?n+=e:s(),i++}if(s(),a)throw new tl(tB.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new e(r)}static emptyPath(){return new e([])}};class tp{constructor(e){this.fields=e,e.sort(tC.comparator)}static empty(){return new tp([])}unionWith(e){let t=new ts(tC.comparator);for(let e of this.fields)t=t.add(e);for(let r of e)t=t.add(r);return new tp(t.toArray())}covers(e){for(let t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return tt(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function tf(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function tg(e,t){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function tm(e,t){let r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.push(t(e[n],n,e));return r}function tE(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class tD{constructor(e){this.path=e}static fromPath(e){return new tD(tc.fromString(e))}static fromName(e){return new tD(tc.fromString(e).popFirst(5))}static empty(){return new tD(tc.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 null!==e&&0===tc.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return tc.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new tD(new tc(e.slice()))}}function ty(e,t,r){if(!r)throw new tl(tB.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function tw(e){if(!tD.isDocumentKey(e))throw new tl(tB.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function tI(e){if(tD.isDocumentKey(e))throw new tl(tB.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function tv(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function t_(e){if(void 0===e)return"undefined";if(null===e)return"null";if("string"==typeof e)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return""+e;if("object"==typeof e){if(e instanceof Array)return"an array";{var t;let r=(t=e).constructor?t.constructor.name:null;return r?`a custom ${r} object`:"an object"}}return"function"==typeof e?"a function":e8(12329,{type:typeof e})}function tb(e,t){if("_delegate"in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new tl(tB.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let r=t_(e);throw new tl(tB.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${r}`)}}return e}function tT(e,t){if(t<=0)throw new tl(tB.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function tS(e,t){let r={typeString:e};return t&&(r.value=t),r}function tA(e,t){let r;if(!tv(e))throw new tl(tB.INVALID_ARGUMENT,"JSON must be an object");for(let n in t)if(t[n]){let i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}let a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new tl(tB.INVALID_ARGUMENT,r);return!0}class tO{static now(){return tO.fromMillis(Date.now())}static fromDate(e){return tO.fromMillis(e.getTime())}static fromMillis(e){let t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*1e6);return new tO(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0||t>=1e9)throw new tl(tB.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<-0xe7791f700||e>=0x3afff44180)throw new tl(tB.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?e9(this.nanoseconds,e.nanoseconds):e9(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:tO._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(tA(e,tO._jsonSchema))return new tO(e.seconds,e.nanoseconds)}valueOf(){return String(this.seconds- -0xe7791f700).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}
2}tO._jsonSchemaVersion="firestore/timestamp/1.0",tO._jsonSchema={type:tS("string",tO._jsonSchemaVersion),seconds:tS("number"),nanoseconds:tS("number")};class tN extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class tF{constructor(e){this.binaryString=e}static fromBase64String(e){return new tF(function(e){try{return atob(e)}catch(e){throw"u">typeof DOMException&&e instanceof DOMException?new tN("Invalid base64 string: "+e):e}}(e))}static fromUint8Array(e){return new tF(function(e){let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t}(e))}[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 btoa(this.binaryString)}toUint8Array(){var e=this.binaryString;let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return e9(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}tF.EMPTY_BYTE_STRING=new tF("");let tx=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function tR(e){if(e5(!!e,39018),"string"==typeof e){let t=0,r=tx.exec(e);if(e5(!!r,46558,{timestamp:e}),r[1]){let e=r[1];t=Number(e=(e+"000000000").substr(0,9))}return{seconds:Math.floor(new Date(e).getTime()/1e3),nanos:t}}return{seconds:tL(e.seconds),nanos:tL(e.nanos)}}function tL(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function tk(e){return"string"==typeof e?tF.fromBase64String(e):tF.fromUint8Array(e)}let tP="server_timestamp",tM="__type__",tG="__previous_value__",tH="__local_write_time__";function tU(e){return(e?.mapValue?.fields||{})[tM]?.stringValue===tP}function tV(e){let t=e.mapValue.fields[tG];return tU(t)?tV(t):t}function tj(e){let t=tR(e.mapValue.fields[tH].timestampValue);return new tO(t.seconds,t.nanos)}class tJ{constructor(e,t,r,n,i,s,a,o,B,l,u,h,c){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=B,this.isUsingEmulator=l,this.apiKey=u,this._customHeaders=h,this.grpcFlowControlWindow=c}}let tq="(default)";class tK{constructor(e,t){this.projectId=e,this.database=t||tq}static empty(){return new tK("","")}get isDefaultDatabase(){return this.database===tq}isEqual(e){return e instanceof tK&&e.projectId===this.projectId&&e.database===this.database}}function tz(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))throw new tl(tB.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new tK(e.options.projectId,t)}function tQ(e){return null==e}function tW(e){return 0===e&&1/e==-1/0}function t$(e){return"number"==typeof e&&Number.isInteger(e)&&!tW(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}let tY="__type__",tX="__max__",tZ={mapValue:{fields:{__type__:{stringValue:tX}}}},t0="__vector__",t1="value",t2={nullValue:"NULL_VALUE"},t3={booleanValue:!0},t8={booleanValue:!1};function t6(e){return"nullValue"in e?0:"booleanValue"in e?1:"integerValue"in e||"doubleValue"in e?2:"timestampValue"in e?3:"stringValue"in e?5:"bytesValue"in e?6:"referenceValue"in e?7:"geoPointValue"in e?8:"arrayValue"in e?9:"mapValue"in e?tU(e)?4:rd(e)?0x1fffffffffffff:ru(e)?10:11:e8(28295,{value:e})}function t5(e,t,r){if(e===t)return!0;let n=t6(e);if(n!==t6(t))return!1;switch(n){case 0:case 0x1fffffffffffff:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return tj(e).isEqual(tj(t));case 3:if("string"==typeof e.timestampValue&&"string"==typeof t.timestampValue&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;let i=tR(e.timestampValue),s=tR(t.timestampValue);return i.seconds===s.seconds&&i.nanos===s.nanos;case 5:return e.stringValue===t.stringValue;case 6:return tk(e.bytesValue).isEqual(tk(t.bytesValue));case 7:return e.referenceValue===t.referenceValue;case 8:return tL(e.geoPointValue.latitude)===tL(t.geoPointValue.latitude)&&tL(e.geoPointValue.longitude)===tL(t.geoPointValue.longitude);case 2:let a,o;if("integerValue"in e&&"integerValue"in t)return tL(e.integerValue)===tL(t.integerValue);if("doubleValue"in e&&"doubleValue"in t)a=tL(e.doubleValue),o=tL(t.doubleValue);else{if(!r?.t)return!1;a=tL(e.integerValue??e.doubleValue),o=tL(t.integerValue??t.doubleValue)}return a===o?!!r?.i||tW(a)===tW(o):!!(void 0===r||r.o)&&isNaN(a)&&isNaN(o);case 9:return tt(e.arrayValue.values||[],t.arrayValue.values||[],(e,t)=>t5(e,t,r));case 10:case 11:let B=e.mapValue.fields||{},l=t.mapValue.fields||{};if(tf(B)!==tf(l))return!1;for(let e in B)if(B.hasOwnProperty(e)&&(void 0===l[e]||!t5(B[e],l[e],r)))return!1;return!0;default:return e8(52216,{left:e})}}function t4(e,t){return void 0!==(e.values||[]).find(e=>t5(e,t))}function t9(e,t){var r,n,i,s,a,o;if(e===t)return 0;let B=t6(e),l=t6(t);if(B!==l)return e9(B,l);switch(B){case 0:case 0x1fffffffffffff:return 0;case 1:return e9(e.booleanValue,t.booleanValue);case 2:let u,h;return u=tL(e.integerValue||e.doubleValue),u<(h=tL(t.integerValue||t.doubleValue))?-1:u>h?1:u===h?0:isNaN(u)?isNaN(h)?0:-1:1;case 3:return t7(e.timestampValue,t.timestampValue);case 4:return t7(tj(e),tj(t));case 5:return e7(e.stringValue,t.stringValue);case 6:let c,d;return r=e.bytesValue,n=t.bytesValue,c=tk(r),d=tk(n),c.compareTo(d);case 7:return function(e,t){let r=e.split("/"),n=t.split("/");for(let e=0;e<r.length&&e<n.length;e++){let t=e9(r[e],n[e]);if(0!==t)return t}return e9(r.length,n.length)}(e.referenceValue,t.referenceValue);case 8:let C;return i=e.geoPointValue,s=t.geoPointValue,0!==(C=e9(tL(i.latitude),tL(s.latitude)))?C:e9(tL(i.longitude),tL(s.longitude));case 9:return re(e.arrayValue,t.arrayValue);case 10:let p,f,g,m,E;return a=e.mapValue,o=t.mapValue,p=a.fields||{},f=o.fields||{},g=p[t1]?.arrayValue,m=f[t1]?.arrayValue,0!==(E=e9(g?.values?.length||0,m?.values?.length||0))?E:re(g,m);case 11:return function(e,t){if(e===tZ.mapValue&&t===tZ.mapValue)return 0;if(e===tZ.mapValue)return 1;if(t===tZ.mapValue)return -1;let r=e.fields||{},n=Object.keys(r),i=t.fields||{},s=Object.keys(i);n.sort(),s.sort();for(let e=0;e<n.length&&e<s.length;++e){let t=e7(n[e],s[e]);if(0!==t)return t;let a=t9(r[n[e]],i[s[e]]);if(0!==a)return a}return e9(n.length,s.length)}(e.mapValue,t.mapValue);default:throw e8(23264,{u:B})}}function t7(e,t){if("string"==typeof e&&"string"==typeof t&&e.length===t.length)return e9(e,t);let r=tR(e),n=tR(t),i=e9(r.seconds,n.seconds);return 0!==i?i:e9(r.nanos,n.nanos)}function re(e,t){let r=e.values||[],n=t.values||[];for(let e=0;e<r.length&&e<n.length;++e){let t=t9(r[e],n[e]);if(void 0!==t&&0!==t)return t}return e9(r.length,n.length)}function rt(e){var t,r;let n;return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(n=tR(e.timestampValue),`time(${n.seconds},${n.nanos}
2)`):"stringValue"in e?e.stringValue:"bytesValue"in e?tk(e.bytesValue).toBase64():"referenceValue"in e?(t=e.referenceValue,tD.fromName(t).toString()):"geoPointValue"in e?(r=e.geoPointValue,`geo(${r.latitude},${r.longitude})`):"arrayValue"in e?function(e){let t="[",r=!0;for(let n of e.values||[])r?r=!1:t+=",",t+=rt(n);return t+"]"}(e.arrayValue):"mapValue"in e?function(e){let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(let i of t)n?n=!1:r+=",",r+=`${i}:${rt(e.fields[i])}`;return r+"}"}(e.mapValue):e8(61005,{value:e})}function rr(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function rn(e){return!!e&&"integerValue"in e}function ri(e){return!!e&&"doubleValue"in e}function rs(e){return rn(e)||ri(e)}function ra(e){return!!e&&"arrayValue"in e}function ro(e){return!!e&&"nullValue"in e}function rB(e){return!!e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function rl(e){return!!e&&"mapValue"in e}function ru(e){return(e?.mapValue?.fields||{})[tY]?.stringValue===t0}function rh(e){return(e?.mapValue?.fields||{})[t1]?.arrayValue}function rc(e){if(e.geoPointValue)return{geoPointValue:{...e.geoPointValue}};if(e.timestampValue&&"object"==typeof e.timestampValue)return{timestampValue:{...e.timestampValue}};if(e.mapValue){let t={mapValue:{fields:{}}};return tg(e.mapValue.fields,(e,r)=>t.mapValue.fields[e]=rc(r)),t}if(e.arrayValue){let t={arrayValue:{values:[]}};for(let r=0;r<(e.arrayValue.values||[]).length;++r)t.arrayValue.values[r]=rc(e.arrayValue.values[r]);return t}return{...e}}function rd(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===tX}let rC={mapValue:{fields:{[tY]:{stringValue:t0},[t1]:{arrayValue:{}}}}};function rp(e,t){let r=t9(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function rf(e,t){let r=t9(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class rg{constructor(e){this.value=e}static empty(){return new rg({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(!rl(t=(t.mapValue.fields||{})[e.get(r)]))return null;return(t=(t.mapValue.fields||{})[e.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=rc(t)}setAll(e){let t=tC.emptyPath(),r={},n=[];e.forEach((e,i)=>{if(!t.isImmediateParentOf(i)){let e=this.getFieldsMap(t);this.applyChanges(e,r,n),r={},n=[],t=i.popLast()}e?r[i.lastSegment()]=rc(e):n.push(i.lastSegment())});let i=this.getFieldsMap(t);this.applyChanges(i,r,n)}delete(e){let t=this.field(e.popLast());rl(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return t5(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)];rl(n)&&n.mapValue.fields||(n={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=n),t=n}return t.mapValue.fields}applyChanges(e,t,r){for(let n of(tg(t,(t,r)=>e[t]=r),r))delete e[n]}clone(){return new rg(rc(this.value))}}function rm(e,t){if(e.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:tW(t)?"-0":t}}function rE(e){return{integerValue:""+e}}function rD(e,t,r){return t$(t)?rE(t):rm(e,t)}class ry{constructor(){this._=void 0}}function rw(e,t){return e instanceof rA?rs(t)?t:{integerValue:0}:null}class rI extends ry{}class rv extends ry{constructor(e){super(),this.elements=e}}function r_(e,t){let r=rR(t);for(let t of e.elements)r.some(e=>t5(e,t))||r.push(t);return{arrayValue:{values:r}}}class rb extends ry{constructor(e){super(),this.elements=e}}function rT(e,t){let r=rR(t);for(let t of e.elements)r=r.filter(e=>!t5(e,t));return{arrayValue:{values:r}}}class rS extends ry{constructor(e,t){super(),this.serializer=e,this.l=t}}class rA extends rS{}class rO extends rS{}class rN extends rS{}function rF(e,t,r){if(!rs(t))return e.l;let n=r(rx(t),rx(e.l));return rn(t)&&rn(e.l)?rE(n):rm(e.serializer,n)}function rx(e){return tL(e.integerValue||e.doubleValue)}function rR(e){return ra(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class rL{constructor(e,t){this.field=e,this.transform=t}}class rk{constructor(e,t){this.version=e,this.transformResults=t}}class rP{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new rP}static exists(e){return new rP(void 0,e)}static updateTime(e){return new rP(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function rM(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class rG{}function rH(e,t){if(!e.hasLocalMutations||t&&0===t.fields.length)return null;if(null===t)return e.isNoDocument()?new rQ(e.key,rP.none()):new rj(e.key,e.data,rP.none());{let r=e.data,n=rg.empty(),i=new ts(tC.comparator);for(let e of t.fields)if(!i.has(e)){let t=r.field(e);null===t&&e.length>1&&(e=e.popLast(),t=r.field(e)),null===t?n.delete(e):n.set(e,t),i=i.add(e)}return new rJ(e.key,n,new tp(i.toArray()),rP.none())}}function rU(e,t,r,n){return e instanceof rj?function(e,t,r,n){if(!rM(e.precondition,t))return r;let i=e.value.clone(),s=rz(e.fieldTransforms,n,t);return i.setAll(s),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null}(e,t,r,n):e instanceof rJ?function(e,t,r,n){if(!rM(e.precondition,t))return r;let i=rz(e.fieldTransforms,n,t),s=t.data;return(s.setAll(rq(e)),s.setAll(i),t.convertToFoundDocument(t.version,s).setHasLocalMutations(),null===r)?null:r.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map(e=>e.field))}(e,t,r,n):rM(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):r}function rV(e,t){var r,n;return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||!(!r||!n)&&tt(r,n,(e,t)=>{var r,n;return e.field.isEqual(t.field)&&(r=e.transform,n=t.transform,r instanceof rv&&n instanceof rv||r instanceof rb&&n instanceof rb?tt(r.elements,n.elements,t5):r instanceof rA&&n instanceof rA||r instanceof rO&&n instanceof rO||r instanceof rN&&n instanceof rN?t5(r.l,n.l):r instanceof rI&&n instanceof rI)})))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}class rj extends rG{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.prec
2ondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class rJ extends rG{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function rq(e){let t=new Map;return e.fieldMask.fields.forEach(r=>{if(!r.isEmpty()){let n=e.data.field(r);t.set(r,n)}}),t}function rK(e,t,r){let n=new Map;e5(e.length===r.length,32656,{h:r.length,T:e.length});for(let s=0;s<r.length;s++){var i;let a=e[s],o=a.transform,B=t.data.field(a.field);n.set(a.field,(i=r[s],o instanceof rv?r_(o,B):o instanceof rb?rT(o,B):i))}return n}function rz(e,t,r){let n=new Map;for(let i of e){let e=i.transform,s=r.data.field(i.field);n.set(i.field,function(e,t,r){var n;let i,s,a;return e instanceof rI?(n=t,i={fields:{[tM]:{stringValue:tP},[tH]:{timestampValue:{seconds:r.seconds,nanos:r.nanoseconds}}}},n&&tU(n)&&(n=tV(n)),n&&(i.fields[tG]=n),{mapValue:i}):e instanceof rv?r_(e,t):e instanceof rb?rT(e,t):e instanceof rA?(a=rx(s=rw(e,t))+rx(e.l),rn(s)&&rn(e.l)?rE(a):rm(e.serializer,a)):e instanceof rO?rF(e,t,Math.min):e instanceof rN?rF(e,t,Math.max):void 0}(e,s,t))}return n}class rQ extends rG{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class rW extends rG{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class r${constructor(e,t){this.position=e,this.inclusive=t}}function rY(e,t,r){let n=0;for(let i=0;i<e.position.length;i++){let s=t[i],a=e.position[i];if(n=s.field.isKeyField()?tD.comparator(tD.fromName(a.referenceValue),r.key):t9(a,r.data.field(s.field)),"desc"===s.dir&&(n*=-1),0!==n)break}return n}function rX(e,t){if(null===e)return null===t;if(null===t||e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!t5(e.position[r],t.position[r]))return!1;return!0}class rZ{}class r0 extends rZ{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new r4(e,t,r):"array-contains"===t?new nt(e,r):"in"===t?new nr(e,r):"not-in"===t?new nn(e,r):"array-contains-any"===t?new ni(e,r):new r0(e,t,r)}static createKeyFieldInFilter(e,t,r){return"in"===t?new r9(e,r):new r7(e,r)}matches(e){let t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(t9(t,this.value)):null!==t&&t6(this.value)===t6(t)&&this.matchesComparison(t9(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return e>0;case">=":return e>=0;default:return e8(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class r1 extends rZ{constructor(e,t){super(),this.filters=e,this.op=t,this.P=null}static create(e,t){return new r1(e,t)}matches(e){return r2(this)?void 0===this.filters.find(t=>!t.matches(e)):void 0!==this.filters.find(t=>t.matches(e))}getFlattenedFilters(){return null!==this.P||(this.P=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.P}getFilters(){return Object.assign([],this.filters)}}function r2(e){return"and"===e.op}function r3(e){return"or"===e.op}function r8(e){return r6(e)&&r2(e)}function r6(e){for(let t of e.filters)if(t instanceof r1)return!1;return!0}function r5(e,t){let r=e.filters.concat(t);return r1.create(r,e.op)}class r4 extends r0{constructor(e,t,r){super(e,t,r),this.key=tD.fromName(r.referenceValue)}matches(e){let t=tD.comparator(e.key,this.key);return this.matchesComparison(t)}}class r9 extends r0{constructor(e,t){super(e,"in",t),this.keys=ne("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class r7 extends r0{constructor(e,t){super(e,"not-in",t),this.keys=ne("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function ne(e,t){return(t.arrayValue?.values||[]).map(e=>tD.fromName(e.referenceValue))}class nt extends r0{constructor(e,t){super(e,"array-contains",t)}matches(e){let t=e.data.field(this.field);return ra(t)&&t4(t.arrayValue,this.value)}}class nr extends r0{constructor(e,t){super(e,"in",t)}matches(e){let t=e.data.field(this.field);return null!==t&&t4(this.value.arrayValue,t)}}class nn extends r0{constructor(e,t){super(e,"not-in",t)}matches(e){if(t4(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let t=e.data.field(this.field);return null!==t&&void 0===t.nullValue&&!t4(this.value.arrayValue,t)}}class ni extends r0{constructor(e,t){super(e,"array-contains-any",t)}matches(e){let t=e.data.field(this.field);return!(!ra(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>t4(this.value.arrayValue,e))}}class ns{constructor(e,t="asc"){this.field=e,this.dir=t}}class na{static fromTimestamp(e){return new na(e)}static min(){return new na(new tO(0,0))}static max(){return new na(new tO(0x3afff4417f,0x3b9ac9ff))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class no{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new no(e,0,na.min(),na.min(),na.min(),rg.empty(),0)}static newFoundDocument(e,t,r,n){return new no(e,1,t,na.min(),r,n,0)}static newNoDocument(e,t){return new no(e,2,t,na.min(),na.min(),rg.empty(),0)}static newUnknownDocument(e,t){return new no(e,3,t,na.min(),na.min(),rg.empty(),2)}convertToFoundDocument(e,t){return this.createTime.isEqual(na.min())&&(2===this.documentType||0===this.documentType)&&(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=rg.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=rg.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=na.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof no&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new no(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}
2class nB{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function nl(e){return e.fields.find(e=>2===e.kind)}function nu(e){return e.fields.filter(e=>2!==e.kind)}function nh(e,t){let r=e9(e.collectionGroup,t.collectionGroup);if(0!==r)return r;for(let n=0;n<Math.min(e.fields.length,t.fields.length);++n)if(0!==(r=function(e,t){let r=tC.comparator(e.fieldPath,t.fieldPath);return 0!==r?r:e9(e.kind,t.kind)}(e.fields[n],t.fields[n])))return r;return e9(e.fields.length,t.fields.length)}nB.UNKNOWN_ID=-1;class nc{constructor(e,t){this.fieldPath=e,this.kind=t}}class nd{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new nd(0,nf.min())}}function nC(e,t){let r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1;return new nf(na.fromTimestamp(1e9===n?new tO(r+1,0):new tO(r,n)),tD.empty(),t)}function np(e){return new nf(e.readTime,e.key,-1)}class nf{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new nf(na.min(),tD.empty(),-1)}static max(){return new nf(na.max(),tD.empty(),-1)}}function ng(e,t){let r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=tD.comparator(e.documentKey,t.documentKey))?r:e9(e.largestBatchId,t.largestBatchId)}class nm{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.R=null}}function nE(e,t=null,r=[],n=[],i=null,s=null,a=null){return new nm(e,t,r,n,i,s,a)}function nD(e){if(null===e.R){let t=e.path.canonicalString();null!==e.collectionGroup&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(e=>(function e(t){if(t instanceof r0)return t.field.canonicalString()+t.op.toString()+rt(t.value);if(r8(t))return t.filters.map(t=>e(t)).join(",");{let r=t.filters.map(t=>e(t)).join(",");return`${t.op}(${r})`}})(e)).join(","),t+="|ob:",t+=e.orderBy.map(e=>e.field.canonicalString()+e.dir).join(","),tQ(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(e=>rt(e)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(e=>rt(e)).join(",")),e.R=t}return e.R}function ny(e,t){if(e.limit!==t.limit||e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++){var r,n;if(r=e.orderBy[i],n=t.orderBy[i],!(r.dir===n.dir&&r.field.isEqual(n.field)))return!1}if(e.filters.length!==t.filters.length)return!1;for(let r=0;r<e.filters.length;r++)if(!function e(t,r){return t instanceof r0?r instanceof r0&&t.op===r.op&&t.field.isEqual(r.field)&&t5(t.value,r.value):t instanceof r1?r instanceof r1&&t.op===r.op&&t.filters.length===r.filters.length&&t.filters.reduce((t,n,i)=>t&&e(n,r.filters[i]),!0):void e8(19439)}(e.filters[r],t.filters[r]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!rX(e.startAt,t.startAt)&&rX(e.endAt,t.endAt)}function nw(e){return!!e.isCorePipeline}function nI(e){return!!e.path&&tD.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function nv(e,t){return e.filters.filter(e=>e instanceof r0&&e.field.isEqual(t))}function n_(e,t,r){let n=t2,i=!0;for(let r of nv(e,t)){let e=t2,t=!0;switch(r.op){case"<":case"<=":var s;e="nullValue"in(s=r.value)?t2:"booleanValue"in s?{booleanValue:!1}:"integerValue"in s||"doubleValue"in s?{doubleValue:NaN}:"timestampValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in s?{stringValue:""}:"bytesValue"in s?{bytesValue:""}:"referenceValue"in s?rr(tK.empty(),tD.empty()):"geoPointValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in s?{arrayValue:{}}:"mapValue"in s?ru(s)?rC:{mapValue:{}}:e8(35942,{value:s});break;case"==":case"in":case">=":e=r.value;break;case">":e=r.value,t=!1;break;case"!=":case"not-in":e=t2}0>rp({value:n,inclusive:i},{value:e,inclusive:t})&&(n=e,i=t)}if(null!==r){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=r.position[s];0>rp({value:n,inclusive:i},{value:e,inclusive:r.inclusive})&&(n=e,i=r.inclusive);break}}return{value:n,inclusive:i}}function nb(e,t,r){let n=tZ,i=!0;for(let r of nv(e,t)){let e=tZ,t=!0;switch(r.op){case">=":case">":var s;
2e="nullValue"in(s=r.value)?{booleanValue:!1}:"booleanValue"in s?{doubleValue:NaN}:"integerValue"in s||"doubleValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in s?{stringValue:""}:"stringValue"in s?{bytesValue:""}:"bytesValue"in s?rr(tK.empty(),tD.empty()):"referenceValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in s?{arrayValue:{}}:"arrayValue"in s?rC:"mapValue"in s?ru(s)?{mapValue:{}}:tZ:e8(61959,{value:s}),t=!1;break;case"==":case"in":case"<=":e=r.value;break;case"<":e=r.value,t=!1;break;case"!=":case"not-in":e=tZ}rf({value:n,inclusive:i},{value:e,inclusive:t})>0&&(n=e,i=t)}if(null!==r){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=r.position[s];rf({value:n,inclusive:i},{value:e,inclusive:r.inclusive})>0&&(n=e,i=r.inclusive);break}}return{value:n,inclusive:i}}class nT{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.I=null,this.A=null,this.V=null,this.startAt,this.endAt}}function nS(e){return new nT(e)}function nA(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function nO(e){return null!==e.collectionGroup}function nN(e){if(null===e.I){let t;e.I=[];let r=new Set;for(let t of e.explicitOrderBy)e.I.push(t),r.add(t.field.canonicalString());let n=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(t=new ts(tC.comparator),e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t).forEach(t=>{r.has(t.canonicalString())||t.isKeyField()||e.I.push(new ns(t,n))}),r.has(tC.keyField().canonicalString())||e.I.push(new ns(tC.keyField(),n))}return e.I}function nF(e){return e.A||(e.A=nx(e,nN(e))),e.A}function nx(e,t){if("F"===e.limitType)return nE(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);{t=t.map(e=>{let t="desc"===e.dir?"asc":"desc";return new ns(e.field,t)});let r=e.endAt?new r$(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new r$(e.startAt.position,e.startAt.inclusive):null;return nE(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)}}function nR(e,t){let r=e.filters.concat([t]);return new nT(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function nL(e,t){let r=e.explicitOrderBy.concat([t]);return new nT(e.path,e.collectionGroup,r,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)}function nk(e,t,r){return new nT(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function nP(e,t){return ny(nF(e),nF(t))&&e.limitType===t.limitType}function nM(e){var t;let r;return`Query(target=${r=(t=nF(e)).path.canonicalString(),null!==t.collectionGroup&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(e=>(function e(t){return t instanceof r0?`${t.field.canonicalString()} ${t.op} ${rt(t.value)}`:t instanceof r1?t.op.toString()+" {"+t.getFilters().map(e).join(" ,")+"}":"Filter"})(e)).join(", ")}]`),tQ(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(e=>`${e.field.canonicalString()} (${e.dir})`).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(e=>rt(e)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(e=>rt(e)).join(",")),`Target(${r})`}; limitType=${e.limitType})`}function nG(e,t){var r,n,i,s;let a,o,B;return t.isFoundDocument()&&(a=t.key.path,null!==e.collectionGroup?t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(a):tD.isDocumentKey(e.path)?e.path.isEqual(a):e.path.isImmediateParentOf(a))&&function(e,t){for(let r of nN(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0}(e,t)&&function(e,t){for(let r of e.filters)if(!r.matches(t))return!1;return!0}(e,t)&&(r=e,n=t,(!r.startAt||(i=r.startAt,o=rY(i,nN(r),n),i.inclusive?!!(o<=0):!!(o<0)))&&(!r.endAt||(s=r.endAt,B=rY(s,nN(r),n),s.inclusive?!!(B>=0):!!(B>0))))}function nH(e){return(t,r)=>{let n=!1;for(let i of nN(e)){let e=function(e,t,r){var n;let i,s,a=e.field.isKeyField()?tD.comparator(t.key,r.key):(n=e.field,i=t.data.field(n),s=r.data.field(n),null!==i&&null!==s?t9(i,s):e8(42886));switch(e.dir){case"asc":return a;
2case"desc":return -1*a;default:return e8(19790,{direction:e.dir})}}(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class nU{constructor(e,t){this.count=e,this.unchangedNames=t}}function nV(e){switch(e){case tB.OK:return e8(64938);case tB.CANCELLED:case tB.UNKNOWN:case tB.DEADLINE_EXCEEDED:case tB.RESOURCE_EXHAUSTED:case tB.INTERNAL:case tB.UNAVAILABLE:case tB.UNAUTHENTICATED:return!1;case tB.INVALID_ARGUMENT:case tB.NOT_FOUND:case tB.ALREADY_EXISTS:case tB.PERMISSION_DENIED:case tB.FAILED_PRECONDITION:case tB.ABORTED:case tB.OUT_OF_RANGE:case tB.UNIMPLEMENTED:case tB.DATA_LOSS:return!0;default:return e8(15467,{code:e})}}function nj(e){if(void 0===e)return e1("GRPC error has no .code"),tB.UNKNOWN;switch(e){case c.OK:return tB.OK;case c.CANCELLED:return tB.CANCELLED;case c.UNKNOWN:return tB.UNKNOWN;case c.DEADLINE_EXCEEDED:return tB.DEADLINE_EXCEEDED;case c.RESOURCE_EXHAUSTED:return tB.RESOURCE_EXHAUSTED;case c.INTERNAL:return tB.INTERNAL;case c.UNAVAILABLE:return tB.UNAVAILABLE;case c.UNAUTHENTICATED:return tB.UNAUTHENTICATED;case c.INVALID_ARGUMENT:return tB.INVALID_ARGUMENT;case c.NOT_FOUND:return tB.NOT_FOUND;case c.ALREADY_EXISTS:return tB.ALREADY_EXISTS;case c.PERMISSION_DENIED:return tB.PERMISSION_DENIED;case c.FAILED_PRECONDITION:return tB.FAILED_PRECONDITION;case c.ABORTED:return tB.ABORTED;case c.OUT_OF_RANGE:return tB.OUT_OF_RANGE;case c.UNIMPLEMENTED:return tB.UNIMPLEMENTED;case c.DATA_LOSS:return tB.DATA_LOSS;default:return e8(39323,{code:e})}}(d=c||(c={}))[d.OK=0]="OK",d[d.CANCELLED=1]="CANCELLED",d[d.UNKNOWN=2]="UNKNOWN",d[d.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",d[d.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",d[d.NOT_FOUND=5]="NOT_FOUND",d[d.ALREADY_EXISTS=6]="ALREADY_EXISTS",d[d.PERMISSION_DENIED=7]="PERMISSION_DENIED",d[d.UNAUTHENTICATED=16]="UNAUTHENTICATED",d[d.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",d[d.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",d[d.ABORTED=10]="ABORTED",d[d.OUT_OF_RANGE=11]="OUT_OF_RANGE",d[d.UNIMPLEMENTED=12]="UNIMPLEMENTED",d[d.INTERNAL=13]="INTERNAL",d[d.UNAVAILABLE=14]="UNAVAILABLE",d[d.DATA_LOSS=15]="DATA_LOSS";class nJ{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0!==r){for(let[t,n]of r)if(this.equalsFn(t,e))return n}}has(e){return void 0!==this.get(e)}set(e,t){let r=this.mapKeyFn(e),n=this.inner[r];if(void 0===n)return this.inner[r]=[[e,t]],void this.innerSize++;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return void(n[r]=[e,t]);n.push([e,t]),this.innerSize++}delete(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0===r)return!1;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return 1===r.length?delete this.inner[t]:r.splice(n,1),this.innerSize--,!0;return!1}forEach(e){tg(this.inner,(t,r)=>{for(let[t,n]of r)e(t,n)})}isEmpty(){return tE(this.inner)}size(){return this.innerSize}}let nq=new tr(tD.comparator),nK=new tr(tD.comparator);function nz(...e){let t=nK;for(let r of e)t=t.insert(r.key,r);return t}function nQ(e){let t=nK;return e.forEach((e,r)=>t=t.insert(e,r.overlayedDocument)),t}function nW(){return new nJ(e=>e.toString(),(e,t)=>e.isEqual(t))}let n$=new tr(tD.comparator),nY=new ts(tD.comparator);function nX(...e){let t=nY;for(let r of e)t=t.add(r);return t}let nZ=new ts(e9),n0=null;function n1(){return new TextEncoder}let n2=new r([0xffffffff,0xffffffff],0);function n3(e){let t=n1().encode(e),r=new n;return r.update(t),new Uint8Array(r.digest())}function n8(e){let t=new DataView(e.buffer),n=t.getUint32(0,!0),i=t.getUint32(4,!0),s=t.getUint32(8,!0),a=t.getUint32(12,!0);return[new r([n,i],0),new r([s,a],0)]}class n6{constructor(e,t,n){if(this.bitmap=e,this.padding=t,this.hashCount=n,t<0||t>=8)throw new n5(`Invalid padding: ${t}`);if(n<0||e.length>0&&0===this.hashCount)throw new n5(`Invalid hash count: ${n}`);if(0===e.length&&0!==t)throw new n5(`Invalid padding when bitmap length is 0: ${t}`);this.m=8*e.length-t,this.p=r.fromNumber(this.m)}S(e,t,n){let i=e.add(t.multiply(r.fromNumber(n)));return 1===i.compare(n2)&&(i=new r([i.getBits(0),i.getBits(1)],0)),i.modulo(this.p).toNumber()}v(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.m)return!1;let[t,r]=n8(n3(e));for(let e=0;e<this.hashCount;e++){let n=this.S(t,r,e);if(!this.v(n))return!1}return!0}static create(e,t,r){let n=new n6(new Uint8Array(Math.ceil(e/8)),e%8==0?0:8-e%8,t);
2return r.forEach(e=>n.insert(e)),n}insert(e){if(0===this.m)return;let[t,r]=n8(n3(e));for(let e=0;e<this.hashCount;e++){let n=this.S(t,r,e);this.D(n)}}D(e){let t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class n5 extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class n4{constructor(e,t,r,n,i,s){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.augmentedDocumentUpdates=i,this.resolvedLimboDocuments=s}static createSynthesizedRemoteEventForCurrentChange(e,t,r){let n=new Map;return n.set(e,n9.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new n4(na.min(),n,new tr(e9),nq,nq,nX())}}class n9{constructor(e,t,r,n,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new n9(r,t,nX(),nX(),nX())}}class n7{constructor(e,t,r,n){this.C=e,this.removedTargetIds=t,this.key=r,this.F=n}}class ie{constructor(e,t){this.targetId=e,this.O=t}}class it{constructor(e,t,r=tF.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class ir{constructor(e){this.targetId=e,this.M=0,this.N=io(),this.L=tF.EMPTY_BYTE_STRING,this.B=!1,this.U=!0}get current(){return this.B}get resumeToken(){return this.L}get k(){return 0!==this.M}get q(){return this.U}$(e){e.approximateByteSize()>0&&(this.U=!0,this.L=e)}K(){let e=nX(),t=nX(),r=nX();return this.N.forEach((n,i)=>{switch(i){case 0:e=e.add(n);break;case 2:t=t.add(n);break;case 1:r=r.add(n);break;default:e8(38017,{changeType:i})}}),new n9(this.L,this.B,e,t,r)}W(){this.U=!1,this.N=io()}G(e,t){this.U=!0,this.N=this.N.insert(e,t)}j(e){this.U=!0,this.N=this.N.remove(e)}H(){this.M+=1}J(){this.M-=1,e5(this.M>=0,3241,{M:this.M,targetId:this.targetId})}Y(){this.U=!0,this.B=!0}}let ii="WatchChangeAggregator";class is{constructor(e){this.Z=e,this.X=new Map,this.ee=nq,this.te=ia(),this.ne=nq,this.re=ia(),this.ie=new tr(e9)}se(e){for(let t of e.C)e.F&&e.F.isFoundDocument()?this._e(t,e.F):this.oe(t,e.key,e.F);for(let t of e.removedTargetIds)this.oe(t,e.key,e.F)}ae(e){this.forEachTarget(e,t=>{let r=this.X.get(t);if(r)switch(e.state){case 0:this.ue(t)&&r.$(e.resumeToken);break;case 1:r.J(),r.k||r.W(),r.$(e.resumeToken);break;case 2:r.J(),r.k||this.removeTarget(t);break;case 3:this.ue(t)&&(r.Y(),r.$(e.resumeToken));break;case 4:this.ue(t)&&(this.ce(t),r.$(e.resumeToken));break;default:e8(56790,{state:e.state})}else e0(ii,`handleTargetChange received targetChange for untracked target ID (${t}) with state (${e.state})`)})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.X.forEach((e,r)=>{this.ue(r)&&t(r)})}le(e){return nw(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:nI(e)}Ee(e){let t=e.targetId,r=e.O.count,n=this.he(t);if(n){let a=n.target;if(this.le(a))if(0===r){let e=new tD(nw(a)?tc.fromString(a.getPipelineDocuments()[0]):a.path);this.oe(t,e,no.newNoDocument(e,na.min()))}else e5(1===r,20013,"Single document existence filter with count: "+r);else{let n=this.Te(t);if(n!==r){var i,s;let r,a,o=this.Pe(e),B=o?this.Re(o,e,n):1;0!==B&&(this.ce(t),this.ie=this.ie.insert(t,2===B?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch")),n0?.Ie((i=e.O,s=this.Z.Ae(),r={localCacheCount:n,existenceFilterCount:i.count,databaseId:s.database,projectId:s.projectId},(a=i.unchangedNames)&&(r.bloomFilter={applied:0===B,hashCount:a?.hashCount??0,bitmapLength:a?.bits?.bitmap?.length??0,padding:a?.bits?.padding??0,mightContain:e=>o?.mightContain(e)??!1}),r))}}}}Pe(e){let t,r,n=e.O.unchangedNames;if(!n||!n.bits)return null;let{bits:{bitmap:i="",padding:s=0},hashCount:a=0}=n;try{t=tk(i).toUint8Array()}catch(e){if(e instanceof tN)return e2("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{r=new n6(t,s,a)}catch(e){return e2(e instanceof n5?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===r.m?null:r}Re(e,t,r){return 2*(t.O.count!==r-this.Ve(e,t.targetId))}Ve(e,t){let r=this.Z.getRemoteKeysForTarget(t),n=0;return r.forEach(r=>{let i=this.Z.Ae(),s=`projects/${i.projectId}/databases/${i.database}/documents/${r.path.canonicalString()}`;e.mightContain(s)||(this.oe(t,r,null),n++)}),n}de(e){let t=new Map;
2this.X.forEach((r,n)=>{let i=this.he(n);if(i){if(r.current&&this.le(i.target)){let t=new tD(nw(i.target)?tc.fromString(i.target.getPipelineDocuments()[0]):i.target.path);this.fe(t).has(n)||this.me(n,t)||this.oe(n,t,no.newNoDocument(t,e))}r.q&&(t.set(n,r.K()),r.W())}});let r=nX();this.re.forEach((e,t)=>{let n=!0;t.forEachWhile(e=>{let t=this.he(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(n=!1,!1)}),n&&(r=r.add(e))}),this.ee.forEach((t,r)=>r.setReadTime(e)),this.ne.forEach((t,r)=>r.setReadTime(e));let n=new n4(e,t,this.ie,this.ee,this.ne,r);return this.ee=nq,this.te=ia(),this.ne=nq,this.re=ia(),this.ie=new tr(e9),n}_e(e,t){let r=this.X.get(e);if(!r||!this.ue(e))return void e0(ii,`addDocumentToTarget received document for unknown inactive target (${e})`);let n=2*!!this.me(e,t.key);r.G(t.key,n),nw(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?this.ne=this.ne.insert(t.key,t):this.ee=this.ee.insert(t.key,t),this.te=this.te.insert(t.key,this.fe(t.key).add(e)),this.re=this.re.insert(t.key,this.pe(t.key).add(e))}oe(e,t,r){let n=this.X.get(e);n&&this.ue(e)?(this.me(e,t)?n.G(t,1):n.j(t),this.re=this.re.insert(t,this.pe(t).delete(e)),this.re=this.re.insert(t,this.pe(t).add(e)),r&&(nw(this.he(e).target)&&"exact"!==this.he(e).target.getPipelineFlavor()?this.ne=this.ne.insert(t,r):this.ee=this.ee.insert(t,r))):e0(ii,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.X.delete(e)}Te(e){let t=this.X.get(e);if(!t)return 0;let r=t.K();return this.Z.getRemoteKeysForTarget(e).size+r.addedDocuments.size-r.removedDocuments.size}H(e){let t=this.X.get(e);t||(e0(ii,`recordPendingTargetRequest set up tracking for target ID ${e}`),t=new ir(e),this.X.set(e,t)),t.H()}pe(e){let t=this.re.get(e);return t||(t=new ts(e9),this.re=this.re.insert(e,t)),t}fe(e){let t=this.te.get(e);return t||(t=new ts(e9),this.te=this.te.insert(e,t)),t}ue(e){let t=null!==this.he(e);return t||e0(ii,"Detected inactive target",e),t}he(e){let t=this.X.get(e);return void 0===t||t.k?null:this.Z.ge(e)}ce(e){this.X.set(e,new ir(e)),this.Z.getRemoteKeysForTarget(e).forEach(t=>{this.oe(e,t,null)})}me(e,t){return this.Z.getRemoteKeysForTarget(e).has(t)}}function ia(){return new tr(tD.comparator)}function io(){return new tr(tD.comparator)}let iB={asc:"ASCENDING",desc:"DESCENDING"},il={"<":"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"},iu={and:"AND",or:"OR"};class ih{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function ic(e,t){return e.useProto3Json||tQ(t)?t:{value:t}}function id(e,t){return e.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function iC(e){let t=tR(e);return new tO(t.seconds,t.nanos)}function ip(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function ig(e,t){return id(e,t.toTimestamp())}function im(e){return e5(!!e,49232),na.fromTimestamp(iC(e))}function iE(e,t){return iD(e,t).canonicalString()}function iD(e,t){let r=new tc(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function iy(e){let t=tc.fromString(e);return e5(iM(t),10190,{key:t.toString()}),t}function iw(e,t){return iE(e.databaseId,t.path)}function iI(e,t){let r=iy(t);if(r.get(1)!==e.databaseId.projectId)throw new tl(tB.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new tl(tB.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new tD(iT(r))}function iv(e,t){return iE(e.databaseId,t)}function i_(e){let t=iy(e);return 4===t.length?tc.emptyPath():iT(t)}function ib(e){return new tc(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function iT(e){return e5(e.length>4&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function iS(e,t,r){return{name:iw(e,t),fields:r.value.mapValue.fields}}function iA(e,t,r){let n=iI(e,t.name),i=im(t.updateTime),s=t.createTime?im(t.createTime):na.min(),a=new rg({mapValue:{fields:t.fields}}),o=no.newFoundDocument(n,i,s,a);return r&&o.setHasCommittedMutations(),r?o.setHasCommittedMutations():o}function iO(e,t){var r,n;let i;if(t instanceof rj)i={update:iS(e,t.key,t.value)};else if(t instanceof rQ)i={delete:iw(e,t.key)};else if(t instanceof rJ){let r;i={update:iS(e,t.key,t.data),updateMask:(n=t.fieldMask,r=[],n.fields.forEach(e
2=>r.push(e.canonicalString())),{fieldPaths:r})}}else{if(!(t instanceof rW))return e8(16599,{we:t.type});i={verify:iw(e,t.key)}}return t.fieldTransforms.length>0&&(i.updateTransforms=t.fieldTransforms.map(e=>(function(e){let t=e.transform;if(t instanceof rI)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof rv)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof rb)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof rA)return{fieldPath:e.field.canonicalString(),increment:t.l};if(t instanceof rO)return{fieldPath:e.field.canonicalString(),minimum:t.l};if(t instanceof rN)return{fieldPath:e.field.canonicalString(),maximum:t.l};throw e8(20930,{transform:e.transform})})(e))),t.precondition.isNone||(i.currentDocument=void 0!==(r=t.precondition).updateTime?{updateTime:ig(e,r.updateTime)}:void 0!==r.exists?{exists:r.exists}:e8(27497)),i}function iN(e,t){var r;let n=t.currentDocument?void 0!==(r=t.currentDocument).updateTime?rP.updateTime(im(r.updateTime)):void 0!==r.exists?rP.exists(r.exists):rP.none():rP.none(),i=t.updateTransforms?t.updateTransforms.map(t=>{let r;return r=null,"setToServerValue"in t?(e5("REQUEST_TIME"===t.setToServerValue,16630,{proto:t}),r=new rI):"appendMissingElements"in t?r=new rv(t.appendMissingElements.values||[]):"removeAllFromArray"in t?r=new rb(t.removeAllFromArray.values||[]):"increment"in t?r=new rA(e,t.increment):"minimum"in t?r=new rO(e,t.minimum):"maximum"in t?r=new rN(e,t.maximum):e8(16584,{proto:t}),new rL(tC.fromServerFormat(t.fieldPath),r)}):[];if(t.update){t.update.name;let r=iI(e,t.update.name),s=new rg({mapValue:{fields:t.update.fields}});return t.updateMask?new rJ(r,s,new tp((t.updateMask.fieldPaths||[]).map(e=>tC.fromServerFormat(e))),n,i):new rj(r,s,n,i)}return t.delete?new rQ(iI(e,t.delete),n):t.verify?new rW(iI(e,t.verify),n):e8(1463,{proto:t})}function iF(e,t){return{documents:[iv(e,t.path)]}}function ix(e,t){var r,n;let i,s={structuredQuery:{}},a=t.path;null!==t.collectionGroup?(i=a,s.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=a.popLast(),s.structuredQuery.from=[{collectionId:a.lastSegment()}]),s.parent=iv(e,i);let o=function(e){if(0!==e.length)return function e(t){var r;let n;return t instanceof r0?function(e){if("=="===e.op){if(rB(e.value))return{unaryFilter:{field:ik(e.field),op:"IS_NAN"}};if(ro(e.value))return{unaryFilter:{field:ik(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(rB(e.value))return{unaryFilter:{field:ik(e.field),op:"IS_NOT_NAN"}};if(ro(e.value))return{unaryFilter:{field:ik(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:ik(e.field),op:il[e.op],value:e.value}}}(t):t instanceof r1?1===(n=(r=t).getFilters().map(t=>e(t))).length?n[0]:{compositeFilter:{op:iu[r.op],filters:n}}:e8(54877,{filter:t})}(r1.create(e,"and"))}(t.filters);o&&(s.structuredQuery.where=o);let B=function(e){if(0!==e.length)return e.map(e=>({field:ik(e.field),direction:iB[e.dir]}))}(t.orderBy);B&&(s.structuredQuery.orderBy=B);let l=ic(e,t.limit);return null!==l&&(s.structuredQuery.limit=l),t.startAt&&(s.structuredQuery.startAt={before:(r=t.startAt).inclusive,values:r.position}),t.endAt&&(s.structuredQuery.endAt={before:!(n=t.endAt).inclusive,values:n.position}),{be:s,parent:i}}function iR(e){var t,r,n;let i,s,a,o,B=i_(e.parent),l=e.structuredQuery,u=l.from?l.from.length:0,h=null;if(u>0){e5(1===u,65062);let e=l.from[0];e.allDescendants?h=e.collectionId:B=B.child(e.collectionId)}let c=[];l.where&&(c=(i=function e(t){return void 0!==t.unaryFilter?function(e){switch(e.unaryFilter.op){case"IS_NAN":let t=iP(e.unaryFilter.field);return r0.create(t,"==",{doubleValue:NaN});case"IS_NULL":let r=iP(e.unaryFilter.field);return r0.create(r,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let n=iP(e.unaryFilter.field);return r0.create(n,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let i=iP(e.unaryFilter.field);return r0.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return e8(61313);default:return e8(60726)}}(t):void 0!==t.fieldFilter?r0.create(iP(t.fieldFilter.field),function(e){switch(e){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";case"OPERATOR_UNSPECIFIED":return e8(58110);default:return e8(50506)}}(t.fieldFilter.op),t.fieldFilter.value):void 0!==t.compositeFilter?r1.create(t.compositeFilter.filters.map(t=>e(t)),function(e){switch(e){case"AND":return"and";case"OR":return"or";default:return e8(1026)}}(t.compositeFilter.op)):e8(30097,{filter:t})}(l.where))instanceof r1&&r8(i)?i.getFilters():[i]);let d=[];l.orderBy&&(d=l.orderBy.map(e=>new ns(iP(e.field),function(e){switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(e.direction))));let C=null;l.limit&&(C=tQ(s="object"==typeof(t=l.limit)?t.value:t)?null:s);let p=null;l.startAt&&(a=!!(r=l.startAt).before,p=new r$(r.values||[],a));let f=null;return l.endAt&&(o=!(n=l.endAt).before,f=new r$(n.values||[],o)),new nT(B,h,d,c,C,"F",p,f)}function iL(e,t){return{structuredPipeline:{pipeline:{stages:t.stages.map(t=>t._toProto(e))}}}}function ik(e){return{fieldPath:e.canonicalString()}}function iP(e){return tC.fromServerFormat(e.fieldPath)}function iM(e){return e.length>=4&&"projects"===e.get(0)&&"databases"===e.get(2)}function iG(e){return!!e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function iH(e,t){let r={fields:{}};return t.forEach((t,n)=>{if("string"!=typeof n)throw Error(`Cannot encode map with non-string key: ${n}`);r.fields[n]=t._toProto(e)}),{mapValue:r}}function iU(e){return{stringValue:e}}function iV(e){return new ih(e,!0)}class ij{constructor(e){this._byteString=e}static fromBase64String(e){try{return new ij(tF.fromBase64String(e))}catch(e){throw new tl(tB.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new ij(tF.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:ij._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(tA(e,ij._jsonSchema))return ij.fromBase64String(e.bytes)}}
2ij._jsonSchemaVersion="firestore/bytes/1.0",ij._jsonSchema={type:tS("string",ij._jsonSchemaVersion),bytes:tS("string")};class iJ{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new tl(tB.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new tC(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}class iq{constructor(e){this._methodName=e}}class iK{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new tl(tB.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new tl(tB.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return e9(this._lat,e._lat)||e9(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:iK._jsonSchemaVersion}}static fromJSON(e){if(tA(e,iK._jsonSchema))return new iK(e.latitude,e.longitude)}}iK._jsonSchemaVersion="firestore/geoPoint/1.0",iK._jsonSchema={type:tS("string",iK._jsonSchemaVersion),latitude:tS("number"),longitude:tS("number")};class iz{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}iz.UNAUTHENTICATED=new iz(null),iz.GOOGLE_CREDENTIALS=new iz("google-credentials-uid"),iz.FIRST_PARTY=new iz("first-party-uid"),iz.MOCK_USER=new iz("mock-user");class iQ{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class iW{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class i${getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(iz.UNAUTHENTICATED))}shutdown(){}}class iY{constructor(e){this.ve=e,this.currentUser=iz.UNAUTHENTICATED,this.De=0,this.forceRefresh=!1,this.auth=null}start(e,t){e5(void 0===this.xe,42304);let r=this.De,n=e=>this.De!==r?(r=this.De,t(e)):Promise.resolve(),i=new iQ;this.xe=()=>{this.De++,this.currentUser=this.Ce(),i.resolve(),i=new iQ,e.enqueueRetryable(()=>n(this.currentUser))};let s=()=>{let t=i;e.enqueueRetryable(async()=>{await t.promise,await n(this.currentUser)})},a=e=>{e0("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.xe&&(this.auth.addAuthTokenListener(this.xe),s())};this.ve.onInit(e=>a(e)),setTimeout(()=>{if(!this.auth){let e=this.ve.getImmediate({optional:!0});e?a(e):(e0("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new iQ)}},0),s()}getToken(){let e=this.De,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(t=>this.De!==e?(e0("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):t?(e5("string"==typeof t.accessToken,31837,{Fe:t}),new iW(t.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.xe&&this.auth.removeAuthTokenListener(this.xe),this.xe=void 0}Ce(){let e=this.auth&&this.auth.getUid();return e5(null===e||"string"==typeof e,2055,{Oe:e}),new iz(e)}}class iX{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r,this.type="FirstParty",this.user=iz.FIRST_PARTY,this.Be=new Map}Ue(){return this.Le?this.Le():null}get headers(){this.Be.set("X-Goog-AuthUser",this.Me);let e=this.Ue();return e&&this.Be.set("Authorization",e),this.Ne&&this.Be.set("X-Goog-Iam-Authorization-Token",this.Ne),this.Be}}class iZ{constructor(e,t,r){this.Me=e,this.Ne=t,this.Le=r}getToken(){return Promise.resolve(new iX(this.Me,this.Ne,this.Le))}start(e,t){e.enqueueRetryable(()=>t(iz.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class i0{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 i1{constructor(e,t){this.ke=t,this.forceRefresh=!1,this.appCheck=null,this.qe=null,this.$e=null,(0,p._isFirebaseServerApp)(e)&&e.settings.appCheckToken&&(this.$e=e.settings.appCheckToken)}start(e,t){e5(void 0===this.xe,3512);let r=e=>{null!=e.error&&e0("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);let r=e.token!==this.qe;return this.qe=e.token,e0("FirebaseAppCheckTokenProvider",`Received ${r?"new":"existing"} token.`),r?t(e.token):Promise.resolve()};this.xe=t=>{e.enqueueRetryable(()=>r(t))};let n=e=>{e0("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.xe&&this.appCheck.addTokenListener(this.xe)};this.ke.onInit(e=>n(e)),setTimeout(()=>{if(!this.appCheck){let e=this.ke.getImmediate({optional:!0});e?n(e):e0("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.$e)return Promise.resolve(new i0(this.$e));let e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(e5("string"==typeof e.token,44558,{tokenResult:e}),this.qe=e.token,new i0(e.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.xe&&this.appCheck.removeTokenListener(this.xe),this.xe=void 0}}function i2(e){let t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class i3{Ke(e){}shutdown(){}}let i8="ConnectivityMonitor";class i6{constructor(){this.Qe=()=>this.We(),this.Ge=()=>this.ze(),this.je=[],this.He()}Ke(e){this.je.push(e)}shutdown(){window.removeEventListener("online",this.Qe),window.removeEventListener("offline",this.Ge)}He(){window.addEventListener("online",this.Qe),window.addEventListener("offline",this.Ge)}We(){for(let e of(e0(i8,"Network connectivity changed: AVAILABLE"),this.je))e(0)}ze(){for(let e of(e0(i8,"Network connectivity changed: UNAVAILABLE"),this.je))e(1)}static Je(){return"u">typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let i5=null;function i4(){return null===i5?i5=0x10000000+Math.round(0x80000000*Math.random()):i5++,"0x"+i5.toString(16)}let i9="RestConnection",i7={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregation
2Query:"runAggregationQuery",ExecutePipeline:"executePipeline"};class se{get Ye(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.Ze=t+"://"+e.host,this.Xe=`projects/${r}/databases/${n}`,this.et=this.databaseId.database===tq?`project_id=${r}`:`project_id=${r}&database_id=${n}`}tt(e,t,r,n,i){let s=i4(),a=this.nt(e,t.toUriEncodedString());e0(i9,`Sending RPC '${e}' ${s}:`,a,r);let o={"google-cloud-resource-prefix":this.Xe,"x-goog-request-params":this.et};this.rt(o,n,i);let{host:B}=new URL(a),l=(0,E.isCloudWorkstation)(B);return this.it(e,a,o,r,l).then(t=>(e0(i9,`Received RPC '${e}' ${s}: `,t),t),t=>{throw e2(i9,`RPC '${e}' ${s} failed with error: `,t,"url: ",a,"request:",r),t})}st(e,t,r,n,i,s){return this.tt(e,t,r,n,i)}rt(e,t,r){if(e["X-Goog-Api-Client"]="gl-js/ fire/"+e$,e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((t,r)=>e[r]=t),r&&r.headers.forEach((t,r)=>e[r]=t),this.databaseInfo._customHeaders)for(let t of Object.keys(this.databaseInfo._customHeaders))e[t]=this.databaseInfo._customHeaders[t]}nt(e,t){let r=i7[e],n=`${this.Ze}/v1/${t}:${r}`;return this.databaseInfo.apiKey&&(n=`${n}?key=${encodeURIComponent(this.databaseInfo.apiKey)}`),n}terminate(){}}class st{constructor(e){this._t=e._t,this.ot=e.ot}ut(e){this.ct=e}lt(e){this.Et=e}ht(e){this.Tt=e}onMessage(e){this.Pt=e}close(){this.ot()}send(e){this._t(e)}Rt(){this.ct()}It(){this.Et()}At(e){this.Tt(e)}Vt(e){this.Pt(e)}}let sr="WebChannelConnection",sn=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class si extends se{constructor(e){super(e),this.dt=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static ft(){si.gt||(sn(u(),l.STAT_EVENT,e=>{e.stat===B.PROXY?e0(sr,"STAT_EVENT: detected buffering proxy"):e.stat===B.NOPROXY&&e0(sr,"STAT_EVENT: detected no buffering proxy")}),si.gt=!0)}it(e,t,r,n,s){let B=i4();return new Promise((s,l)=>{let u=new i;u.setWithCredentials(!0),u.listenOnce(a.COMPLETE,()=>{try{switch(u.getLastErrorCode()){case o.NO_ERROR:let t=u.getResponseJson();e0(sr,`XHR for RPC '${e}' ${B} received:`,JSON.stringify(t)),s(t);break;case o.TIMEOUT:e0(sr,`RPC '${e}' ${B} timed out`),l(new tl(tB.DEADLINE_EXCEEDED,"Request time out"));break;case o.HTTP_ERROR:let r=u.getStatus();if(e0(sr,`RPC '${e}' ${B} failed with status:`,r,"response text:",u.getResponseText()),r>0){let e=u.getResponseJson();Array.isArray(e)&&(e=e[0]);let t=e?.error;if(t&&t.status&&t.message){let e,r=(e=t.status.toLowerCase().replace(/_/g,"-"),Object.values(tB).indexOf(e)>=0?e:tB.UNKNOWN);l(new tl(r,t.message))}else l(new tl(tB.UNKNOWN,"Server responded with status "+u.getStatus()))}else l(new tl(tB.UNAVAILABLE,"Connection failed."));break;default:e8(9055,{yt:e,streamId:B,wt:u.getLastErrorCode(),bt:u.getLastError()})}}finally{e0(sr,`RPC '${e}' ${B} completed.`)}});let h=JSON.stringify(n);e0(sr,`RPC '${e}' ${B} sending request:`,n),u.send(t,"POST",h,r,15)})}St(e,t,r){let n=i4(),i=[this.Ze,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=this.createWebChannelTransport(),o={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},B=this.longPollingOptions.timeoutSeconds;void 0!==B&&(o.longPollingTimeout=Math.round(1e3*B)),this.useFetchStreams&&(o.useFetchStreams=!0),this.rt(o.initMessageHeaders,t,r),o.encodeInitMessageHeaders=!0;let l=i.join("");e0(sr,`Creating RPC '${e}' stream ${n}: ${l}`,o);let u=a.createWebChannel(l,o);this.vt(u);let h=!1,d=!1,C=new st({_t:t=>{d?e0(sr,`Not sending because RPC '${e}' stream ${n} is closed:`,t):(h||(e0(sr,`Opening RPC '${e}' stream ${n} transport.`),u.open(),h=!0),e0(sr,`RPC '${e}' stream ${n} sending:`,t),u.send(t))},ot:()=>u.close()});return sn(u,s.EventType.OPEN,()=>{d||(e0(sr,`RPC '${e}' stream ${n} transport opened.`),C.Rt())}),sn(u,s.EventType.CLOSE,()=>{d||(d=!0,e0(sr,`RPC '${e}' stream ${n} transport closed`),C.At(),this.Dt(u))}
vendor: 4,257 bytes, line 2
2),sn(u,s.EventType.ERROR,t=>{d||(d=!0,e2(sr,`RPC '${e}' stream ${n} transport errored. Name:`,t.name,"Message:",t.message),C.At(new tl(tB.UNAVAILABLE,"The operation could not be completed")))}),sn(u,s.EventType.MESSAGE,t=>{if(!d){let r=t.data[0];e5(!!r,16349);let i=r?.error||r[0]?.error;if(i){e0(sr,`RPC '${e}' stream ${n} received error:`,i);let t=i.status,r=function(e){let t=c[e];if(void 0!==t)return nj(t)}(t),s=i.message;"NOT_FOUND"===t&&s.includes("database")&&s.includes("does not exist")&&s.includes(this.databaseId.database)&&e2(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===r&&(r=tB.INTERNAL,s="Unknown error status: "+t+" with message "+i.message),d=!0,C.At(new tl(r,s)),u.close()}else e0(sr,`RPC '${e}' stream ${n} received:`,r),C.Vt(r)}}),si.ft(),setTimeout(()=>{C.It()},0),C}terminate(){this.dt.forEach(e=>e.close()),this.dt=[]}vt(e){this.dt.push(e)}Dt(e){this.dt=this.dt.filter(t=>t===e)}rt(e,t,r){super.rt(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return h()}}si.gt=!1;class ss{constructor(e,t,r=1e3,n=1.5,i=6e4){this.xt=e,this.timerId=t,this.Ct=r,this.Ft=n,this.Ot=i,this.Mt=0,this.Nt=null,this.Lt=Date.now(),this.reset()}reset(){this.Mt=0}Bt(){this.Mt=this.Ot}Ut(e){this.cancel();let t=Math.floor(this.Mt+this.kt()),r=Math.max(0,Date.now()-this.Lt),n=Math.max(0,t-r);n>0&&e0("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.Mt} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Nt=this.xt.enqueueAfterDelay(this.timerId,n,()=>(this.Lt=Date.now(),e())),this.Mt*=this.Ft,this.Mt<this.Ct&&(this.Mt=this.Ct),this.Mt>this.Ot&&(this.Mt=this.Ot)}qt(){null!==this.Nt&&(this.Nt.skipDelay(),this.Nt=null)}cancel(){null!==this.Nt&&(this.Nt.cancel(),this.Nt=null)}kt(){return(Math.random()-.5)*this.Mt}}let sa="PersistentStream";class so{constructor(e,t,r,n,i,s,a,o){this.xt=e,this.$t=r,this.Kt=n,this.connection=i,this.authCredentialsProvider=s,this.appCheckCredentialsProvider=a,this.listener=o,this.state=0,this.Qt=0,this.Wt=null,this.Gt=null,this.stream=null,this.zt=0,this.jt=new ss(e,t)}Ht(){return 1===this.state||5===this.state||this.Jt()}Jt(){return 2===this.state||3===this.state}start(){this.zt=0,4!==this.state?this.auth():this.Yt()}async stop(){this.Ht()&&await this.close(0)}Zt(){this.state=0,this.jt.reset()}Xt(){this.Jt()&&null===this.Wt&&(this.Wt=this.xt.enqueueAfterDelay(this.$t,6e4,()=>this.en()))}tn(e){this.nn(),this.stream.send(e)}async en(){if(this.Jt())return this.close(0)}nn(){this.Wt&&(this.Wt.cancel(),this.Wt=null)}rn(){this.Gt&&(this.Gt.cancel(),this.Gt=null)}async close(e,t){this.nn(),this.rn(),this.jt.cancel(),this.Qt++,4!==e?this.jt.reset():t&&t.code===tB.RESOURCE_EXHAUSTED?(e1(t.toString()),e1("Using maximum backoff delay to prevent overloading the backend."),this.jt.Bt()):t&&t.code===tB.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.sn(),this.stream.close(),this.stream=null),this.state=e,await this.listener.ht(t)}sn(){}auth(){this.state=1;let e=this._n(this.Qt),t=this.Qt;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,r])=>{this.Qt===t&&this.an(e,r)},t=>{e(()=>{let e=new tl(tB.UNKNOWN,"Fetching auth token failed: "+t.message);return this.un(e)})})}an(e,t){let r=this._n(this.Qt);this.stream=this.cn(e,t),this.stream.ut(()=>{r(()=>this.listener.ut())}),this.stream.lt(()=>{r(()=>(this.state=2,this.Gt=this.xt.enqueueAfterDelay(this.Kt,1e4,()=>(this.Jt()&&(this.state=3),Promise.resolve())),this.listener.lt()))}),this.stream.ht(e=>{r(()=>this.un(e))}),this.stream.onMessage(e=>{r(()=>1==++this.zt?this.En(e):this.onNext(e))})}Yt(){this.state=5,this.jt.Ut(async()=>{this.state=0,this.start()})}un(e){return e0(sa,`close with error: ${e}`),this.stream=null,this.close(4,e)}_n(e){return t=>{this.xt.enqueueAndForget(()=>this.Qt===e?t():(e0(sa,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class sB extends so{constructor(e,t,r,n,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,s),this.serializer
2=i}cn(e,t){return this.connection.St("Listen",e,t)}En(e){return this.onNext(e)}onNext(e){this.jt.reset();let t=function(e,t){let r;if("targetChange"in t){var n,i;t.targetChange;let s="NO_CHANGE"===(n=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===n?1:"REMOVE"===n?2:"CURRENT"===n?3:"RESET"===n?4:e8(39313,{state:n}),a=t.targetChange.targetIds||[],o=(i=t.targetChange.resumeToken,e.useProto3Json?(e5(void 0===i||"string"==typeof i,58123),tF.fromBase64String(i||"")):(e5(void 0===i||i instanceof g.Buffer||i instanceof Uint8Array,16193),tF.fromUint8Array(i||new Uint8Array))),B=t.targetChange.cause;r=new it(s,a,o,B&&new tl(void 0===B.code?tB.UNKNOWN:nj(B.code),B.message||"")||null)}else if("documentChange"in t){t.documentChange;let n=t.documentChange;n.document,n.document.name,n.document.updateTime;let i=iI(e,n.document.name),s=im(n.document.updateTime),a=n.document.createTime?im(n.document.createTime):na.min(),o=new rg({mapValue:{fields:n.document.fields}}),B=no.newFoundDocument(i,s,a,o);r=new n7(n.targetIds||[],n.removedTargetIds||[],B.key,B)}else if("documentDelete"in t){t.documentDelete;let n=t.documentDelete;n.document;let i=iI(e,n.document),s=n.readTime?im(n.readTime):na.min(),a=no.newNoDocument(i,s);r=new n7([],n.removedTargetIds||[],a.key,a)}else if("documentRemove"in t){t.documentRemove;let n=t.documentRemove;n.document;let i=iI(e,n.document);r=new n7([],n.removedTargetIds||[],i,null)}else{if(!("filter"in t))return e8(11601,{ye:t});{t.filter;let e=t.filter;e.targetId;let{count:n=0,unchangedNames:i}=e,s=new nU(n,i);r=new ie(e.targetId,s)}}return r}(this.serializer,e),r=function(e){if(!("targetChange"in e))return na.min();let t=e.targetChange;return t.targetIds&&t.targetIds.length?na.min():t.readTime?im(t.readTime):na.min()}(e);return this.listener.hn(t,r)}Tn(e){let t,r={};r.database=ib(this.serializer),r.addTarget=function(e,t){let r,n=t.target;if((r=nw(n)?{pipelineQuery:iL(e,n)}:nI(n)?{documents:iF(e,n)}:{query:ix(e,n).be}).targetId=t.targetId,t.resumeToken.approximateByteSize()>0){r.resumeToken=ip(e,t.resumeToken);let n=ic(e,t.expectedCount);null!==n&&(r.expectedCount=n)}else if(t.snapshotVersion.compareTo(na.min())>0){r.readTime=id(e,t.snapshotVersion.toTimestamp());let n=ic(e,t.expectedCount);null!==n&&(r.expectedCount=n)}return r}(this.serializer,e);let n=(this.serializer,null==(t=function(e){switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return e8(28987,{purpose:e})}}(e.purpose))?null:{"goog-listen-tags":t});n&&(r.labels=n),this.tn(r)}Pn(e){let t={};t.database=ib(this.serializer),t.removeTarget=e,this.tn(t)}}class sl extends so{constructor(e,t,r,n,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}get Rn(){return this.zt>0}start(){this.lastStreamToken=void 0,super.start()}sn(){this.Rn&&this.In([])}cn(e,t){return this.connection.St("Write",e,t)}En(e){return e5(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,e5(!e.writeResults||0===e.writeResults.length,55816),this.listener.An()}onNext(e){var t,r;e5(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.jt.reset();let n=(t=e.writeResults,r=e.commitTime,t&&t.length>0?(e5(void 0!==r,14353),t.map(e=>{let t;return(t=e.updateTime?im(e.updateTime):im(r)).isEqual(na.min())&&(t=im(r)),new rk(t,e.transformResults||[])})):[]),i=im(e.commitTime);return this.listener.Vn(i,n)}dn(){let e={};e.database=ib(this.serializer),this.tn(e)}In(e){let t={streamToken:this.lastStreamToken,writes:e.map(e=>iO(this.serializer,e))};this.tn(t)}}class su{}class sh extends su{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.fn=!1}mn(){if(this.fn)throw new tl(tB.FAILED_PRECONDITION,"The client has already been terminated.")}tt(e,t,r,n){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,s])=>this.connection.tt(e,iD(t,r),n,i,s)).catch(e=>{throw"FirebaseError"===e.name?(e.code===tB.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tl
2(tB.UNKNOWN,e.toString())})}st(e,t,r,n,i){return this.mn(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([s,a])=>this.connection.st(e,iD(t,r),n,s,a,i)).catch(e=>{throw"FirebaseError"===e.name?(e.code===tB.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tl(tB.UNKNOWN,e.toString())})}terminate(){this.fn=!0,this.connection.terminate()}}let sc=new Map,sd={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class sC{static withCacheSize(e){return new sC(e,sC.DEFAULT_COLLECTION_PERCENTILE,sC.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}sC.DEFAULT_COLLECTION_PERCENTILE=10,sC.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,sC.DEFAULT=new sC(0x2800000,sC.DEFAULT_COLLECTION_PERCENTILE,sC.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),sC.DISABLED=new sC(-1,0,0);class sp{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.pn(e),this.gn=e=>t.writeSequenceNumber(e))}pn(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){let e=++this.previousValue;return this.gn&&this.gn(e),e}}sp.yn=-1;let sf="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class sg{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function sm(e){if(e.code!==tB.FAILED_PRECONDITION||e.message!==sf)throw e;e0("LocalStore","Unexpectedly lost primary lease")}class sE{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&e8(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new sE((r,n)=>{this.nextCallback=t=>{this.wrapSuccess(e,t).next(r,n)},this.catchCallback=e=>{this.wrapFailure(t,e).next(r,n)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{let t=e();return t instanceof sE?t:sE.resolve(t)}catch(e){return sE.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):sE.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):sE.reject(t)}static resolve(e){return new sE((t,r)=>{t(e)})}static reject(e){return new sE((t,r)=>{r(e)})}static waitFor(e){return new sE((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=sE.resolve(!1);for(let r of e)t=t.next(e=>e?sE.resolve(e):r());return t}static forEach(e,t){let r=[];return e.forEach((e,n)=>{r.push(t.call(this,e,n))}),this.waitFor(r)}static mapArray(e,t){return new sE((r,n)=>{let i=e.length,s=Array(i),a=0;for(let o=0;o<i;o++){let B=o;t(e[B]).next(e=>{s[B]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(e,t){return new sE((r,n)=>{let i=()=>{!0===e()?t().next(()=>{i()},n):r()};i()})}}let sD="SimpleDb";class sy{static open(e,t,r,n){try{return new sy(t,e.transaction(n,r))}catch(e){throw new s_(t,e)}}constructor(e,t){this.action=e,this.transaction=t,this.aborted=!1,this.wn=new iQ,this.transaction.oncomplete=()=>{this.wn.resolve()},this.transaction.onabort=()=>{t.error?this.wn.reject(new s_(e,t.error)):this.wn.resolve()},this.transaction.onerror=t=>{let r=sO(t.target.error);this.wn.reject(new s_(e,r))}}get bn(){return this.wn.promise}abort(e){e&&this.wn.reject(e),this.aborted||(e0(sD,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}Sn(){let e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){return new sT(this.transaction.objectStore(e))}}class sw{static delete(e){return e0(sD,"Removing database:",e),sS((0,E.getGlobal)().indexedDB.deleteDatabase(e)).toPromise()}static Je(){if(!(0,E.isIndexedDBAvailable)())return!1;if(sw.vn())return!0;let e=(0,E.getUA)(),t=sw.Dn(e),r=sI(e);return!(e.indexOf("MSIE ")>0||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||0<t&&t<10||0<r&&r<4.5)}static vn(){return void 0!==m.default&&"YES"===m.default.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static xn(e,t){return e.store(t)}static Dn(e){let t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i);return Number(t?t[1].split("_").slice(0,2).join("."):"-1")}constructor(e,t,r){this.name=e,this.version=t,this.Cn=r,this.Fn=null,12.2===sw.Dn((0,E.getUA)())&&e1("Firestore persistence suffers from a bug in
2iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async On(e){return this.db||(e0(sD,"Opening database:",this.name),this.db=await new Promise((t,r)=>{let n=indexedDB.open(this.name,this.version);n.onsuccess=e=>{t(e.target.result)},n.onblocked=()=>{r(new s_(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},n.onerror=t=>{let n=t.target.error;"VersionError"===n.name?r(new tl(tB.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===n.name?r(new tl(tB.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+n)):r(new s_(e,n))},n.onupgradeneeded=e=>{e0(sD,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);let t=e.target.result;this.Cn.Mn(t,n.transaction,e.oldVersion,this.version).next(()=>{e0(sD,"Database upgrade to version "+this.version+" complete")})}})),this.Nn&&(this.db.onversionchange=e=>this.Nn(e)),this.db}Ln(e){this.Nn=e,this.db&&(this.db.onversionchange=t=>e(t))}async runTransaction(e,t,r,n){let i="readonly"===t,s=0;for(;;){++s;try{this.db=await this.On(e);let t=sy.open(this.db,e,i?"readonly":"readwrite",r),s=n(t).next(e=>(t.Sn(),e)).catch(e=>(t.abort(e),sE.reject(e))).toPromise();return s.catch(()=>{}),await t.bn,s}catch(t){let e="FirebaseError"!==t.name&&s<3;if(e0(sD,"Transaction failed with error:",t.message,"Retrying:",e),this.close(),!e)return Promise.reject(t)}}}close(){this.db&&this.db.close(),this.db=void 0}}function sI(e){let t=e.match(/Android ([\d.]+)/i);return Number(t?t[1].split(".").slice(0,2).join("."):"-1")}class sv{constructor(e){this.Bn=e,this.Un=!1,this.kn=null}get isDone(){return this.Un}get qn(){return this.kn}set cursor(e){this.Bn=e}done(){this.Un=!0}$n(e){this.kn=e}delete(){return sS(this.Bn.delete())}}class s_ extends tl{constructor(e,t){super(tB.UNAVAILABLE,`IndexedDB transaction '${e}' failed: ${t}`),this.name="IndexedDbTransactionError"}}function sb(e){return"IndexedDbTransactionError"===e.name}class sT{constructor(e){this.store=e}put(e,t){let r;return void 0!==t?(e0(sD,"PUT",this.store.name,e,t),r=this.store.put(t,e)):(e0(sD,"PUT",this.store.name,"<auto-key>",e),r=this.store.put(e)),sS(r)}add(e){return e0(sD,"ADD",this.store.name,e,e),sS(this.store.add(e))}get(e){return sS(this.store.get(e)).next(t=>(void 0===t&&(t=null),e0(sD,"GET",this.store.name,e,t),t))}delete(e){return e0(sD,"DELETE",this.store.name,e),sS(this.store.delete(e))}count(){return e0(sD,"COUNT",this.store.name),sS(this.store.count())}Kn(e,t){let r=this.options(e,t),n=r.index?this.store.index(r.index):this.store;if("function"==typeof n.getAll){let e=n.getAll(r.range);return new sE((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(r),t=[];return this.Qn(e,(e,r)=>{t.push(r)}).next(()=>t)}}Wn(e,t){let r=this.store.getAll(e,null===t?void 0:t);return new sE((e,t)=>{r.onerror=e=>{t(e.target.error)},r.onsuccess=t=>{e(t.target.result)}})}Gn(e,t){e0(sD,"DELETE ALL",this.store.name);let r=this.options(e,t);r.zn=!1;let n=this.cursor(r);return this.Qn(n,(e,t,r)=>r.delete())}jn(e,t){let r;t?r=e:(r={},t=e);let n=this.cursor(r);return this.Qn(n,t)}Hn(e){let t=this.cursor({});return new sE((r,n)=>{t.onerror=e=>{n(sO(e.target.error))},t.onsuccess=t=>{let n=t.target.result;n?e(n.primaryKey,n.value).next(e=>{e?n.continue():r()}):r()}})}Qn(e,t){let r=[];return new sE((n,i)=>{e.onerror=e=>{i(e.target.error)},e.onsuccess=e=>{let i=e.target.result;if(!i)return void n();let s=new sv(i),a=t(i.primaryKey,i.value,s);if(a instanceof sE){let e=a.catch(e=>(s.done(),sE.reject(e)));r.push(e)}s.isDone?n():null===s.qn?i.continue():i.continue(s.qn)}}).next(()=>sE.waitFor(r))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";if(e.reverse&&(t="prev"),e.index){let r=this.store.index(e.index);return e.zn?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)}return this.store.openCursor(e.range,t)}}function sS(e){return new sE((t,r)=>{e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{r(sO(e.target.error))}})}let sA=!1;function sO(e){let t=sw.Dn((0,E.getUA)());if(t>=12.2&&t<13){let t="An internal error was encountered in the Indexed Database server";if(e.message.indexOf(t)>=0){let e=new tl("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return sA||(sA=!0,setTimeout(()=>{throw e},0)),e}}return e}let sN="LruGarbageCollector";function sF([e,t],[r,n]){let i=e9(e,r);return 0===i?e9(t,n):i}class sx{constructor(e){this.Jn=e,this.buffer=new ts(sF),this.Yn=0}
2Zn(){return++this.Yn}Xn(e){let t=[e,this.Zn()];if(this.buffer.size<this.Jn)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();0>sF(t,e)&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class sR{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.er=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.tr(6e4)}stop(){this.er&&(this.er.cancel(),this.er=null)}get started(){return null!==this.er}tr(e){e0(sN,`Garbage collection scheduled in ${e}ms`),this.er=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.er=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){sb(e)?e0(sN,"Ignoring IndexedDB error during garbage collection: ",e):await sm(e)}await this.tr(3e5)})}}class sL{constructor(e,t){this.nr=e,this.params=t}calculateTargetCount(e,t){return this.nr.rr(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return sE.resolve(sp.yn);let r=new sx(t);return this.nr.forEachTarget(e,e=>r.Xn(e.sequenceNumber)).next(()=>this.nr.ir(e,e=>r.Xn(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.nr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.nr.removeOrphanedDocuments(e,t)}collect(e,t){return -1===this.params.cacheSizeCollectionThreshold?(e0("LruGarbageCollector","Garbage collection skipped; disabled"),sE.resolve(sd)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(e0("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),sd):this.sr(e,t))}getCacheSize(e){return this.nr.getCacheSize(e)}sr(e,t){let r,n,i,s,a,o,B,l=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(t=>(t>this.params.maximumSequenceNumbersToCollect?(e0("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${t}`),n=this.params.maximumSequenceNumbersToCollect):n=t,s=Date.now(),this.nthSequenceNumber(e,n))).next(n=>(r=n,a=Date.now(),this.removeTargets(e,r,t))).next(t=>(i=t,o=Date.now(),this.removeOrphanedDocuments(e,r))).next(e=>(B=Date.now(),eZ()<=w.LogLevel.DEBUG&&e0("LruGarbageCollector",`LRU Garbage Collection 3 Counted targets in ${s-l}ms 4 Determined least recently used ${n} in `+(a-s)+"ms\n"+` Removed ${i} targets in `+(o-a)+"ms\n"+` Removed ${e} documents in `+(B-o)+"ms\n"+`Total Duration: ${B-l}ms`),sE.resolve({didRun:!0,sequenceNumbersCollected:n,targetsRemoved:i,documentsRemoved:e})))}}class sk{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new tl(tB.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=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e._customHeaders&&(this._customHeaders={...e._customHeaders}),void 0===e.cacheSizeBytes)this.cacheSizeBytes=0x2800000;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new tl(tB.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}if(function(e,t,r,n){if(!0===t&&!0===n)throw new tl(tB.INVALID_ARGUMENT,`${e} and ${r} cannot be used together.`)}("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=i2(e.experimentalLongPollingOptions??{}),function(e){if(void 0!==e.timeoutSeconds){if(isNaN(e.timeoutSeconds))throw new tl(tB.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (must not be NaN)`);if(e.timeoutSeconds<5)throw new tl(tB.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (minimum allowed value is 5)`);if(e.timeoutSeconds>30)throw new tl(tB.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams,void 0!==e.grpcFlowControlWindow){if("number"!=typeof e.grpcFlowControlWindow||e.grpcFlowControlWindow<=0||e.grpcFlowControlWindow>0x7fffffff||!Number.isInteger(e.grpcFlowControlWindow))throw new tl(tB.INVALID_ARGUMENT,"grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647");this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){var t,r;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&&(t=this.experimentalLongPollingOptions,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams&&this.grpcFlowControlWindow===e.grpcFlowControlWindow&&function(e,t){if(e===t)return!0;
4if(!e||!t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(e[n]!==t[n])return!1;return!0}(this._customHeaders,e._customHeaders)}}let sP=class{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 sk({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new tl(tB.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"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new tl(tB.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 sk(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=function(e){if(!e)return new i$;switch(e.type){case"firstParty":return new iZ(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new tl(tB.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){let e;return(e=sc.get(this))&&(e0("ComponentProvider","Removing Datastore"),sc.delete(this),e.terminate()),Promise.resolve()}};class sM{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new sM(this.firestore,e,this._query)}}class sG{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new sH(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new sG(this.firestore,e,this._key)}toJSON(){return{type:sG._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(tA(t,sG._jsonSchema))return new sG(e,r||null,new tD(tc.fromString(t.referencePath)))}}sG._jsonSchemaVersion="firestore/documentReference/1.0",sG._jsonSchema={type:tS("string",sG._jsonSchemaVersion),referencePath:tS("string")};class sH extends sM{constructor(e,t,r){super(e,t,nS(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let e=this._path.popLast();return e.isEmpty()?null:new sG(this.firestore,null,new tD(e))}withConverter(e){return new sH(this.firestore,e,this._path)}}class sU{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}(this._values,e._values)}toJSON(){return{type:sU._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(tA(e,sU._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new sU(e.vectorValues);throw new tl(tB.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}sU._jsonSchemaVersion="firestore/vectorValue/1.0",sU._jsonSchema={type:tS("string",sU._jsonSchemaVersion),vectorValues:tS("object")};let sV=/^__.*__$/;class sj{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new rJ(e,this.data,this.fieldMask,t,this.fieldTransforms):new rj(e,this.data,t,this.fieldTransforms)}}class sJ{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new rJ(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function sq(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw e8(40011,{dataSource:e})}}class sK{constructor(e,t,r,n,i,s){this.settings=e,this.databaseId=t,this.serializer
4=r,this.ignoreUndefinedProperties=n,void 0===i&&this.validatePath(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(e){return new sK({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){let t=this.path?.child(e),r=this.contextWith({path:t,arrayElement:!1});return r.validatePathSegment(e),r}childContextForFieldPath(e){let t=this.path?.child(e),r=this.contextWith({path:t,arrayElement:!1});return r.validatePath(),r}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return s7(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(e){return void 0!==this.fieldMask.find(t=>e.isPrefixOf(t))||void 0!==this.fieldTransforms.find(t=>e.isPrefixOf(t.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(sq(this.dataSource)&&sV.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class sz{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||iV(e)}createContext(e,t,r,n=!1){return new sK({dataSource:e,methodName:t,targetDoc:r,path:tC.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function sQ(e){let t=e._freezeSettings(),r=iV(e._databaseId);return new sz(e._databaseId,!!t.ignoreUndefinedProperties,r)}function sW(e,t,r,n,i,s={}){let a,o,B=e.createContext(s.merge||s.mergeFields?2:0,t,r,i);s6("Data must be an object, but it was:",B,n);let l=s3(n,B);if(s.merge)a=new tp(B.fieldMask),o=B.fieldTransforms;else if(s.mergeFields){let e=[];for(let n of s.mergeFields){let i=s5(t,n,r);if(!B.contains(i))throw new tl(tB.INVALID_ARGUMENT,`Field '${i}' is specified in your field mask but missing from your input data.`);ae(e,i)||e.push(i)}a=new tp(e),o=B.fieldTransforms.filter(e=>a.covers(e.field))}else a=null,o=B.fieldTransforms;return new sj(new rg(l),a,o)}class s$ extends iq{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.createError(`${this._methodName}() can only appear at the top level of your update data`):e.createError(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof s$}}class sY extends iq{_toFieldTransform(e){return new rL(e.path,new rI)}isEqual(e){return e instanceof sY}}class sX extends iq{constructor(e,t){super(e),this._r=t}_toFieldTransform(e){let t=new sK({dataSource:3,targetDoc:e.settings.targetDoc,methodName:this._methodName,arrayElement:!0},e.databaseId,e.serializer,e.ignoreUndefinedProperties),r=new rv(this._r.map(e=>s2(e,t)));return new rL(e.path,r)}isEqual(e){return e instanceof sX&&(0,E.deepEqual)(this._r,e._r)}}function sZ(e,t,r,n){let i=e.createContext(1,t,r);s6("Data must be an object, but it was:",i,n);let s=[],a=rg.empty();return tg(n,(e,n)=>{let o=s9(t,e,r);n=(0,E.getModularInstance)(n);let B=i.childContextForFieldPath(o);if(n instanceof s$)s.push(o);else{let e=s2(n,B);null!=e&&(s.push(o),a.set(o,e))}}),new sJ(a,new tp(s),i.fieldTransforms)}function s0(e,t,r,n,i,s){let a=e.createContext(1,t,r),o=[s5(t,n,r)],B=[i];if(s.length%2!=0)throw new tl(tB.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let e=0;e<s.length;e+=2)o.push(s5(t,s[e])),B.push(s[e+1]);let l=[],u=rg.empty();for(let e=o.length-1;e>=0;--e)if(!ae(l,o[e])){let t=o[e],r=B[e];r=(0,E.getModularInstance)(r);let n=a.childContextForFieldPath(t);if(r instanceof s$)l.push(t);else{let e=s2(r,n);null!=e&&(l.push(t),u.set(t,e))}}return new sJ(u,new tp(l),a.fieldTransforms)}function s1(e,t,r,n=!1){return s2(r,e.createContext(n?4:3,t))}function s2(e,t,r){if(s8(e=(0,E.getModularInstance)(e)))return s6("Unsupported field value:",t,e),s3(e,t);if(e instanceof iq)return function(e,t){if(!sq(t.dataSource))throw t.createError(`${e._methodName}
4() can only be used with update() and set()`);if(!t.path)throw t.createError(`${e._methodName}() is not currently supported inside arrays`);let r=e._toFieldTransform(t);r&&t.fieldTransforms.push(r)}(e,t),null;if(void 0===e&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.arrayElement&&4!==t.dataSource)throw t.createError("Nested arrays are not supported");let r=[],n=0;for(let i of e){let e=s2(i,t.childContextForArray(n));null==e&&(e={nullValue:"NULL_VALUE"}),r.push(e),n++}return{arrayValue:{values:r}}}return function(e,t){if(null===(e=(0,E.getModularInstance)(e)))return{nullValue:"NULL_VALUE"};if("number"==typeof e)return rD(t.serializer,e);if("boolean"==typeof e)return{booleanValue:e};if("string"==typeof e)return{stringValue:e};if(e instanceof Date){let r=tO.fromDate(e);return{timestampValue:id(t.serializer,r)}}if(e instanceof tO){let r=new tO(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:id(t.serializer,r)}}if(e instanceof iK)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof ij)return{bytesValue:ip(t.serializer,e._byteString)};if(e instanceof sG){let r=t.databaseId,n=e.firestore._databaseId;if(!n.isEqual(r))throw t.createError(`Document reference is for database ${n.projectId}/${n.database} but should be for database ${r.projectId}/${r.database}`);return{referenceValue:iE(e.firestore._databaseId||t.databaseId,e._key.path)}}if(e instanceof sU){var r;return{mapValue:{fields:{[tY]:{stringValue:t0},[t1]:{arrayValue:{values:((r=e)instanceof sU?r.toArray():r).map(e=>{if("number"!=typeof e)throw t.createError("VectorValues must only contain numeric values.");return rm(t.serializer,e)})}}}}}}if(iG(e))return e._toProto(t.serializer);throw t.createError(`Unsupported field value: ${t_(e)}`)}(e,t)}function s3(e,t){let r={};return tE(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):tg(e,(e,n)=>{let i=s2(n,t.childContextForField(e));null!=i&&(r[e]=i)}),{mapValue:{fields:r}}}function s8(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof tO||e instanceof iK||e instanceof ij||e instanceof sG||e instanceof iq||e instanceof sU||iG(e))}function s6(e,t,r){if(!s8(r)||!tv(r)){let n=t_(r);throw"an object"===n?t.createError(e+" a custom object"):t.createError(e+" "+n)}}function s5(e,t,r){if((t=(0,E.getModularInstance)(t))instanceof iJ)return t._internalPath;if("string"==typeof t)return s9(e,t);throw s7("Field path arguments must be of type string or ",e,!1,void 0,r)}let s4=RegExp("[~\\*/\\[\\]]");function s9(e,t,r){if(t.search(s4)>=0)throw s7(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,r);try{return new iJ(...t.split("."))._internalPath}catch(n){throw s7(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,r)}}function s7(e,t,r,n,i){let s=n&&!n.isEmpty(),a=void 0!==i,o=`Function ${t}() called with invalid data`;r&&(o+=" (via `toFirestore()`)"),o+=". ";let B="";return(s||a)&&(B+=" (found",s&&(B+=` in field ${n}`),a&&(B+=` in document ${i}`),B+=")"),new tl(tB.INVALID_ARGUMENT,o+e+B)}function ae(e,t){return e.some(e=>e.isEqual(t))}function at(e){return"function"==typeof e._readUserData}class ar{constructor(e){this.optionDefinitions=e}_getKnownOptions(e,t){let r=rg.empty();for(let n in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(n)){let i=this.optionDefinitions[n];if(n in e){let s,a=e[n];i.nestedOptions&&tv(a)?s={mapValue:{fields:new ar(i.nestedOptions).getOptionsProto(t,a)}}:a&&(s=s2(a,t)??void 0),s&&r.set(tC.fromServerFormat(i.serverName),s)}}return r}getOptionsProto(e,t,r){let n=this._getKnownOptions(t,e);if(r){let t=new Map(tm(r,(t,r)=>[tC.fromServerFormat(r),void 0!==t?s2(t,e):null]));n.setAll(t)}return n.value.mapValue.fields??{}}}function an(e){return e instanceof aa?e:tv(e)?function(e){let t=[];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];t.push(aC(r)),t.push(an(n))}return new af("map",t,"map")}(e):e instanceof Array?function(e){return new af("array",e.map(e=>an(e)),"array")}(e):ap(e,void 0)}function ai(e){if(e instanceof aa)return e;if(e instanceof sU)return aC(e);if(Array.isArray(e))return aC(new sU(e));throw Error("Unsupported value: "+typeof e)}function as(e){return"string"==typeof e?ac(e):an(e)}class aa{constructor(){this._protoValueType="ProtoValue"}add(e){return new af("add",[this,an(e)],"add")}asBoolean(){if(this instanceof ag)return this;if(this instanceof ad)return new aE(this);if(this instanceof ah)return new aD(this);if(this instanceof af)return new am(this);throw new tl("invalid-argument",`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new af("subtract",[this,an(e)],"subtract")}multiply(e){return new af("multiply",[this,an(e)],"multiply")}divide(e){return new af("divide",[this,an(e)],"divide")}mod(e){return new af("mod",[this,an(e)],"mod")}equal(e){return new af("equal",[this,an(e)],"equal").asBoolean()}notEqual(e){return new af("not_equal",[this,an(e)],"notEqual").asBoolean()}lessThan(e){return new af("less_than",[this,an(e)],"lessThan").asBoolean()}lessThanOrEqual(e){return new af("less_than_or_equal",[this,an(e)],"lessThanOrEqual").asBoolean()}greaterThan(e){return new af("greater_than",[this,an(e)],"greaterThan").asBoolean()}greaterThanOrEqual(e){return new af("greater_than_or_equal",[this,an(e)],"greaterThanOrEqual").asBoolean()}arrayConcat(e,...t){return new af("array_concat",[this,...[e,...t].map(e=>an(e))],"arrayConcat")}arrayContains(e){return new af("array_contains",[this,an(e)],"arrayContains").asBoolean()}arrayContainsAll(e){return new af("array_contains_all",[this,Array.isArray(e)?new au(e.map(an),"arrayContainsAll"):e],"arrayContainsAll").asBoolean()}arrayContainsAny(e){return new af("array_contains_any",[this,Array.isArray(e)?new au(e.map(an),"arrayContainsAny"):e],"arrayContainsAny").asBoolean()}arrayReverse(){return new af("array_reverse",[this])}arrayLength(){return new af("array_length",[this],"arrayLength")}equalAny(e){return new af("equal_any",[this,Array.isArray(e)?new au(e.map(an),"equalAny"):e],"equalAny").asBoolean()}notEqualAny(e){return new af("not_equal_any",[this,Array.isArray(e)?new au(e.map(an),"n
4otEqualAny"):e],"notEqualAny").asBoolean()}exists(){return new af("exists",[this],"exists").asBoolean()}charLength(){return new af("char_length",[this],"charLength")}like(e){return new af("like",[this,an(e)],"like").asBoolean()}regexContains(e){return new af("regex_contains",[this,an(e)],"regexContains").asBoolean()}regexFind(e){return new af("regex_find",[this,an(e)],"regexFind")}regexFindAll(e){return new af("regex_find_all",[this,an(e)],"regexFindAll")}regexMatch(e){return new af("regex_match",[this,an(e)],"regexMatch").asBoolean()}stringContains(e){return new af("string_contains",[this,an(e)],"stringContains").asBoolean()}startsWith(e){return new af("starts_with",[this,an(e)],"startsWith").asBoolean()}endsWith(e){return new af("ends_with",[this,an(e)],"endsWith").asBoolean()}toLower(){return new af("to_lower",[this],"toLower")}toUpper(){return new af("to_upper",[this],"toUpper")}trim(e){let t=[this];return e&&t.push(an(e)),new af("trim",t,"trim")}ltrim(e){let t=[this];return e&&t.push(an(e)),new af("ltrim",t,"ltrim")}rtrim(e){let t=[this];return e&&t.push(an(e)),new af("rtrim",t,"rtrim")}type(){return new af("type",[this])}isType(e){return new af("is_type",[this,aC(e)],"isType").asBoolean()}stringConcat(e,...t){return new af("string_concat",[this,...[e,...t].map(an)],"stringConcat")}stringIndexOf(e){return new af("string_index_of",[this,an(e)],"stringIndexOf")}stringRepeat(e){return new af("string_repeat",[this,an(e)],"stringRepeat")}stringReplaceAll(e,t){return new af("string_replace_all",[this,an(e),an(t)],"stringReplaceAll")}stringReplaceOne(e,t){return new af("string_replace_one",[this,an(e),an(t)],"stringReplaceOne")}concat(e,...t){return new af("concat",[this,...[e,...t].map(an)],"concat")}reverse(){return new af("reverse",[this],"reverse")}arrayFilter(e,t){return new af("array_filter",[this,an(e),t],"arrayFilter")}arrayTransform(e,t){return new af("array_transform",[this,an(e),t],"arrayTransform")}arrayTransformWithIndex(e,t,r){return new af("array_transform",[this,an(e),an(t),r],"arrayTransformWithIndex")}arraySlice(e,t){let r=[this,an(e)];return void 0!==t&&r.push(an(t)),new af("array_slice",r,"arraySlice")}arrayFirst(){return new af("array_first",[this],"arrayFirst")}arrayFirstN(e){return new af("array_first_n",[this,an(e)],"arrayFirstN")}arrayLast(){return new af("array_last",[this],"arrayLast")}arrayLastN(e){return new af("array_last_n",[this,an(e)],"arrayLastN")}arrayMaximum(){return new af("maximum",[this],"arrayMaximum")}arrayMaximumN(e){return new af("maximum_n",[this,an(e)],"arrayMaximumN")}arrayMinimum(){return new af("minimum",[this],"arrayMinimum")}arrayMinimumN(e){return new af("minimum_n",[this,an(e)],"arrayMinimumN")}arrayIndexOf(e){return new af("array_index_of",[this,an(e),an("first")],"arrayIndexOf")}arrayLastIndexOf(e){return new af("array_index_of",[this,an(e),an("last")],"arrayLastIndexOf")}arrayIndexOfAll(e){return new af("array_index_of_all",[this,an(e)],"arrayIndexOfAll")}byteLength(){return new af("byte_length",[this],"byteLength")}ceil(){return new af("ceil",[this])}floor(){return new af("floor",[this])}abs(){return new af("abs",[this])}exp(){return new af("exp",[this])}mapGet(e){return new af("map_get",[this,aC(e)],"mapGet")}mapSet(e,t,...r){return new af("map_set",[this,an(e),an(t),...r.map(an)],"mapSet")}mapKeys(){return new af("map_keys",[this],"mapKeys")}mapValues(){return new af("map_values",[this],"mapValues")}mapEntries(){return new af("map_entries",[this],"mapEntries")}getField(e){return new af("get_field",[this,an(e)],"get_field")}count(){return ao._create("count",[this],"count")}sum(){return ao._create("sum",[this],"sum")}average(){return ao._create("average",[this],"average")}minimum(){return ao._create("minimum",[this],"minimum")}maximum(){return ao._create("maximum",[this],"maximum")}first(){return ao._create("first",[this],"first")}last(){return ao._create("last",[this],"last")}arrayAgg(){return ao._create("array_agg",[this],"arrayAgg")}arrayAggDistinct(){return ao._create("array_agg_distinct",[this],"arrayAggDistinct")}countDistinct(){return ao._create("count_distinct",[this],"countDistinct")}logicalMaximum(e,...t){return new af("maximum",[this,...[e,...t].map(an)],"logicalMaximum")}logicalMinimum(e,...t){return new af("minimum",[this,...[e,...t].map(an)],"minimum")}vectorLength(){return new af("vector_length",[this],"vectorLength")}cosineDistance(e){return new af("cosine_distance",[this,ai(e)],"cosineDistance")}dotProduct(e){return new af("dot_product",[this,ai(e)],"dotProduct")}euclideanDistance(e){return new af("euclidean_distance",[this,ai(e)],"euclideanDistance")}unixMicrosToTimestamp(){return new af("unix_micros_to_timestamp",[this],"unixMicrosToTimestamp")}timestampToUnixMicros(){return new af("timestamp_to_unix_micros",[this],"timestampToUnixMicros")}unixMillisToTimestamp(){return new af("unix_millis_to_timestamp",[this],"unixMillisToTimestamp")}timestampToUnixMillis(){return new af("timestamp_to_unix_millis",[this],"timestampToUnixMillis")}unixSecondsToTimestamp(){return new af("unix_seconds_to_timestamp",[this],"unixSecondsToTimestamp")}timestampToUnixSeconds(){return new af("timestamp_to_unix_seconds",[this],"timestampToUnixSeconds")}timestampAdd(e,t){return new af("timestamp_add",[this,an(e),an(t)],"timestampAdd")}timestampSubtract(e,t){return new af("timestamp_subtract",[this,an(e),an(t)],"timestampSubtract")}timestampDiff(e,t){return new af("timestamp_diff",[this,as(e),an(t)],"timestampDiff")}timestampExtract(e,t){let r=[this,an(e)];return t&&r.push(an(t)),new af("timestamp_extract",r,"timestampExtract")}documentId(){return new af("document_id",[this],"documentId")}parent(){return new af("parent",[this],"parent")}substring(e,t){let r=an(e);return new af("substring",void 0===t?[this,r]:[this,r,an(t)],"substring")}arrayGet(e){return new af("array_get",[this,an(e)],"arrayGet")}isError(){return new af("is_error",[this],"isError").asBoolean()}ifError(e){let t=new af("if_error",[this,an(e)],"ifError");return e instanceof ag?t.asBoolean():t}isAbsent(){return new af("is_absent",[this],"isAbsent").asBoolean()}mapRemove(e){return new af("map_remove",[this,an(e)],"mapRemove")}mapMerge(e,...t){return new af("map_merge",[this,an(e),...t.map(an)],"mapMerge")}pow(e){return new af("pow",[this,an(e)])}trunc(e){return void 0===e?new af("trunc",[this]):new af("trunc",[this,an(e)],"trunc")}round(e){return void 0===e?new af("round",[this]):new af("round",[this,an(e)],"round")}collectionId(){return new af("collection_id",[this])}length(){return new af("length",[this])}ln(){return new af("ln",[this])}sqrt(){return new af("sqrt",[this])}
4stringReverse(){return new af("string_reverse",[this])}ifAbsent(e){return new af("if_absent",[this,an(e)],"ifAbsent")}ifNull(e){return new af("if_null",[this,an(e)],"ifNull")}coalesce(e,...t){return new af("coalesce",[this,an(e),...t.map(an)],"coalesce")}join(e){return new af("join",[this,an(e)],"join")}log10(){return new af("log10",[this])}arraySum(){return new af("sum",[this])}split(e){return new af("split",[this,an(e)])}timestampTruncate(e,t){let r=[this,an(e)];return t&&r.push(an(t)),new af("timestamp_trunc",r)}ascending(){var e;return e=this,new ay(as(e),"ascending","ascending")}descending(){var e;return e=this,new ay(as(e),"descending","descending")}as(e){return new al(this,e,"as")}}class ao{constructor(e,t){this.name=e,this.params=t,this.exprType="AggregateFunction",this._protoValueType="ProtoValue"}static _create(e,t,r){let n=new ao(e,t);return n._methodName=r,n}as(e){return new aB(this,e,"as")}_toProto(e){return{functionValue:{name:this.name,args:this.params.map(t=>t._toProto(e))}}}_readUserData(e){e=this._methodName?e.contextWith({methodName:this._methodName}):e,this.params.forEach(t=>t._readUserData(e))}}class aB{constructor(e,t,r){this.aggregate=e,this.alias=t,this._methodName=r}_readUserData(e){this.aggregate._readUserData(e)}}class al{constructor(e,t,r){this.expr=e,this.alias=t,this._methodName=r,this.exprType="AliasedExpression",this.selectable=!0}_readUserData(e){this.expr._readUserData(e)}}class au extends aa{constructor(e,t){super(),this.ur=e,this._methodName=t,this.expressionType="ListOfExpressions"}_toProto(e){return{arrayValue:{values:this.ur.map(t=>t._toProto(e))}}}_readUserData(e){this.ur.forEach(t=>t._readUserData(e))}}class ah extends aa{constructor(e,t){super(),this.fieldPath=e,this._methodName=t,this.expressionType="Field",this.selectable=!0}get _fieldPath(){return this.fieldPath}get fieldName(){return this.fieldPath.canonicalString()}get alias(){return this.fieldName}get expr(){return this}geoDistance(e){return new af("geo_distance",[this,an(e)],"geoDistance")}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}}function ac(e){var t,r;return r="field",new ah("string"==typeof(t=e)?tu===t?new iJ(tu)._internalPath:s5("field",t):t._internalPath,r)}class ad extends aa{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType="Constant"}static _fromProto(e){let t=new ad(e,void 0);return t._protoValue=e,t}_toProto(e){return e5(void 0!==this._protoValue,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){var t,r,n,i,s,a,o;e=this._methodName?e.contextWith({methodName:this._methodName}):e,"object"==typeof(t=this._protoValue)&&null!==t&&("nullValue"in t&&(null===t.nullValue||"NULL_VALUE"===t.nullValue)||"booleanValue"in t&&(null===t.booleanValue||"boolean"==typeof t.booleanValue)||"integerValue"in t&&(null===t.integerValue||"number"==typeof t.integerValue||"string"==typeof t.integerValue)||"doubleValue"in t&&(null===t.doubleValue||"number"==typeof t.doubleValue)||"timestampValue"in t&&(null===t.timestampValue||"object"==typeof(r=t.timestampValue)&&null!==r&&"seconds"in r&&(null===r.seconds||"number"==typeof r.seconds||"string"==typeof r.seconds)&&"nanos"in r&&(null===r.nanos||"number"==typeof r.nanos))||"stringValue"in t&&(null===t.stringValue||"string"==typeof t.stringValue)||"bytesValue"in t&&(null===t.bytesValue||t.bytesValue instanceof Uint8Array)||"referenceValue"in t&&(null===t.referenceValue||"string"==typeof t.referenceValue)||"geoPointValue"in t&&(null===t.geoPointValue||"object"==typeof(n=t.geoPointValue)&&null!==n&&"latitude"in n&&(null===n.latitude||"number"==typeof n.latitude)&&"longitude"in n&&(null===n.longitude||"number"==typeof n.longitude))||"arrayValue"in t&&(null===t.arrayValue||"object"==typeof(i=t.arrayValue)&&null!==i&&!(!("values"in i)||null!==i.values&&!Array.isArray(i.values)))||"mapValue"in t&&(null===t.mapValue||"object"==typeof(s=t.mapValue)&&null!==s&&!(!("fields"in s)||null!==s.fields&&!tv(s.fields)))||"fieldReferenceValue"in t&&(null===t.fieldReferenceValue||"string"==typeof t.fieldReferenceValue)||"functionValue"in t&&(null===t.functionValue||"object"==typeof(a=t.functionValue)&&null!==a&&!(!("name"in a)||null!==a.name&&"string"!=typeof a.name||!("args"in a)||null!==a.args&&!Array.isArray(a.args)))||"pipelineValue"in t&&(null===t.pipelineValue||"object"==typeof(o=t.pipelineValue)&&null!==o&&!(!("stages"in o)||null!==o.stages&&!Array.isArray(o.stages))))||(this._protoValue=s2(this.value,e))}}function aC(e,t){return ap(e,"constant")}function ap(e,t){let r=new ad(e,t);return"boolean"==typeof e?new aE(r):r}class af extends aa{constructor(e,t,r,n){super(),this.name=e,this.params=t,this.expressionType="Function",this._optionsProto=void 0,void 0!==r&&(this._methodName=r),void 0!==n&&(this._options=n)}get _optionsUtil(){return new ar({})}_toProto(e){let t={functionValue:{name:this.name,args:this.params.map(t=>t._toProto(e))}};return this._optionsProto&&(t.functionValue.options=this._optionsProto),t}_readUserData(e){e=this._methodName?e.contextWith({methodName:this._methodName}
vendor: 5,108 bytes, line 4
4):e,this.params.forEach(t=>t._readUserData(e)),this._options&&(this._optionsProto=this._optionsUtil.getOptionsProto(e,this._options))}}class ag extends aa{get _methodName(){return this._expr._methodName}countIf(){return ao._create("count_if",[this],"countIf")}not(){return new af("not",[this],"not").asBoolean()}conditional(e,t){return new af("conditional",[this,e,t],"conditional")}ifError(e){let t=an(e),r=new af("if_error",[this,t],"ifError");return t instanceof ag?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}}class am extends ag{constructor(e){super(),this._expr=e,this.expressionType="Function"}}class aE extends ag{constructor(e){super(),this._expr=e,this.expressionType="Constant"}_getValue(){return this._expr._getValue()}}class aD extends ag{constructor(e){super(),this._expr=e,this.expressionType="Field"}}class ay{constructor(e,t,r){this.expr=e,this.direction=t,this._methodName=r,this._protoValueType="ProtoValue"}_toProto(e){return{mapValue:{fields:{direction:iU(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}}class aw{constructor(e){this.optionsProto=void 0,{rawOptions:this.rawOptions,...this.knownOptions}=e}_readUserData(e){this.optionsProto=this._optionsUtil.getOptionsProto(e,this.knownOptions,this.rawOptions)}_toProto(e){return{name:this._name,options:this.optionsProto}}}class aI extends aw{get _name(){return"add_fields"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[iH(e,this.fields)]}}_readUserData(e){super._readUserData(e),ak(this.fields,e)}}class av extends aw{get _name(){return"aggregate"}get _optionsUtil(){return new ar({})}constructor(e,t,r){super(r),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[iH(e,this.accumulators),iH(e,this.groups)]}}_readUserData(e){super._readUserData(e),ak(this.groups,e),ak(this.accumulators,e)}}class a_ extends aw{get _name(){return"distinct"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[iH(e,this.groups)]}}_readUserData(e){super._readUserData(e),ak(this.groups,e)}}class ab extends aw{get _name(){return"collection"}get _optionsUtil(){return new ar({forceIndex:{serverName:"force_index"}})}constructor(e,t){super(t),this.Er=e.startsWith("/")?e:"/"+e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:this.Er}]}}_readUserData(e){super._readUserData(e)}}class aT extends aw{get _name(){return"collection_group"}get _optionsUtil(){return new ar({forceIndex:{serverName:"force_index"}})}constructor(e,t){super(t),this.collectionId=e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:""},{stringValue:this.collectionId}]}}_readUserData(e){super._readUserData(e)}}class aS extends aw{get _name(){return"database"}get _optionsUtil(){return new ar({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}}class aA extends aw{get _name(){return"documents"}get _optionsUtil(){return new ar({})}constructor(e,t){if(super(t),!e||0===e.length)throw new tl(tB.INVALID_ARGUMENT,"Empty document paths are not allowed in DocumentsSource");const r=e.map(e=>e.startsWith("/")?e:"/"+e),n=new Set(r);if(n.size!==r.length)throw new tl(tB.INVALID_ARGUMENT,"Duplicate document paths are not allowed in DocumentsSource");this.hr=r,this.Tr=n}_toProto(e){return{...super._toProto(e),args:this.hr.map(e=>({referenceValue:e}))}}_readUserData(e){super._readUserData(e)}}class aO extends aw{get _name(){return"where"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),ak(this.condition,e)}}class aN extends aw{get _name(){return"limit"}get _optionsUtil(){return new ar({})}constructor(e,t){e5(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[rD(e,this.limit)]}}}class aF extends aw{get _name(){return"offset"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.offset=e}_toProto(e){return{...super._toProto(e),args:[rD(e,this.offset)]}}}class ax extends aw{get _name(){return"select"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[iH(e,this.selections)]}}_readUserData(e){super._readUserData(e),ak(this.selections,e)}}class aR extends aw{get _name(){return"sort"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.orderings=e}_toProto(e){return{...super._toProto(e),args:this.orderings.map(t=>t._toProto(e))}}_readUserData(e){super._readUserData(e),ak(this.orderings,e)}}class aL extends aw{get _name(){return"replace_with"}get _optionsUtil(){return new ar({})}constructor(e,t){super(t),this.map=e}_toProto(e){return{...super._toProto(e),args:[this.map._toProto(e),iU(aL.Pr)]}}_readUserData(e){super._readUserData(e),ak(this.map,e)}}function ak(e,t){return at(e)?e._readUserData(t):Array.isArray(e)?e.forEach(e
4=>e._readUserData(t)):e instanceof Map?e.forEach(e=>e._readUserData(t)):Object.values(e).forEach(e=>e._readUserData(t)),e}aL.Pr="full_replace";class aP{constructor(e,t,r,n){this._db=e,this.userDataReader=t,this._userDataWriter=r,this.stages=n}Ar(e,t){let r=this.userDataReader.createContext(3,e);return at(t)?t._readUserData(r):Array.isArray(t)?t.forEach(e=>e._readUserData(r)):t.forEach(e=>e._readUserData(r)),t}where(e){let t=this.stages.map(e=>e);return this.Ar("where",e),t.push(new aO(e,{})),new aP(this._db,this.userDataReader,this._userDataWriter,t)}limit(e){let t=this.stages.map(e=>e);return t.push(new aN(e,{})),new aP(this._db,this.userDataReader,this._userDataWriter,t)}sort(e,...t){let r=this.stages.map(e=>e);return"orderings"in e?r.push(new aR(this.Ar("sort",e.orderings),{})):r.push(new aR(this.Ar("sort",[e,...t]),{})),new aP(this._db,this.userDataReader,this._userDataWriter,r)}Vr(e){return{pipeline:{stages:this.stages.map(t=>t._toProto(e))}}}}class aM{constructor(e,t,r){this.serializer=e,this.stages=t,this.listenOptions=r,this.isCorePipeline=!0}getPipelineCollection(){return aH(this)}getPipelineCollectionGroup(){return aU(this)}getPipelineCollectionId(){return aV(this)}getPipelineDocuments(){return aj(this)}getPipelineFlavor(){var e;let t;
4return e=this,t="exact",e.stages.forEach((r,n)=>{r._name!==a_.name&&r._name!==av.name||(t="keyless"),r._name===ax.name&&"exact"===t&&(t="augmented"),r._name===aI.name&&n<e.stages.length-1&&"exact"===t&&(t="augmented")}),t}getPipelineSourceType(){return aG(this)}}function aG(e){let t=e.stages[0];return t instanceof ab||t instanceof aT||t instanceof aS||t instanceof aA?t._name:"unknown"}function aH(e){if("collection"===aG(e))return e.stages[0].Er}function aU(e){if("collection_group"===aG(e))return e.stages[0].collectionId}function aV(e){switch(aG(e)){case"collection":return tc.fromString(aH(e)).lastSegment();case"collection_group":return aU(e);default:return}}function aj(e){if("documents"===aG(e))return e.stages[0].hr}class aJ{constructor(e,t){this.type=e,this.value=t}static dr(){return new aJ("ERROR",void 0)}static mr(){return new aJ("UNSET",void 0)}static pr(){return new aJ("NULL",t2)}static newValue(e){return ro(e)?new aJ("NULL",t2):e&&"booleanValue"in e?new aJ("BOOLEAN",e):rn(e)?new aJ("INT",e):ri(e)?new aJ("DOUBLE",e):e&&"timestampValue"in e&&e.timestampValue?new aJ("TIMESTAMP",e):e&&"stringValue"in e?new aJ("STRING",e):e&&"bytesValue"in e?new aJ("BYTES",e):e.referenceValue?new aJ("REFERENCE",e):e.geoPointValue?new aJ("GEO_POINT",e):ra(e)?new aJ("ARRAY",e):ru(e)?new aJ("VECTOR",e):rl(e)?new aJ("MAP",e):new aJ("ERROR",void 0)}gr(){return"ERROR"===this.type||"UNSET"===this.type}yr(){return"NULL"===this.type}}function aq(e){if(!e.gr())return e.value}function aK(e){return e instanceof ag?e._expr:e}function az(e){if((e=aK(e))instanceof ah)return new aQ(e);if(e instanceof ad)return new aW(e);if(e instanceof au)return new a$(e);if(e instanceof af){if("add"===e.name)return new a3(e);if("subtract"===e.name)return new a8(e);if("multiply"===e.name)return new a6(e);if("divide"===e.name)return new a5(e);if("mod"===e.name)return new a4(e);if("and"===e.name)return new a9(e);if("equal"===e.name)return new oC(e);if("not_equal"===e.name)return new op(e);if("less_than"===e.name)return new of(e);if("less_than_or_equal"===e.name)return new og(e);if("greater_than"===e.name)return new om(e);if("greater_than_or_equal"===e.name)return new oE(e);if("array_concat"===e.name)return new oD(e);if("array_reverse"===e.name)return new oy(e);if("array_contains"===e.name)return new ow(e);if("array_contains_all"===e.name)return new oI(e);if("array_contains_any"===e.name)return new ov(e);if("array_length"===e.name)return new o_(e);if("array_element"===e.name)return new ob(e);if("equal_any"===e.name)return new or(e);if("not_equal_any"===e.name)return new on(e);if("is_nan"===e.name)return new oi(e);if("is_not_nan"===e.name)return new os(e);if("is_null"===e.name)return new oa(e);if("is_not_null"===e.name)return new oo(e);if("is_error"===e.name)return new oB(e);if("exists"===e.name)return new ol(e);if("not"===e.name)return new a7(e);if("or"===e.name)return new oe(e);if("xor"===e.name)return new ot(e);if("conditional"===e.name)return new ou(e);if("maximum"===e.name)return new oh(e);if("minimum"===e.name)return new oc(e);if("reverse"===e.name)return new oT(e);if("replace_first"===e.name)return new oS(e);if("replace_all"===e.name)return new oA(e);if("char_length"===e.name)return new oO(e);if("byte_length"===e.name)return new oN(e);if("like"===e.name)return new ox(e);if("regex_contains"===e.name)return new oR(e);if("regex_match"===e.name)return new oL(e);if("string_contains"===e.name)return new ok(e);if("starts_with"===e.name)return new oP(e);if("ends_with"===e.name)return new oM(e);if("to_lower"===e.name)return new oG(e);if("to_upper"===e.name)return new oH(e);if("trim"===e.name)return new oU(e);if("string_concat"===e.name)return new oV(e);if("map_get"===e.name)return new oj(e);if("cosine_distance"===e.name)return new oq(e);if("dot_product"===e.name)return new oK(e);if("euclidean_distance"===e.name)return new oz(e);if("vector_length"===e.name)return new oQ(e);if("unix_micros_to_timestamp"===e.name)return new o9(e);if("timestamp_to_unix_micros"===e.name)return new Br(e);
4if("unix_millis_to_timestamp"===e.name)return new o7(e);if("timestamp_to_unix_millis"===e.name)return new Bn(e);if("unix_seconds_to_timestamp"===e.name)return new Be(e);if("timestamp_to_unix_seconds"===e.name)return new Bi(e);if("timestamp_add"===e.name)return new Ba(e);if("timestamp_subtract"===e.name)return new Bo(e)}throw Error(`Unknown Expr : ${e}`)}class aQ{constructor(e){this.expr=e}evaluate(e,t){if(this.expr.fieldName===tu)return aJ.newValue({referenceValue:iw(e.serializer,t.key)});if("__update_time__"===this.expr.fieldName)return aJ.newValue({timestampValue:ig(e.serializer,t.version)});if("__create_time__"===this.expr.fieldName)return aJ.newValue({timestampValue:ig(e.serializer,t.createTime)});let r=t.data.field(this.expr._fieldPath);return r?tU(r)?aJ.newValue(function(e,t){if("estimate"===e.serverTimestampBehavior)return{timestampValue:ig(e.serializer,na.fromTimestamp(tj(t)))};if("previous"===e.serverTimestampBehavior){let e=tV(t);if(e)return e}return{nullValue:"NULL_VALUE"}}(e,r)):aJ.newValue(r):aJ.mr()}}class aW{constructor(e){this.expr=e}evaluate(e,t){return aJ.newValue(this.expr._getValue())}}class a${constructor(e){this.expr=e}evaluate(e,t){let r=this.expr.ur.map(r=>az(r).evaluate(e,t));return r.some(e=>e.gr())?aJ.dr():aJ.newValue({arrayValue:{values:r.map(e=>e.value)}})}}function aY(e){return ri(e)?Number(e.doubleValue):Number(e.integerValue)}function aX(e){return BigInt(e.integerValue)}let aZ=BigInt("0x7fffffffffffffff"),a0=-BigInt("0x8000000000000000");class a1{constructor(e){this.expr=e}evaluate(e,t){e5(this.expr.params.length>=2,24778);let r=az(this.expr.params[0]).evaluate(e,t),n=az(this.expr.params[1]).evaluate(e,t),i=this.wr(r,n);for(let r of this.expr.params.slice(2)){let n=az(r).evaluate(e,t);i=this.wr(i,n)}return i}wr(e,t){if(e.gr()||t.gr())return aJ.dr();if(e.yr()||t.yr())return aJ.pr();let r=e.value,n=t.value;if(!ri(r)&&!rn(r)||!ri(n)&&!rn(n))return aJ.dr();if(ri(r)||ri(n)){let e=this.br(r,n);return e?aJ.newValue(e):aJ.dr()}if(rn(r)&&rn(n)){let e=this.Sr(r,n);return void 0===e?aJ.dr():"number"==typeof e?aJ.newValue({doubleValue:e}):e<a0||e>aZ?aJ.dr():aJ.newValue({integerValue:`${e}`})}return aJ.dr()}}function a2(e,t){return t6(e)!==t6(t)?"TYPE_MISMATCH":rB(e)||rB(t)?"NOT_EQ":ro(e)&&ro(t)?"EQ":ro(e)||ro(t)?"NULL":ra(e)&&ra(t)?function(e,t){if(e.values?.length!==t.values?.length)return"NOT_EQ";let r=!1;for(let n=0;n<(e.values?.length??0);n++){let i=e.values[n],s=t.values[n];switch(a2(i,s)){case"EQ":break;case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":r=!0;break;default:e8(44609,{vr:i,Dr:s})}}return r?"NULL":"EQ"}(e.arrayValue,t.arrayValue):ru(e)&&ru(t)||rl(e)&&rl(t)?function(e,t){let r=e.fields||{},n=t.fields||{};if(tf(r)!==tf(n))return"NOT_EQ";let i=!1;for(let e in r)if(r.hasOwnProperty(e)){if(void 0===n[e])return"NOT_EQ";switch(a2(r[e],n[e])){case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":i=!0}}return i?"NULL":"EQ"}(e.mapValue,t.mapValue):t5(e,t,{o:!1,t:!0,i:!0})?"EQ":"NOT_EQ"}class a3 extends a1{Sr(e,t){return aX(e)+aX(t)}br(e,t){return{doubleValue:aY(e)+aY(t)}}}class a8 extends a1{constructor(e){super(e),this.expr=e}Sr(e,t){return aX(e)-aX(t)}br(e,t){return{doubleValue:aY(e)-aY(t)}}}class a6 extends a1{constructor(e){super(e),this.expr=e}Sr(e,t){return aX(e)*aX(t)}br(e,t){return{doubleValue:aY(e)*aY(t)}}}class a5 extends a1{constructor(e){super(e),this.expr=e}Sr(e,t){let r=aX(t);if(r!==BigInt(0))return aX(e)/r}br(e,t){let r=aY(t);return 0===r?{doubleValue:tW(r)?-1/0:1/0}:{doubleValue:aY(e)/r}}}class a4 extends a1{constructor(e){super(e),this.expr=e}Sr(e,t){let r=aX(t);if(r!==BigInt(0))return aX(e)%r}br(e,t){let r=aY(t);if(0!==r)return{doubleValue:aY(e)%r}}}class a9{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let i of this.expr.params){let s=az(i).evaluate(e,t);switch(s.type){case"BOOLEAN":if(!s.value?.booleanValue)return aJ.newValue(t8);break;case"NULL":n=!0;break;default:r=!0}}return r?aJ.dr():n?aJ.pr():aJ.newValue(t3)}}class a7{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,9634);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return aJ.newValue({booleanValue:!r.value?.booleanValue});case"NULL":return aJ.pr();default:return aJ.dr()}}}class oe{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let i of this.expr.params){let s=az(i).evaluate(e,t);switch(s.type){case"BOOLEAN":if(s.value?.booleanValue)return aJ.newValue(t3);break;case"NULL":n=!0;break;default:r=!0}}return r?aJ.dr():n?aJ.pr():aJ.newValue(t8)}}
4class ot{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(let i of this.expr.params){let s=az(i).evaluate(e,t);switch(s.type){case"BOOLEAN":r=ot.xor(r,!!s.value?.booleanValue);break;case"NULL":n=!0;break;default:return aJ.dr()}}return n?aJ.pr():aJ.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}}class or{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,55094);let r=!1,n=az(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":r=!0;break;case"ERROR":case"UNSET":return aJ.dr()}let i=az(this.expr.params[1]).evaluate(e,t);switch(i.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aJ.dr()}if(r)return aJ.pr();for(let e of i.value?.arrayValue?.values??[])switch(ro(n.value)&&ro(e)?"EQ":a2(n.value,e)){case"EQ":return aJ.newValue(t3);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e8(44608,{value:n.value,candidate:e})}return r?aJ.pr():aJ.newValue(t8)}}class on{constructor(e){this.expr=e}evaluate(e,t){return new a7(new af("not",[new af("equal_any",this.expr.params)])).evaluate(e,t)}}class oi{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,23322);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return aJ.newValue(t8);case"DOUBLE":return aJ.newValue({booleanValue:isNaN(aY(r.value))});case"NULL":return aJ.pr();default:return aJ.dr()}}}class os{constructor(e){this.expr=e}evaluate(e,t){return e5(1===this.expr.params.length,50406),new a7(new af("not",[new af("is_nan",this.expr.params)])).evaluate(e,t)}}class oa{constructor(e){this.expr=e}evaluate(e,t){switch(e5(1===this.expr.params.length,23123),az(this.expr.params[0]).evaluate(e,t).type){case"NULL":return aJ.newValue(t3);case"UNSET":case"ERROR":return aJ.dr();default:return aJ.newValue(t8)}}}class oo{constructor(e){this.expr=e}evaluate(e,t){return e5(1===this.expr.params.length,23167),new a7(new af("not",[new af("is_null",this.expr.params)])).evaluate(e,t)}}class oB{constructor(e){this.expr=e}evaluate(e,t){return e5(1===this.expr.params.length,5228),"ERROR"===az(this.expr.params[0]).evaluate(e,t).type?aJ.newValue(t3):aJ.newValue(t8)}}class ol{constructor(e){this.expr=e}evaluate(e,t){switch(e5(1===this.expr.params.length,6877),az(this.expr.params[0]).evaluate(e,t).type){case"ERROR":return aJ.dr();case"UNSET":return aJ.newValue(t8);default:return aJ.newValue(t3)}}}class ou{constructor(e){this.expr=e}evaluate(e,t){e5(3===this.expr.params.length,11706);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return r.value?.booleanValue?az(this.expr.params[1]).evaluate(e,t):az(this.expr.params[2]).evaluate(e,t);case"NULL":return az(this.expr.params[2]).evaluate(e,t);default:return aJ.dr()}}}class oh{constructor(e){this.expr=e}evaluate(e,t){let r;for(let n of this.expr.params.map(r=>az(r).evaluate(e,t)))switch(n.type){case"ERROR":case"UNSET":case"NULL":continue;default:r=void 0===r||t9(n.value,r.value)>0?n:r}return void 0===r?aJ.pr():r}}class oc{constructor(e){this.expr=e}evaluate(e,t){let r;for(let n of this.expr.params.map(r=>az(r).evaluate(e,t)))switch(n.type){case"ERROR":case"UNSET":case"NULL":continue;default:r=void 0===r||0>t9(n.value,r.value)?n:r}return void 0===r?aJ.pr():r}}class od{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,31033,`${this.expr.name}() function should have exactly 2 params`);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"ERROR":case"UNSET":return aJ.dr()}let n=az(this.expr.params[1]).evaluate(e,t);switch(n.type){case"ERROR":case"UNSET":return aJ.dr()}return this.Cr(r,n)}}class oC extends od{constructor(e){super(e),this.expr=e}Cr(e,t){if(e.yr()&&t.yr())return aJ.newValue(t3);if(e.yr()||t.yr()||rB(e.value)||rB(t.value)||t6(e.value)!==t6(t.value))return aJ.newValue(t8);switch(a2(e.value,t.value)){case"EQ":return aJ.newValue(t3);case"NOT_EQ":return aJ.newValue(t8);case"NULL":return aJ.pr();default:e8(44615,{left:e,right:t})}}}class op extends od{constructor(e){super(e),this.expr=e}Cr(e,t){switch(a2(e.value,t.value)){case"EQ":return aJ.newValue(t8);case"NOT_EQ":case"TYPE_MISMATCH":return aJ.newValue(t3);case"NULL":return aJ.pr();default:e8(44614,{left:e,right:t})}}}class of extends od{constructor(e){super(e),this.expr=e}Cr(e,t){return t6(e.value)!==t6(t.value)||rB(e.value)||rB(t.value)?aJ.newValue(t8):aJ.newValue({booleanValue:0>t9(e.value,t.value)})}}class og extends od{constructor(e){super(e),this.expr=e}Cr(e,t){return t6(e.value)!==t6(t.value)||rB(e.value)||rB(t.value)?aJ.newValue(t8):"EQ"===a2(e.value,t.value)?aJ.newValue(t3):aJ.newValue({booleanValue:0>t9(e.value,t.value)})}}class om extends od{constructor(e){super(e),this.expr=e}Cr(e,t){return t6(e.value)!==t6(t.value)||rB(e.value)||rB(t.value)?aJ.newValue(t8):aJ.newValue({booleanValue:t9(e.value,t.value)>0})}}class oE extends od{constructor(e){super(e),this.expr=e}Cr(e,t){return t6(e.value)!==t6(t.value)||rB(e.value)||rB(t.value)?aJ.newValue(t8):"EQ"===a2(e.value,t.value)?aJ.newValue(t3):aJ.newValue({booleanValue:t9(e.value,t.value)>0})}}class oD{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class oy{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,216);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aJ.pr();case"ARRAY":{let e=r.value.arrayValue?.values??[];return aJ.newValue({arrayValue:{values:[...e].reverse()}})}default:return aJ.dr()}}}class ow{constructor(e){this.expr=e}evaluate(e,t){return e5(2===this.expr.params.length,52884),new or(new af("eq_any",[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}}class oI{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,1392);let r=!1,n=az(this.expr.params[0]).evaluate(e,t);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aJ.dr()}let i=az(this.expr.params[1]).evaluate(e,t);switch(i.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aJ.dr()}if(r)return aJ.pr();let s=i.value?.arrayValue?.values??[],a=n.value?.arrayValue?.values??[];for(let e of s){let t=!1;for(let n of(r=!1,a)){switch(ro(e)&&ro(n)?"EQ":a2(e,n)){case"EQ":t=!0;break;case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e8(44613,{value:n,search:e})}if(t)break}if(!t)return aJ.newValue(t8)}return aJ.newValue(t3)}}class ov{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,2680);let r=!1,n=az(this.expr.params[0]).evaluate(e,t);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aJ.dr()}let i=az(this.expr.params[1]).evaluate(e,t);switch(i.type){case"ARRAY":break;case"NULL":r=!0;break;default:return aJ.dr()}if(r)return aJ.pr();let s=i.value?.arrayValue?.values??[];for(let e of n.value?.arrayValue?.values??[])for(let t of s)switch(ro(e)&&ro(t)?"EQ":a2(e,t)){case"EQ":return aJ.newValue(t3);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:e8(60403,{value:e,search:t})}return r?aJ.pr():aJ.newValue(t8)}}class o_{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,38605);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aJ.pr();case"ARRAY":return aJ.newValue({integerValue:`${r.value?.arrayValue?.values?.length??0}`});default:return aJ.dr()}}}class ob{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class oT{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,1508);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aJ.pr();case"BYTES":{let e=r.value?.bytesValue;if("string"==typeof e){let t=tF.fromBase64String(e).toUint8Array();return t.reverse(),aJ.newValue({bytesValue:tF.fromUint8Array(t).toBase64()})}return aJ.newValue({bytesValue:new Uint8Array(e).reverse()})}case"STRING":{let e=r.value?.stringValue,t=Array.from(new Intl.__PRIVATE_Segmenter(void 0,{granularity:"grapheme"}).segment(e),e=>e.segment).reverse();return aJ.newValue({stringValue:t.join("")})}default:return aJ.dr()}}}class oS{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class oA{constructor(e){this.expr=e}evaluate(e,t){throw Error("Unimplemented")}}class oO{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,19400);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return aJ.pr();case"STRING":{let e=function(e){let t=0;for(let r=0;r<e.length;r++){let n=e.codePointAt(r);if(void 0===n)return;if(n<=65535)if(n>=55296&&n<=57343)if(n<=56319){let n=e.codePointAt(r+1);void 0!==n&&n>=56320&&n<=57343?(t+=1,r++):t+=1}else t+=1;else t+=1;else{if(!(n<=1114111))return;t+=1,r++}}return t}(r.value.stringValue);return void 0===e?aJ.dr():aJ.newValue({integerValue:e})}default:return aJ.dr()}}}class oN{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,8486);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BYTES":{let e=r.value?.bytesValue;return"string"==typeof e?aJ.newValue({integerValue:tF.fromBase64String(e).toUint8Array().length}):aJ.newValue({integerValue:new Uint8Array(e).length})}case"STRING":{let e=function(e){let t=0;for(let r=0;r<e.length;r++){let n=e.codePointAt(r);if(void 0===n)return;if(n>=55296&&n<=57343){if(!(n<=56319))return;{let n=e.codePointAt(r+1);if(void 0===n||!(n>=56320&&n<=57343))return;t+=4,r++}}else if(n<=127)t+=1;else if(n<=2047)t+=2;else if(n<=65535)t+=3;else{if(!(n<=1114111))return;t+=4,r++}}return t}(r.value?.stringValue);return void 0===e?aJ.dr():aJ.newValue({integerValue:e})}case"NULL":return aJ.pr();default:return aJ.dr()}}}class oF{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,39773,`${this.expr.name}() function should have exactly two parameters`);let r=!1,n=az(this.expr.params[0]).evaluate(e,t);switch(n.type){case"STRING":break;case"NULL":r=!0;break;default:return aJ.dr()}let i=az(this.expr.params[1]).evaluate(e,t);switch(i.type){case"STRING":break;case"NULL":r=!0;break;default:return aJ.dr()}return r?aJ.pr():this.Fr(n.value?.stringValue,i.value?.stringValue)}}class ox extends oF{Fr(e,t){try{let r=function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charAt(r);switch(n){case"_":t+=".";break;case"%":t+=".*";break;case"\\":case".":case"*":case"?":case"+":case"^":case"$":case"|":case"(":case")":case"[":case"]":case"{":case"}":t+="\\"+n;break;default:t+=n}}return"^"+t+"$"}(t),n=eW.compile(r);return aJ.newValue({booleanValue:n.matches(e)})}catch(e){return e2(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: ${e}`),aJ.dr()}}}class oR extends oF{Fr(e,t){try{let r=eW.compile(t);return aJ.newValue({booleanValue:r.test(e)})}catch(e){return e2(`Invalid regex pattern found in regex_contains: ${t}, returning error`),aJ.dr()}}}class oL extends oF{Fr(e,t){try{return aJ.newValue({booleanValue:eW.compile(t).matches(e)})}catch(e){return e2(`Invalid regex pattern found in regex_match: ${t}, returning error`),aJ.dr()}}}class ok extends oF{Fr(e,t){return aJ.newValue({booleanValue:e.includes(t)})}}class oP extends oF{Fr(e,t){return aJ.newValue({booleanValue:e.startsWith(t)})}}class oM extends oF{Fr(e,t){return aJ.newValue({booleanValue:e.endsWith(t)})}}class oG{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,29079);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aJ.newValue({stringValue:r.value?.stringValue?.toLowerCase()});case"NULL":return aJ.pr();default:return aJ.dr()}}}class oH{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,60487);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aJ.newValue({stringValue:r.value?.stringValue?.toUpperCase()});case"NULL":return aJ.pr();default:return aJ.dr()}}}class oU{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,28544);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return aJ.newValue({stringValue:r.value?.stringValue?.trim()});case"NULL":return aJ.pr();default:return aJ.dr()}}}class oV{constructor(e){this.expr=e}evaluate(e,t){let r=this.expr.params.map(r=>az(r).evaluate(e,t)),n="",i=!1;for(let e of r)switch(e.type){case"STRING":n+=e.value.stringValue;break;case"NULL":i=!0;break;default:return aJ.dr()}return i?aJ.pr():aJ.newValue({stringValue:n})}}class oj{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,4483);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"UNSET":return aJ.mr();case"MAP":break;default:return aJ.dr()}let n=az(this.expr.params[1]).evaluate(e,t);if("STRING"!==n.type)return aJ.dr();let i=r.value?.mapValue?.fields?.[n.value?.stringValue];return void 0===i?aJ.mr():aJ.newValue(i)}}class oJ{constructor(e){this.expr=e}evaluate(e,t){e5(2===this.expr.params.length,25231,`${this.expr.name}() function should have exactly 2 params`);let r=!1,n=az(this.expr.params[0]).evaluate(e,t);switch(n.type){case"VECTOR":break;case"NULL":r=!0;break;default:return aJ.dr()}let i=az(this.expr.params[1]).evaluate(e,t);switch(i.type){case"VECTOR":break;case"NULL":r=!0;break;default:return aJ.dr()}if(r)return aJ.pr();let s=rh(n.value),a=rh(i.value);if(void 0===s||void 0===a||s.values?.length!==a.values?.length)return aJ.dr();let o=this.Or(s,a);return void 0===o||isNaN(o)?aJ.dr():aJ.newValue({doubleValue:o})}}class oq extends oJ{Or(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return;let i=0,s=0,a=0;for(let e=0;e<r.length;e++){if(!rs(r[e])||!rs(n[e]))return;let t=aY(r[e]),o=aY(n[e]);i+=t*o,s+=t*t,a+=o*o}
4let o=Math.sqrt(s)*Math.sqrt(a);if(0!==o)return 1-Math.max(-1,Math.min(1,i/o))}}class oK extends oJ{Or(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let i=0;for(let e=0;e<r.length;e++){if(!rs(r[e])||!rs(n[e]))return;i+=aY(r[e])*aY(n[e])}return i}}class oz extends oJ{Or(e,t){let r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let i=0;for(let e=0;e<r.length;e++){if(!rs(r[e])||!rs(n[e]))return;i+=Math.pow(aY(r[e])-aY(n[e]),2)}return Math.sqrt(i)}}class oQ{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,39044);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"VECTOR":{let e=rh(r.value);return aJ.newValue({integerValue:e?.values?.length??0})}case"NULL":return aJ.pr();default:return aJ.dr()}}}let oW=BigInt(-0xe7791f700),o$=BigInt(0x3afff4417f),oY=BigInt(1e3),oX=BigInt(1e6),oZ=oW*oY,o0=o$*oY+BigInt(999),o1=oW*oX,o2=o$*oX+BigInt(999999);function o3(e){return e>=o1&&e<=o2}function o8(e,t){let r=BigInt(e);return!(r<oW||r>o$)&&!(t<0||t>=1e9)&&(r!==oW||0===t)&&!(r===o$&&t>0x3b9ac9ff)}function o6(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function o5(e){return BigInt(e.seconds)*oX+BigInt(Math.trunc(e.nanoseconds/1e3))}class o4{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,49262,`${this.expr.name}() function should have exactly one parameter`);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return this.toTimestamp(BigInt(r.value.integerValue));case"NULL":return aJ.pr();default:return aJ.dr()}}}class o9 extends o4{toTimestamp(e){if(!o3(e))return aJ.dr();let t=Number(e/oX),r=Number(e%oX*BigInt(1e3)),n=o6(t,r);return o8(t=n.seconds,r=n.nanos)?aJ.newValue({timestampValue:{seconds:t,nanos:r}}):aJ.dr()}}class o7 extends o4{toTimestamp(e){if(!(e>=oZ&&e<=o0))return aJ.dr();let t=Number(e/oY),r=Number(e%oY*BigInt(1e6)),n=o6(t,r);return o8(t=n.seconds,r=n.nanos)?aJ.newValue({timestampValue:{seconds:t,nanos:r}}):aJ.dr()}}class Be extends o4{toTimestamp(e){if(!(e>=oW&&e<=o$))return aJ.dr();let t=Number(e);return aJ.newValue({timestampValue:{seconds:t,nanos:0}})}}class Bt{constructor(e){this.expr=e}evaluate(e,t){e5(1===this.expr.params.length,1265,`${this.expr.name}() function should have exactly one parameter`);let r=az(this.expr.params[0]).evaluate(e,t);switch(r.type){case"TIMESTAMP":break;case"NULL":return aJ.pr();default:return aJ.dr()}let n=iC(r.value.timestampValue);return o8(n.seconds,n.nanoseconds)?this.Mr(n):aJ.dr()}}class Br extends Bt{Mr(e){let t=o5(e);return o3(t)?aJ.newValue({integerValue:`${t.toString()}`}):aJ.dr()}}class Bn extends Bt{Mr(e){let t=o5(e),r=t/BigInt(1e3),n=t%BigInt(1e3);return r>BigInt(0)||n===BigInt(0)?aJ.newValue({integerValue:r.toString()}):aJ.newValue({integerValue:(r-BigInt(1)).toString()})}}class Bi extends Bt{Mr(e){let t=BigInt(e.seconds);return t>=oW&&t<=o$?aJ.newValue({integerValue:t.toString()}):aJ.dr()}}class Bs{constructor(e){this.expr=e}evaluate(e,t){let r,n;e5(3===this.expr.params.length,2775,`${this.expr.name}() function should have exactly 3 parameters`);let i=!1,s=az(this.expr.params[0]).evaluate(e,t);switch(s.type){case"TIMESTAMP":break;case"NULL":i=!0;break;default:return aJ.dr()}let a=az(this.expr.params[1]).evaluate(e,t);switch(a.type){case"STRING":if(void 0===(r=function(e){switch(e){case"microsecond":return"microsecond";case"millisecond":return"millisecond";case"second":return"second";case"minute":return"minute";case"hour":return"hour";case"day":return"day";default:return}}(a.value.stringValue)))return aJ.dr();break;case"NULL":i=!0;break;default:return aJ.dr()}let o=az(this.expr.params[2]).evaluate(e,t);switch(o.type){case"INT":break;case"NULL":i=!0;break;default:return aJ.dr()}if(i)return aJ.pr();let B=BigInt(o.value.integerValue);try{switch(r){case"microsecond":n=B;break;case"millisecond":n=B*BigInt(1e3);break;case"second":n=B*BigInt(1e6);break;case"minute":n=B*BigInt(6e7);break;case"hour":n=B*BigInt(36e8);break;case"day":n=B*BigInt(864e8);break;default:return aJ.dr()}if("microsecond"!==r&&B!==BigInt(0)&&n/B!==BigInt(this.Nr(r)))return aJ.dr()}catch(e){return e2(`Error during timestamp arithmetic: ${e}`),aJ.dr()}let l=iC(s.value.timestampValue);if(!o8(l.seconds,l.nanoseconds))return aJ.dr();let u=o5(l),h=this.Lr(u,n);if(!o3(h))return aJ.dr();
4let c=Number(h/oX),d=h%oX,C=Number((d<0?d+oX:d)*BigInt(1e3)),p=d<0?c-1:c;return o8(p,C)?aJ.newValue({timestampValue:{seconds:p,nanos:C}}):aJ.dr()}Nr(e){switch(e){case"millisecond":return 1e3;case"second":return 1e6;case"minute":return 6e7;case"hour":return 36e8;case"day":return 864e8;default:return 1}}}class Ba extends Bs{Lr(e,t){return e+t}}class Bo extends Bs{Lr(e,t){return e-t}}function BB(e){if((e=aK(e))instanceof ah)return`fld(${e.fieldName})`;if(e instanceof ad){var t;return`cst(${null===(t=e.value)?"null":"number"==typeof t?t.toString():"string"==typeof t?`"${t}"`:t instanceof sG?`ref(${t.path})`:t instanceof sU?`vec(${JSON.stringify(t)})`:JSON.stringify(t)})`}if(e instanceof af)return`fn(${e.name},[${e.params.map(BB).join(",")}])`;if("ListOfExpressions"===e.expressionType)return`list([${e.ur.map(BB).join(",")}])`;throw Error(`Unrecognized expr ${JSON.stringify(e,null,2)}`)}function Bl(e){return`${Array.from(e.entries()).sort().map(([e,t])=>`${e}=${BB(t)}`).join(",")}`}function Bu(e){return e.stages.map(e=>(function(e){if(e instanceof aI)return`${e._name}(${Bl(e.fields)})`;if(e instanceof av){let t=`${e._name}(${Bl(e.accumulators)})`;return e.groups.size>0&&(t+=`grouping(${Bl(e.groups)})`),t}if(e instanceof a_)return`${e._name}(${Bl(e.groups)})`;if(e instanceof ab)return`${e._name}(${e.Er})`;if(e instanceof aT)return`${e._name}(${e.collectionId})`;if(e instanceof aS)return`${e._name}()`;if(e instanceof aA)return`${e._name}(${e.hr.sort()})`;if(e instanceof aO)return`${e._name}(${BB(e.condition)})`;if(e instanceof aN)return`${e._name}(${e.limit})`;if(e instanceof aR)return`${e._name}(${e.orderings.map(e=>`${BB(e.expr)}${e.direction}`).join(",")})`;throw Error(`Unrecognized stage ${e._name}`)})(e)).join("|")}function Bh(e){return e instanceof aM}function Bc(e){return Bh(e)?Bu(e):nM(e)}function Bd(e){return Bh(e)?Bu(e):`${nD(nF(e))}|lt:${e.limitType}`}function BC(e,t){return e instanceof aM&&t instanceof aM?Bu(e)===Bu(t):!(e instanceof aM&&!(t instanceof aM)||!(e instanceof aM)&&t instanceof aM)&&nP(e,t)}function Bp(e){return nw(e)?Bu(e):nD(e)}function Bf(e,t){return e instanceof aM&&t instanceof aM?Bu(e)===Bu(t):!(e instanceof aM&&!(t instanceof aM)||!(e instanceof aM)&&t instanceof aM)&&ny(e,t)}class Bg{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){let r=t.mutationResults;for(let t=0;t<this.mutations.length;t++){let n=this.mutations[t];n.key.isEqual(e.key)&&function(e,t,r){let n,i;e instanceof rj?(n=e.value.clone(),i=rK(e.fieldTransforms,t,r.transformResults),n.setAll(i),t.convertToFoundDocument(r.version,n).setHasCommittedMutations()):e instanceof rJ?function(e,t,r){if(!rM(e.precondition,t))return t.convertToUnknownDocument(r.version);let n=rK(e.fieldTransforms,t,r.transformResults),i=t.data;i.setAll(rq(e)),i.setAll(n),t.convertToFoundDocument(r.version,i).setHasCommittedMutations()}(e,t,r):t.convertToNoDocument(r.version).setHasCommittedMutations()}(n,e,r[t])}}applyToLocalView(e,t){for(let r of this.baseMutations)r.key.isEqual(e.key)&&(t=rU(r,e,t,this.localWriteTime));for(let r of this.mutations)r.key.isEqual(e.key)&&(t=rU(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){let r=nW();return this.mutations.forEach(n=>{let i=e.get(n.key),s=i.overlayedDocument,a=this.applyToLocalView(s,i.mutatedFields),o=rH(s,a=t.has(n.key)?null:a);null!==o&&r.set(n.key,o),s.isValidDocument()||s.convertToNoDocument(na.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),nX())}isEqual(e){return this.batchId===e.batchId&&tt(this.mutations,e.mutations,(e,t)=>rV(e,t))&&tt(this.baseMutations,e.baseMutations,(e,t)=>rV(e,t))}}class Bm{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){e5(e.mutations.length===r.length,58842,{Br:e.mutations.length,Ur:r.length});let n=n$,i=e.mutations;for(let e=0;e<i.length;e++)n=n.insert(i[e].key,r[e].version);return new Bm(e,t,r,n)}}function BE(e){let t="";for(let r=0;r<e.length;r++)t.length>0&&(t+="\x01\x01"),t=function(e,t){let r=t,n=e.length;for(let t=0;t<n;t++){let n=e.charAt(t);switch(n){case"\0":r+="\x01\x10";break;case"\x01":r+="\x01\x11";break;default:r+=n}}return r}(e.get(r),t);return t+"\x01\x01"}function BD(e){let t=e.length;if(e5(t>=2,64408,{path:e}),2===t)return e5("\x01"===e.charAt(0)&&"\x01"===e.charAt(1),56145,{path:e}),tc.emptyPath();let r=t-2,n=[],i="";for(let s=0;s<t;){let t=e.indexOf("\x01",s);switch((t<0||t>r)&&e8(50515,{path:e}),e.charAt(t+1)){case"\x01":let a,o=e.substring(s,t);0===i.length?a=o:(i+=o,a=i,i=""),n.push(a);break;case"\x10":i+=e.substring(s,t),i+="\0";break;case"\x11":i+=e.substring(s,t+1);break;default:e8(61167,{path:e})}s=t+2}return new tc(n)}
4let By="remoteDocuments",Bw="owner",BI="owner",Bv="mutationQueues",B_="mutations",Bb="batchId",BT="userMutationsIndex",BS=["userId","batchId"],BA={},BO="documentMutations",BN="remoteDocumentsV14",BF=["prefixPath","collectionGroup","readTime","documentId"],Bx="documentKeyIndex",BR=["prefixPath","collectionGroup","documentId"],BL="collectionGroupIndex",Bk=["collectionGroup","readTime","prefixPath","documentId"],BP="remoteDocumentGlobal",BM="remoteDocumentGlobalKey",BG="targets",BH="queryTargetsIndex",BU=["canonicalId","targetId"],BV="targetDocuments",Bj=["targetId","path"],BJ="documentTargetsIndex",Bq=["path","targetId"],BK="targetGlobalKey",Bz="targetGlobal",BQ="collectionParents",BW=["collectionId","parent"],B$="clientMetadata",BY="bundles",BX="namedQueries",BZ="indexConfiguration",B0="collectionGroupIndex",B1="indexState",B2=["indexId","uid"],B3="sequenceNumberIndex",B8=["uid","sequenceNumber"],B6="indexEntries",B5=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],B4="documentKeyIndex",B9=["indexId","uid","orderedDocumentKey"],B7="documentOverlays",le=["userId","collectionPath","documentId"],lt="collectionPathOverlayIndex",lr=["userId","collectionPath","largestBatchId"],ln="collectionGroupOverlayIndex",li=["userId","collectionGroup","largestBatchId"],ls="globals",la=[Bv,B_,BO,By,BG,Bw,Bz,BV,B$,BP,BQ,BY,BX],lo=[...la,B7],lB=[Bv,B_,BO,BN,BG,Bw,Bz,BV,B$,BP,BQ,BY,BX,B7],ll=[...lB,BZ,B1,B6],lu=[...ll,ls];function lh(e,t,r){let n=e.store(B_),i=e.store(BO),s=[],a=IDBKeyRange.only(r.batchId),o=0,B=n.jn({range:a},(e,t,r)=>(o++,r.delete()));s.push(B.next(()=>{e5(1===o,47070,{batchId:r.batchId})}));let l=[];for(let e of r.mutations){var u,h;let n=(u=e.key.path,h=r.batchId,[t,BE(u),h]);s.push(i.delete(n)),l.push(e.key)}return sE.waitFor(s).next(()=>l)}function lc(e){let t;if(!e)return 0;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw e8(14731);t=e.noDocument}return JSON.stringify(t).length}class ld extends sg{constructor(e,t){super(),this.kr=e,this.currentSequenceNumber=t}}function lC(e,t){return sw.xn(e.kr,t)}class lp{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{ 5 largestBatchId: ${this.largestBatchId}, 6 mutation: ${this.mutation.toString()} 7 }`}}class lf{constructor(e,t,r,n,i=na.min(),s=na.min(),a=tF.EMPTY_BYTE_STRING,o=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=n,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=s,this.resumeToken=a,this.expectedCount=o}withSequenceNumber(e){return new lf(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new lf(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new lf(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new lf(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class lg{constructor(e){this.qr=e}}function lm(e,t){let r=t.key,n={prefixPath:r.getCollectionPath().popLast().toArray(),collectionGroup:r.collectionGroup,documentId:r.path.lastSegment(),readTime:lE(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument()){var i;n.document={name:iw(i=e.qr,t.key),fields:t.data.value.mapValue.fields,updateTime:id(i,t.version.toTimestamp()),createTime:id(i,t.createTime.toTimestamp())}}else if(t.isNoDocument())n.noDocument={path:r.path.toArray(),readTime:lD(t.version)};else{if(!t.isUnknownDocument())return e8(57904,{document:t});n.unknownDocument={path:r.path.toArray(),version:lD(t.version)}}return n}function lE(e){let t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function lD(e){let t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function ly(e){let t=new tO(e.seconds,e.nanoseconds);return na.fromTimestamp(t)}function lw(e,t){let r=(t.baseMutations||[]).map(t=>iN(e.qr,t));for(let e=0;e<t.mutations.length-1;++e){let r=t.mutations[e];e+1<t.mutations.length&&void 0!==t.mutations[e+1].transform&&(r.updateTransforms=t.mutations[e+1].transform.fieldTransforms,t.mutations.splice(e+1,1),++e)}let n=t.mutations.map(t=>iN(e.qr,t)),i=tO.fromMillis(t.localWriteTimeMs);return new Bg(t.batchId,i,r,n)}function lI(e,t){var r,n,i;let s,a,o=ly(t.readTime),B=void 0!==t.lastLimboFreeSnapshotVersion?ly(t.lastLimboFreeSnapshotVersion):na.min();return new lf(void 0!==t.query.structuredPipeline?(r=t.query,n=e.qr,s=r.structuredPipeline,e5((s?.pipeline?.stages??[]).length>0,1845),new aM(n,s?.pipeline?.stages.map(lA))):void 0!==t.query.documents?(e5(1===(a=(i=t.query).documents.length),1966,{count:a}),nF(nS(i_(i.documents[0])))):nF(iR(t.query)),t.targetId,"TargetPurposeListen",t.lastListenSequenceNumber,o,B,tF.fromBase64String(t.resumeToken))}function lv(e,t){let r,n=lD(t.snapshotVersion),i=lD(t.lastLimboFreeSnapshotVersion);r=nw(t.target)?iL(e.qr,t.target):nI(t.target)?iF(e.qr,t.target):ix(e.qr,t.target).be;let s=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:Bp(t.target),readTime:n,resumeToken:s,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:i,query:r}}function l_(e){let t=iR({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?nk(t,t.limit,"L"):t}function lb(e,t){return new lp(t.largestBatchId,iN(e.qr,t.overlayMutation))}function lT(e,t){let r=t.path.lastSegment();return[e,BE(t.path.popLast()),r]}function lS(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:lD(n.readTime),documentKey:BE(n.documentKey.path),largestBatchId:n.largestBatchId}}function lA(e){switch(e.name){case"collection":return new ab(e.args[0].referenceValue,{});case"collection_group":return new aT(e.args[1].stringValue,{});case"database":return new aS({});case"documents":return new aA(e.args.map(e=>e.referenceValue),{});case"where":return new aO(lO(e.args[0]),{});case"limit":{let t=e.args[0].integerValue??e.args[0].doubleValue;return new aN("number"==typeof t?t:Number(t),{})}case"sort":return new aR(e.args.map(e=>{let t;return new ay(lO((t=e.mapValue?.fields).expression),t.direction?.stringValue,"orderingFromProto")}),{});default:throw Error(`Stage type: ${e.name} not supported.`)}}function lO(e){return e.fieldReferenceValue?new ah(s5("_exprFromProto",e.fieldReferenceValue),"_exprFromProto"):e.functionValue?new af(e.functionValue.name,e.functionValue.args?.map(lO)||[]):ad._fromProto(e)}
7class lN{constructor(e,t,r,n){this.userId=e,this.serializer=t,this.indexManager=r,this.referenceDelegate=n,this.$r={}}static Kr(e,t,r,n){return e5(""!==e.uid,64387),new lN(e.isAuthenticated()?e.uid:"",t,r,n)}checkEmpty(e){let t=!0,r=IDBKeyRange.bound([this.userId,-1/0],[this.userId,1/0]);return lx(e).jn({index:BT,range:r},(e,r,n)=>{t=!1,n.done()}).next(()=>t)}addMutationBatch(e,t,r,n){let i=lC(e,BO),s=lx(e);return s.add({}).next(a=>{var o,B,l,u;let h,c;e5("number"==typeof a,49019);let d=new Bg(a,t,r,n),C=(o=this.serializer,B=this.userId,h=d.baseMutations.map(e=>iO(o.qr,e)),c=d.mutations.map(e=>iO(o.qr,e)),{userId:B,batchId:d.batchId,localWriteTimeMs:d.localWriteTime.toMillis(),baseMutations:h,mutations:c}),p=[],f=new ts((e,t)=>e9(e.canonicalString(),t.canonicalString()));for(let e of n){let t=(l=this.userId,u=e.key.path,[l,BE(u),a]);f=f.add(e.key.path.popLast()),p.push(s.put(C)),p.push(i.put(t,BA))}return f.forEach(t=>{p.push(this.indexManager.addToCollectionParentIndex(e,t))}),e.addOnCommittedListener(()=>{this.$r[a]=d.keys()}),sE.waitFor(p).next(()=>d)})}lookupMutationBatch(e,t){return lx(e).get(t).next(e=>e?(e5(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),lw(this.serializer,e)):null)}Qr(e,t){return this.$r[t]?sE.resolve(this.$r[t]):this.lookupMutationBatch(e,t).next(e=>{if(e){let r=e.keys();return this.$r[t]=r,r}return null})}getNextMutationBatchAfterBatchId(e,t){let r=t+1,n=IDBKeyRange.lowerBound([this.userId,r]),i=null;return lx(e).jn({index:BT,range:n},(e,t,n)=>{t.userId===this.userId&&(e5(t.batchId>=r,47524,{Wr:r}),i=lw(this.serializer,t)),n.done()}).next(()=>i)}getHighestUnacknowledgedBatchId(e){let t=IDBKeyRange.upperBound([this.userId,1/0]),r=-1;return lx(e).jn({index:BT,range:t,reverse:!0},(e,t,n)=>{r=t.batchId,n.done()}).next(()=>r)}getAllMutationBatches(e){let t=IDBKeyRange.bound([this.userId,-1],[this.userId,1/0]);return lx(e).Kn(BT,t).next(e=>e.map(e=>lw(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(e,t){let r=[this.userId,BE(t.path)],n=IDBKeyRange.lowerBound(r),i=[];return lC(e,BO).jn({range:n},(r,n,s)=>{let[a,o,B]=r,l=BD(o);if(a===this.userId&&t.path.isEqual(l))return lx(e).get(B).next(e=>{if(!e)throw e8(61480,{Gr:r,batchId:B});e5(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:B}),i.push(lw(this.serializer,e))});s.done()}).next(()=>i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new ts(e9),n=[];return t.forEach(t=>{let i=[this.userId,BE(t.path)],s=IDBKeyRange.lowerBound(i),a=lC(e,BO).jn({range:s},(e,n,i)=>{let[s,a,o]=e,B=BD(a);s===this.userId&&t.path.isEqual(B)?r=r.add(o):i.done()});n.push(a)}),sE.waitFor(n).next(()=>this.zr(e,r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,i=[this.userId,BE(r)],s=IDBKeyRange.lowerBound(i),a=new ts(e9);return lC(e,BO).jn({range:s},(e,t,i)=>{let[s,o,B]=e,l=BD(o);s===this.userId&&r.isPrefixOf(l)?l.length===n&&(a=a.add(B)):i.done()}).next(()=>this.zr(e,a))}zr(e,t){let r=[],n=[];return t.forEach(t=>{n.push(lx(e).get(t).next(e=>{if(null===e)throw e8(35274,{batchId:t});e5(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(lw(this.serializer,e))}))}),sE.waitFor(n).next(()=>r)}removeMutationBatch(e,t){return lh(e.kr,this.userId,t).next(r=>(e.addOnCommittedListener(()=>{this.jr(t.batchId)}),sE.forEach(r,t=>this.referenceDelegate.markPotentiallyOrphaned(e,t))))}jr(e){delete this.$r[e]}performConsistencyCheck(e){return this.checkEmpty(e).next(t=>{if(!t)return sE.resolve();let r=IDBKeyRange.lowerBound([this.userId]),n=[];return lC(e,BO).jn({range:r},(e,t,r)=>{if(e[0]===this.userId){let t=BD(e[1]);n.push(t)}else r.done()}).next(()=>{e5(0===n.length,56720,{Hr:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return lF(e,this.userId,t)}Jr(e){return lC(e,Bv).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:-1,lastStreamToken:""})}}function lF(e,t,r){let n=[t,BE(r.path)],i=n[1],s=IDBKeyRange.lowerBound(n),a=!1;return lC(e,BO).jn({range:s,zn:!0},(e,r,n)=>{let[s,o,B]=e;s===t&&o===i&&(a=!0),n.done()}).next(()=>a)}function lx(e){return lC(e,B_)}class lR{getBundleMetadata(e,t){return lC(e,BY).get(t).next(e=>{if(e)return{id:e.bundleId,createTime:ly(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return lC(e,BY).put({bundleId:t.id,createTime:lD(im(t.createTime)),version:t.version})}getNamedQuery(e,t){return lC(e,BX).get(t).next(e=>{if(e)return{name:e.name,query:l_(e.bundledQuery),readTime:ly(e.readTime)}})}saveNamedQuery(e,t){return lC(e,BX).put({name:t.name,readTime:lD(im(t.readTime)),bundledQuery:t.bundledQuery})}}
7class lL{constructor(e,t){this.serializer=e,this.userId=t}static Kr(e,t){return new lL(e,t.uid||"")}getOverlay(e,t){return lC(e,B7).get(lT(this.userId,t)).next(e=>e?lb(this.serializer,e):null)}getOverlays(e,t){let r=nW();return sE.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,t){let r=nW();return lC(e,B7).jn((e,n)=>{let i=lb(this.serializer,n);i.largestBatchId>t&&r.set(i.getKey(),i)}).next(()=>r)}saveOverlays(e,t,r){let n=[];return r.forEach((r,i)=>{let s=new lp(t,i);n.push(this.Yr(e,s))}),sE.waitFor(n)}removeOverlaysForBatchId(e,t,r){let n=new Set;t.forEach(e=>n.add(BE(e.getCollectionPath())));let i=[];return n.forEach(t=>{let n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,r+1],!1,!0);i.push(lC(e,B7).Gn(lt,n))}),sE.waitFor(i)}getOverlaysForCollection(e,t,r){let n=nW(),i=BE(t),s=IDBKeyRange.bound([this.userId,i,r],[this.userId,i,1/0],!0);return lC(e,B7).Kn(lt,s).next(e=>{for(let t of e){let e=lb(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,n){let i,s=nW(),a=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,1/0],!0);return lC(e,B7).jn({index:ln,range:a},(e,t,r)=>{let a=lb(this.serializer,t);s.size()<n||a.largestBatchId===i?(s.set(a.getKey(),a),i=a.largestBatchId):r.done()}).next(()=>s)}Yr(e,t){return lC(e,B7).put(function(e,t,r){let[n,i,s]=lT(t,r.mutation.key);return{userId:t,collectionPath:i,documentId:s,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:iO(e.qr,r.mutation)}}(this.serializer,this.userId,t))}}class lk{Zr(e){return lC(e,ls)}getSessionToken(e){return this.Zr(e).get("sessionToken").next(e=>{let t=e?.value;return t?tF.fromUint8Array(t):tF.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.Zr(e).put({name:"sessionToken",value:t.toUint8Array()})}}class lP{Xr(e,t){this.ei(e,t),t.ti()}ei(e,t){if("nullValue"in e)this.ni(t,5);else if("booleanValue"in e)this.ni(t,10),t.ri(+!!e.booleanValue);else if("integerValue"in e)this.ni(t,15),t.ri(tL(e.integerValue));else if("doubleValue"in e){let r=tL(e.doubleValue);isNaN(r)?this.ni(t,13):(this.ni(t,15),tW(r)?t.ri(0):t.ri(r))}else if("timestampValue"in e){let r=e.timestampValue;this.ni(t,20),"string"==typeof r&&(r=tR(r)),t.ii(`${r.seconds||""}`),t.ri(r.nanos||0)}else if("stringValue"in e)this.si(e.stringValue,t),this._i(t);else if("bytesValue"in e)this.ni(t,30),t.oi(tk(e.bytesValue)),this._i(t);else if("referenceValue"in e)this.ai(e.referenceValue,t);else if("geoPointValue"in e){let r=e.geoPointValue;this.ni(t,45),t.ri(r.latitude||0),t.ri(r.longitude||0)}else"mapValue"in e?rd(e)?this.ni(t,Number.MAX_SAFE_INTEGER):ru(e)?this.ui(e.mapValue,t):(this.ci(e.mapValue,t),this._i(t)):"arrayValue"in e?(this.li(e.arrayValue,t),this._i(t)):e8(19022,{Ei:e})}si(e,t){this.ni(t,25),this.hi(e,t)}hi(e,t){t.ii(e)}ci(e,t){let r=e.fields||{};for(let e of(this.ni(t,55),Object.keys(r)))this.si(e,t),this.ei(r[e],t)}ui(e,t){let r=e.fields||{};this.ni(t,53);let n=r[t1].arrayValue?.values?.length||0;this.ni(t,15),t.ri(tL(n)),this.si(t1,t),this.ei(r[t1],t)}li(e,t){let r=e.values||[];for(let e of(this.ni(t,50),r))this.ei(e,t)}ai(e,t){this.ni(t,37),tD.fromName(e).path.forEach(e=>{this.ni(t,60),this.hi(e,t)})}ni(e,t){e.ri(t)}_i(e){e.ri(2)}}function lM(e){return Math.ceil((64-function(e){let t=0;for(let r=0;r<8;++r){let n=function(e){if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t}(255&e[r]);if(t+=n,8!==n)break}return t}(e))/8)}lP.Ti=new lP;class lG{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Pi(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.Ri(r.value),r=t.next();this.Ii()}Ai(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.Vi(r.value),r=t.next();this.di()}fi(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Ri(e);else if(e<2048)this.Ri(960|e>>>6),this.Ri(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Ri(480|e>>>12),this.Ri(128|63&e>>>6),this.Ri(128|63&e);else{let e=t.codePointAt(0);this.Ri(240|e>>>18),this.Ri(128|63&e>>>12),this.Ri(128|63&e>>>6),this.Ri(128|63&e)}}this.Ii()}mi(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Vi(e);else if(e<2048)this.Vi(960|e>>>6),this.Vi(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Vi(480|e>>>12),this.Vi(128|63&e>>>6),this.Vi(128|63&e);else{let e=t.codePointAt(0);this.Vi(240|e>>>18),this.Vi(128|63&e>>>12),this.Vi(128|63&e>>>6),this.Vi(128|63&e)}}this.di()}pi(e){let t=this.gi(e),r=lM(t);this.yi(1+r),this.buffer[this.position++]=255&r;for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=255&t[e]}wi(e){let t=this.gi(e),r=lM(t);this.yi(1+r),this.buffer[this.position++]=~(255&r);for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=~(255&t[e])}bi(){this.Si(255),this.Si(255)}Di(){this.xi(255),this.xi(255)}reset(){this.position=0}seed(e){this.yi(e.length),this.buffer.set(e,this.position),this.position+=e.length}Ci(){return this.buffer.slice(0,this.position)}gi(e){let t,r=((t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1),new Uint8Array(t.buffer)),n=!!(128&r[0]);r[0]^=n?255:128;for(let e=1;e<r.length;++e)r[e]^=255*!!n;return r}Ri(e){let t=255&e;0===t?(this.Si(0),this.Si(255)):255===t?(this.Si(255),this.Si(0)):this.Si(t)}Vi(e){let t=255&e;0===t?(this.xi(0),this.xi(255)):255===t?(this.xi(255),this.xi(0)):this.xi(e)}Ii(){this.Si(0),this.Si(1)}di(){this.xi(0),this.xi(1)}Si(e){this.yi(1),this.buffer[this.position++]=e}xi(e){this.yi(1),this.buffer[this.position++]=~e}yi(e){let t=e+this.position;if(t<=this.buffer.length)return;let r=2*this.buffer.length;r<t&&(r=t);let n=new Uint8Array(r);n.set(this.buffer),this.buffer=n}}class lH{constructor(e){this.Fi=e}oi(e){this.Fi.Pi(e)}ii(e){this.Fi.fi(e)}ri(e){this.Fi.pi(e)}ti(){this.Fi.bi()}}class lU{constructor(e){this.Fi=e}oi(e){this.Fi.Ai(e)}ii(e){this.Fi.mi(e)}ri(e){this.Fi.wi(e)}ti(){this.Fi.Di()}}class lV{constructor(){this.Fi=new lG,this.ascending=new lH(this.Fi),this.descending=new lU(this.Fi)}seed(e){this.Fi.seed(e)}Oi(e){return 0===e?this.ascending:this.descending}Ci(){return this.Fi.Ci()}reset(){this.Fi.reset()}}class lj{constructor(e,t,r,n){this.Mi=e,this.Ni=t,this.Li=r,this.Bi=n}Ui(){let e=this.Bi.length,t=0===e||255===this.Bi[e-1]?e+1:e,r=new Uint8Array(t);return r.set(this.Bi,0),t!==e?r.set([0],this.Bi.length):++r[r.length-1],new lj(this.Mi,this.Ni,this.Li,r)}ki(e,t,r){return{indexId:this.Mi,uid:e,arrayValue:lK(this.Li),directionalValue:lK(this.Bi),orderedDocumentKey:lK(t),documentKey:r.path.toArray()}}qi(e,t,r){let n=this.ki(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function lJ(e,t){let r=e.Mi-t.Mi;return 0!==r||0!==(r=lq(e.Li,t.Li))||0!==(r=lq(e.Bi,t.Bi))?r:tD.comparator(e.Ni,t.Ni)}function lq(e,t){for(let r=0;r<e.length&&r<t.length;++r){let n=e[r]-t[r];if(0!==n)return n}return e.length-t.length}function lK(e){return(0,E.isSafariOrWebkit)()?function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}(e):e}function lz(e){return"string"!=typeof e?e:function(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}(e)}class lQ{constructor(e){for(const t of(this.$i=new ts((e,t)=>tC.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.Ki=e.orderBy,this.Qi=[],e.filters))t.isInequality()?this.$i=this.$i.add(t):this.Qi.push(t)}get Wi(){return this.$i.size>1}Gi(e){if(e5(e.collectionGroup===this.collectionId,49279),this.Wi)return!1;let t=nl(e);if(void 0!==t&&!this.zi(t))return!1;let r=nu(e),n=new Set,i=0,s=0;for(;i<r.length&&this.zi(r[i]);++i)n=n.add(r[i].fieldPath.canonicalString());if(i===r.length)return!0;
7if(this.$i.size>0){let e=this.$i.getIterator().getNext();if(!n.has(e.field.canonicalString())){let t=r[i];if(!this.ji(e,t)||!this.Hi(this.Ki[s++],t))return!1}++i}for(;i<r.length;++i){let e=r[i];if(s>=this.Ki.length||!this.Hi(this.Ki[s++],e))return!1}return!0}Ji(){if(this.Wi)return null;let e=new ts(tC.comparator),t=[];for(let r of this.Qi)if(!r.field.isKeyField())if("array-contains"===r.op||"array-contains-any"===r.op)t.push(new nc(r.field,2));else{if(e.has(r.field))continue;e=e.add(r.field),t.push(new nc(r.field,0))}for(let r of this.Ki)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),t.push(new nc(r.field,+("asc"!==r.dir))));return new nB(nB.UNKNOWN_ID,this.collectionId,t,nd.empty())}zi(e){for(let t of this.Qi)if(this.ji(t,e))return!0;return!1}ji(e,t){if(void 0===e||!e.field.isEqual(t.fieldPath))return!1;let r="array-contains"===e.op||"array-contains-any"===e.op;return 2===t.kind===r}Hi(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function lW(e){return e instanceof r0}function l$(e){return e instanceof r1&&r8(e)}function lY(e){return lW(e)||l$(e)||function(e){if(e instanceof r1&&r3(e)){for(let t of e.getFilters())if(!lW(t)&&!l$(t))return!1;return!0}return!1}(e)}function lX(e,t){return e5(e instanceof r0||e instanceof r1,38388),e5(t instanceof r0||t instanceof r1,25473),l0(e instanceof r0?t instanceof r0?r1.create([e,t],"and"):lZ(e,t):t instanceof r0?lZ(t,e):function(e,t){if(e5(e.filters.length>0&&t.filters.length>0,48005),r2(e)&&r2(t))return r5(e,t.getFilters());let r=r3(e)?e:t,n=r3(e)?t:e,i=r.filters.map(e=>lX(e,n));return r1.create(i,"or")}(e,t))}function lZ(e,t){if(r2(t))return r5(t,e.getFilters());{let r=t.filters.map(t=>lX(e,t));return r1.create(r,"or")}}function l0(e){if(e5(e instanceof r0||e instanceof r1,11850),e instanceof r0)return e;let t=e.getFilters();if(1===t.length)return l0(t[0]);if(r6(e))return e;let r=t.map(e=>l0(e)),n=[];return r.forEach(t=>{t instanceof r0?n.push(t):t instanceof r1&&(t.op===e.op?n.push(...t.filters):n.push(t))}),1===n.length?n[0]:r1.create(n,e.op)}class l1{constructor(){this.Yi=new l2}addToCollectionParentIndex(e,t){return this.Yi.add(t),sE.resolve()}getCollectionParents(e,t){return sE.resolve(this.Yi.getEntries(t))}addFieldIndex(e,t){return sE.resolve()}deleteFieldIndex(e,t){return sE.resolve()}deleteAllFieldIndexes(e){return sE.resolve()}createTargetIndexes(e,t){return sE.resolve()}getDocumentsMatchingTarget(e,t){return sE.resolve(null)}getIndexType(e,t){return sE.resolve(0)}getFieldIndexes(e,t){return sE.resolve([])}getNextCollectionGroupToUpdate(e){return sE.resolve(null)}getMinOffset(e,t){return sE.resolve(nf.min())}getMinOffsetFromCollectionGroup(e,t){return sE.resolve(nf.min())}updateCollectionGroup(e,t,r){return sE.resolve()}updateIndexEntries(e,t){return sE.resolve()}}class l2{constructor(){this.index={}}add(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new ts(tc.comparator),i=!n.has(r);return this.index[t]=n.add(r),i}has(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t];return n&&n.has(r)}getEntries(e){return(this.index[e]||new ts(tc.comparator)).toArray()}}let l3="IndexedDbIndexManager",l8=new Uint8Array(0);class l6{constructor(e,t){this.databaseId=t,this.Zi=new l2,this.Xi=new nJ(e=>nD(e),(e,t)=>ny(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){if(!this.Zi.has(t)){let r=t.lastSegment(),n=t.popLast();e.addOnCommittedListener(()=>{this.Zi.add(t)});let i={collectionId:r,parent:BE(n)};return lC(e,BQ).put(i)}return sE.resolve()}getCollectionParents(e,t){let r=[],n=IDBKeyRange.bound([t,""],[t+"\0",""],!1,!0);return lC(e,BQ).Kn(n).next(e=>{for(let n of e){if(n.collectionId!==t)break;r.push(BD(n.parent))}return r})}addFieldIndex(e,t){let r=lC(e,BZ),n={indexId:t.indexId,collectionGroup:t.collectionGroup,fields:t.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;let i=r.add(n);if(t.indexState){let r=lC(e,B1);return i.next(e=>{r.put(lS(e,this.uid,t.indexState.sequenceNumber,t.indexState.offset))})}return i.next()}deleteFieldIndex(e,t){let r=lC(e,BZ),n=lC(e,B1),i=lC(e,B6);return r.delete(t.indexId).next(()=>n.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0))).next(()=>i.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0)))}deleteAllFieldIndexes(e){let t=lC(e,BZ),r=lC(e,B6),n=lC(e,B1);return t.Gn().next(()=>r.Gn()).next(()=>n.Gn())}createTargetIndexes(e,t){return sE.forEach(this.es(t),t=>this.getIndexType(e,t).next(r=>{if(0===r||1===r){let r=new lQ(t).Ji();if(null!=r)return this.addFieldIndex(e,r)}}))}getDocumentsMatchingTarget(e,t){let r=lC(e,B6),n=!0,i=new Map;return sE.forEach(this.es(t),t=>this.ts(e,t).next(e=>{n&&(n=!!e),i.set(t,e)})).next(()=>{if(n){let e=nX(),n=[];return sE.forEach(i,(i,s)=>{e0(l3,`Using index id=${i.indexId}|cg=${i.collectionGroup}|f=${i.fields.map(e=>`${e.fieldPath}:${e.kind}`).join(",")} to execute ${nD(t)}`);let a=function(e,t){let r=nl(t);if(void 0===r)return null;for(let t of nv(e,r.fieldPath))switch(t.op){case"array-contains-any":return t.value.arrayValue.values||[];case"array-contains":return[t.value]}return null}(s,i),o=function(e,t){let r=new Map;for(let n of nu(t))for(let t of nv(e,n.fieldPath))switch(t.op){case"==":case"in":r.set(n.fieldPath.canonicalString(),t.value);break;case"not-in":case"!=":return r.set(n.fieldPath.canonicalString(),t.value),Array.from(r.values())}return null}(s,i),B=function(e,t){let r=[],n=!0;for(let i of nu(t)){let t=0===i.kind?n_(e,i.fieldPath,e.startAt):nb(e,i.fieldPath,e.startAt);r.push(t.value),n&&(n=t.inclusive)}return new r$(r,n)}(s,i),l=function(e,t){let r=[],n=!0;for(let i of nu(t)){let t=0===i.kind?nb(e,i.fieldPath,e.endAt):n_(e,i.fieldPath,e.endAt);r.push(t.value),n&&(n=t.inclusive)}return new r$(r,n)}(s,i),u=this.ns(i,s,B),h=this.ns(i,s,l),c=this.rs(i,s,o),d=this.ss(i.indexId,a,u,B.inclusive,h,l.inclusive,c);return sE.forEach(d,i=>r.Wn(i,t.limit).next(t=>{t.forEach(t=>{let r=tD.fromSegments(t.documentKey);e.has(r)||(e=e.add(r),n.push(r))})}))}).next(()=>n)}return sE.resolve(null)})}es(e){let t=this.Xi.get(e);return t||(t=0===e.filters.length?[e]:(function(e){if(0===e.getFilters().length)return[];let t=function e(t){if(e5(t instanceof r0||t instanceof r1,34018),t instanceof r0)return t;if(1===t.filters.length)return e(t.filters[0]);let r=t.filters.map(t=>e(t)),n=r1.create(r,t.op);return lY(n=l0(n))?n:(e5(n instanceof r1,64498),e5(r2(n),40251),e5(n.filters.length>1,57927),n.filters.reduce((e,t)=>
7lX(e,t)))}(function e(t){if(e5(t instanceof r0||t instanceof r1,20012),t instanceof r0){if(t instanceof nr){let e=t.value.arrayValue?.values?.map(e=>r0.create(t.field,"==",e))||[];return r1.create(e,"or")}return t}let r=t.filters.map(t=>e(t));return r1.create(r,t.op)}(e));return e5(lY(t),7391),lW(t)||l$(t)?[t]:t.getFilters()})(r1.create(e.filters,"and")).map(t=>nE(e.path,e.collectionGroup,e.orderBy,t.getFilters(),e.limit,e.startAt,e.endAt)),this.Xi.set(e,t)),t}ss(e,t,r,n,i,s,a){let o=(null!=t?t.length:1)*Math.max(r.length,i.length),B=o/(null!=t?t.length:1),l=[];for(let u=0;u<o;++u){let o=t?this._s(t[u/B]):l8,h=this.us(e,o,r[u%B],n),c=this.cs(e,o,i[u%B],s),d=a.map(t=>this.us(e,o,t,!0));l.push(...this.createRange(h,c,d))}return l}us(e,t,r,n){let i=new lj(e,tD.empty(),t,r);return n?i:i.Ui()}cs(e,t,r,n){let i=new lj(e,tD.empty(),t,r);return n?i.Ui():i}ts(e,t){let r=new lQ(t),n=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,n).next(e=>{let t=null;for(let n of e)r.Gi(n)&&(!t||n.fields.length>t.fields.length)&&(t=n);return t})}getIndexType(e,t){let r=2,n=this.es(t);return sE.forEach(n,t=>this.ts(e,t).next(e=>{e?0!==r&&e.fields.length<function(e){let t=new ts(tC.comparator),r=!1;for(let n of e.filters)for(let e of n.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?r=!0:t=t.add(e.field));for(let r of e.orderBy)r.field.isKeyField()||(t=t.add(r.field));return t.size+ +!!r}(t)&&(r=1):r=0})).next(()=>null!==t.limit&&n.length>1&&2===r?1:r)}ls(e,t){let r=new lV;for(let n of nu(e)){let e=t.data.field(n.fieldPath);if(null==e)return null;let i=r.Oi(n.kind);lP.Ti.Xr(e,i)}return r.Ci()}_s(e){let t=new lV;return lP.Ti.Xr(e,t.Oi(0)),t.Ci()}Es(e,t){let r,n=new lV;return lP.Ti.Xr(rr(this.databaseId,t),n.Oi(0===(r=nu(e)).length?0:r[r.length-1].kind)),n.Ci()}rs(e,t,r){if(null===r)return[];let n=[];n.push(new lV);let i=0;for(let s of nu(e)){let e=r[i++];for(let r of n)if(this.hs(t,s.fieldPath)&&ra(e))n=this.Ts(n,s,e);else{let t=r.Oi(s.kind);lP.Ti.Xr(e,t)}}return this.Ps(n)}ns(e,t,r){return this.rs(e,t,r.position)}Ps(e){let t=[];for(let r=0;r<e.length;++r)t[r]=e[r].Ci();return t}Ts(e,t,r){let n=[...e],i=[];for(let e of r.arrayValue.values||[])for(let r of n){let n=new lV;n.seed(r.Ci()),lP.Ti.Xr(e,n.Oi(t.kind)),i.push(n)}return i}hs(e,t){return!!e.filters.find(e=>e instanceof r0&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=lC(e,BZ),n=lC(e,B1);return(t?r.Kn(B0,IDBKeyRange.bound(t,t)):r.Kn()).next(e=>{let t=[];return sE.forEach(e,e=>n.get([e.indexId,this.uid]).next(r=>{let n,i;t.push((n=r?new nd(r.sequenceNumber,new nf(ly(r.readTime),new tD(BD(r.documentKey)),r.largestBatchId)):nd.empty(),i=e.fields.map(([e,t])=>new nc(tC.fromServerFormat(e),t)),new nB(e.indexId,e.collectionGroup,i,n)))})).next(()=>t)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{let r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!==r?r:e9(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,t,r){let n=lC(e,BZ),i=lC(e,B1);return this.Rs(e).next(e=>n.Kn(B0,IDBKeyRange.bound(t,t)).next(t=>sE.forEach(t,t=>i.put(lS(t.indexId,this.uid,e,r)))))}updateIndexEntries(e,t){let r=new Map;return sE.forEach(t,(t,n)=>{let i=r.get(t.collectionGroup);return(i?sE.resolve(i):this.getFieldIndexes(e,t.collectionGroup)).next(i=>(r.set(t.collectionGroup,i),sE.forEach(i,r=>this.Is(e,t,r).next(t=>{let i=this.As(n,r);return t.isEqual(i)?sE.resolve():this.Vs(e,n,r,t,i)}))))})}ds(e,t,r,n){return lC(e,B6).put(n.ki(this.uid,this.Es(r,t.key),t.key))}fs(e,t,r,n){return lC(e,B6).delete(n.qi(this.uid,this.Es(r,t.key),t.key))}Is(e,t,r){let n=lC(e,B6),i=new ts(lJ);return n.jn({index:B4,range:IDBKeyRange.only([r.indexId,this.uid,lK(this.Es(r,t))])},(e,n)=>{i=i.add(new lj(r.indexId,t,lz(n.arrayValue),lz(n.directionalValue)))}).next(()=>i)}As(e,t){let r=new ts(lJ),n=this.ls(t,e);if(null==n)return r;let i=nl(t);if(null!=i){let s=e.data.field(i.fieldPath);if(ra(s))for(let i of s.arrayValue.values||[])r=r.add(new lj(t.indexId,e.key,this._s(i),n)
7)}else r=r.add(new lj(t.indexId,e.key,l8,n));return r}Vs(e,t,r,n,i){e0(l3,"Updating index entries for document '%s'",t.key);let s=[];return function(e,t,r,n,i){let s=e.getIterator(),a=t.getIterator(),o=to(s),B=to(a);for(;o||B;){let e=!1,t=!1;if(o&&B){let n=r(o,B);n<0?t=!0:n>0&&(e=!0)}else null!=o?t=!0:e=!0;e?(n(B),B=to(a)):t?(i(o),o=to(s)):(o=to(s),B=to(a))}}(n,i,lJ,n=>{s.push(this.ds(e,t,r,n))},n=>{s.push(this.fs(e,t,r,n))}),sE.waitFor(s)}Rs(e){let t=1;return lC(e,B1).jn({index:B3,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,r,n)=>{n.done(),t=r.sequenceNumber+1}).next(()=>t)}createRange(e,t,r){r=r.sort((e,t)=>lJ(e,t)).filter((e,t,r)=>!t||0!==lJ(e,r[t-1]));let n=[];for(let i of(n.push(e),r)){let r=lJ(i,e),s=lJ(i,t);if(0===r)n[0]=e.Ui();else if(r>0&&s<0)n.push(i),n.push(i.Ui());else if(s>0)break}n.push(t);let i=[];for(let e=0;e<n.length;e+=2){if(this.ps(n[e],n[e+1]))return[];let t=n[e].qi(this.uid,l8,tD.empty()),r=n[e+1].qi(this.uid,l8,tD.empty());i.push(IDBKeyRange.bound(t,r))}return i}ps(e,t){return lJ(e,t)>0}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(l5)}getMinOffset(e,t){return sE.mapArray(this.es(t),t=>this.ts(e,t).next(e=>e||e8(44426))).next(l5)}}function l5(e){e5(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let n=1;n<e.length;n++){let i=e[n].indexState.offset;0>ng(i,t)&&(t=i),r<i.largestBatchId&&(r=i.largestBatchId)}return new nf(t.readTime,t.documentKey,r)}class l4{constructor(e){this.gs=e}next(){return this.gs+=2,this.gs}static ys(){return new l4(0)}static ws(){return new l4(-1)}}class l9{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(e){return this.bs(e).next(t=>{let r=new l4(t.highestTargetId);return t.highestTargetId=r.next(),this.Ss(e,t).next(()=>t.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.bs(e).next(e=>na.fromTimestamp(new tO(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.bs(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(e,t,r){return this.bs(e).next(n=>(n.highestListenSequenceNumber=t,r&&(n.lastRemoteSnapshotVersion=r.toTimestamp()),t>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=t),this.Ss(e,n)))}addTargetData(e,t){return this.vs(e,t).next(()=>this.bs(e).next(r=>(r.targetCount+=1,this.Ds(t,r),this.Ss(e,r))))}updateTargetData(e,t){return this.vs(e,t)}removeTargetData(e,t){return this.removeMatchingKeysForTargetId(e,t.targetId).next(()=>lC(e,BG).delete(t.targetId)).next(()=>this.bs(e)).next(t=>(e5(t.targetCount>0,8065),t.targetCount-=1,this.Ss(e,t)))}removeTargets(e,t,r){let n=0,i=[];return lC(e,BG).jn((s,a)=>{let o=lI(this.serializer,a);o.sequenceNumber<=t&&null===r.get(o.targetId)&&(n++,i.push(this.removeTargetData(e,o)))}).next(()=>sE.waitFor(i)).next(()=>n)}forEachTarget(e,t){return lC(e,BG).jn((e,r)=>{t(lI(this.serializer,r))})}bs(e){return lC(e,Bz).get(BK).next(e=>(e5(null!==e,2888),e))}Ss(e,t){return lC(e,Bz).put(BK,t)}vs(e,t){return lC(e,BG).put(lv(this.serializer,t))}Ds(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),e.sequenceNumber>t.highestListenSequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.bs(e).next(e=>e.targetCount)}getTargetData(e,t){let r=Bp(t),n=IDBKeyRange.bound([r,-1/0],[r,1/0]),i=null;return lC(e,BG).jn({range:n,index:BH},(e,r,n)=>{let s=lI(this.serializer,r);Bf(t,s.target)&&(i=s,n.done())}).next(()=>i)}addMatchingKeys(e,t,r){let n=[],i=l7(e);return t.forEach(t=>{let s=BE(t.path);n.push(i.put({targetId:r,path:s})),n.push(this.referenceDelegate.addReference(e,r,t))}),sE.waitFor(n)}removeMatchingKeys(e,t,r){let n=l7(e);return sE.forEach(t,t=>{let i=BE(t.path);return sE.waitFor([n.delete([r,i]),this.referenceDelegate.removeReference(e,r,t)])})}removeMatchingKeysForTargetId(e,t){let r=l7(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){let r=IDBKeyRange.bound([t],[t+1],!1,!0),n=l7(e),i=nX();return n.jn({range:r,zn:!0},(e,t,r)=>{let n=new tD(BD(e[1]));i=i.add(n)}).next(()=>i)}containsKey(e,t){let r=BE(t.path),n=IDBKeyRange.bound([r],[r+"\0"],!1,!0),i=0;return l7(e).jn({index:BJ,zn:!0,range:n},([e,t],r,n)=>{0!==e&&(i++,n.done())}).next(()=>i>0)}ge(e,t){return lC(e,BG).get(t).next(e=>e?lI(this.serializer,e):null)}}function l7(e){return lC(e,BV)}class ue{constructor(e,t){this.db=e,this.garbageCollector=function(e,t){return new sL(e,t)}(this,t)}rr(e){let t=this.xs(e);return this.db.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}xs(e){let t=0;return this.ir(e,e=>{t++}).next(()=>t)}
7forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}ir(e,t){return this.Cs(e,(e,r)=>t(r))}addReference(e,t,r){return ut(e,r)}removeReference(e,t,r){return ut(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return ut(e,t)}Fs(e,t){let r;return r=!1,lC(e,Bv).Hn(n=>lF(e,n,t).next(e=>(e&&(r=!0),sE.resolve(!e)))).next(()=>r)}removeOrphanedDocuments(e,t){let r=this.db.getRemoteDocumentCache().newChangeBuffer(),n=[],i=0;return this.Cs(e,(s,a)=>{if(a<=t){let t=this.Fs(e,s).next(t=>{if(!t)return i++,r.getEntry(e,s).next(()=>(r.removeEntry(s,na.min()),l7(e).delete([0,BE(s.path)])))});n.push(t)}}).next(()=>sE.waitFor(n)).next(()=>r.apply(e)).next(()=>i)}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return ut(e,t)}Cs(e,t){let r=l7(e),n,i=sp.yn;return r.jn({index:BJ},([e,r],{path:s,sequenceNumber:a})=>{0===e?(i!==sp.yn&&t(new tD(BD(n)),i),i=a,n=s):i=sp.yn}).next(()=>{i!==sp.yn&&t(new tD(BD(n)),i)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function ut(e,t){var r;return l7(e).put((r=e.currentSequenceNumber,{targetId:0,path:BE(t.path),sequenceNumber:r}))}function ur(e,t){let r=t;for(let t of e.stages)r=function(e,t,r){if(t instanceof ab)return r.filter(e=>e.isFoundDocument()&&`/${e.key.getCollectionPath().canonicalString()}`===t.Er);if(t instanceof aO)return r.filter(r=>{let n=aq(az(t.condition).evaluate(e,r));return void 0!==n&&t5(n,t3)});if(t instanceof aT)return r.filter(e=>e.isFoundDocument()&&e.key.getCollectionPath().lastSegment()===t.collectionId);if(t instanceof aS)return r.filter(e=>e.isFoundDocument());if(t instanceof aA)return r.filter(e=>e.isFoundDocument()&&t.Tr.has(e.key.path.toStringWithLeadingSlash()));if(t instanceof aN)return r.slice(0,t.limit);if(t instanceof aR){let n;return n=t.orderings.map(e=>({Os:az(e.expr),direction:e.direction})),[...r].sort((t,r)=>{for(let{Os:i,direction:s}of n){let n=t9(aq(i.evaluate(e,t))??t2,aq(i.evaluate(e,r))??t2);if(0!==n)return"ascending"===s?n:-n}return 0})}throw Error(`Unknown stage: ${t._name}`)}({serializer:e.serializer,serverTimestampBehavior:e.listenOptions?.serverTimestampBehavior},t,r);return r}function un(e,t){return ur(e,[t]).length>0}function ui(e,t){return Bh(e)?un(e,t):nG(e,t)}function us(e){let t=function(e){for(let t=e.stages.length-1;t>=0;t--){let r=e.stages[t];if(r instanceof aR)return r.orderings}throw Error("Pipeline must contain at least one Sort stage")}(e);return(r,n)=>{for(let i of t){let t=t9(aq(az(i.expr).evaluate({serializer:e.serializer},r))||t2,aq(az(i.expr).evaluate({serializer:e.serializer},n))||t2);if(0!==t)return"ascending"===i.direction?t:-t}return 0}}function ua(e){for(let t=e.stages.length-1;t>=0;t--){let r=e.stages[t];if(r instanceof aN)return{limit:r.limit}}}class uo{constructor(){this.changes=new nJ(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,no.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();let r=this.changes.get(t);return void 0!==r?sE.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(){}}class uB{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return uu(e).put(r)}removeEntry(e,t,r){let n;return uu(e).delete([(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],lE(r),n[n.length-1]])}updateMetadata(e,t){return this.getMetadata(e).next(r=>(r.byteSize+=t,this.Ms(e,r)))}getEntry(e,t){let r=no.newInvalidDocument(t);return uu(e).jn({index:Bx,range:IDBKeyRange.only(uh(t))},(e,n)=>{r=this.Ns(t,n)}).next(()=>r)}Ls(e,t){let r={size:0,document:no.newInvalidDocument(t)};return uu(e).jn({index:Bx,range:IDBKeyRange.only(uh(t))},(e,n)=>{r={document:this.Ns(t,n),size:lc(n)}}).next(()=>r)}getEntries(e,t){let r=nq;return this.Bs(e,t,(e,t)=>{let n=this.Ns(e,t);r=r.insert(e,n)}).next(()=>r)}getAllEntries(e){let t=nq;return uu(e).jn((e,r)=>{let n=this.Ns(tD.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);t=t.insert(n.key,n)}).next(()=>t)}Us(e,t){let r=nq,n=new tr(tD.comparator);return this.Bs(e,t,(e,t)=>{let i=this.Ns(e,t);r=r.insert(e,i),n=n.insert(e,lc(t))}).next(()=>({documents:r,ks:n}))}Bs(e,t,r){if(t.isEmpty())return sE.resolve();let n=new ts(ud);
7t.forEach(e=>n=n.add(e));let i=IDBKeyRange.bound(uh(n.first()),uh(n.last())),s=n.getIterator(),a=s.getNext();return uu(e).jn({index:Bx,range:i},(e,t,n)=>{let i=tD.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);for(;a&&0>ud(a,i);)r(a,null),a=s.getNext();a&&a.isEqual(i)&&(r(a,t),a=s.hasNext()?s.getNext():null),a?n.$n(uh(a)):n.done()}).next(()=>{for(;a;)r(a,null),a=s.hasNext()?s.getNext():null})}getDocumentsMatchingQuery(e,t,r,n,i){let s=Bh(t)?tc.fromString(aH(t)):t.path,a=[s.popLast().toArray(),s.lastSegment(),lE(r.readTime),r.documentKey.path.isEmpty()?"":r.documentKey.path.lastSegment()],o=[s.popLast().toArray(),s.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return uu(e).Kn(IDBKeyRange.bound(a,o,!0)).next(e=>{i?.incrementDocumentReadCount(e.length);let r=nq;for(let i of e){let e=this.Ns(tD.fromSegments(i.prefixPath.concat(i.collectionGroup,i.documentId)),i);e.isFoundDocument()&&(ui(t,e)||n.has(e.key))&&(r=r.insert(e.key,e))}return r})}getAllFromCollectionGroup(e,t,r,n){let i=nq,s=uc(t,r),a=uc(t,nf.max());return uu(e).jn({index:BL,range:IDBKeyRange.bound(s,a,!0)},(e,t,r)=>{let s=this.Ns(tD.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(i=i.insert(s.key,s)).size===n&&r.done()}).next(()=>i)}newChangeBuffer(e){return new ul(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return lC(e,BP).get(BM).next(e=>(e5(!!e,20021),e))}Ms(e,t){return lC(e,BP).put(BM,t)}Ns(e,t){if(t){let e=function(e,t){var r;let n,i;if(t.document)n=iA(e.qr,t.document,!!t.hasCommittedMutations);else if(t.noDocument){let e=tD.fromSegments(t.noDocument.path),r=ly(t.noDocument.readTime);n=no.newNoDocument(e,r),t.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!t.unknownDocument)return e8(56709);{let e=tD.fromSegments(t.unknownDocument.path),r=ly(t.unknownDocument.version);n=no.newUnknownDocument(e,r)}}return t.readTime&&n.setReadTime((i=new tO((r=t.readTime)[0],r[1]),na.fromTimestamp(i))),n}(this.serializer,t);if(!(e.isNoDocument()&&e.version.isEqual(na.min())))return e}return no.newInvalidDocument(e)}}class ul extends uo{constructor(e,t){super(),this.qs=e,this.trackRemovals=t,this.$s=new nJ(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(e){let t=[],r=0,n=new ts((e,t)=>e9(e.canonicalString(),t.canonicalString()));
7return this.changes.forEach((i,s)=>{let a=this.$s.get(i);if(t.push(this.qs.removeEntry(e,i,a.readTime)),s.isValidDocument()){let o=lm(this.qs.serializer,s);n=n.add(i.path.popLast());let B=lc(o);r+=B-a.size,t.push(this.qs.addEntry(e,i,o))}else if(r-=a.size,this.trackRemovals){let r=lm(this.qs.serializer,s.convertToNoDocument(na.min()));t.push(this.qs.addEntry(e,i,r))}}),n.forEach(r=>{t.push(this.qs.indexManager.addToCollectionParentIndex(e,r))}),t.push(this.qs.updateMetadata(e,r)),sE.waitFor(t)}getFromCache(e,t){return this.qs.Ls(e,t).next(e=>(this.$s.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.qs.Us(e,t).next(({documents:e,ks:t})=>(t.forEach((t,r)=>{this.$s.set(t,{size:r,readTime:e.get(t).readTime})}),e))}}function uu(e){return lC(e,BN)}function uh(e){let t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function uc(e,t){let r=t.documentKey.path.toArray();return[e,lE(t.readTime),r.slice(0,r.length-2),r.length>0?r[r.length-1]:""]}function ud(e,t){let r=e.path.toArray(),n=t.path.toArray(),i=0;for(let e=0;e<r.length-2&&e<n.length-2;++e)if(i=e9(r[e],n[e]))return i;return(i=e9(r.length,n.length))||(i=e9(r[r.length-2],n[n.length-2]))||e9(r[r.length-1],n[n.length-1])}class uC{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class up{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(e=>(null!==r&&rU(r.mutation,e,tp.empty(),tO.now()),e))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.getLocalViewOfDocuments(e,t,nX()).next(()=>t))}getLocalViewOfDocuments(e,t,r=nX()){let n=nW();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let t=nz();return e.forEach((e,r)=>{t=t.insert(e,r.overlayedDocument)}),t}))}getOverlayedDocuments(e,t){let r=nW();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,nX()))}populateOverlays(e,t,r){let n=[];return r.forEach(e=>{t.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,r)=>{t.set(e,r)})})}computeViews(e,t,r,n){let i=nq,s=nW(),a=nW();return t.forEach((e,t)=>{let a=r.get(t.key);n.has(t.key)&&(void 0===a||a.mutation instanceof rJ)?i=i.insert(t.key,t):void 0!==a?(s.set(t.key,a.mutation.getFieldMask()),rU(a.mutation,t,a.mutation.getFieldMask(),tO.now())):s.set(t.key,tp.empty())}),this.recalculateAndSaveOverlays(e,i).next(e=>(e.forEach((e,t)=>s.set(e,t)),t.forEach((e,t)=>a.set(e,new uC(t,s.get(e)??null))),a))}recalculateAndSaveOverlays(e,t){let r=nW(),n=new tr((e,t)=>e-t),i=nX();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(e=>{for(let i of e)i.keys().forEach(e=>{let s=t.get(e);if(null===s)return;let a=r.get(e)||tp.empty();a=i.applyToLocalView(s,a),r.set(e,a);let o=(n.get(i.batchId)||nX()).add(e);n=n.insert(i.batchId,o)})}).next(()=>{let s=[],a=n.getReverseIterator();for(;a.hasNext();){let n=a.getNext(),o=n.key,B=n.value,l=nW();B.forEach(e=>{if(!i.has(e)){let n=rH(t.get(e),r.get(e));null!==n&&l.set(e,n),i=i.add(e)}}),s.push(this.documentOverlayCache.saveOverlays(e,o,l))}return sE.waitFor(s)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.recalculateAndSaveOverlays(e,t))}getDocumentsMatchingQuery(e,t,r,n){return Bh(t)?this.getDocumentsMatchingPipeline(e,t,r,n):tD.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):nO(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(i=>{let s=n-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,n-i.size):sE.resolve(nW()),a=-1,o=i;return s.next(t=>sE.forEach(t,(t,r)=>(a<r.largestBatchId&&(a=r.largestBatchId),i.get(t)?sE.resolve():this.remoteDocumentCache.getEntry(e,t).next(e=>{o=o.insert(t,e)}))).next(()=>this.populateOverlays(e,t,i)).next(()=>this.computeViews(e,o,t,nX())).next(e=>({batchId:a,changes:nQ(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new tD(t)).next(e=>{let t=nz();
7return e.isFoundDocument()&&(t=t.insert(e.key,e)),t})}getDocumentsMatchingCollectionGroupQuery(e,t,r,n){let i=t.collectionGroup,s=nz();return this.indexManager.getCollectionParents(e,i).next(a=>sE.forEach(a,a=>{let o=new nT(a.child(i),null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(e,o,r,n).next(e=>{e.forEach((e,t)=>{s=s.insert(e,t)})})}).next(()=>s))}getDocumentsMatchingCollectionQuery(e,t,r,n){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(s=>(i=s,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,n))).next(e=>this.retrieveMatchingLocalDocuments(i,e,e=>nG(t,e)))}getDocumentsMatchingPipeline(e,t,r,n){if("collection_group"===aG(t)){let i=aU(t),s=nz();return this.indexManager.getCollectionParents(e,i).next(a=>sE.forEach(a,a=>{var o;let B,l=(o=a.child(i),B=t.stages.map(e=>e instanceof aT?new ab(o.canonicalString(),{}):e),new aM(t.serializer,B));return this.getDocumentsMatchingPipeline(e,l,r,n).next(e=>{e.forEach((e,t)=>{s=s.insert(e,t)})})}).next(()=>s))}{let i;return this.getOverlaysForPipeline(e,t,r.largestBatchId).next(s=>{switch(i=s,aG(t)){case"collection":return this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,n);case"documents":let a=nX();for(let e of aj(t))a=a.add(tD.fromPath(e));return this.remoteDocumentCache.getEntries(e,a);case"database":return this.remoteDocumentCache.getAllEntries(e);default:throw new tl("invalid-argument",`Invalid pipeline source to execute offline: ${Bu(t)}`)}}).next(e=>this.retrieveMatchingLocalDocuments(i,e,e=>un(t,e)))}}retrieveMatchingLocalDocuments(e,t,r){e.forEach((e,r)=>{let n=r.getKey();null===t.get(n)&&(t=t.insert(n,no.newInvalidDocument(n)))});let n=nz();return t.forEach((t,i)=>{let s=e.get(t);void 0!==s&&rU(s.mutation,i,tp.empty(),tO.now()),r(i)&&(n=n.insert(t,i))}),n}getOverlaysForPipeline(e,t,r){switch(aG(t)){case"collection":return this.documentOverlayCache.getOverlaysForCollection(e,tc.fromString(aH(t)),r);case"collection_group":throw new tl("invalid-argument",`Unexpected collection group pipeline: ${Bu(t)}`);case"documents":return this.documentOverlayCache.getOverlays(e,aj(t).map(e=>tD.fromPath(e)));case"database":return this.documentOverlayCache.getAllOverlays(e,r);default:throw new tl("invalid-argument",`Failed to get overlays for pipeline: ${Bu(t)}`)}}}class uf{constructor(e){this.serializer=e,this.Ks=new Map,this.Qs=new Map}getBundleMetadata(e,t){return sE.resolve(this.Ks.get(t))}saveBundleMetadata(e,t){return this.Ks.set(t.id,{id:t.id,version:t.version,createTime:im(t.createTime)}),sE.resolve()}getNamedQuery(e,t){return sE.resolve(this.Qs.get(t))}saveNamedQuery(e,t){return this.Qs.set(t.name,{name:t.name,query:l_(t.bundledQuery),readTime:im(t.readTime)}),sE.resolve()}}class ug{constructor(){this.overlays=new tr(tD.comparator),this.Ws=new Map}getOverlay(e,t){return sE.resolve(this.overlays.get(t))}getOverlays(e,t){let r=nW();return sE.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,t){let r=nW();return this.overlays.forEach((e,n)=>{n.largestBatchId>t&&r.set(e,n)}),sE.resolve(r)}saveOverlays(e,t,r){return r.forEach((r,n)=>{this.Yr(e,t,n)}),sE.resolve()}removeOverlaysForBatchId(e,t,r){let n=this.Ws.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.Ws.delete(r)),sE.resolve()}getOverlaysForCollection(e,t,r){let n=nW(),i=t.length+1,s=new tD(t.child("")),a=this.overlays.getIteratorFrom(s);for(;a.hasNext();){let e=a.getNext().value,s=e.getKey();if(!t.isPrefixOf(s.path))break;s.path.length===i&&e.largestBatchId>r&&n.set(e.getKey(),e)}return sE.resolve(n)}getOverlaysForCollectionGroup(e,t,r,n){let i=new tr((e,t)=>e-t),s=this.overlays.getIterator();for(;s.hasNext();){let e=s.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>r){let t=i.get(e.largestBatchId);null===t&&(t=nW(),i=i.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}let a=nW(),o=i.getIterator();for(;o.hasNext()&&(o.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=n)););return sE.resolve(a)}Yr(e,t,r){let n=this.overlays.get(r.key);if(null!==n){let e=this.Ws.get(n.largestBatchId).delete(r.key);this.Ws.set(n.largestBatchId,e)}this.overlays=this.overlays.insert(r.key,new lp(t,r));let i=this.Ws.get(t);void 0===i&&(i=nX(),this.Ws.set(t,i)),this.Ws.set(t,i.add(r.key))}}class um{constructor(){this.sessionToken=tF.EMPTY_BYTE_STRING}getSessionToken(e){return sE.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,sE.resolve()}}class uE{constructor(){this.Gs=new ts(uD.zs),this.js=new ts(uD.Hs)}isEmpty(){return this.Gs.isEmpty()}addReference(e,t){let r=new uD(e,t);this.Gs=this.Gs.add(r),this.js=this.js.add(r)}
7Js(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Ys(new uD(e,t))}Zs(e,t){e.forEach(e=>this.removeReference(e,t))}Xs(e){let t=new tD(new tc([])),r=new uD(t,e),n=new uD(t,e+1),i=[];return this.js.forEachInRange([r,n],e=>{this.Ys(e),i.push(e.key)}),i}e_(){this.Gs.forEach(e=>this.Ys(e))}Ys(e){this.Gs=this.Gs.delete(e),this.js=this.js.delete(e)}t_(e){let t=new tD(new tc([])),r=new uD(t,e),n=new uD(t,e+1),i=nX();return this.js.forEachInRange([r,n],e=>{i=i.add(e.key)}),i}containsKey(e){let t=new uD(e,0),r=this.Gs.firstAfterOrEqual(t);return null!==r&&e.isEqual(r.key)}}class uD{constructor(e,t){this.key=e,this.n_=t}static zs(e,t){return tD.comparator(e.key,t.key)||e9(e.n_,t.n_)}static Hs(e,t){return e9(e.n_,t.n_)||tD.comparator(e.key,t.key)}}class uy{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Wr=1,this.r_=new ts(uD.zs)}checkEmpty(e){return sE.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){let i=this.Wr;this.Wr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let s=new Bg(i,t,r,n);for(let t of(this.mutationQueue.push(s),n))this.r_=this.r_.add(new uD(t.key,i)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return sE.resolve(s)}lookupMutationBatch(e,t){return sE.resolve(this.i_(t))}getNextMutationBatchAfterBatchId(e,t){let r=this.s_(t+1),n=r<0?0:r;return sE.resolve(this.mutationQueue.length>n?this.mutationQueue[n]:null)}getHighestUnacknowledgedBatchId(){return sE.resolve(0===this.mutationQueue.length?-1:this.Wr-1)}getAllMutationBatches(e){return sE.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new uD(t,0),n=new uD(t,1/0),i=[];return this.r_.forEachInRange([r,n],e=>{let t=this.i_(e.n_);i.push(t)}),sE.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new ts(e9);return t.forEach(e=>{let t=new uD(e,0),n=new uD(e,1/0);this.r_.forEachInRange([t,n],e=>{r=r.add(e.n_)})}),sE.resolve(this.__(r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,i=r;tD.isDocumentKey(i)||(i=i.child(""));let s=new uD(new tD(i),0),a=new ts(e9);return this.r_.forEachWhile(e=>{let t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.n_)),!0)},s),sE.resolve(this.__(a))}__(e){let t=[];return e.forEach(e=>{let r=this.i_(e);null!==r&&t.push(r)}),t}removeMutationBatch(e,t){e5(0===this.o_(t.batchId,"removed"),55003),this.mutationQueue.shift();let r=this.r_;return sE.forEach(t.mutations,n=>{let i=new uD(n.key,t.batchId);return r=r.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,n.key)}).next(()=>{this.r_=r})}jr(e){}containsKey(e,t){let r=new uD(t,0),n=this.r_.firstAfterOrEqual(r);return sE.resolve(t.isEqual(n&&n.key))}performConsistencyCheck(e){return this.mutationQueue.length,sE.resolve()}o_(e,t){return this.s_(e)}s_(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}i_(e){let t=this.s_(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class uw{constructor(e){this.a_=e,this.docs=new tr(tD.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){let r=t.key,n=this.docs.get(r),i=n?n.size:0,s=this.a_(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:s}),this.size+=s-i,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){let t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){let r=this.docs.get(t);return sE.resolve(r?r.document.mutableCopy():no.newInvalidDocument(t))}getEntries(e,t){let r=nq;return t.forEach(e=>{let t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():no.newInvalidDocument(e))}),sE.resolve(r)}getAllEntries(e){let t=nq;return this.docs.forEach((e,r)=>{t=t.insert(e,r.document)}),sE.resolve(t)}getDocumentsMatchingQuery(e,t,r,n){let i,s;Bh(t)?(i=tc.fromString(aH(t)),s=e=>un(t,e)):(i=t.path,s=e=>nG(t,e));let a=nq,o=new tD(i.child("__id-9223372036854775808__")),B=this.docs.getIteratorFrom(o);for(;B.hasNext();){let{key:e,value:{document:t}}=B.getNext();if(!i.isPrefixOf(e.path))break;e.path.length>i.length+1||0>=ng(np(t),r)||(n.has(t.key)||s(t))&&(a=a.insert(t.key,t.mutableCopy()))}return sE.resolve(a)}getAllFromCollectionGroup(e,t,r,n){e8(9500)}u_(e,t){return sE.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new uI(this)}getSize(e){return sE.resolve(this.size)}}class uI extends uo{constructor(e){super(),this.qs=e}applyChanges(e){let t=[];
vendor: 4,787 bytes, line 7
7return this.changes.forEach((r,n)=>{n.isValidDocument()?t.push(this.qs.addEntry(e,n)):this.qs.removeEntry(r)}),sE.waitFor(t)}getFromCache(e,t){return this.qs.getEntry(e,t)}getAllFromCache(e,t){return this.qs.getEntries(e,t)}}class uv{constructor(e){this.persistence=e,this.c_=new nJ(e=>Bp(e),Bf),this.lastRemoteSnapshotVersion=na.min(),this.highestTargetId=0,this.l_=0,this.E_=new uE,this.targetCount=0,this.h_=l4.ys()}forEachTarget(e,t){return this.c_.forEach((e,r)=>t(r)),sE.resolve()}getLastRemoteSnapshotVersion(e){return sE.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return sE.resolve(this.l_)}allocateTargetId(e){return this.highestTargetId=this.h_.next(),sE.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.l_&&(this.l_=t),sE.resolve()}vs(e){this.c_.set(e.target,e);let t=e.targetId;t>this.highestTargetId&&(this.h_=new l4(t),this.highestTargetId=t),e.sequenceNumber>this.l_&&(this.l_=e.sequenceNumber)}addTargetData(e,t){return this.vs(t),this.targetCount+=1,sE.resolve()}updateTargetData(e,t){return this.vs(t),sE.resolve()}removeTargetData(e,t){return this.c_.delete(t.target),this.E_.Xs(t.targetId),this.targetCount-=1,sE.resolve()}removeTargets(e,t,r){let n=0,i=[];return this.c_.forEach((s,a)=>{a.sequenceNumber<=t&&null===r.get(a.targetId)&&(this.c_.delete(s),i.push(this.removeMatchingKeysForTargetId(e,a.targetId)),n++)}),sE.waitFor(i).next(()=>n)}getTargetCount(e){return sE.resolve(this.targetCount)}getTargetData(e,t){let r=this.c_.get(t)||null;return sE.resolve(r)}addMatchingKeys(e,t,r){return this.E_.Js(t,r),sE.resolve()}removeMatchingKeys(e,t,r){this.E_.Zs(t,r);let n=this.persistence.referenceDelegate,i=[];return n&&t.forEach(t=>{i.push(n.markPotentiallyOrphaned(e,t))}),sE.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.E_.Xs(t),sE.resolve()}getMatchingKeysForTargetId(e,t){let r=this.E_.t_(t);return sE.resolve(r)}containsKey(e,t){return sE.resolve(this.E_.containsKey(t))}}class u_{constructor(e,t){this.T_={},this.overlays={},this.P_=new sp(0),this.R_=!1,this.R_=!0,this.I_=new um,this.referenceDelegate=e(this),this.A_=new uv(this),this.indexManager=new l1,this.remoteDocumentCache=function(e){return new uw(e)}(e=>this.referenceDelegate.V_(e)),this.serializer=new lg(t),this.d_=new uf(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.R_=!1,Promise.resolve()}get started(){return this.R_}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new ug,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.T_[e.toKey()];return r||(r=new uy(t,this.referenceDelegate),this.T_[e.toKey()]=r),r}getGlobalsCache(){return this.I_}getTargetCache(){return this.A_}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.d_}runTransaction(e,t,r){e0("MemoryPersistence","Starting transaction:",e);let n=new ub(this.P_.next());return this.referenceDelegate.f_(),r(n).next(e=>this.referenceDelegate.m_(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}p_(e,t){return sE.or(Object.values(this.T_).map(r=>()=>r.containsKey(e,t)))}}class ub extends sg{constructor(e){super(),this.currentSequenceNumber=e}}class uT{constructor(e){this.persistence=e,this.g_=new uE,this.y_=null}static w_(e){return new uT(e)}get b_(){if(this.y_)return this.y_;throw e8(60996)}addReference(e,t,r){return this.g_.addReference(r,t),this.b_.delete(r.toString()),sE.resolve()}removeReference(e,t,r){return this.g_.removeReference(r,t),this.b_.add(r.toString()),sE.resolve()}markPotentiallyOrphaned(e,t){return this.b_.add(t.toString()),sE.resolve()}removeTarget(e,t){this.g_.Xs(t.targetId).forEach(e=>this.b_.add(e.toString()));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.b_.add(e.toString()))}).next(()=>r.removeTargetData(e,t))}f_(){this.y_=new Set}m_(e){let t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return sE.forEach(this.b_,r=>{let n=tD.fromPath(r);return this.S_(e,n).next(e=>{e||t.removeEntry(n,na.min())})}).next(()=>(this.y_=null,t.apply(e)))}updateLimboDocument(e,t){return this.S_(e,t).next(e=>{e?this.b_.delete(t.toString()):this.b_.add(t.toString())})}V_(e){return 0}S_(e,t){return sE.or([()=>sE.resolve(this.g_.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.p_(e,t)])}}class uS{constructor(e,t){this.persistence=e,this.v_=new nJ(e=>BE(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=function(e,t){return new sL(e,t)}(this,t)}static w_(e,t){return new uS(e,t)}f_(){}m_(e){return sE.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEac
7hTarget(e,t)}rr(e){let t=this.xs(e);return this.persistence.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}xs(e){let t=0;return this.ir(e,e=>{t++}).next(()=>t)}ir(e,t){return sE.forEach(this.v_,(r,n)=>this.Fs(e,r,n).next(e=>e?sE.resolve():t(n)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0,n=this.persistence.getRemoteDocumentCache(),i=n.newChangeBuffer();return n.u_(e,n=>this.Fs(e,n,t).next(e=>{e||(r++,i.removeEntry(n,na.min()))})).next(()=>i.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.v_.set(t,e.currentSequenceNumber),sE.resolve()}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.v_.set(r,e.currentSequenceNumber),sE.resolve()}removeReference(e,t,r){return this.v_.set(r,e.currentSequenceNumber),sE.resolve()}updateLimboDocument(e,t){return this.v_.set(t,e.currentSequenceNumber),sE.resolve()}V_(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function e(t){switch(t6(t)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let r=tV(t);return r?16+e(r):16;case 5:return 2*t.stringValue.length;case 6:return tk(t.bytesValue).approximateByteSize();case 7:return t.referenceValue.length;case 9:return(t.arrayValue.values||[]).reduce((t,r)=>t+e(r),0);case 10:case 11:var n;let i;return n=t.mapValue,i=0,tg(n.fields,(t,r)=>{i+=t.length+e(r)}),i;default:throw e8(13486,{value:t})}}(e.data.value)),t}Fs(e,t,r){return sE.or([()=>this.persistence.p_(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{let e=this.v_.get(t);return sE.resolve(void 0!==e&&e>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class uA{constructor(e){this.serializer=e}Mn(e,t,r,n){let i=new sy("createOrUpgrade",t);r<1&&n>=1&&(e.createObjectStore(Bw),e.createObjectStore(Bv,{keyPath:"userId"}),e.createObjectStore(B_,{keyPath:Bb,autoIncrement:!0}).createIndex(BT,BS,{unique:!0}),e.createObjectStore(BO),uO(e),e.createObjectStore(By));let s=sE.resolve();return r<3&&n>=3&&(0!==r&&(e.deleteObjectStore(BV),e.deleteObjectStore(BG),e.deleteObjectStore(Bz),uO(e)),s=s.next(()=>{let e,t;return e=i.store(Bz),t={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:na.min().toTimestamp(),targetCount:0},e.put(BK,t)})),r<4&&n>=4&&(0!==r&&(s=s.next(()=>i.store(B_).Kn().next(t=>{e.deleteObjectStore(B_),e.createObjectStore(B_,{keyPath:Bb,autoIncrement:!0}).createIndex(BT,BS,{unique:!0});let r=i.store(B_),n=t.map(e=>r.put(e));return sE.waitFor(n)}))),s=s.next(()=>{e.createObjectStore(B$,{keyPath:"clientId"})})),r<5&&n>=5&&(s=s.next(()=>this.D_(i))),r<6&&n>=6&&(s=s.next(()=>(e.createObjectStore(BP),this.x_(i)))),r<7&&n>=7&&(s=s.next(()=>this.C_(i))),r<8&&n>=8&&(s=s.next(()=>this.F_(e,i))),r<9&&n>=9&&(s=s.next(()=>{e.objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&n>=10&&(s=s.next(()=>this.O_(i))),r<11&&n>=11&&(s=s.next(()=>{e.createObjectStore(BY,{keyPath:"bundleId"}),e.createObjectStore(BX,{keyPath:"name"})})),r<12&&n>=12&&(s=s.next(()=>{let t;(t=e.createObjectStore(B7,{keyPath:le})).createIndex(lt,lr,{unique:!1}),t.createIndex(ln,li,{unique:!1})})),r<13&&n>=13&&(s=s.next(()=>{let t;(t=e.createObjectStore(BN,{keyPath:BF})).createIndex(Bx,BR),t.createIndex(BL,Bk)}).next(()=>this.M_(e,i)).next(()=>e.deleteObjectStore(By))),r<14&&n>=14&&(s=s.next(()=>this.N_(e,i))),r<15&&n>=15&&(s=s.next(()=>{e.createObjectStore(BZ,{keyPath:"indexId",autoIncrement:!0}).createIndex(B0,"collectionGroup",{unique:!1}),e.createObjectStore(B1,{keyPath:B2}).createIndex(B3,B8,{unique:!1}),e.createObjectStore(B6,{keyPath:B5}).createIndex(B4,B9,{unique:!1})})),r<16&&n>=16&&(s=s.next(()=>{t.objectStore(B1).clear()}).next(()=>{t.objectStore(B6).clear()})),r<17&&n>=17&&(s=s.next(()=>{e.createObjectStore(ls,{keyPath:"name"})})),r<18&&n>=18&&(0,E.isSafariOrWebkit)()&&(s=s.next(()=>{t.objectStore(B1).clear()}).next(()=>{t.objectStore(B6).clear()})),s}x_(e){let t=0;return e.store(By).jn((e,r)=>{t+=lc(r)}).next(()=>{let r={byteSize:t};
7return e.store(BP).put(BM,r)})}D_(e){let t=e.store(Bv),r=e.store(B_);return t.Kn().next(t=>sE.forEach(t,t=>{let n=IDBKeyRange.bound([t.userId,-1],[t.userId,t.lastAcknowledgedBatchId]);return r.Kn(BT,n).next(r=>sE.forEach(r,r=>{e5(r.userId===t.userId,18650,"Cannot process batch from unexpected user",{batchId:r.batchId});let n=lw(this.serializer,r);return lh(e,t.userId,n).next(()=>{})}))}))}C_(e){let t=e.store(BV),r=e.store(By);return e.store(Bz).get(BK).next(e=>{let n=[];return r.jn((r,i)=>{let s=new tc(r),a=[0,BE(s)];n.push(t.get(a).next(r=>r?sE.resolve():t.put({targetId:0,path:BE(s),sequenceNumber:e.highestListenSequenceNumber})))}).next(()=>sE.waitFor(n))})}F_(e,t){e.createObjectStore(BQ,{keyPath:BW});let r=t.store(BQ),n=new l2,i=e=>{if(n.add(e)){let t=e.lastSegment(),n=e.popLast();return r.put({collectionId:t,parent:BE(n)})}};return t.store(By).jn({zn:!0},(e,t)=>i(new tc(e).popLast())).next(()=>t.store(BO).jn({zn:!0},([e,t,r],n)=>i(BD(t).popLast())))}O_(e){let t=e.store(BG);return t.jn((e,r)=>{let n=lI(this.seri
7alizer,r),i=lv(this.serializer,n);return t.put(i)})}M_(e,t){let r=t.store(By),n=[];return r.jn((e,r)=>{let i=t.store(BN),s=(r.document?new tD(tc.fromString(r.document.name).popFirst(5)):r.noDocument?tD.fromSegments(r.noDocument.path):r.unknownDocument?tD.fromSegments(r.unknownDocument.path):e8(36783)).path.toArray(),a={prefixPath:s.slice(0,s.length-2),collectionGroup:s[s.length-2],documentId:s[s.length-1],readTime:r.readTime||[0,0],unknownDocument:r.unknownDocument,noDocument:r.noDocument,document:r.document,hasCommittedMutations:!!r.hasCommittedMutations};n.push(i.put(a))}).next(()=>sE.waitFor(n))}N_(e,t){let r=t.store(B_),n=new uB(this.serializer),i=new u_(uT.w_,this.serializer.qr);return r.Kn().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??nX();lw(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),sE.forEach(r,(e,r)=>{let s=new iz(r),a=lL.Kr(this.serializer,s),o=i.getIndexManager(s);return new up(n,lN.Kr(s,this.serializer,o,i.referenceDelegate),a,o).recalculateAndSaveOverlaysForDocumentKeys(new ld(t,sp.yn),e).next()})})}}function uO(e){e.createObjectStore(BV,{keyPath:Bj}).createIndex(BJ,Bq,{unique:!0}),e.createObjectStore(BG,{keyPath:"targetId"}).createIndex(BH,BU,{unique:!0}),e.createObjectStore(Bz)}let uN="IndexedDbPersistence",uF="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.";class ux{constructor(e,t,r,n,i,s,a,o,B,l,u=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=r,this.xt=i,this.window=s,this.document=a,this.L_=B,this.B_=l,this.U_=u,this.P_=null,this.R_=!1,this.isPrimary=!1,this.networkEnabled=!0,this.k_=null,this.inForeground=!1,this.q_=null,this.K_=null,this.Q_=-1/0,this.W_=e=>Promise.resolve(),!ux.Je())throw new tl(tB.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new ue(this,n),this.G_=t+"main",this.serializer=new lg(o),this.z_=new sw(this.G_,this.U_,new uA(this.serializer)),this.I_=new lk,this.A_=new l9(this.referenceDelegate,this.serializer),this.remoteDocumentCache=function(e){return new uB(e)}(this.serializer),this.d_=new lR,this.window&&this.window.localStorage?this.j_=this.window.localStorage:(this.j_=null,!1===l&&e1(uN,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.H_().then(()=>{if(!this.isPrimary&&!this.allowTabSynchronization)throw new tl(tB.FAILED_PRECONDITION,uF);return this.J_(),this.Y_(),this.Z_(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.A_.getHighestSequenceNumber(e))}).then(e=>{this.P_=new sp(e,this.L_)}).then(()=>{this.R_=!0}).catch(e=>(this.z_&&this.z_.close(),Promise.reject(e)))}X_(e){return this.W_=async t=>{if(this.started)return e(t)},e(this.isPrimary)}setDatabaseDeletedListener(e){this.z_.Ln(async t=>{null===t.newVersion&&await e()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.xt.enqueueAndForget(async()=>{this.started&&await this.H_()}))}H_(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",e=>lC(e,B$).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.eo(e).next(e=>{e||(this.isPrimary=!1,this.xt.enqueueRetryable(()=>this.W_(!1)))})}).next(()=>this.no(e)).next(t=>this.isPrimary&&!t?this.ro(e).next(()=>!1):!!t&&this.io(e).next(()=>!0))).catch(e=>{if(sb(e))return e0(uN,"Failed to extend owner lease: ",e),this.isPrimary;if(!this.allowTabSynchronization)throw e;return e0(uN,"Releasing owner lease after error during lease refresh",e),!1}).then(e=>{this.isPrimary!==e&&this.xt.enqueueRetryable(()=>this.W_(e)),this.isPrimary=e})}eo(e){return lC(e,Bw).get(BI).next(e=>sE.resolve(this.so(e)))}_o(e){return lC(e,B$).delete(this.clientId)}async oo(){if(this.isPrimary&&!this.ao(this.Q_,18e5)){this.Q_=Date.now();let e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let t=lC(e,B$);return t.Kn().next(e=>{let r=this.uo(e,18e5),n=e.filter(e=>-1===r.indexOf(e));return sE.forEach(n,e=>t.delete(e.clientId)).next(()=>n)})}).catch(()=>[]);if(this.j_)for(let t of e)this.j_.removeItem(this.co(t.clientId))}}Z_(){this.K_=this.xt.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.H_().then(()=>this.oo()).then(()=>
7this.Z_()))}so(e){return!!e&&e.ownerId===this.clientId}no(e){return this.B_?sE.resolve(!0):lC(e,Bw).get(BI).next(t=>{if(null!==t&&this.ao(t.leaseTimestampMs,5e3)&&!this.lo(t.ownerId)){if(this.so(t)&&this.networkEnabled)return!0;if(!this.so(t)){if(!t.allowTabSynchronization)throw new tl(tB.FAILED_PRECONDITION,uF);return!1}}return!(!this.networkEnabled||!this.inForeground)||lC(e,B$).Kn().next(e=>void 0===this.uo(e,5e3).find(e=>{if(this.clientId!==e.clientId){let t=!this.networkEnabled&&e.networkEnabled,r=!this.inForeground&&e.inForeground,n=this.networkEnabled===e.networkEnabled;if(t||r&&n)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&e0(uN,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.R_=!1,this.Eo(),this.K_&&(this.K_.cancel(),this.K_=null),this.ho(),this.To(),await this.z_.runTransaction("shutdown","readwrite",[Bw,B$],e=>{let t=new ld(e,sp.yn);return this.ro(t).next(()=>this._o(t))}),this.z_.close(),this.Po()}uo(e,t){return e.filter(e=>this.ao(e.updateTimeMs,t)&&!this.lo(e.clientId))}Ro(){return this.runTransaction("getActiveClients","readonly",e=>lC(e,B$).Kn().next(e=>this.uo(e,18e5).map(e=>e.clientId)))}get started(){return this.R_}getGlobalsCache(){return this.I_}getMutationQueue(e,t){return lN.Kr(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.A_}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new l6(e,this.serializer.qr.databaseId)}getDocumentOverlayCache(e){return lL.Kr(this.serializer,e)}getBundleCache(){return this.d_}runTransaction(e,t,r){var n;let i;
7e0(uN,"Starting transaction:",e);let s=18===(n=this.U_)||17===n?lu:16===n||15===n?ll:14===n||13===n?lB:12===n?lo:11===n?la:void e8(60245);return this.z_.runTransaction(e,"readonly"===t?"readonly":"readwrite",s,n=>(i=new ld(n,this.P_?this.P_.next():sp.yn),"readwrite-primary"===t?this.eo(i).next(e=>!!e||this.no(i)).next(t=>{if(!t)throw e1(`Failed to obtain primary lease for action '${e}'.`),this.isPrimary=!1,this.xt.enqueueRetryable(()=>this.W_(!1)),new tl(tB.FAILED_PRECONDITION,sf);return r(i)}).next(e=>this.io(i).next(()=>e)):this.Io(i).next(()=>r(i)))).then(e=>(i.raiseOnCommittedEvent(),e))}Io(e){return lC(e,Bw).get(BI).next(e=>{if(null!==e&&this.ao(e.leaseTimestampMs,5e3)&&!this.lo(e.ownerId)&&!this.so(e)&&!(this.B_||this.allowTabSynchronization&&e.allowTabSynchronization))throw new tl(tB.FAILED_PRECONDITION,uF)})}io(e){let t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return lC(e,Bw).put(BI,t)}static Je(){return sw.Je()}ro(e){let t=lC(e,Bw);return t.get(BI).next(e=>this.so(e)?(e0(uN,"Releasing primary lease."),t.delete(BI)):sE.resolve())}ao(e,t){let r=Date.now();return!(e<r-t)&&(!(e>r)||(e1(`Detected an update time that is in the future: ${e} > ${r}`),!1))}J_(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.q_=()=>{this.xt.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.H_()))},this.document.addEventListener("visibilitychange",this.q_),this.inForeground="visible"===this.document.visibilityState)}ho(){this.q_&&(this.document.removeEventListener("visibilitychange",this.q_),this.q_=null)}Y_(){"function"==typeof this.window?.addEventListener&&(this.k_=()=>{this.Eo();let e=/(?:Version|Mobile)\/1[456]/;(0,E.isSafari)()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.xt.enterRestrictedMode(!0),this.xt.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.k_))}To(){this.k_&&(this.window.removeEventListener("pagehide",this.k_),this.k_=null)}lo(e){try{let t=null!==this.j_?.getItem(this.co(e));return e0(uN,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return e1(uN,"Failed to get zombied client id.",e),!1}}Eo(){if(this.j_)try{this.j_.setItem(this.co(this.clientId),String(Date.now()))}catch(e){e1("Failed to set zombie client id.",e)}}Po(){if(this.j_)try{this.j_.removeItem(this.co(this.clientId))}catch(e){}}co(e){return`firestore_zombie_${this.persistenceKey}_${e}`}}function uR(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class uL{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.Ao=r,this.Vo=n}static fo(e,t){let r=nX(),n=nX();for(let e of t.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:n=n.add(e.doc.key)}return new uL(e,t.fromCache,r,n)}}function uk(e,t){return tD.comparator(e.key,t.key)}class uP{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class uM{constructor(){this.mo=!1,this.po=!1,this.yo=100,this.wo=(0,E.isSafari)()?8:sI((0,E.getUA)())>0?6:4}initialize(e,t){this.bo=e,this.indexManager=t,this.mo=!0}getDocumentsMatchingQuery(e,t,r,n){let i={result:null};return this.So(e,t).next(e=>{i.result=e}).next(()=>{if(!i.result)return this.vo(e,t,n,r).next(e=>{i.result=e})}).next(()=>{if(i.result)return;let r=new uP;return this.Do(e,t,r).next(n=>{if(i.result=n,this.po)return this.xo(e,t,r,n.size)})}).next(()=>i.result)}xo(e,t,r,n){return Bh(t)?sE.resolve():r.documentReadCount<this.yo?(eZ()<=w.LogLevel.DEBUG&&e0("QueryEngine","SDK will not create cache indexes for query:",nM(t),"since it only creates cache indexes for collection contains","more than or equal to",this.yo,"documents"),sE.resolve()):(eZ()<=w.LogLevel.DEBUG&&e0("QueryEngine","Query:",nM(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.wo*n?(eZ()<=w.LogLevel.DEBUG&&e0("QueryEngine","The SDK decides to create cache indexes for query:",nM(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,nF(t))):sE.resolve())}So(e,t){if(Bh(t))return sE.resolve(null);let r=t;if(nA(r))return sE.resolve(null);let n=nF(r);return this.indexManager.getIndexType(e,n).next(t=>0===t?null:(null!==r.limit&&1===t&&(n=nF(r=nk(r,null,"F"))),this.indexManager.getDocumentsMatchingTarget(e,n).next(t=>{let i=nX(...t);return this.bo.getDocuments(e,i).next(t=>this.indexManager.getMinOffset(e,n).next(n=>{let s=this.Co(r,t);return this.Fo(r,s,i,n.readTime)?this.So(e,nk(r,null,"F")):this.Oo(e,s,r,n)}))})))}vo(e,t,r,n){return(Bh(t)?function(e){for(let t of e.stages){if(t instanceof aN||t instanceof aF)return!1;if(t instanceof aO){if(t.condition instanceof am&&"exists"===t.condition._expr.name&&t.condition._expr.params[0]instanceof ah&&t.condition._expr.params[0].fieldName===tu)continue;return!1}}return!0}(t):nA(t))||n.isEqual(na.min())?sE.resolve(null):this.bo.getDocuments(e,r).next(i=>{let s=this.Co(t,i);return this.Fo(t,s,r,n)?sE.resolve(null):(eZ()<=w.LogLevel.DEBUG&&e0("QueryEngine","Re-using previous result from %s to execute query: %s",n.toString(),Bc(t)),this.Oo(e,s,t,nC(n,-1)).next(e=>e))})}Co(e,t){let r,n;return Bh(e)?(r=new ts(uk),n=t=>un(e,t)):(r=new ts(nH(e)),n=t=>nG(e,t)),t.forEach((e,t)=>{n(t)&&(r=r.add(t))}),r}Fo(e,t,r,n){if(Bh(e))return e.stages.some(e=>e instanceof aN||e instanceof aF);if(null===e.limit)return!1;if(r.size!==t.size)return!0;let i="F"===e.limitType?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(n)>0)}Do(e,t,r){return eZ()<=w.LogLevel.DEBUG&&e0("QueryEngine","Using full collection scan to execute query:",Bc(t)),this.bo.getDocumentsMatchingQuery(e,t,nf.min(),r)}Oo(e,t,r,n){return this.bo.getDocumentsMatchingQuery(e,r,n).next(e=>(t.forEach(t=>{e=e.insert(t.key,t)}),e))}}let uG="LocalStore";class uH{constructor(e,t,r,n){this.persistence=e,this.Mo=t,this.serializer
7=n,this.No=new tr(e9),this.Lo=new nJ(e=>Bp(e),Bf),this.Bo=new Map,this.Uo=e.getRemoteDocumentCache(),this.A_=e.getTargetCache(),this.d_=e.getBundleCache(),this.ko(r)}ko(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new up(this.Uo,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.Uo.setIndexManager(this.indexManager),this.Mo.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.No))}}async function uU(e,t){return await e.persistence.runTransaction("Handle user change","readonly",r=>{let n;return e.mutationQueue.getAllMutationBatches(r).next(i=>(n=i,e.ko(t),e.mutationQueue.getAllMutationBatches(r))).next(t=>{let i=[],s=[],a=nX();for(let e of n)for(let t of(i.push(e.batchId),e.mutations))a=a.add(t.key);for(let e of t)for(let t of(s.push(e.batchId),e.mutations))a=a.add(t.key);return e.localDocuments.getDocuments(r,a).next(e=>({qo:e,removedBatchIds:i,addedBatchIds:s}))})})}function uV(e){return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.A_.getLastRemoteSnapshotVersion(t))}function uj(e,t,r){let n=nX(),i=nX();return r.forEach(e=>n=n.add(e)),t.getEntries(e,n).next(e=>{let n=nq;return r.forEach((r,s)=>{let a=e.get(r);s.isFoundDocument()!==a.isFoundDocument()&&(i=i.add(r)),s.isNoDocument()&&s.version.isEqual(na.min())?(t.removeEntry(r,s.readTime),n=n.insert(r,s)):!a.isValidDocument()||s.version.compareTo(a.version)>0||0===s.version.compareTo(a.version)&&a.hasPendingWrites?(t.addEntry(s),n=n.insert(r,s)):e0(uG,"Ignoring outdated watch update for ",r,". Current version:",a.version," Watch version:",s.version)}),{$o:n,Ko:i}})}function uJ(e,t){return e.persistence.runTransaction("Allocate target","readwrite",r=>{let n;return e.A_.getTargetData(r,t).next(i=>i?(n=i,sE.resolve(n)):e.A_.allocateTargetId(r).next(i=>(n=new lf(t,i,"TargetPurposeListen",r.currentSequenceNumber),e.A_.addTargetData(r,n).next(()=>n))))}).then(r=>{let n=e.No.get(r.targetId);return(null===n||r.snapshotVersion.compareTo(n.snapshotVersion)>0)&&(e.No=e.No.insert(r.targetId,r),e.Lo.set(t,r.targetId)),r})}async function uq(e,t,r){let n=e.No.get(t);try{r||await e.persistence.runTransaction("Release target",r?"readwrite":"readwrite-primary",t=>e.persistence.referenceDelegate.removeTarget(t,n))}catch(e){if(!sb(e))throw e;e0(uG,`Failed to update sequence numbers for target ${t}: ${e}`)}e.No=e.No.remove(t),e.Lo.delete(n.target)}function uK(e,t,r){let n=na.min(),i=nX();return e.persistence.runTransaction("Execute query","readwrite",s=>{var a;let o;return(a=Bh(t)?t:nF(t),void 0!==(o=e.Lo.get(a))?sE.resolve(e.No.get(o)):e.A_.getTargetData(s,a)).next(t=>{if(t)return n=t.lastLimboFreeSnapshotVersion,e.A_.getMatchingKeysForTargetId(s,t.targetId).next(e=>{i=e})}).next(()=>e.Mo.getDocumentsMatchingQuery(s,t,r?n:na.min(),r?i:nX())).next(t=>(uW(e,t),{documents:t,Qo:i}))})}function uz(e,t){let r=e.A_,n=e.No.get(t);return n?Promise.resolve(n.target??null):e.persistence.runTransaction("Get target data","readonly",e=>r.ge(e,t).next(e=>e?.target??null))}function uQ(e,t){let r=e.Bo.get(t)||na.min();return e.persistence.runTransaction("Get new document changes","readonly",n=>e.Uo.getAllFromCollectionGroup(n,t,nC(r,-1),Number.MAX_SAFE_INTEGER)).then(t=>(uW(e,t),t))}function uW(e,t){t.forEach((t,r)=>{let n=r.key.getCollectionGroup(),i=e.Bo.get(n)||na.min();r.readTime.compareTo(i)>0&&e.Bo.set(n,r.readTime)})}async function u$(e,t,r,n){let i=nX(),s=nq;for(let e of r){let r=t.Wo(e.metadata.name);e.document&&(i=i.add(r));let n=t.Go(e);n.setReadTime(t.zo(e.metadata.readTime)),s=s.insert(r,n)}let a=e.Uo.newChangeBuffer({trackRemovals:!0}),o=await uJ(e,nF(nS(tc.fromString(`__bundle__/docs/${n}`))));return e.persistence.runTransaction("Apply bundle documents","readwrite",t=>uj(t,a,s).next(e=>(a.apply(t),e)).next(r=>e.A_.removeMatchingKeysForTargetId(t,o.targetId).next(()=>e.A_.addMatchingKeys(t,i,o.targetId)).next(()=>e.localDocuments.getLocalViewOfDocuments(t,r.$o,r.Ko)).next(()=>r.$o)))}async function uY(e,t,r=nX()){let n=await uJ(e,nF(l_(t.bundledQuery)));return e.persistence.runTransaction("Save named query","readwrite",i=>{let s=im(t.readTime);if(n.snapshotVersion.compareTo(s)>=0)return e.d_.saveNamedQuery(i,t);let a=n.withResumeToken(tF.EMPTY_BYTE_STRING,s);
7return e.No=e.No.insert(a.targetId,a),e.A_.updateTargetData(i,a).next(()=>e.A_.removeMatchingKeysForTargetId(i,n.targetId)).next(()=>e.A_.addMatchingKeys(i,r,n.targetId)).next(()=>e.d_.saveNamedQuery(i,t))})}class uX{constructor(e,t){this.jo=e,this.byteLength=t}Ho(){return"metadata"in this.jo}}function uZ(e,t=10240){let r=0;return{async read(){if(r<e.byteLength){let n={value:e.slice(r,r+t),done:!1};return r+=t,n}return{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}class u0{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.Jo=0,this.Yo=null,this.Zo=!0}Xo(){0===this.Jo&&(this.ea("Unknown"),this.Yo=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.Yo=null,this.ta("Backend didn't respond within 10 seconds."),this.ea("Offline"),Promise.resolve())))}na(e){"Online"===this.state?this.ea("Unknown"):(this.Jo++,this.Jo>=1&&(this.ra(),this.ta(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.ea("Offline")))}set(e){this.ra(),this.Jo=0,"Online"===e&&(this.Zo=!1),this.ea(e)}ea(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}ta(e){let t=`Could not reach Cloud Firestore backend. ${e} 8This 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.Zo?(e1(t),this.Zo=!1):e0("OnlineStateTracker",t)}ra(){null!==this.Yo&&(this.Yo.cancel(),this.Yo=null)}}let u1="RemoteStore";class u2{constructor(e,t,r,n,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.ia=[],this.sa=new Map,this._a=new Map,this.oa=new Map,this.aa=new l4(1e3),this.ua=new l4(1001),this.ca=new Set,this.la=[],this.Ea=i,this.Ea.Ke(e=>{r.enqueueAndForget(async()=>{hr(this)&&(e0(u1,"Restarting streams for network reachability change."),await async function(e){e.ca.add(4),await u8(e),e.ha.set("Unknown"),e.ca.delete(4),await u3(e)}(this))})}),this.ha=new u0(r,n)}}async function u3(e){if(hr(e))for(let t of e.la)await t(!0)}async function u8(e){for(let t of e.la)await t(!1)}function u6(e,t){return e._a.get(t)||void 0}function u5(e,t){var r;let n,i,s=u6(e,t.targetId);if(void 0!==s&&e.sa.has(s))return;let a=(void 0!==(n=u6(e,r=t.targetId))&&e.oa.delete(n),i=r%2!=0?e.ua.next():e.aa.next(),e._a.set(r,i),e.oa.set(i,r),i);e0(u1,"remoteStoreListen mapping SDK target ID to remote",t.targetId,a);let o=new lf(t.target,a,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken);e.sa.set(a,o),ht(e)?he(e):hm(e).Jt()&&u9(e,o)}function u4(e,t){let r=hm(e),n=u6(e,t);e0(u1,"remoteStoreUnlisten removing mapping of SDK target ID to remote",t,n),e.sa.delete(n),e._a.delete(t),e.oa.delete(n),r.Jt()&&u7(e,n),0===e.sa.size&&(r.Jt()?r.Xt():hr(e)&&e.ha.set("Unknown"))}function u9(e,t){if(e.Ta.H(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(na.min())>0){let r=e.oa.get(t.targetId);if(void 0===r)return void e0(u1,"SDK target ID not found for remote ID: "+t.targetId);let n=e.remoteSyncer.getRemoteKeysForTarget(r).size;t=t.withExpectedCount(n)}hm(e).Tn(t)}function u7(e,t){e.Ta.H(t),hm(e).Pn(t)}function he(e){e.Ta=new is({getRemoteKeysForTarget:t=>{let r=e.oa.get(t);return void 0!==r?e.remoteSyncer.getRemoteKeysForTarget(r):nX()},ge:t=>e.sa.get(t)||null,Ae:()=>e.datastore.serializer.databaseId}),hm(e).start(),e.ha.Xo()}function ht(e){return hr(e)&&!hm(e).Ht()&&e.sa.size>0}function hr(e){return 0===e.ca.size}async function hn(e){e.ha.set("Online")}async function hi(e){e.sa.forEach((t,r)=>{u9(e,t)})}async function hs(e,t){e.Ta=void 0,ht(e)?(e.ha.na(t),he(e)):e.ha.set("Unknown")}async function ha(e,t,r){if(e.ha.set("Online"),t instanceof it&&2===t.state&&t.cause)try{await async function(e,t){let r=t.cause;for(let n of t.targetIds){if(e.sa.has(n)){let t=e.oa.get(n);void 0!==t&&(await e.remoteSyncer.rejectListen(t,r),e._a.delete(t),e.oa.delete(n)),e.sa.delete(n)}e.Ta.removeTarget(n)}}(e,t)}catch(r){e0(u1,"Failed to remove targets %s: %s ",t.targetIds.join(","),r),await ho(e,r)}else if(t instanceof n7?e.Ta.se(t):t instanceof ie?e.Ta.Ee(t):e.Ta.ae(t),!r.isEqual(na.min()))try{let t,n,i,s,a=await uV(e.localStore);r.compareTo(a)>
8=0&&await ((t=e.Ta.de(r)).targetChanges.forEach((t,n)=>{if(t.resumeToken.approximateByteSize()>0){let i=e.sa.get(n);i&&e.sa.set(n,i.withResumeToken(t.resumeToken,r))}}),t.targetMismatches.forEach((t,r)=>{let n=e.sa.get(t);if(!n)return;e.sa.set(t,n.withResumeToken(tF.EMPTY_BYTE_STRING,n.snapshotVersion)),u7(e,t);let i=new lf(n.target,t,r,n.sequenceNumber);u9(e,i)}),n=new Map,t.targetChanges.forEach((t,r)=>{let i=e.oa.get(r);void 0!==i&&n.set(i,t)}),i=new tr(e9),t.targetMismatches.forEach((t,r)=>{let n=e.oa.get(t);void 0!==n&&(i=i.insert(n,r))}),s=new n4(t.snapshotVersion,n,i,t.documentUpdates,t.augmentedDocumentUpdates,t.resolvedLimboDocuments),e.remoteSyncer.applyRemoteEvent(s))}catch(t){e0(u1,"Failed to raise snapshot:",t),await ho(e,t)}}async function ho(e,t,r){if(!sb(t))throw t;e.ca.add(1),await u8(e),e.ha.set("Offline"),r||(r=()=>uV(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{e0(u1,"Retrying IndexedDB access"),await r(),e.ca.delete(1),await u3(e)})}function hB(e,t){return t().catch(r=>ho(e,r,t))}async function hl(e){var t;let r=hE(e),n=e.ia.length>0?e.ia[e.ia.length-1].batchId:-1;for(;hr(t=e)&&t.ia.length<10;)try{let t=await function(e,t){return e.persistence.runTransaction("Get next mutation batch","readonly",r=>(void 0===t&&(t=-1),e.mutationQueue.getNextMutationBatchAfterBatchId(r,t)))}(e.localStore,n);if(null===t){0===e.ia.length&&r.Xt();break}n=t.batchId,function(e,t){e.ia.push(t);let r=hE(e);r.Jt()&&r.Rn&&r.In(t.mutations)}(e,t)}catch(t){await ho(e,t)}hu(e)&&hh(e)}function hu(e){return hr(e)&&!hE(e).Ht()&&e.ia.length>0}function hh(e){hE(e).start()}async function hc(e){hE(e).dn()}async function hd(e){let t=hE(e);for(let r of e.ia)t.In(r.mutations)}async function hC(e,t,r){let n=e.ia.shift(),i=Bm.from(n,t,r);await hB(e,()=>e.remoteSyncer.applySuccessfulWrite(i)),await hl(e)}async function hp(e,t){t&&hE(e).Rn&&await async function(e,t){var r;if(nV(r=t.code)&&r!==tB.ABORTED){let r=e.ia.shift();hE(e).Zt(),await hB(e,()=>e.remoteSyncer.rejectFailedWrite(r.batchId,t)),await hl(e)}}(e,t),hu(e)&&hh(e)}async function hf(e,t){e.asyncQueue.verifyOperationInProgress(),e0(u1,"RemoteStore received new credentials");let r=hr(e);e.ca.add(3),await u8(e),r&&e.ha.set("Unknown"),await e.remoteSyncer.handleCredentialChange(t),e.ca.delete(3),await u3(e)}async function hg(e,t){t?(e.ca.delete(2),await u3(e)):t||(e.ca.add(2),await u8(e),e.ha.set("Unknown"))}function hm(e){var t,r,n;return e.Pa||(t=e.datastore,r=e.asyncQueue,n={ut:hn.bind(null,e),lt:hi.bind(null,e),ht:hs.bind(null,e),hn:ha.bind(null,e)},t.mn(),e.Pa=new sB(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.la.push(async t=>{t?(e.Pa.Zt(),ht(e)?he(e):e.ha.set("Unknown")):(await e.Pa.stop(),e.Ta=void 0)})),e.Pa}function hE(e){var t,r,n;return e.Ra||(t=e.datastore,r=e.asyncQueue,n={ut:()=>Promise.resolve(),lt:hc.bind(null,e),ht:hp.bind(null,e),An:hd.bind(null,e),Vn:hC.bind(null,e)},t.mn(),e.Ra=new sl(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.la.push(async t=>{t?(e.Ra.Zt(),await hl(e)):(await e.Ra.stop(),e.ia.length>0&&(e0(u1,`Stopping write stream with ${e.ia.length} pending writes`),e.ia=[]))})),e.Ra}class hD{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.Ia(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.Ia(this.observer.error,e):e1("Uncaught Error in snapshot listener:",e.toString()))}Aa(){this.muted=!0}Ia(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class hy{constructor(e,t,r,n,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=i,this.deferred=new iQ,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(e=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,r,n,i){let s=new hy(e,t,Date.now()+r,n,i);return s.start(r),s}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new tl(tB.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function hw(e,t){if(e1("AsyncQueue",`${t}: ${e}`),sb(e))return new tl(tB.UNAVAILABLE,`${t}: ${e}`);throw e}
8class hI{constructor(e,t){this.Va=e,this.serializer=t,this.metadata=new iQ,this.buffer=new Uint8Array,this.da=new TextDecoder("utf-8"),this.fa().then(e=>{e&&e.Ho()?this.metadata.resolve(e.jo.metadata):this.metadata.reject(Error(`The first element of the bundle is not a metadata, it is 9 ${JSON.stringify(e?.jo)}`))},e=>this.metadata.reject(e))}close(){return this.Va.cancel()}async getMetadata(){return this.metadata.promise}async ma(){return await this.getMetadata(),this.fa()}async fa(){let e=await this.pa();if(null===e)return null;let t=this.da.decode(e),r=Number(t);return isNaN(r)&&this.ga(`length string (${t}) is not valid number`),new uX(JSON.parse(await this.ya(r)),e.length+r)}wa(){return this.buffer.findIndex(e=>123===e)}async pa(){for(;0>this.wa()&&!await this.ba(););if(0===this.buffer.length)return null;let e=this.wa();e<0&&this.ga("Reached the end of bundle when a length string is expected.");let t=this.buffer.slice(0,e);return this.buffer=this.buffer.slice(e),t}async ya(e){for(;this.buffer.length<e;)await this.ba()&&this.ga("Reached the end of bundle when more is expected.");let t=this.da.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}ga(e){throw this.Va.cancel(),Error(`Invalid bundle format: ${e}`)}async ba(){let e=await this.Va.read();if(!e.done){let t=new Uint8Array(this.buffer.length+e.value.length);t.set(this.buffer),t.set(e.value,this.buffer.length),this.buffer=t}return e.done}}let hv="IndexBackfiller";class h_{constructor(e,t){this.asyncQueue=e,this.va=t,this.task=null}start(){this.Da(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}Da(e){e0(hv,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{let e=await this.va.xa();e0(hv,`Documents written: ${e}`)}catch(e){sb(e)?e0(hv,"Ignoring IndexedDB error during index backfill: ",e):await sm(e)}await this.Da(6e4)})}}class hb{constructor(e,t){this.localStore=e,this.persistence=t}async xa(e=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",t=>this.Ca(t,e))}Ca(e,t){let r=new Set,n=t,i=!0;return sE.doWhile(()=>!0===i&&n>0,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return e0(hv,`Processing collection: ${t}`),this.Fa(e,t,n).next(e=>{n-=e,r.add(t)});i=!1})).next(()=>t-n)}Fa(e,t,r){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(e,t).next(n=>this.localStore.localDocuments.getNextDocuments(e,t,n,r).next(r=>{let i=r.changes;return this.localStore.indexManager.updateIndexEntries(e,i).next(()=>this.Oa(n,r)).next(r=>(e0(hv,`Updating offset: ${r}`),this.localStore.indexManager.updateCollectionGroup(e,t,r))).next(()=>i.size)}))}Oa(e,t){let r=e;
9return t.changes.forEach((e,t)=>{let n=np(t);ng(n,r)>0&&(r=n)}),new nf(r.readTime,r.documentKey,Math.max(t.batchId,e.largestBatchId))}}let hT="firestore_clients";function hS(e,t){return`${hT}_${e}_${t}`}let hA="firestore_mutations";function hO(e,t,r){let n=`${hA}_${e}_${r}`;return t.isAuthenticated()&&(n+=`_${t.uid}`),n}let hN="firestore_targets";function hF(e,t){return`${hN}_${e}_${t}`}let hx="SharedClientState";class hR{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static Ma(e,t,r){let n=JSON.parse(r),i,s="object"==typeof n&&-1!==["pending","acknowledged","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return s&&n.error&&(s="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(i=new tl(n.error.code,n.error.message)),s?new hR(e,t,n.state,i):(e1(hx,`Failed to parse mutation state for ID '${t}': ${r}`),null)}Na(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.str
9ingify(e)}}class hL{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static Ma(e,t){let r=JSON.parse(t),n,i="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return i&&r.error&&(i="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(n=new tl(r.error.code,r.error.message)),i?new hL(e,r.state,n):(e1(hx,`Failed to parse target state for ID '${e}': ${t}`),null)}Na(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class hk{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static Ma(e,t){let r=JSON.parse(t),n="object"==typeof r&&r.activeTargetIds instanceof Array,i=nZ;for(let e=0;n&&e<r.activeTargetIds.length;++e)n=t$(r.activeTargetIds[e]),i=i.add(r.activeTargetIds[e]);return n?new hk(e,i):(e1(hx,`Failed to parse client data for instance '${e}': ${t}`),null)}}class hP{constructor(e,t){this.clientId=e,this.onlineState=t}static Ma(e){let t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new hP(t.clientId,t.onlineState):(e1(hx,`Failed to parse online state: ${e}`),null)}}class hM{constructor(){this.activeTargetIds=nZ}La(e){this.activeTargetIds=this.activeTargetIds.add(e)}Ba(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Na(){return JSON.stringify({activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()})}}class hG{constructor(e,t,r,n,i){this.window=e,this.xt=t,this.persistenceKey=r,this.Ua=n,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.ka=this.qa.bind(this),this.$a=new tr(e9),this.started=!1,this.Ka=[];const s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=i,this.Qa=hS(this.persistenceKey,this.Ua),this.Wa=function(e){return`firestore_sequence_number_${e}`}(this.persistenceKey),this.$a=this.$a.insert(this.Ua,new hM),this.Ga=RegExp(`^${hT}_${s}_([^_]*)$`),this.za=RegExp(`^${hA}_${s}_(\\d+)(?:_(.*))?$`),this.ja=RegExp(`^${hN}_${s}_(\\d+)$`),this.Ha=function(e){return`firestore_online_state_${e}`}(this.persistenceKey),this.Ja=function(e){return`firestore_bundle_loaded_v2_${e}`}(this.persistenceKey),this.window.addEventListener("storage",this.ka)}static Je(e){return!(!e||!e.localStorage)}async start(){for(let e of(await this.syncEngine.Ro())){if(e===this.Ua)continue;let t=this.getItem(hS(this.persistenceKey,e));if(t){let r=hk.Ma(e,t);r&&(this.$a=this.$a.insert(r.clientId,r))}}this.Ya();let e=this.storage.getItem(this.Ha);if(e){let t=this.Za(e);t&&this.Xa(t)}for(let e of this.Ka)this.qa(e);this.Ka=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.Wa,JSON.stringify(e))}getAllActiveQueryTargets(){return this.eu(this.$a)}isActiveQueryTarget(e){let t=!1;return this.$a.forEach((r,n)=>{n.activeTargetIds.has(e)&&(t=!0)}),t}addPendingMutation(e){this.tu(e,"pending")}updateMutationState(e,t,r){this.tu(e,t,r),this.nu(e)}addLocalQueryTarget(e,t=!0){let r="not-current";if(this.isActiveQueryTarget(e)){let t=this.storage.getItem(hF(this.persistenceKey,e));if(t){let n=hL.Ma(e,t);n&&(r=n.state)}}return t&&this.ru.La(e),this.Ya(),r}removeLocalQueryTarget(e){this.ru.Ba(e),this.Ya()}isLocalQueryTarget(e){return this.ru.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(hF(this.persistenceKey,e))}updateQueryState(e,t,r){this.iu(e,t,r)}handleUserChange(e,t,r){t.forEach(e=>{this.nu(e)}),this.currentUser=e,r.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this.su(e)}notifyBundleLoaded(e){this._u(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this.ka),this.removeItem(this.Qa),this.started=!1)}getItem(e){let t=this.storage.getItem(e);return e0(hx,"READ",e,t),t}setItem(e,t){e0(hx,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){e0(hx,"REMOVE",e),this.storage.removeItem(e)}qa(e){if(e.storageArea===this.storage){if(e0(hx,"EVENT",e.key,e.newValue),e.key===this.Qa)return void e1("Received WebStorage notification for local change. Another client might have garbage-collected our state");this.xt.enqueueRetryable(async()=>
9{if(this.started){if(null!==e.key){if(this.Ga.test(e.key)){if(null==e.newValue){let t=this.ou(e.key);return this.au(t,null)}{let t=this.uu(e.key,e.newValue);if(t)return this.au(t.clientId,t)}}else if(this.za.test(e.key)){if(null!==e.newValue){let t=this.cu(e.key,e.newValue);if(t)return this.lu(t)}}else if(this.ja.test(e.key)){if(null!==e.newValue){let t=this.Eu(e.key,e.newValue);if(t)return this.hu(t)}}else if(e.key===this.Ha){if(null!==e.newValue){let t=this.Za(e.newValue);if(t)return this.Xa(t)}}else if(e.key===this.Wa){let t=function(e){let t=sp.yn;if(null!=e)try{let r=JSON.parse(e);e5("number"==typeof r,30636,{Tu:e}),t=r}catch(e){e1(hx,"Failed to read sequence number from WebStorage",e)}return t}(e.newValue);t!==sp.yn&&this.sequenceNumberHandler(t)}else if(e.key===this.Ja){let t=this.Pu(e.newValue);await Promise.all(t.map(e=>this.syncEngine.Ru(e)))}}}else this.Ka.push(e)})}}get ru(){return this.$a.get(this.Ua)}Ya(){this.setItem(this.Qa,this.ru.Na())}tu(e,t,r){let n=new hR(this.currentUser,e,t,r),i=hO(this.persistenceKey,this.currentUser,e);this.setItem(i,n.Na())}nu(e){let t=hO(this.persistenceKey,this.currentUser,e);this.removeItem(t)}su(e){let t={clientId:this.Ua,onlineState:e};this.storage.setItem(this.Ha,JSON.stringify(t))}iu(e,t,r){let n=hF(this.persistenceKey,e),i=new hL(e,t,r);this.setItem(n,i.Na())}_u(e){let t=JSON.stringify(Array.from(e));this.setItem(this.Ja,t)}ou(e){let t=this.Ga.exec(e);return t?t[1]:null}uu(e,t){let r=this.ou(e);return hk.Ma(r,t)}cu(e,t){let r=this.za.exec(e),n=Number(r[1]),i=void 0!==r[2]?r[2]:null;return hR.Ma(new iz(i),n,t)}Eu(e,t){let r=Number(this.ja.exec(e)[1]);return hL.Ma(r,t)}Za(e){return hP.Ma(e)}Pu(e){return JSON.parse(e)}async lu(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.Iu(e.batchId,e.state,e.error);e0(hx,`Ignoring mutation for non-active user ${e.user.uid}`)}hu(e){return this.syncEngine.Au(e.targetId,e.state,e.error)}au(e,t){let r=t?this.$a.insert(e,t):this.$a.remove(e),n=this.eu(this.$a),i=this.eu(r),s=[],a=[];return i.forEach(e=>{n.has(e)||s.push(e)}),n.forEach(e=>{i.has(e)||a.push(e)}),this.syncEngine.Vu(s,a).then(()=>{this.$a=r})}Xa(e){this.$a.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}eu(e){let t=nZ;return e.forEach((e,r)=>{t=t.unionWith(r.activeTargetIds)}),t}}class hH{constructor(){this.du=new hM,this.fu={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.du.La(e),this.fu[e]||"not-current"}updateQueryState(e,t,r){this.fu[e]=t}removeLocalQueryTarget(e){this.du.Ba(e)}isLocalQueryTarget(e){return this.du.activeTargetIds.has(e)}clearQueryState(e){delete this.fu[e]}getAllActiveQueryTargets(){return this.du.activeTargetIds}isActiveQueryTarget(e){return this.du.activeTargetIds.has(e)}start(){return this.du=new hM,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}function hU(){return"u">typeof window?window:null}function hV(){return"u">typeof document?document:null}class hj{static emptySet(e){return new hj(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||tD.comparator(t.key,r.key):(e,t)=>tD.comparator(e.key,t.key),this.keyedMap=nz(),this.sortedSet=new tr(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){let t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal((t,r)=>(e(t),!1))}add(e){let t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){let t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof hj)||this.size!==e.size)return!1;let t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(!e.isEqual(n))return!1}return!0}toString(){let e=[];return this.forEach(t=>{e.push(t.toString())}),0===e.length?"DocumentSet ()":"DocumentSet (\n "+e.join(" \n")+"\n)"}copy(e,t){let r=new hj;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}class hJ{constructor(){this.mu=new tr(tD.comparator)}track(e){let t=e.doc.key,r=this.mu.get(t);r?0!==e.type&&3===r.type?this.mu=this.mu.insert(t,e):3===e.type&&1!==r.type?this.mu=this.mu.insert(t,{type:r.type,doc:e.doc}):2===e.type&&2===r.type?this.mu=this.mu.insert(t,{type:2,doc:e.doc}):2===e.type&&0===r.type?this.mu=this.mu.insert(t,{type:0,doc:e.doc}):1===e.type&&0===r.type?this.mu=this.mu.remove(t):1===e.type&&2===r.type?this.mu=this.mu.insert(t,{type:1,doc:r.doc}):0===e.type&&1===r.type?this.mu=this.mu.insert(t,{type:2,doc:e.doc}):e8(63341,{ye:e,pu:r}):this.mu=this.mu.insert(t,e)}gu(){let e=[];return this.mu.inorderTraversal((t,r)=>{e.push(r)}),e}}class hq{constructor(e,t,r,n,i,s,a,o,B){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=n,this.mutatedKeys=i,this.fromCache=s,this.syncStateChanged=a,this.excludesMetadataChanges=o,this.hasCachedResults=B}static fromInitialDocuments(e,t,r,n,i){let s=[];
9return t.forEach(e=>{s.push({type:0,doc:e})}),new hq(e,t,hj.emptySet(t),s,r,n,!0,!1,i)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&BC(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;let t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==r[e].type||!t[e].doc.isEqual(r[e].doc))return!1;return!0}}class hK{constructor(){this.yu=void 0,this.wu=[]}bu(){return this.wu.some(e=>e.Su())}}class hz{constructor(){this.queries=hQ(),this.onlineState="Unknown",this.vu=new Set}terminate(){var e;let t;e=new tl(tB.ABORTED,"Firestore shutting down"),t=this.queries,this.queries=hQ(),t.forEach((t,r)=>{for(let t of r.wu)t.onError(e)})}}function hQ(){return new nJ(e=>Bd(e),BC)}async function hW(e,t){let r=3,n=t.query,i=e.queries.get(n);i?!i.bu()&&t.Su()&&(r=2):(i=new hK,r=+!t.Su());try{switch(r){case 0:i.yu=await e.onListen(n,!0);break;case 1:i.yu=await e.onListen(n,!1);break;case 2:await e.onFirstRemoteStoreListen(n)}}catch(r){let e=hw(r,`Initialization of query '${Bh(t.query)?Bu(t.query):nM(t.query)}' failed`);return void t.onError(e)}e.queries.set(n,i),i.wu.push(t),t.Du(e.onlineState),i.yu&&t.xu(i.yu)&&hZ(e)}async function h$(e,t){let r=t.query,n=3,i=e.queries.get(r);if(i){let e=i.wu.indexOf(t);e>=0&&(i.wu.splice(e,1),0===i.wu.length?n=+!t.Su():!i.bu()&&t.Su()&&(n=2))}switch(n){case 0:return e.queries.delete(r),e.onUnlisten(r,!0);case 1:return e.queries.delete(r),e.onUnlisten(r,!1);case 2:return e.onLastRemoteStoreUnlisten(r);default:return}}function hY(e,t){let r=!1;for(let n of t){let t=n.query,i=e.queries.get(t);if(i){for(let e of i.wu)e.xu(n)&&(r=!0);i.yu=n}}r&&hZ(e)}function hX(e,t,r){let n=e.queries.get(t);if(n)for(let e of n.wu)e.onError(r);e.queries.delete(t)}function hZ(e){e.vu.forEach(e=>{e.next()})}(t=C||(C={})).Default="default",t.Cache="cache";class h0{constructor(e,t,r){this.query=e,this.Cu=t,this.Fu=!1,this.Ou=null,this.onlineState="Unknown",this.options=r||{}}xu(e){if(!this.options.includeMetadataChanges){let t=[];for(let r of e.docChanges)3!==r.type&&t.push(r);e=new hq(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.Fu?this.Mu(e)&&(this.Cu.next(e),t=!0):this.Nu(e,this.onlineState)&&(this.Lu(e),t=!0),this.Ou=e,t}onError(e){this.Cu.error(e)}Du(e){this.onlineState=e;let t=!1;return this.Ou&&!this.Fu&&this.Nu(this.Ou,e)&&(this.Lu(this.Ou),t=!0),t}Nu(e,t){return!(e.fromCache&&this.Su())||(!this.options.waitForSyncWhenOnline||"Offline"===t)&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}Mu(e){if(e.docChanges.length>0)return!0;let t=this.Ou&&this.Ou.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}Lu(e){e=hq.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Fu=!0,this.Cu.next(e)}Su(){return this.options.source!==C.Cache}}class h1{constructor(e){this.serializer=e}Wo(e){return iI(this.serializer,e)}Go(e){return e.metadata.exists?iA(this.serializer,e.document,!1):no.newNoDocument(this.Wo(e.metadata.name),this.zo(e.metadata.readTime))}zo(e){return im(e)}}class h2{constructor(e,t){this.Bu=e,this.serializer=t,this.Uu=[],this.ku=[],this.collectionGroups=new Set,this.progress=h3(e)}get queries(){return this.Uu}get documents(){return this.ku}qu(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;if(e.jo.namedQuery)this.Uu.push(e.jo.namedQuery);else if(e.jo.documentMetadata){this.ku.push({metadata:e.jo.documentMetadata}),e.jo.documentMetadata.exists||++t;let r=tc.fromString(e.jo.documentMetadata.name);this.collectionGroups.add(r.get(r.length-2))}else e.jo.document&&(this.ku[this.ku.length-1].document=e.jo.document,++t);return t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}$u(e){let t=new Map,r=new h1(this.serializer);for(let n of e)if(n.metadata.queries){let e=r.Wo(n.metadata.name);for(let r of n.metadata.queries){let n=(t.get(r)||nX()).add(e);t.set(r,n)}}return t}async Ku(e){let t=await u$(e,new h1(this.serializer),this.ku,this.Bu.id),r=this.$u(this.documents);for(let t of this.Uu)await uY(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Qu:this.collectionGroups,Wu:t}}}function h3(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class h8{constructor(e){this.key=e}}class h6{constructor(e){this.key=e}}class h5{constructor(e,t){this.query=e,this.Gu=t,this.zu=null,this.hasCachedResults=!1,this.current=!1,this.ju=nX(),this.mutatedKeys=nX(),this.Hu=Bh(e)?us(e):nH(e),this.Ju=new hj(this.Hu)}get Yu(){return this.Gu}Zu(e,t){let r=t?t.Xu:new hJ,n=t?t.Ju:this.Ju,i=t?t.mutatedKeys:this.mutatedKeys,s=n,a=!1,[o,B]=this.ec(this.query,n);e.inorderTraversal((e,t)=>
9{let l=n.get(e),u=ui(this.query,t)?t:null,h=!!l&&this.mutatedKeys.has(l.key),c=!!u&&(u.hasLocalMutations||this.mutatedKeys.has(u.key)&&u.hasCommittedMutations),d=!1;l&&u?l.data.isEqual(u.data)?h!==c&&(r.track({type:3,doc:u}),d=!0):this.tc(l,u)||(r.track({type:2,doc:u}),d=!0,(o&&this.Hu(u,o)>0||B&&0>this.Hu(u,B))&&(a=!0)):!l&&u?(r.track({type:0,doc:u}),d=!0):l&&!u&&(r.track({type:1,doc:l}),d=!0,(o||B)&&(a=!0)),d&&(u?(s=s.add(u),i=c?i.add(e):i.delete(e)):(s=s.delete(e),i=i.delete(e)))});let l=this.nc(this.query);if(l)if(Bh(this.query)){let e=[];s.forEach(t=>e.push(t));let t=ur(this.query,e),n=new hj(us(this.query));for(let e of t)n=n.add(e);s.forEach(e=>{n.has(e.key)||(i=i.delete(e.key),r.track({type:1,doc:e}))}),s=n}else{let e=this.rc(this.query);for(;s.size>l;){let t="F"===e?s.last():s.first();s=s.delete(t.key),i=i.delete(t.key),r.track({type:1,doc:t})}}return{Ju:s,Xu:r,Fo:a,mutatedKeys:i}}nc(e){return Bh(e)?ua(e)?.limit:e.limit||void 0}rc(e){if(Bh(e)){let t=ua(e);return t&&t.limit<0?"L":"F"}return e.limitType}ec(e,t){if(Bh(e)){let r=ua(e)?.limit;return[t.size===r?t.last():null,null]}return["F"===e.limitType&&t.size===this.nc(this.query)?t.last():null,"L"===e.limitType&&t.size===this.nc(this.query)?t.first():null]}tc(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){let i=this.Ju;this.Ju=e.Ju,this.mutatedKeys=e.mutatedKeys;let s=e.Xu.gu();s.sort((e,t)=>{var r,n;let i;return r=e.type,n=t.type,(i=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return e8(20277,{ye:e})}})(r)-i(n)||this.Hu(e.doc,t.doc)}),this.sc(r),n=n??!1;let a=t&&!n?this._c():[],o=0===this.ju.size&&this.current&&!n?1:0,B=o!==this.zu;return(this.zu=o,0!==s.length||B)?{snapshot:new hq(this.query,e.Ju,i,s,e.mutatedKeys,0===o,B,!1,!!r&&r.resumeToken.approximateByteSize()>0),oc:a}:{oc:a}}Du(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({Ju:this.Ju,Xu:new hJ,mutatedKeys:this.mutatedKeys,Fo:!1},!1)):{oc:[]}}ac(e){return!this.Gu.has(e)&&!!this.Ju.has(e)&&!this.Ju.get(e).hasLocalMutations}sc(e){e&&(e.addedDocuments.forEach(e=>this.Gu=this.Gu.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.Gu=this.Gu.delete(e)),this.current=e.current)}_c(){if(!this.current)return[];let e=this.ju;this.ju=nX(),this.Ju.forEach(e=>{this.ac(e.key)&&(this.ju=this.ju.add(e.key))});let t=[];return e.forEach(e=>{this.ju.has(e)||t.push(new h6(e))}),this.ju.forEach(r=>{e.has(r)||t.push(new h8(r))}),t}uc(e){this.Gu=e.Qo,this.ju=nX();let t=this.Zu(e.documents);return this.applyChanges(t,!0)}cc(){return hq.fromInitialDocuments(this.query,this.Ju,this.mutatedKeys,0===this.zu,this.hasCachedResults)}}let h4="SyncEngine";class h9{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class h7{constructor(e){this.key=e,this.lc=!1}}class ce{constructor(e,t,r,n,i,s){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=i,this.maxConcurrentLimboResolutions=s,this.Ec={},this.hc=new nJ(e=>Bd(e),BC),this.Tc=new Map,this.Pc=new Set,this.Rc=new tr(tD.comparator),this.Ic=new Map,this.Ac=new uE,this.Vc={},this.dc=new Map,this.fc=l4.ws(),this.onlineState="Unknown",this.mc=void 0}get isPrimaryClient(){return!0===this.mc}}async function ct(e,t,r=!0){let n,i=cN(e),s=i.hc.get(t);return s?(i.sharedClientState.addLocalQueryTarget(s.targetId),n=s.view.cc()):n=await cn(i,t,r,!0),n}async function cr(e,t){let r=cN(e);await cn(r,t,!0,!1)}async function cn(e,t,r,n){let i,s=await uJ(e.localStore,Bh(t)?t:nF(t)),a=s.targetId,o=e.sharedCl
9ientState.addLocalQueryTarget(a,r);return n&&(i=await ci(e,t,a,"current"===o,s.resumeToken)),e.isPrimaryClient&&r&&u5(e.remoteStore,s),i}async function ci(e,t,r,n,i){e.gc=(t,r,n)=>(async function(e,t,r,n){let i=t.view.Zu(r);i.Fo&&(i=await uK(e.localStore,t.query,!1).then(({documents:e})=>t.view.Zu(e,i)));let s=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),o=t.view.applyChanges(i,e.isPrimaryClient,s,a);return cg(e,t.targetId,o.oc),o.snapshot})(e,t,r,n);let s=await uK(e.localStore,t,!0),a=new h5(t,s.Qo),o=a.Zu(s.documents),B=n9.createSynthesizedTargetChangeForCurrentChange(r,n&&"Offline"!==e.onlineState,i),l=a.applyChanges(o,e.isPrimaryClient,B);cg(e,r,l.oc);let u=new h9(t,r,a);return e.hc.set(t,u),e.Tc.has(r)?e.Tc.get(r).push(t):e.Tc.set(r,[t]),l.snapshot}async function cs(e,t,r){let n=e.hc.get(t),i=e.Tc.get(n.targetId);i.length>1?(e.Tc.set(n.targetId,i.filter(e=>!BC(e,t))),e.hc.delete(t)):e.isPrimaryClient?(e.sharedClientState.removeLocalQueryTarget(n.targetId),e.sharedClientState.isActiveQueryTarget(n.targetId)||await uq(e.localStore,n.targetId,!1).then(()=>{e.sharedClientState.clearQueryState(n.targetId),r&&u4(e.remoteStore,n.targetId),cp(e,n.targetId)}).catch(sm)):(cp(e,n.targetId),await uq(e.localStore,n.targetId,!0))}async function ca(e,t){let r=e.hc.get(t),n=e.Tc.get(r.targetId);e.isPrimaryClient&&1===n.length&&(e.sharedClientState.removeLocalQueryTarget(r.targetId),u4(e.remoteStore,r.targetId))}async function co(e,t,r){let n=cF(e);try{var i,s;let e,a,o,B,l,u=await (i=n.localStore,o=tO.now(),B=t.reduce((e,t)=>e.add(t.key),nX()),i.persistence.runTransaction("Locally write mutations","readwrite",r=>{let n=nq,s=nX();return i.Uo.getEntries(r,B).next(e=>{(n=e).forEach((e,t)=>{t.isValidDocument()||(s=s.add(e))})}).next(()=>i.localDocuments.getOverlayedDocuments(r,n)).next(n=>{e=n;let s=[];for(let r of t){let t=function(e,t){let r=null;for(let n of e.fieldTransforms){let e=t.data.field(n.field),i=rw(n.transform,e||null);null!=i&&(null===r&&(r=rg.empty()),r.set(n.field,i))}return r||null}(r,e.get(r.key).overlayedDocument);null!=t&&s.push(new rJ(r.key,t,function e(t){let r=[];return tg(t.fields,(t,n)=>{let i=new tC([t]);if(rl(n)){let t=e(n.mapValue).fields;if(0===t.length)r.push(i);else for(let e of t)r.push(i.child(e))}else r.push(i)}),new tp(r)}(t.value.mapValue),rP.exists(!0)))}
9return i.mutationQueue.addMutationBatch(r,o,s,t)}).next(t=>{a=t;let n=t.applyToLocalDocumentSet(e,s);return i.documentOverlayCache.saveOverlays(r,t.batchId,n)})}).then(()=>({batchId:a.batchId,changes:nQ(e)})));n.sharedClientState.addPendingMutation(u.batchId),s=u.batchId,(l=n.Vc[n.currentUser.toKey()])||(l=new tr(e9)),l=l.insert(s,r),n.Vc[n.currentUser.toKey()]=l,await cE(n,u.changes),await hl(n.remoteStore)}catch(t){let e=hw(t,"Failed to persist write");r.reject(e)}}async function cB(e,t){try{var r,n;let i,s,a=await (r=e.localStore,i=(n=t).snapshotVersion,s=r.No,r.persistence.runTransaction("Apply remote event","readwrite-primary",e=>{let t=r.Uo.newChangeBuffer({trackRemovals:!0});s=r.No;let a=[];n.targetChanges.forEach((t,o)=>{var B;let l=s.get(o);if(!l)return;a.push(r.A_.removeMatchingKeys(e,t.removedDocuments,o).next(()=>r.A_.addMatchingKeys(e,t.addedDocuments,o)));let u=l.withSequenceNumber(e.currentSequenceNumber);null!==n.targetMismatches.get(o)?u=u.withResumeToken(tF.EMPTY_BYTE_STRING,na.min()).withLastLimboFreeSnapshotVersion(na.min()):t.resumeToken.approximateByteSize()>0&&(u=u.withResumeToken(t.resumeToken,i)),s=s.insert(o,u),B=u,(0===l.resumeToken.approximateByteSize()||B.snapshotVersion.toMicroseconds()-l.snapshotVersion.toMicroseconds()>=3e8||t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size>0)&&a.push(r.A_.updateTargetData(e,u))});let o=nq,B=nX();if(n.documentUpdates.forEach(t=>{n.resolvedLimboDocuments.has(t)&&a.push(r.persistence.referenceDelegate.updateLimboDocument(e,t))}),a.push(uj(e,t,n.documentUpdates).next(e=>{o=e.$o,B=e.Ko})),!i.isEqual(na.min())){let t=r.A_.getLastRemoteSnapshotVersion(e).next(t=>r.A_.setTargetsMetadata(e,e.currentSequenceNumber,i));a.push(t)}return sE.waitFor(a).next(()=>t.apply(e)).next(()=>r.localDocuments.getLocalViewOfDocuments(e,o,B)).next(()=>o)}).then(e=>(r.No=s,e)));
9t.targetChanges.forEach((t,r)=>{let n=e.Ic.get(r);n&&(e5(t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size<=1,22616),t.addedDocuments.size>0?n.lc=!0:t.modifiedDocuments.size>0?e5(n.lc,14607):t.removedDocuments.size>0&&(e5(n.lc,42227),n.lc=!1))}),await cE(e,a,t)}catch(e){await sm(e)}}function cl(e,t,r){if(e.isPrimaryClient&&0===r||!e.isPrimaryClient&&1===r){var n;let r,i=[];e.hc.forEach((e,r)=>{let n=r.view.Du(t);n.snapshot&&i.push(n.snapshot)}),(n=e.eventManager).onlineState=t,r=!1,n.queries.forEach((e,n)=>{for(let e of n.wu)e.Du(t)&&(r=!0)}),r&&hZ(n),i.length&&e.Ec.hn(i),e.onlineState=t,e.isPrimaryClient&&e.sharedClientState.setOnlineState(t)}}async function cu(e,t,r){e.sharedClientState.updateQueryState(t,"rejected",r);let n=e.Ic.get(t),i=n&&n.key;if(i){let r=new tr(tD.comparator);r=r.insert(i,no.newNoDocument(i,na.min()));let n=nX().add(i),s=new n4(na.min(),new Map,new tr(e9),r,nq,n);await cB(e,s),e.Rc=e.Rc.remove(i),e.Ic.delete(t),cm(e)}else await uq(e.localStore,t,!1).then(()=>cp(e,t,r)).catch(sm)}async function ch(e,t){let r=t.batch.batchId;try{var n,i;let s=await (n=e.localStore,i=t,n.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t,r,s,a=i.batch.keys(),o=n.Uo.newChangeBuffer({trackRemovals:!0});return(r=(t=i.batch).keys(),s=sE.resolve(),r.forEach(r=>{s=s.next(()=>o.getEntry(e,r)).next(e=>{let n=i.docVersions.get(r);e5(null!==n,48541),0>e.version.compareTo(n)&&(t.applyToRemoteDocument(e,i),e.isValidDocument()&&(e.setReadTime(i.commitVersion),o.addEntry(e)))})}),s.next(()=>n.mutationQueue.removeMutationBatch(e,t))).next(()=>o.apply(e)).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,a,i.batch.batchId)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,function(e){let t=nX();for(let r=0;r<e.mutationResults.length;++r)e.mutationResults[r].transformResults.length>0&&(t=t.add(e.batch.mutations[r].key));return t}(i))).next(()=>n.localDocuments.getDocuments(e,a))}));cC(e,r,null),cd(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await cE(e,s)}catch(e){await sm(e)}}async function cc(e,t,r){try{var n;let i=await (n=e.localStore,n.persistence.runTransaction("Reject batch","readwrite-primary",e=>{let r;
9return n.mutationQueue.lookupMutationBatch(e,t).next(t=>(e5(null!==t,37113),r=t.keys(),n.mutationQueue.removeMutationBatch(e,t))).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,r,t)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,r)).next(()=>n.localDocuments.getDocuments(e,r))}));cC(e,t,r),cd(e,t),e.sharedClientState.updateMutationState(t,"rejected",r),await cE(e,i)}catch(e){await sm(e)}}function cd(e,t){(e.dc.get(t)||[]).forEach(e=>{e.resolve()}),e.dc.delete(t)}function cC(e,t,r){let n=e.Vc[e.currentUser.toKey()];if(n){let i=n.get(t);i&&(r?i.reject(r):i.resolve(),n=n.remove(t)),e.Vc[e.currentUser.toKey()]=n}}function cp(e,t,r=null){for(let n of(e.sharedClientState.removeLocalQueryTarget(t),e.Tc.get(t)))e.hc.delete(n),r&&e.Ec.yc(n,r);e.Tc.delete(t),e.isPrimaryClient&&e.Ac.Xs(t).forEach(t=>{e.Ac.containsKey(t)||cf(e,t)})}function cf(e,t){e.Pc.delete(t.path.canonicalString());let r=e.Rc.get(t);null!==r&&(u4(e.remoteStore,r),e.Rc=e.Rc.remove(t),e.Ic.delete(r),cm(e))}function cg(e,t,r){for(let n of r)n instanceof h8?(e.Ac.addReference(n.key,t),function(e,t){let r=t.key,n=r.path.canonicalString();e.Rc.get(r)||e.Pc.has(n)||(e0(h4,"New document in limbo: "+r),e.Pc.add(n),cm(e))}(e,n)):n instanceof h6?(e0(h4,"Document no longer in limbo: "+n.key),e.Ac.removeReference(n.key,t),e.Ac.containsKey(n.key)||cf(e,n.key)):e8(19791,{wc:n})}function cm(e){for(;e.Pc.size>0&&e.Rc.size<e.maxConcurrentLimboResolutions;){let t=e.Pc.values().next().value;e.Pc.delete(t);let r=new tD(tc.fromString(t)),n=e.fc.next();e.Ic.set(n,new h7(r)),e.Rc=e.Rc.insert(r,n),u5(e.remoteStore,new lf(nF(nS(r.path)),n,"TargetPurposeLimboResolution",sp.yn))}}async function cE(e,t,r){let n=[],i=[],s=[];e.hc.isEmpty()||(e.hc.forEach((a,o)=>{s.push(e.gc(o,t,r).then(t=>{if((t||r)&&e.isPrimaryClient){let n=t?!t.fromCache:r?.targetChanges.get(o.targetId)?.current;e.sharedClientState.updateQueryState(o.targetId,n?"current":"not-current")}if(t){n.push(t);let e=uL.fo(o.targetId,t);i.push(e)}}))}),await Promise.all(s),e.Ec.hn(n),await async function(e,t){try{await e.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>sE.forEach(t,t=>sE.forEach(t.Ao,n=>e.persistence.referenceDelegate.addReference(r,t.targetId,n)).next(()=>sE.forEach(t.Vo,n=>e.persistence.referenceDelegate.removeReference(r,t.targetId,n)))))}catch(e){if(!sb(e))throw e;e0(uG,"Failed to update sequence numbers: "+e)}for(let r of t){let t=r.targetId;if(!r.fromCache){let r=e.No.get(t),n=r.snapshotVersion,i=r.withLastLimboFreeSnapshotVersion(n);e.No=e.No.insert(t,i)}}}(e.localStore,i))}async function cD(e,t){if(!e.currentUser.isEqual(t)){e0(h4,"User change. New user:",t.toKey());let r=await uU(e.localStore,t);e.currentUser=t,e.dc.forEach(e=>{e.forEach(e=>{e.reject(new tl(tB.CANCELLED,"'waitForPendingWrites' promise is rejected due to a user change."))})}),e.dc.clear(),e.sharedClientState.handleUserChange(t,r.removedBatchIds,r.addedBatchIds),await cE(e,r.qo)}}function cy(e,t){let r=e.Ic.get(t);if(r&&r.lc)return nX().add(r.key);{let r=nX(),n=e.Tc.get(t);if(!n)return r;for(let t of n??[]){let n=e.hc.get(t);r=r.unionWith(n.view.Yu)}return r}}async function cw(e,t){let r=await uK(e.localStore,t.query,!0),n=t.view.uc(r);return e.isPrimaryClient&&cg(e,t.targetId,n.oc),n}async function cI(e,t){return uQ(e.localStore,t).then(t=>cE(e,t))}async function cv(e,t,r,n){var i,s;let a,o=await (i=e.localStore,a=i.mutationQueue,i.persistence.runTransaction("Lookup mutation documents","readonly",e=>a.Qr(e,t).next(t=>t?i.localDocuments.getDocuments(e,t):sE.resolve(null))));null!==o?("pending"===r?await hl(e.remoteStore):"acknowledged"===r||"rejected"===r?(cC(e,t,n||null),cd(e,t),s=e.localStore,s.mutationQueue.jr(t)):e8(6720,"Unknown batchState",{bc:r}),await cE(e,o)):e0(h4,"Cannot apply mutation batch with id: "+t)}async function c_(e,t){if(cN(e),cF(e),!0===t&&!0!==e.mc){let t=e.sharedClientState.getAllActiveQueryTargets(),r=await cb(e,t.toArray());for(let t of(e.mc=!0,await hg(e.remoteStore,!0),r))u5(e.remoteStore,t)}else if(!1===t&&!1!==e.mc){let t=[],r=Promise.resolve();
9e.Tc.forEach((n,i)=>{e.sharedClientState.isLocalQueryTarget(i)?t.push(i):r=r.then(()=>(cp(e,i),uq(e.localStore,i,!0))),u4(e.remoteStore,i)}),await r,await cb(e,t),e.Ic.forEach((t,r)=>{u4(e.remoteStore,r)}),e.Ac.e_(),e.Ic=new Map,e.Rc=new tr(tD.comparator),e.mc=!1,await hg(e.remoteStore,!1)}}async function cb(e,t,r){let n=[],i=[];for(let r of t){let t,s=e.Tc.get(r);if(s&&0!==s.length)for(let r of(t=await uJ(e.localStore,Bh(s[0])?s[0]:nF(s[0])),s)){let t=e.hc.get(r),n=await cw(e,t);n.snapshot&&i.push(n.snapshot)}else{let n=await uz(e.localStore,r);t=await uJ(e.localStore,n),await ci(e,cT(n),r,!1,t.resumeToken)}n.push(t)}return e.Ec.hn(i),n}function cT(e){var t,r,n,i,s;return nw(e)?e:(t=e.path,r=e.collectionGroup,n=e.orderBy,i=e.filters,s=e.limit,new nT(t,r,n,i,s,"F",e.startAt,e.endAt))}function cS(e){return e.localStore.persistence.Ro()}async function cA(e,t,r,n){if(e.mc)return void e0(h4,"Ignoring unexpected query state notification.");let i=e.Tc.get(t);if(i&&i.length>0)switch(r){case"current":case"not-current":{var s,a;let n,o;if(Bh(i[0]))switch(aG(i[0])){case"collection_group":case"collection":n=await uQ(e.localStore,aV(i[0]));break;case"documents":n=await (s=e.localStore,o=nX(...aj(i[0]).map(e=>tD.fromPath(e))),s.persistence.runTransaction("Get documents for pipeline","readonly",e=>s.Uo.getEntries(e,o)).then(e=>e));break;default:e2(""),n=nz()}else n=await uQ(e.localStore,(a=i[0]).collectionGroup||(a.path.length%2==1?a.path.lastSegment():a.path.get(a.path.length-2)));let B=n4.createSynthesizedRemoteEventForCurrentChange(t,"current"===r,tF.EMPTY_BYTE_STRING);await cE(e,n,B);break}case"rejected":await uq(e.localStore,t,!0),cp(e,t,n);break;default:e8(64155,r)}}async function cO(e,t,r){let n=cN(e);if(n.mc){for(let e of t){if(n.Tc.has(e)&&n.sharedClientState.isActiveQueryTarget(e)){e0(h4,"Adding an already active target "+e);continue}let t=await uz(n.localStore,e),r=await uJ(n.localStore,t);await ci(n,cT(t),r.targetId,!1,r.resumeToken),u5(n.remoteStore,r)}for(let e of r)n.Tc.has(e)&&await uq(n.localStore,e,!1).then(()=>{u4(n.remoteStore,e),cp(n,e)}).catch(sm)}}function cN(e){return e.remoteStore.remoteSyncer.applyRemoteEvent=cB.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=cy.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=cu.bind(null,e),e.Ec.hn=hY.bind(null,e.eventManager),e.Ec.yc=hX.bind(null,e.eventManager),e}function cF(e){return e.remoteStore.remoteSyncer.applySuccessfulWrite=ch.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=cc.bind(null,e),e}class cx{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=iV(e.databaseInfo.databaseId),this.sharedClientState=this.Sc(e),this.persistence=this.vc(e),await this.persistence.start(),this.localStore=this.Dc(e),this.gcScheduler=this.xc(e,this.localStore),this.indexBackfillerScheduler=this.Cc(e,this.localStore)}xc(e,t){return null}Cc(e,t){return null}Dc(e){var t,r;return t=this.persistence,r=new uM,new uH(t,r,e.initialUser,this.serializer)}vc(e){return new u_(uT.w_,this.serializer)}Sc(e){return new hH}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}cx.provider={build:()=>new cx};class cR extends cx{constructor(e){super(),this.cacheSizeBytes=e}xc(e,t){return e5(this.persistence.referenceDelegate instanceof uS,46915),new sR(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}vc(e){let t=void 0!==this.cacheSizeBytes?sC.withCacheSize(this.cacheSizeBytes):sC.DEFAULT;return new u_(e=>uS.w_(e,t),this.serializer)}}class cL extends cx{constructor(e,t,r){super(),this.Fc=e,this.cacheSizeBytes=t,this.forceOwnership=r,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.Fc.initialize(this,e),await cF(this.Fc.syncEngine),await hl(this.Fc.remoteStore),await this.persistence.X_(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}Dc(e){var t,r;return t=this.persistence,r=new uM,new uH(t,r,e.initialUser,this.serializer)}xc(e,t){return new sR(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Cc(e,t){let r=new hb(t,this.persistence);return new h_(e.asyncQueue,r)}vc(e){let t=uR(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?sC.withCacheSize(this.cacheSizeBytes):sC.DEFAULT;return new ux(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,hU(),hV(),this.serializer,this.sharedCl
9ientState,!!this.forceOwnership)}Sc(e){return new hH}}class ck{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=e=>cl(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=cD.bind(null,this.syncEngine),await hg(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new hz}createDatastore(e){var t;let r=iV(e.databaseInfo.databaseId),n=new si(e.databaseInfo);return t=e.authCredentials,new sh(t,e.appCheckCredentials,n,r)}createRemoteStore(e){var t,r;return t=this.localStore,r=this.datastore,new u2(t,r,e.asyncQueue,e=>cl(this.syncEngine,e,0),i6.Je()?new i6:new i3)}createSyncEngine(e,t){var r,n,i,s,a,o;let B;return r=this.localStore,n=this.remoteStore,i=this.eventManager,s=this.sharedClientState,a=e.initialUser,o=e.maxConcurrentLimboResolutions,B=new ce(r,n,i,s,a,o),t&&(B.mc=!0),B}async terminate(){await async function(e){e0(u1,"RemoteStore shutting down."),e.ca.add(5),await u8(e),e.Ea.shutdown(),e.ha.set("Unknown")}(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}}ck.provider={build:()=>new ck};class cP{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw this.lastTransactionError=new tl(tB.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let t=await async function(e,t){let r={documents:t.map(t=>iw(e.serializer,t))},n=await e.st("BatchGetDocuments",e.serializer.databaseId,tc.emptyPath(),r,t.length),i=new Map;n.forEach(t=>{var r;let n,s,a,o,B,l,u=(r=e.serializer,"found"in t?(e5(!!t.found,43571),t.found.name,t.found.updateTime,n=iI(r,t.found.name),s=im(t.found.updateTime),a=t.found.createTime?im(t.found.createTime):na.min(),o=new rg({mapValue:{fields:t.found.fields}}),no.newFoundDocument(n,s,a,o)):"missing"in t?(e5(!!t.missing,3894),e5(!!t.readTime,22933),B=iI(r,t.missing),l=im(t.readTime),no.newNoDocument(B,l)):e8(7234,{result:t}));i.set(u.key.toString(),u)});let s=[];return t.forEach(e=>{let t=i.get(e.toString());e5(!!t,55234,{key:e}),s.push(t)}),s}(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new rQ(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let e=this.readVersions;this.mutations.forEach(t=>{e.delete(t.key.toString())}),e.forEach((e,t)=>{let r=tD.fromPath(t);this.mutations.push(new rW(r,this.precondition(r)))}),await async function(e,t){let r={writes:t.map(t=>iO(e.serializer,t))};await e.tt("Commit",e.serializer.databaseId,tc.emptyPath(),r)}(this.datastore,this.mutations),this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw e8(50498,{Oc:e.constructor.name});t=na.min()}let r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new tl(tB.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){let t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(na.min())?rP.exists(!1):rP.updateTime(t):rP.none()}preconditionForUpdate(e){let t=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&t){if(t.isEqual(na.min()))throw new tl(tB.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return rP.updateTime(t)}return rP.exists(!0)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class cM{constructor(e,t,r,n,i){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=i,this.Mc=r.maxAttempts,this.jt=ne
9w ss(this.asyncQueue,"transaction_retry")}Nc(){this.Mc-=1,this.Lc()}Lc(){this.jt.Ut(async()=>{let e=new cP(this.datastore),t=this.Bc(e);t&&t.then(t=>{this.asyncQueue.enqueueAndForget(()=>e.commit().then(()=>{this.deferred.resolve(t)}).catch(e=>{this.Uc(e)}))}).catch(e=>{this.Uc(e)})})}Bc(e){try{let t=this.updateFunction(e);return!tQ(t)&&t.catch&&t.then?t:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}Uc(e){this.Mc>0&&this.kc(e)?(this.Mc-=1,this.asyncQueue.enqueueAndForget(()=>(this.Lc(),Promise.resolve()))):this.deferred.reject(e)}kc(e){if("FirebaseError"===e?.name){let t=e.code;return"aborted"===t||"failed-precondition"===t||"already-exists"===t||!nV(t)}return!1}}let cG="FirestoreClient";class cH{constructor(e,t,r,n,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this._databaseInfo=n,this.user=iz.UNAUTHENTICATED,this.clientId=e4.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async e=>{e0(cG,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(e0(cG,"Received new app check token=",e),this.appCheckCredentialListener(e,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();let e=new iQ;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(r){let t=hw(r,"Failed to shutdown persistence");e.reject(t)}}),e.promise}}async function cU(e,t){e.asyncQueue.verifyOperationInProgress(),e0(cG,"Initializing OfflineComponentProvider");let r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await uU(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function cV(e,t){e.asyncQueue.verifyOperationInProgress();let r=await cj(e);e0(cG,"Initializing OnlineComponentProvider"),await t.initialize(r,e.configuration),e.setCredentialChangeListener(e=>hf(t.remoteStore,e)),e.setAppCheckTokenChangeListener((e,r)=>hf(t.remoteStore,r)),e._onlineComponents=t}async function cj(e){if(!e._offlineComponents)if(e._uninitializedComponentsProvider){e0(cG,"Using user provided OfflineComponentProvider");try{await cU(e,e._uninitializedComponentsProvider._offline)}catch(t){if(!("FirebaseError"===t.name?t.code===tB.FAILED_PRECONDITION||t.code===tB.UNIMPLEMENTED:!("u">typeof DOMException&&t instanceof DOMException)||22===t.code||20===t.code||11===t.code))throw t;e2("Error using user provided cache. Falling back to memory cache: "+t),await cU(e,new cx)}}else e0(cG,"Using default OfflineComponentProvider"),await cU(e,new cR(void 0));return e._offlineComponents}async function cJ(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(e0(cG,"Using user provided OnlineComponentProvider"),await cV(e,e._uninitializedComponentsProvider._online)):(e0(cG,"Using default OnlineComponentProvider"),await cV(e,new ck))),e._onlineComponents}function cq(e){return cj(e).then(e=>e.localStore)}function cK(e){return cJ(e).then(e=>e.syncEngine)}function cz(e){return cJ(e).then(e=>e.datastore)}async function cQ(e){let t=await cJ(e),r=t.eventManager;return r.onListen=ct.bind(null,t.syncEngine),r.onUnlisten=cs.bind(null,t.syncEngine),r.onFirstRemoteStoreListen=cr.bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=ca.bind(null,t.syncEngine),r}function cW(e,t,r,n){let i=new hD(n),s=new h0(t,i,r);return e.asyncQueue.enqueueAndForget(async()=>hW(await cQ(e),s)),()=>{i.Aa(),e.asyncQueue.enqueueAndForget(async()=>h$(await cQ(e),s))}}function c$(e,t,r={}){let n=new iQ;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await cQ(e),s=e.asyncQueue,a=new hD({next:e=>{a.Aa(),s.enqueueAndForget(()=>h$(i,o));let B=e.docs.has(t);!B&&e.fromCache?n.reject(new tl(tB.UNAVAILABLE,"Failed to get document because the client is offline.")):B&&e.fromCache&&r&&"server"===r.source?n.reject(new tl(tB.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):n.resolve(e)},error:e=>n.reject(e)}),hW(i,o=new h0(nS(t.path),a,{includeMetadataChanges:!0,waitForSyncWhe
9nOnline:!0}))}),n.promise}function cY(e,t,r={}){let n=new iQ;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await cQ(e),s=e.asyncQueue,a=new hD({next:e=>{a.Aa(),s.enqueueAndForget(()=>h$(i,o)),e.fromCache&&"server"===r.source?n.reject(new tl(tB.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.)')):n.resolve(e)},error:e=>n.reject(e)}),hW(i,o=new h0(t instanceof aP?function(e){let t=function(e){let t=!1,r=[];for(let n of e)if(n instanceof aR)if(t=!0,n.orderings.some(e=>e.expr instanceof ah&&e.expr.fieldName===tu))r.push(n);else{let e=n.orderings.map(e=>e);e.push(ac(tu).ascending()),r.push(new aR(e,{}))}else n instanceof aN&&(t||(r.push(new aR([ac(tu).ascending()],{})),t=!0)),r.push(n);return t||r.push(new aR([ac(tu).ascending()],{})),r}(e.stages);if(e.userDataReader){let r=e.userDataReader.createContext(3,"toCorePipeline");t.forEach(e=>e._readUserData(r))}return new aM(e.userDataReader.serializer,t,void 0)}(t):t,a,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0}))}),n.promise}function cX(e,t){let r=new iQ;return e.asyncQueue.enqueueAndForget(async()=>co(await cK(e),t,r)),r.promise}let cZ=class{constructor(e,t,r,n,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new sG(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){let e=new c0(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){let t=this._document.data.field(s5("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}},c0=class extends cZ{data(){return super.data()}};class c1{convertValue(e,t="none"){switch(t6(e)){case 0:return null;case 1:return e.booleanValue;case 2:return tL(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(tk(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 e8(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){let r={};return tg(e,(e,n)=>{r[e]=this.convertValue(n,t)}),r}convertVectorValue(e){return new sU(e.fields?.[t1].arrayValue?.values?.map(e=>tL(e.doubleValue)))}convertGeoPoint(e){return new iK(tL(e.latitude),tL(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":let r=tV(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(tj(e));default:return null}}convertTimestamp(e){let t=tR(e);return new tO(t.seconds,t.nanos)}convertDocumentKey(e,t){let r=tc.fromString(e);e5(iM(r),9688,{name:e});let n=new tK(r.get(1),r.get(3)),i=new tD(r.popFirst(5));return n.isEqual(t)||e1(`A document reference to ${i} refers to 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.`),i}}function c2(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}let c3="AsyncQueue";class c8{constructor(e=Promise.resolve()){this.qc=[],this.$c=!1,this.Kc=[],this.Qc=null,this.Wc=!1,this.Gc=!1,this.zc=[],this.jt=new ss(this,"async_queue_retry"),this.jc=()=>{let e=hV();e&&e0(c3,"Visibility state changed to "+e.visibilityState),this.jt.qt()},this.Hc=e;const t=hV();t&&"function"==typeof t.addEventListener&&t.addEventListener("visibilitychange",this.jc)}get isShuttingDown(){return this.$c}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Jc(),this.Yc(e)}enterRestrictedMode(e){if(!this.$c){this.$c=!0,this.Gc=e||!1;let t=hV();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.jc)}}enqueue(e){if(this.Jc(),this.$c)return new Promise(()=>{});let t=new iQ;
9return this.Yc(()=>this.$c&&this.Gc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.qc.push(e),this.Zc()))}async Zc(){if(0!==this.qc.length){try{await this.qc[0](),this.qc.shift(),this.jt.reset()}catch(e){if(!sb(e))throw e;e0(c3,"Operation failed with retryable error: "+e)}this.qc.length>0&&this.jt.Ut(()=>this.Zc())}}Yc(e){let t=this.Hc.then(()=>(this.Wc=!0,e().catch(e=>{throw this.Qc=e,this.Wc=!1,e1("INTERNAL UNHANDLED ERROR: ",c6(e)),e}).then(e=>(this.Wc=!1,e))));return this.Hc=t,t}enqueueAfterDelay(e,t,r){this.Jc(),this.zc.indexOf(e)>-1&&(t=0);let n=hy.createAndSchedule(this,e,t,r,e=>this.Xc(e));return this.Kc.push(n),n}Jc(){this.Qc&&e8(47125,{el:c6(this.Qc)})}verifyOperationInProgress(){}async tl(){let e;do e=this.Hc,await e;while(e!==this.Hc)}nl(e){for(let t of this.Kc)if(t.timerId===e)return!0;return!1}rl(e){return this.tl().then(()=>{for(let t of(this.Kc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs),this.Kc))if(t.skipDelay(),"all"!==e&&t.timerId===e)break;return this.tl()})}il(e){this.zc.push(e)}Xc(e){let t=this.Kc.indexOf(e);this.Kc.splice(t,1)}}function c6(e){let t=e.message||"";return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack),t}class c5{constructor(){this._progressObserver={},this._taskCompletionResolver=new iQ,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}catch(e){return this._taskCompletionResolver.promise.catch(e)}then(e,t){return this._taskCompletionResolver.promise.then(e,t)}_completeWith(e){this._updateProgress(e),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(e)}_failWith(e){this._lastProgress.taskState="Error",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(e),this._taskCompletionResolver.reject(e)}_updateProgress(e){this._lastProgress=e,this._progressObserver.next&&this._progressObserver.next(e)}}class c4 extends sP{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new c8,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let e=this._firestoreClient.terminate();this._queue=new c8(e),this._firestoreClient=void 0,await e}}}function c9(e){if(e._terminated)throw new tl(tB.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||function(e){var t,r,n,i,s;let a,o=e._freezeSettings(),B=(t=e._databaseId,r=e._app?.options.appId||"",n=e._persistenceKey,i=e._app?.options.apiKey,new tJ(t,r,n,o.host,o.ssl,o.experimentalForceLongPolling,o.experimentalAutoDetectLongPolling,i2(o.experimentalLongPollingOptions),o.useFetchStreams,o.isUsingEmulator,i,o._customHeaders,o.grpcFlowControlWindow));e._componentsProvider||o.localCache?._offlineComponentProvider&&o.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:o.localCache._offlineComponentProvider,_online:o.localCache._onlineComponentProvider}),e._firestoreClient=new cH(e._authCredentials,e._appCheckCredentials,e._queue,B,e._componentsProvider&&(s=e._componentsProvider,a=s?._online.build(),{_offline:s?._offline.build(a),_online:a}))}(e),e._firestoreClient}class c7 extends c1{constructor(e){super(),this.firestore=e}convertBytes(e){return new ij(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new sG(this.firestore,null,t)}}class de{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class dt extends cZ{constructor(e,t,r,n,i,s){super(e,t,r,n,s),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){let t=new dr(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){let r=this._document.data.field(s5("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new tl(tB.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e=this._document,t={};return t.type=dt._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&
9(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),this._firestore,this.ref.path,t.bundle="NOT SUPPORTED"),t}}dt._jsonSchemaVersion="firestore/documentSnapshot/1.0",dt._jsonSchema={type:tS("string",dt._jsonSchemaVersion),bundleSource:tS("string","DocumentSnapshot"),bundleName:tS("string"),bundle:tS("string")};class dr extends dt{data(e={}){return super.data(e)}}class dn{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new de(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new dr(this._firestore,this._userDataWriter,r.key,r,new de(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){let t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new tl(tB.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(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map(r=>{Bh(e._snapshot.query)?us(e._snapshot.query):nH(e.query._query);let n=new dr(e._firestore,e._userDataWriter,r.doc.key,r.doc,new de(e._snapshot.mutatedKeys.has(r.doc.key),e._snapshot.fromCache),e.query.converter);return r.doc,{type:"added",doc:n,oldIndex:-1,newIndex:t++}})}{let r=e._snapshot.oldDocs;return e._snapshot.docChanges.filter(e=>t||3!==e.type).map(t=>{let n=new dr(e._firestore,e._userDataWriter,t.doc.key,t.doc,new de(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter),i=-1,s=-1;return 0!==t.type&&(i=r.indexOf(t.doc.key),r=r.delete(t.doc.key)),1!==t.type&&(s=(r=r.add(t.doc)).indexOf(t.doc.key)),{type:function(e){switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return e8(61501,{type:e})}}(t.type),doc:n,oldIndex:i,newIndex:s}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new tl(tB.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e={};e.type=dn._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=e4.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),this._firestore,this.query._query,e.bundleName,e.bundle="NOT SUPPORTED",e}}function di(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new tl(tB.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}dn._jsonSchemaVersion="firestore/querySnapshot/1.0",dn._jsonSchema={type:tS("string",dn._jsonSchemaVersion),bundleSource:tS("string","QuerySnapshot"),bundleName:tS("string"),bundle:tS("string")},e.s(["$",0,function(e,t,r){let n=new iQ;return e.asyncQueue.enqueueAndForget(async()=>{let i=await cz(e);new cM(e.asyncQueue,i,r,t,n).Nc()}),n.promise},"A",0,e2,"B",0,cX,"C",0,r1,"D",0,dt,"E",0,tm,"F",0,r0,"G",0,class{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}},"H",0,function(e,t,r){let n=new iQ;return e.asyncQueue.enqueueAndForget(async()=>{try{let i=await cz(e);n.resolve(async function(e,t,r){var n;let{request:i,Se:s,parent:a}=function(e,t,r){let{be:n,parent:i}=ix(e,t),s={},a=[],o=0;return r.forEach(e=>{let t="aggregate_"+o++;s[t]=e.alias,"count"===e.aggregateType?a.push({alias:t,count:{}}):"avg"===e.aggregateType?a.push({alias:t,avg:{field:ik(e.fieldPath)}}):"sum"===e.aggregateType&&a.push({alias:t,sum:{field:ik(e.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:a,structuredQuery:n.structuredQuery},parent:n.parent},Se:s,parent:i}}(e.serializer,((n=t).V||(n.V=nx(n,n.explicitOrderBy)),n.V),r);e.connection.Ye||delete i.parent;
9let o=(await e.st("RunAggregationQuery",e.serializer.databaseId,a,i,1)).filter(e=>!!e.result);e5(1===o.length,64727);let B=o[0].result?.aggregateFields;return Object.keys(B).reduce((e,t)=>(e[s[t]]=B[t],e),{})}(i,t,r))}catch(e){n.reject(e)}}),n.promise},"I",0,sG,"J",0,c$,"K",0,s5,"L",0,function(e,t){let r=new iQ;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await e.persistence.runTransaction("read document","readonly",r=>e.localDocuments.getDocument(r,t));n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new tl(tB.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"))}catch(n){let e=hw(n,`Failed to get document '${t} from cache`);r.reject(e)}})(await cq(e),t,r)),r.promise},"M",0,cY,"N",0,dn,"O",0,rg,"P",0,rP,"Q",0,sM,"R",0,function(e,t){let r=new iQ;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await uK(e,t,!0),i=new h5(t,n.Qo),s=i.Zu(n.documents),a=i.applyChanges(s,!1);r.resolve(a.snapshot)}catch(n){let e=hw(n,`Failed to execute query '${t} against cache`);r.reject(e)}})(await cq(e),t,r)),r.promise},"S",0,de,"T",0,tT,"U",0,nS,"V",0,cW,"W",0,function(e,t){let r=c9(e=tb(e,c4)),n=new c5;return function(e,t,r,n){var i;let s=(i=iV(t),new hI(function(e){if(e instanceof Uint8Array)return uZ(e,void 0);if(e instanceof ArrayBuffer)return uZ(new Uint8Array(e),void 0);if(e instanceof ReadableStream)return e.getReader();throw Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")}("string"==typeof r?n1().encode(r):r),i));e.asyncQueue.enqueueAndForget(async()=>{var t=await cK(e);(async function(e,t,r){try{var n,i;let s,a=await t.getMetadata();if(await (n=e.localStore,s=im(a.createTime),n.persistence.runTransaction("hasNewerBundle","readonly",e=>n.d_.getBundleMetadata(e,a.id)).then(e=>!!e&&e.createTime.compareTo(s)>=0)))return await t.close(),r._completeWith({taskState:"Success",documentsLoaded:a.totalDocuments,bytesLoaded:a.totalBytes,totalDocuments:a.totalDocuments,totalBytes:a.totalBytes}),Promise.resolve(new Set);r._updateProgress(h3(a));let o=new h2(a,t.serializer),B=await t.ma();for(;B;){let e=await o.qu(B);e&&r._updateProgress(e),B=await t.ma()}let l=await o.Ku(e.localStore);return await cE(e,l.Wu,void 0),await (i=e.localStore,i.persistence.runTransaction("Save bundle","readwrite",e=>i.d_.saveBundleMetadata(e,a))),r._completeWith(l.progress),Promise.resolve(l.Qu)}catch(e){return e2(h4,`Loading bundle failed with ${e}`),r._failWith(e),Promise.resolve(new Set)}})(t,s,n).then(e=>{t.sharedClientState.notifyBundleLoaded(e)})})}(r,e._databaseId,t,n),n},"X",0,function(e,t){var r;return(r=c9(e=tb(e,c4)),r.asyncQueue.enqueue(async()=>{var e;return e=await cq(r),e.persistence.runTransaction("Get named query","readonly",r=>e.d_.getNamedQuery(r,t))})).then(t=>t?new sM(e,null,t.query):null)},"Y",0,tD,"Z",0,function(e,t){let r=new hD(t);return e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await cQ(e),void(t.vu.add(r),r.next())}),()=>{r.Aa(),e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await cQ(e),void t.vu.delete(r)})}},"_",0,iY,"a",0,i1,"a0",0,s9,"a1",0,nc,"a2",0,nB,"a3",0,nd,"a4",0,function(e,t){return e.asyncQueue.enqueue(async()=>(async function(e,t){let r=e.indexManager,n=[];return e.persistence.runTransaction("Configure indexes","readwrite",e=>r.getFieldIndexes(e).next(i=>(function(e,t,r,n,i){t=[...t],(e=[...e]).sort(r),t.sort(r);let s=e.length,a=t.length,o=0,B=0;for(;o<a&&B<s;){let s=r(e[B],t[o]);s<0?i(e[B++]):s>0?n(t[o++]):(o++,B++)}for(;o<a;)n(t[o++]);for(;B<s;)i(e[B++])})(i,t,nh,t=>{n.push(r.addFieldIndex(e,t))},t=>{n.push(r.deleteFieldIndex(e,t))})).next(()=>sE.waitFor(n)))})(await cq(e),t))},"a5",0,cZ,"a6",0,nN,"a7",0,rr,"a8",0,tU,"a9",0,r$,"aJ",0,function(...e){return new sX("arrayUnion",e)},"aL",0,function(e,t,...r){if(e=(0,E.getModularInstance)(e),ty("collection","path",t),e instanceof sP){let n=tc.fromString(t,...r);return tI(n),new sH(e,null,n)}{if(!(e instanceof sG||e instanceof sH))throw new tl(tB.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(tc.fromString(t,...r));
9return tI(n),new sH(e.firestore,null,n)}},"aO",0,function(){return new s$("deleteField")},"aX",0,function(e,t,r){r||(r=tq);let n=(0,p._getProvider)(e,"firestore");if(n.isInitialized(r)){let e=n.getImmediate({identifier:r}),i=n.getOptions(r);if((0,E.deepEqual)(i,t))return e;throw new tl(tB.FAILED_PRECONDITION,"initializeFirestore() has already been called with different options. To avoid this error, call initializeFirestore() with the same options as when it was originally called, or call getFirestore() to return the already initialized instance.")}if(void 0!==t.cacheSizeBytes&&void 0!==t.localCache)throw new tl(tB.INVALID_ARGUMENT,"cache and cacheSizeBytes cannot be specified at the same time as cacheSizeBytes willbe deprecated. Instead, specify the cache size in the cache object");if(void 0!==t.cacheSizeBytes&&-1!==t.cacheSizeBytes&&t.cacheSizeBytes<1048576)throw new tl(tB.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");return t.host&&(0,E.isCloudWorkstation)(t.host)&&(0,E.pingServer)(t.host),n.initialize({options:t,instanceIdentifier:r})},"aa",0,nO,"ab",0,tc,"ac",0,t_,"ad",0,class extends c1{constructor(e){super(),this.firestore=e}convertBytes(e){return new ij(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new sG(this.firestore,null,t)}},"ae",0,e8,"af",0,function(e){if(n0)throw Error("a TestingHooksSpi instance is already set");n0=e},"ag",0,function(e,t){return e.asyncQueue.enqueue(async()=>{var r;return r=await cq(e),void(r.Mo.po=t)})},"ah",0,cx,"ai",0,ck,"aj",0,cR,"ak",0,class extends cL{constructor(e,t){super(e,t,!1),this.Fc=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);let t=this.Fc.syncEngine;this.sharedClientState instanceof hG&&(this.sharedClientState.syncEngine={Iu:cv.bind(null,t),Au:cA.bind(null,t),Vu:cO.bind(null,t),Ro:cS.bind(null,t),Ru:cI.bind(null,t)},await this.sharedClientState.start()),await this.persistence.X_(async e=>{await c_(this.Fc.syncEngine,e),this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}Sc(e){let t=hU();if(!hG.Je(t))throw new tl(tB.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");let r=uR(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey);return new hG(t,e.asyncQueue,r,e.clientId,e.initialUser)}},"al",0,cL,"am",0,eY,"av",0,tO,"b",0,tz,"b0",0,function(){return new sY("serverTimestamp")},"c",0,nR,"d",0,c4,"e",0,function(e,t){return new nT(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)},"f",0,tl,"g",0,s1,"h",0,nk,"i",0,ns,"j",0,nL,"k",0,function(e,t){return new nT(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)},"l",0,sQ,"m",0,c2,"n",0,sW,"o",0,iJ,"p",0,s0,"q",0,sZ,"r",0,rQ,"s",0,tb,"t",0,tB,"u",0,c7,"v",0,function(e,t,...r){if(e=(0,E.getModularInstance)(e),1==arguments.length&&(t=e4.newId()),ty("doc","path",t),e instanceof sP){let n=tc.fromString(t,...r);return tw(n),new sG(e,null,new tD(n))}{if(!(e instanceof sG||e instanceof sH))throw new tl(tB.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(tc.fromString(t,...r));return tw(n),new sG(e.firestore,e instanceof sH?e.converter:null,new tD(n))}},"w",0,function(e,t){return e=(0,E.getModularInstance)(e),t=(0,E.getModularInstance)(t),e instanceof sM&&t instanceof sM&&e.firestore===t.firestore&&nP(e._query,t._query)&&e.converter===t.converter},"x",0,c9,"y",0,function(e){return e.asyncQueue.enqueue(async()=>{var t;let r;return r=(t=await cq(e)).indexManager,t.persistence.runTransaction("Delete All Indexes","readwrite",e=>r.deleteAllFieldIndexes(e))})},"z",0,e0],499917);class ds{}class da extends ds{}class dB extends da{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new dB(e,t,r)}_apply(e){let t=this._parse(e);return dC(e._query,t),new sM(e.firestore,e.converter,nR(e._query,t))}_parse(e){let t=sQ(e.firestore);return function(e,t,r,n,i,s,a){let o;
9if(i.isKeyField()){if("array-contains"===s||"array-contains-any"===s)throw new tl(tB.INVALID_ARGUMENT,`Invalid Query. You can't perform '${s}' queries on documentId().`);if("in"===s||"not-in"===s){dd(a,s);let t=[];for(let r of a)t.push(dc(n,e,r));o={arrayValue:{values:t}}}else o=dc(n,e,a)}else"in"!==s&&"not-in"!==s&&"array-contains-any"!==s||dd(a,s),o=s1(r,t,a,"in"===s||"not-in"===s);return r0.create(i,s,o)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}class dl extends ds{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new dl(e,t)}_parse(e){let t=this._queryConstraints.map(t=>t._parse(e)).filter(e=>e.getFilters().length>0);return 1===t.length?t[0]:r1.create(t,this._getOperator())}_apply(e){let t=this._parse(e);return 0===t.getFilters().length?e:(function(e,t){let r=e;for(let e of t.getFlattenedFilters())dC(r,e),r=nR(r,e)}(e._query,t),new sM(e.firestore,e.converter,nR(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return"and"===this.type?"and":"or"}}class du extends da{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new du(e,t)}_apply(e){let t=function(e,t,r){if(null!==e.startAt)throw new tl(tB.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new tl(tB.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new ns(t,r)}(e._query,this._field,this._direction);return new sM(e.firestore,e.converter,nL(e._query,t))}}class dh extends da{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new dh(e,t,r)}_apply(e){return new sM(e.firestore,e.converter,nk(e._query,this._limit,this._limitType))}}function dc(e,t,r){if("string"==typeof(r=(0,E.getModularInstance)(r))){if(""===r)throw new tl(tB.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!nO(t)&&-1!==r.indexOf("/"))throw new tl(tB.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);let n=t.path.child(tc.fromString(r));if(!tD.isDocumentKey(n))throw new tl(tB.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`);return rr(e,new tD(n))}if(r instanceof sG)return rr(e,r._key);throw new tl(tB.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${t_(r)}.`)}function dd(e,t){if(!Array.isArray(e)||0===e.length)throw new tl(tB.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function dC(e,t){let r=function(e,t){for(let r of e)for(let e of r.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){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[]}}(t.op));if(null!==r)throw r===t.op?new tl(tB.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new tl(tB.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}function dp(e){if("object"!=typeof e||null===e)return!1;for(let t of["next","error","complete"])if(t in e&&"function"==typeof e[t])return!0;return!1}class df{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=sQ(e)}set(e,t,r){this._verifyNotCommitted();let n=dg(e,this._firestore),i=c2(n.converter,t,r),s=sW(this._dataReader,"WriteBatch.set",n._key,i,null!==n.converter,r);return this._mutations.push(s.toMutation(n._key,rP.none())),this}update(e,t,r,...n){let i;this._verifyNotCommitted();let s=dg(e,this._firestore);return i="string"==typeof(t=(0,E.getModularInstance)(t))||t instanceof iJ?s0(this._dataReader,"WriteBatch.update",s._key,t,r,n):sZ(this._dataReader,"WriteBatch.update",s._key,t),this._mutations.push(i.toMutation(s._key,rP.exists(!0))),this}delete(e){this._verifyNotCommitted();let t=dg(e,this._firestore);return this._mutations=this._mutations.concat(new rQ(t._key,rP.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new tl(tB.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function dg(e,t){if((e=(0,E.getModularInstance)(e)).firestore!==t)throw new tl(tB.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}function dm(e,t,r){let n=r.docs.get(t._key),i=new c7(e);return new dt(e,i,t._key,n,new de(r.hasPendingWrites,r.fromCache),t.converter)}new WeakMap;let dE="@firebase/firestore",dD="4.17.1";!function(e=!0){eY(p.SDK_VERSION),(0,p._registerComponent)(new f.Component("firestore",(t,{instanceIdentifier:r,options:n})=>{let i=t.getProvider("app").getImmediate(),s=new c4(new iY(t.getProvider("auth-internal")),new i1(i,t.getProvider("app-check-internal")),tz(i,r),i);return n={useFetchStreams:e,...n},s._setSettings(n),s},"PUBLIC").setMultipleInstances(!0)),(0,p.registerVersion)(dE,dD,void 0),(0,p.registerVersion)(dE,dD,"esm2020")}(),e.s(["deleteDoc",0,function(e){var t,r;return t=tb(e.firestore,c4),r=[new rQ(e._key,rP.none())],cX(c9(t),r)},"getDoc",0,function(e){e=tb(e,sG);let t=tb(e.firestore,c4);return c$(c9(t),e._key).then(r=>dm(t,e,r))},"getDocs",0,function(e){e=tb(e,sM);let t=tb(e.firestore,c4),r=c9(t),n=new c7(t);return di(e._query),cY(r,e._query).then(r=>new dn(t,n,e,r))},"limit",0,function(e){return tT("limit",e),dh._create("limit",e,"F")},"onSnapshot",0,function(e,...t){let r,n,i;e=(0,E.getModularInstance)(e);let s={includeMetadataChanges:!1,source:"default"},a=0;
9"object"!=typeof t[0]||dp(t[a])||(s=t[a++]);let o={includeMetadataChanges:s.includeMetadataChanges,source:s.source};if(dp(t[a])){let e=t[a];t[a]=e.next?.bind(e),t[a+1]=e.error?.bind(e),t[a+2]=e.complete?.bind(e)}if(e instanceof sG)n=tb(e.firestore,c4),i=nS(e._key.path),r={next:r=>{t[a]&&t[a](dm(n,e,r))},error:t[a+1],complete:t[a+2]};else{let s=tb(e,sM);n=tb(s.firestore,c4),i=s._query;let o=new c7(n);r={next:e=>{t[a]&&t[a](new dn(n,o,s,e))},error:t[a+1],complete:t[a+2]},di(e._query)}return cW(c9(n),i,o,r)},"orderBy",0,function(e,t="asc"){let r=s5("orderBy",e);return du._create(r,t)},"query",0,function(e,t,...r){let n=[];for(let i of(t instanceof ds&&n.push(t),function(e){let t=e.filter(e=>e instanceof dl).length,r=e.filter(e=>e instanceof dB).length;if(t>1||t>0&&r>0)throw new tl(tB.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(...)))`.")}(n=n.concat(r)),n))e=i._apply(e);return e},"setDoc",0,function(e,t,r){var n,i;e=tb(e,sG);let s=tb(e.firestore,c4),a=c2(e.converter,t,r),o=sQ(s);return n=s,i=[sW(o,"setDoc",e._key,a,null!==e.converter,r).toMutation(e._key,rP.none())],cX(c9(n),i)},"updateDoc",0,function(e,t,r,...n){var i,s;e=tb(e,sG);let a=tb(e.firestore,c4),o=sQ(a);return i=a,s=[("string"==typeof(t=(0,E.getModularInstance)(t))||t instanceof iJ?s0(o,"updateDoc",e._key,t,r,n):sZ(o,"updateDoc",e._key,t)).toMutation(e._key,rP.exists(!0))],cX(c9(i),s)},"where",0,function(e,t,r){let n=s5("where",e);return dB._create(n,t,r)},"writeBatch",0,function(e){return c9(e=tb(e,c4)),new df(e,t=>cX(c9(e),t))}],263802),e.s([],436180)}]); 10 11//# debugId=e4ed0bc0-d0ee-bff4-fedf-3cc23ec942e7
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.