PageSourceSearch

https://affordableroofmd.lovable.app/assets/index-CejMtjcD.js

js affordableroofmd.lovable.app collected 2026-10-03 03:18:25 UTC 805,674 bytes, 48 lines download raw bytes

vendor: 114,920 bytes, lines 1-9
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wall-insulation-takoma-park-md-BRiH5Yq8.js","assets/useRouter-D-xeXV9i.js","assets/velux-skylight-installation-takoma-park-md-CfYAsp5F.js","assets/vapor-barrier-installation-takoma-park-md-DbqU386r.js","assets/unsubscribe-MMgPuxZP.js","assets/SiteLayout-BCbPAJ16.js","assets/useStore-DiZXftce.js","assets/invariant-DEEwAagU.js","assets/phone-YXL6UFZZ.js","assets/react-dom-BHRKlyd1.js","assets/underground-drain-cleaning-takoma-park-md-B7iJOPXL.js","assets/tubular-skylight-installation-takoma-park-md-C1IxJLdU.js","assets/tpo-roofing-installation-takoma-park-md-Cu0n3xQ6.js","assets/torch-down-roofing-takoma-park-md-ZFID8KCB.js","assets/tile-roof-repair-takoma-park-md-CGJe5i03.js","assets/sun-tunnel-installation-takoma-park-md-DZLbsZSj.js","assets/storm-damage-roof-repair-takoma-park-md-BeqOxMeH.js","assets/hero-storm-damage-C2ku83AI.js","assets/spray-foam-insulation-takoma-park-md-9qkqWqOb.js","assets/solar-skylight-installation-takoma-park-md-Dyi--4cy.js","assets/soffit-and-fascia-repair-takoma-park-md-B1fAH7Kf.js","assets/slate-roof-repair-takoma-park-md-D8wMC-ZI.js","assets/skylight-services-takoma-park-md-C_4PcK32.js","assets/hero-skylights-CwFD0N37.js","assets/skylight-replacement-takoma-park-md-TFbTrCyd.js","assets/skylight-repair-takoma-park-md-BIQ8O0qc.js","assets/skylight-installation-takoma-park-md-B8lI_MJ7.js","assets/skylight-glass-replacement-takoma-park-md-Ce8YlTg0.js","assets/skylight-flashing-repair-takoma-park-md-CT19yhW-.js","assets/shingle-roof-replacement-takoma-park-md-CldfrAsl.js","assets/services--PNrZL_d.js","assets/sagging-gutter-correction-takoma-park-md-BmQm9lEN.js","assets/roofing-washington-dc-CSRwbfej.js","assets/roofing-tear-off-takoma-park-md-C9kdr8al.js","assets/roofing-prince-georges-county-md-BXFHUoVP.js","assets/roofing-northern-virginia-vCmRTnbz.js","assets/roofing-montgomery-county-md-COxILGTy.js","assets/roofing-howard-county-md-DdmUTGje.js","assets/roofing-frederick-county-md-Cp0VCVK5.js","assets/roofing-estimates-takoma-park-md-bZoT-Ldo.js","assets/roofing-contractor-takoma-park-md-6mBQKyA-.js","assets/dist-CaKhuhDn.js","assets/utils-B4hz5F_c.js","assets/hero-roofing-CUlATYHl.js","assets/roofing-consultation-takoma-park-md-CCtAzdK1.js","assets/roofing-carroll-county-md-auM5t2pm.js","assets/roofing-baltimore-county-md-BK5frSDp.js","assets/roofing-anne-arundel-county-md-CPbc-EE1.js","assets/roof-waterproofing-takoma-park-md-vsB0OuTd.js","assets/roof-ventilation-installation-takoma-park-md-DQJF5GSu.js","assets/roof-restoration-takoma-park-md-DXhCmRFd.js","assets/roof-replacement-takoma-park-md-MAGSphuV.js","assets/hero-roof-replacement-Bvys1x9Z.js","assets/roof-repair-takoma-park-md-CHTD7oFq.js","assets/hero-roof-repair-C3GuFzH1.js","assets/roof-moss-removal-takoma-park-md-u5fSz4BU.js","assets/roof-mold-removal-takoma-park-md-WJXjGWnS.js","assets/roof-maintenance-takoma-park-md-Dg4DBArB.js","assets/roof-hail-damage-repair-takoma-park-md-D2W-4SKA.js","assets/roof-flashing-repair-takoma-park-md-hBZQ2wdI.js","assets/roof-drainage-solutions-takoma-park-md-BX8xPdjy.js","assets/roof-coating-takoma-park-md-C5dohZXc.js","assets/roof-algae-removal-takoma-park-md-BQ6OYExl.js","assets/ridge-vent-installation-takoma-park-md-BePYhqjp.js","assets/residential-skylight-services-takoma-park-md-dUqLASOp.js","assets/residential-roofing-takoma-park-md-C_xdGnqL.js","assets/hero-residential-roofing-bDFvDcrj.js","assets/residential-gutter-service-takoma-park-md-BFXC1orU.js","assets/radiant-barrier-installation-takoma-park-md-BcUVmQ07.js","assets/pvc-roofing-installation-takoma-park-md-CuTujqrd.js","assets/open-cell-foam-insulation-takoma-park-md-B7bupqN-.js","assets/new-roof-installation-takoma-park-md-BBV0mCkV.js","assets/modified-bitumen-roofing-takoma-park-md-CBfwgb7G.js","assets/metal-roofing-takoma-park-md-BdmmLv0p.js","assets/leaking-skylight-repair-takoma-park-md-hw7bBEaU.js","assets/leaking-roof-repair-takoma-park-md-BXhl0o7g.js","assets/insurance-roof-claims-assistance-takoma-park-md-SvOlTWaA.js","assets/insulation-services-takoma-park-md-d1DEs6Ol.js","assets/hero-insulation-B7CvN9pF.js","assets/insulation-removal-takoma-park-md-Ctf9ydUU.js","assets/gutter-soffit-repair-takoma-park-md-DaNKjrFv.js","assets/gutter-services-takoma-park-md-CKRlV9Z3.js","assets/hero-gutters-sew4T3li.js","assets/gutter-replacement-takoma-park-md-D_-ca3Yn.js","assets/gutter-repair-takoma-park-md-B23wLaWN.js","assets/gutter-maintenance-takoma-park-md-B3RRxYvp.js","assets/gutter-leak-detection-takoma-park-md-CxaLNJrG.js","assets/gutter-inspection-takoma-park-md-CpBkloW3.js","assets/gutter-guard-installation-takoma-park-md-mZBOD9HG.js","assets/gutter-downspout-rerouting-takoma-park-md-CuT5yD1e.js","assets/gutter-cleaning-takoma-park-md-D7ga93FK.js","assets/graffiti-removal-takoma-park-md-CzpHPdeY.js","assets/flat-roofing-takoma-park-md-BAbp5HT-.js","assets/hero-flat-roofing-BVg2X5O8.js","assets/flat-roof-skylight-installation-takoma-park-md-dm2A-D-w.js","assets/flat-roof-repair-takoma-park-md-YYby0B_W.js","assets/flat-roof-installation-takoma-park-md-BIqBn4ia.js","assets/fiberglass-insulation-takoma-park-md-DrngMjp1.js","assets/epdm-roofing-installation-takoma-park-md-DTiLF1ri.js","assets/energy-efficient-skylight-installation-takoma-park-md-BkNYz_kf.js","assets/energy-efficient-roofing-takoma-park-md-CbHZLvAs.js","assets/emergency-roof-repair-takoma-park-md-B19-sPX6.js","assets/emergency-roof-repair-CfQwRHeh.js","assets/electric-skylight-installation-takoma-park-md-hGU7iVr4.js","assets/downspout-cleaning-takoma-park-md-BCytdbPy.js","assets/crawl-space-vapor-barrier-takoma-park-md-C46ulUr4.js","assets/crawl-space-insulation-takoma-park-md-Bu9LNvDU.js","assets/cool-roof-installation-takoma-park-md-CoK4OJf5.js","assets/contact-9tFZaZoG.js","assets/label-Bbl6gyeb.js","assets/commercial-skylight-services-takoma-park-md-CV0hM-6P.js","assets/commercial-roofing-takoma-park-md-CsyhNfTr.js","assets/commercial-insulation-takoma-park-md-BDE_-Osu.js","assets/commercial-gutter-service-takoma-park-md-D0d9qp8V.js","assets/closed-cell-foam-insulation-takoma-park-md-D2ui5a9G.js","assets/chimney-flashing-repair-takoma-park-md-Bha7fKfw.js","assets/cellulose-insulation-takoma-park-md-3Zy3vWP6.js","assets/cedar-shake-roof-repair-takoma-park-md-err59DE5.js","assets/building-restoration-takoma-park-md-cqS1l9Vv.js","assets/hero-restoration-BV-rVuE9.js","assets/building-cleaning-takoma-park-md-C2CyCSMh.js","assets/box-gutter-repair-takoma-park-md-D1-2docU.js","assets/blown-in-insulation-takoma-park-md-CrBjx15o.js","assets/blog-DfBBIpcY.js","assets/basement-insulation-takoma-park-md-CVYZvNNI.js","assets/auth-BejXKFY5.js","assets/card-BYnbxM5W.js","assets/attic-ventilation-installation-takoma-park-md-BD_S4P1s.js","assets/attic-insulation-takoma-park-md-CIpbo7cq.js","assets/asphalt-shingle-roofing-takoma-park-md-ClVAfWeh.js","assets/about-C46uEVYH.js","assets/route-BXfiXc84.js","assets/blog.reputable-maryland-roofing-storm-damage-estimates-alternatives-DXwzTRDf.js","assets/blog.maryland-veteran-owned-roofing-emergency-tarp-inspection-Cw07ASsQ.js","assets/admin-EUWtNDlb.js"])))=>i.map(i=>d[i]);
2import{c as e,d as t,i as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./useRouter-D-xeXV9i.js";import{t as l}from"./react-dom-BHRKlyd1.js";import{A as u,C as d,D as f,E as p,M as m,N as h,O as g,P as _,S as v,T as y,_ as b,a as ee,b as te,c as x,d as ne,f as re,g as ie,h as ae,i as oe,j as se,k as ce,m as le,n as ue,p as de,r as fe,s as S,t as C,u as pe,v as me,w as he,x as ge,y as _e}from"./useStore-DiZXftce.js";import{t as w}from"./invariant-DEEwAagU.js";import{c as ve,d as ye,l as be,m as xe,n as Se,o as E,p as D,r as Ce,s as we,t as Te,u as Ee}from"./SiteLayout-BCbPAJ16.js";import{t as De}from"./hero-roofing-CUlATYHl.js";import{t as Oe}from"./hero-gutters-sew4T3li.js";import{t as ke}from"./hero-skylights-CwFD0N37.js";import{t as Ae}from"./hero-restoration-BV-rVuE9.js";import{t as je}from"./hero-insulation-B7CvN9pF.js";import{t as Me}from"./hero-roof-repair-C3GuFzH1.js";import{t as Ne}from"./hero-roof-replacement-Bvys1x9Z.js";import{t as Pe}from"./hero-flat-roofing-BVg2X5O8.js";import{t as Fe}from"./hero-residential-roofing-bDFvDcrj.js";import{t as Ie}from"./hero-storm-damage-C2ku83AI.js";import{n as Le,t as Re}from"./phone-YXL6UFZZ.js";import{n as ze,r as Be,t as Ve}from"./utils-B4hz5F_c.js";var He=c((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,te||(te=!0,oe());else{var t=n(l);t!==null&&le(ee,t.startTime-e)}}var te=!1,x=-1,ne=5,re=-1;function ie(){return g?!0:!(e.unstable_now()-re<ne)}function ae(){if(g=!1,te){var t=e.unstable_now();re=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(x),x=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ie());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?oe():te=!1}}}var oe;if(typeof y==`function`)oe=function(){y(ae)};else if(typeof MessageChannel<`u`){var se=new MessageChannel,ce=se.port2;se.port1.onmessage=ae,oe=function(){ce.postMessage(null)}}else oe=function(){_(ae,0)};function le(t,n){x=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ne=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(x),x=-1):h=!0,le(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,oe()))),r},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Ue=c(((e,t)=>{t.exports=He()})),We=c((e=>{var t=Ue(),n=r(),i=l();function a(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function s(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function c(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(s(e)!==e)throw Error(a(188))}function f(e){var t=e.alternate;if(!t){if(t=s(e),t===null)throw Error(a(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return d(i),e;if(o===r)return d(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var c=!1,l=i.child;l;){if(l===n){c=!0,n=i,r=o;break}if(l===r){c=!0,r=i,n=o;break}l=l.sibling}if(!c){for(l=o.child;l;){if(l===n){c=!0,n=o,r=i;break}if(l===r){c=!0,r=o,n=i;break}l=l.sibling}if(!c)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(n.tag!==3)throw Error(a(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),ee=Symbol.for(`react.consumer`),te=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),ne=Symbol.for(`react.suspense`),re=Symbol.for(`react.suspense_list`),ie=Symbol.for(`react.memo`),ae=Symbol.for(`react.lazy`),oe=Symbol.for(`react.activity`),se=Symbol.for(`react.memo_cache_sentinel`),ce=Symbol.iterator;function le(e){return typeof e!=`object`||!e?null:(e=ce&&e[ce]||e[`@@iterator`],typeof e==`function`?e:null)}var ue=Symbol.for(`react.client.reference`);function de(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ue?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case ne:return`Suspense`;case re:return`SuspenseList`;case oe:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case te:return e.displayName||`Context`;case ee:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ie:return t=e.displayName||null,t===null?de(e.type)||`Memo`:t;case ae:t=e._payload,e=e._init;try{return de(e(t))}catch{}}return null}var fe=Array.isArray,S=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,C=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pe={pending:!1,data:null,method:null,action:null},me=[],he=-1;function ge(e){return{current:e}}function _e(e){0>he||(e.current=me[he],me[he]=null,he--)}function w(e,t){he++,me[he]=e.current,e.current=t}var ve=ge(null),ye=ge(null),be=ge(null),xe=ge(null);function Se(e,t){switch(w(be,t),w(ye,e),w(ve,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?nf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=nf(t),e=rf(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}_e(ve),w(ve,e)}function E(){_e(ve),_e(ye),_e(be)}function D(e){e.memoizedState!==null&&w(xe,e);var t=ve.current,n=rf(t,e.type);t!==n&&(w(ye,e),w(ve,n))}function Ce(e){ye.current===e&&(_e(ve),_e(ye)),xe.current===e&&(_e(xe),fp._currentValue=pe)}var we,Te;function Ee(e){if(we===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);we=t&&t[1]||``,Te=-1<e.stack.indexOf(`
3    at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4`+we+e+Te}var De=!1;function Oe(e,t){if(!e||De)return``;De=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
5`),l=s.split(`
6`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
7`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{De=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ee(n):``}function ke(e,t){switch(e.tag){case 26:case 27:case 5:return Ee(e.type);case 16:return Ee(`Lazy`);case 13:return e.child!==t&&t!==null?Ee(`Suspense Fallback`):Ee(`Suspense`);case 19:return Ee(`SuspenseList`);case 0:case 15:return Oe(e.type,!1);case 11:return Oe(e.type.render,!1);case 1:return Oe(e.type,!0);case 31:return Ee(`Activity`);default:return``}}function Ae(e){try{var t=``,n=null;do t+=ke(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
8Error generating stack: `+e.message+`
9`+e.stack}}var je=Object.prototype.hasOwnProperty,Me=t.unstable_scheduleCallback,Ne=t.unstable_cancelCallback,Pe=t.unstable_shouldYield,Fe=t.unstable_requestPaint,Ie=t.unstable_now,Le=t.unstable_getCurrentPriorityLevel,Re=t.unstable_ImmediatePriority,ze=t.unstable_UserBlockingPriority,Be=t.unstable_NormalPriority,Ve=t.unstable_LowPriority,He=t.unstable_IdlePriority,We=t.log,Ge=t.unstable_setDisableYieldValue,Ke=null,qe=null;function Je(e){if(typeof We==`function`&&Ge(e),qe&&typeof qe.setStrictMode==`function`)try{qe.setStrictMode(Ke,e)}catch{}}var Ye=Math.clz32?Math.clz32:Qe,Xe=Math.log,Ze=Math.LN2;function Qe(e){return e>>>=0,e===0?32:31-(Xe(e)/Ze|0)|0}var $e=256,et=262144,tt=4194304;function nt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function rt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=nt(n))):i=nt(o):i=nt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=nt(n))):i=nt(o)):i=nt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function it(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function at(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ot(){var e=tt;return tt<<=1,!(tt&62914560)&&(tt=4194304),e}function st(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ct(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function lt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ye(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&ut(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function ut(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ye(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function dt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ye(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function ft(e,t){var n=t&-t;return n=n&42?1:pt(n),(n&(e.suspendedLanes|t))===0?n:0}function pt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function mt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function ht(){var e=C.p;return e===0?(e=window.event,e===void 0?32:Dp(e.type)):e}function gt(e,t){var n=C.p;try{return C.p=e,t()}finally{C.p=n}}var _t=Math.random().toString(36).slice(2),vt=`__reactFiber$`+_t,yt=`__reactProps$`+_t,bt=`__reactContainer$`+_t,xt=`__reactEvents$`+_t,St=`__reactListeners$`+_t,Ct=`__reactHandles$`+_t,wt=`__reactResources$`+_t,Tt=`__reactMarker$`+_t;function Et(e){delete e[vt],delete e[yt],delete e[xt],delete e[St],delete e[Ct]}function Dt(e){var t=e[vt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[bt]||n[vt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ef(e);e!==null;){if(n=e[vt])return n;e=Ef(e)}return t}e=n,n=e.parentNode}return null}function Ot(e){if(e=e[vt]||e[bt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function kt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function At(e){var t=e[wt];return t||=e[wt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function jt(e){e[Tt]=!0}var Mt=new Set,Nt={};function Pt(e,t){Ft(e,t),Ft(e+`Capture`,t)}function Ft(e,t){for(Nt[e]=t,e=0;e<t.length;e++)Mt.add(t[e])}var It=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Lt={},Rt={};function zt(e){return je.call(Rt,e)?!0:je.call(Lt,e)?!1:It.test(e)?Rt[e]=!0:(Lt[e]=!0,!1)}function Bt(e,t,n){if(zt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function Vt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Ht(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ut(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Wt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Gt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Kt(e){if(!e._valueTracker){var t=Wt(e)?`checked`:`value`;e._valueTracker=Gt(e,t,``+e[t])}}function qt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Wt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Jt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Yt=/[\n"\\]/g;function Xt(e){return e.replace(Yt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Zt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ut(t)):e.value!==``+Ut(t)&&(e.value=``+Ut(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):$t(e,o,Ut(n)):$t(e,o,Ut(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ut(s):e.removeAttribute(`name`)}function Qt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Kt(e);return}n=n==null?``:``+Ut(n),t=t==null?n:``+Ut(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Kt(e)}function $t(e,t,n){t===`number`&&Jt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function en(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ut(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function tn(e,t,n){if(t!=null&&(t=``+Ut(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ut(n)}function nn(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(fe(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Ut(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Kt(e)}function rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var an=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function on(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||an.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function sn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(a(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&on(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&on(e,o,t[o])}function cn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var ln=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),un=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function dn(e){return un.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function fn(){}var pn=null;function mn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var hn=null,gn=null;function _n(e){var t=Ot(e);if(t&&(e=t.stateNode)){var n=e[yt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Zt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Xt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[yt]||null;if(!i)throw Error(a(90));Zt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&qt(r)}break a;case`textarea`:tn(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&en(e,!!n.multiple,t,!1)}}}var vn=!1;function yn(e,t,n){if(vn)return e(t,n);vn=!0;try{return e(t)}finally{if(vn=!1,(hn!==null||gn!==null)&&(Pu(),hn&&(t=hn,e=gn,gn=hn=null,_n(t),e)))for(t=0;t<e.length;t++)_n(e[t])}}function bn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[yt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(a(231,t,typeof n));return n}var xn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),Sn=!1;if(xn)try{var Cn={};Object.defineProperty(Cn,"passive",{get:function(){Sn=!0}}),window.addEventListener(`test`,Cn,Cn),window.removeEventListener(`test`,Cn,Cn)}catch{Sn=!1}var wn=null,Tn=null,En=null;function Dn(){if(En)return En;var e,t=Tn,n=t.length,r,i=`value`in wn?wn.value:wn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return En=i.slice(e,1<r?1-r:void 0)}function On(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function kn(){return!0}function An(){return!1}function jn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?kn:An,this.isPropagationStopped=An,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=kn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=kn)},persist:function(){},isPersistent:kn}),t}var Mn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Nn=jn(Mn),Pn=m({},Mn,{view:0,detail:0}),Fn=jn(Pn),In,Ln,Rn,zn=m({},Pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Yn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Rn&&(Rn&&e.type===`mousemove`?(In=e.screenX-Rn.screenX,Ln=e.screenY-Rn.screenY):Ln=In=0,Rn=e),In)},movementY:function(e){return`movementY`in e?e.movementY:Ln}}),Bn=jn(zn),Vn=jn(m({},zn,{dataTransfer:0})),Hn=jn(m({},Pn,{relatedTarget:0})),Un=jn(m({},Mn,{animationName:0,elapsedTime:0,pseudoElement:0})),Wn=jn(m({},Mn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),O=jn(m({},Mn,{data:0})),Gn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Kn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},qn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Jn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=qn[e])?!!t[e]:!1}function Yn(){return Jn}var Xn=jn(m({},Pn,{key:function(e){if(e.key){var t=Gn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=On(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Kn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Yn,charCode:function(e){return e.type===`keypress`?On(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?On(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Zn=jn(m({},zn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Qn=jn(m({},Pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Yn})),$n=jn(m({},Mn,{propertyName:0,elapsedTime:0,pseudoElement:0})),er=jn(m({},zn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),tr=jn(m({},Mn,{newState:0,oldState:0})),nr=[9,13,27,32],rr=xn&&`CompositionEvent`in window,ir=null;xn&&`documentMode`in document&&(ir=document.documentMode);var ar=xn&&`TextEvent`in window&&!ir,or=xn&&(!rr||ir&&8<ir&&11>=ir),sr=` `,cr=!1;function lr(e,t){switch(e){case`keyup`:return nr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function ur(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var dr=!1;function fr(e,t){switch(e){case`compositionend`:return ur(t);case`keypress`:return t.which===32?(cr=!0,sr):null;case`textInput`:return e=t.data,e===sr&&cr?null:e;default:return null}}function pr(e,t){if(dr)return e===`compositionend`||!rr&&lr(e,t)?(e=Dn(),En=Tn=wn=null,dr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return or&&t.locale!==`ko`?null:t.data;default:return null}}var mr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!mr[e.type]:t===`textarea`}function gr(e,t,n,r){hn?gn?gn.push(r):gn=[r]:hn=r,t=Bd(t,`onChange`),0<t.length&&(n=new Nn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var _r=null,vr=null;function yr(e){Nd(e,0)}function br(e){if(qt(kt(e)))return e}function xr(e,t){if(e===`change`)return t}var Sr=!1;if(xn){var Cr;if(xn){var wr=`oninput`in document;if(!wr){var Tr=document.createElement(`div`);Tr.setAttribute(`oninput`,`return;`),wr=typeof Tr.oninput==`function`}Cr=wr}else Cr=!1;Sr=Cr&&(!document.documentMode||9<document.documentMode)}function Er(){_r&&(_r.detachEvent(`onpropertychange`,Dr),vr=_r=null)}function Dr(e){if(e.propertyName===`value`&&br(vr)){var t=[];gr(t,vr,e,mn(e)),yn(yr,t)}}function Or(e,t,n){e===`focusin`?(Er(),_r=t,vr=n,_r.attachEvent(`onpropertychange`,Dr)):e===`focusout`&&Er()}function kr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return br(vr)}function Ar(e,t){if(e===`click`)return br(t)}function jr(e,t){if(e===`input`||e===`change`)return br(t)}function Mr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Nr=typeof Object.is==`function`?Object.is:Mr;function Pr(e,t){if(Nr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!je.call(t,i)||!Nr(e[i],t[i]))return!1}return!0}function Fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ir(e,t){var n=Fr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Fr(n)}}function Lr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Lr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Rr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Jt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Jt(e.document)}return t}function zr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Br=xn&&`documentMode`in document&&11>=document.documentMode,Vr=null,Hr=null,Ur=null,Wr=!1;function Gr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Wr||Vr==null||Vr!==Jt(r)||(r=Vr,`selectionStart`in r&&zr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ur&&Pr(Ur,r)||(Ur=r,r=Bd(Hr,`onSelect`),0<r.length&&(t=new Nn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Vr)))}function Kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var qr={animationend:Kr(`Animation`,`AnimationEnd`),animationiteration:Kr(`Animation`,`AnimationIteration`),animationstart:Kr(`Animation`,`AnimationStart`),transitionrun:Kr(`Transition`,`TransitionRun`),transitionstart:Kr(`Transition`,`TransitionStart`),transitioncancel:Kr(`Transition`,`TransitionCancel`),transitionend:Kr(`Transition`,`TransitionEnd`)},Jr={},Yr={};xn&&(Yr=document.createElement(`div`).style,`AnimationEvent`in window||(delete qr.animationend.animation,delete qr.animationiteration.animation,delete qr.animationstart.animation),`TransitionEvent`in window||delete qr.transitionend.transition);function Xr(e){if(Jr[e])return Jr[e];if(!qr[e])return e;var t=qr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Yr)return Jr[e]=t[n];return e}var Zr=Xr(`animationend`),Qr=Xr(`animationiteration`),$r=Xr(`animationstart`),ei=Xr(`transitionrun`),ti=Xr(`transitionstart`),ni=Xr(`transitioncancel`),ri=Xr(`transitionend`),ii=new Map,ai=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);ai.push(`scrollEnd`);function oi(e,t){ii.set(e,t),Pt(t,[e])}var si=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ci=[],li=0,ui=0;function di(){for(var e=li,t=ui=li=0;t<e;){var n=ci[t];ci[t++]=null;var r=ci[t];ci[t++]=null;var i=ci[t];ci[t++]=null;var a=ci[t];if(ci[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&hi(n,i,a)}}function fi(e,t,n,r){ci[li++]=e,ci[li++]=t,ci[li++]=n,ci[li++]=r,ui|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function pi(e,t,n,r){return fi(e,t,n,r),gi(e)}function mi(e,t){return fi(e,null,null,t),gi(e)}function hi(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ye(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function gi(e){if(50<Tu)throw Tu=0,Eu=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var _i={};function vi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yi(e,t,n,r){return new vi(e,t,n,r)}function bi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xi(e,t){var n=e.alternate;return n===null?(n=yi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Si(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ci(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)bi(e)&&(s=1);else if(typeof e==`string`)s=rp(e,n,ve.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case oe:return e=yi(31,n,t,i),e.elementType=oe,e.lanes=o,e;case v:return wi(n.children,i,o,t);case y:s=8,i|=24;break;case b:return e=yi(12,n,t,i|2),e.elementType=b,e.lanes=o,e;case ne:return e=yi(13,n,t,i),e.elementType=ne,e.lanes=o,e;case re:return e=yi(19,n,t,i),e.elementType=re,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case te:s=10;break a;case ee:s=9;break a;case x:s=11;break a;case ie:s=14;break a;case ae:s=16,r=null;break a}s=29,n=Error(a(130,e===null?`null`:typeof e,``)),r=null}return t=yi(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function wi(e,t,n,r){return e=yi(7,e,r,t),e.lanes=n,e}function Ti(e,t,n){return e=yi(6,e,null,t),e.lanes=n,e}function Ei(e){var t=yi(18,null,null,0);return t.stateNode=e,t}function Di(e,t,n){return t=yi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Oi=new WeakMap;function ki(e,t){if(typeof e==`object`&&e){var n=Oi.get(e);return n===void 0?(t={value:e,source:t,stack:Ae(t)},Oi.set(e,t),t):n}return{value:e,source:t,stack:Ae(t)}}var Ai=[],ji=0,Mi=null,Ni=0,Pi=[],Fi=0,Ii=null,Li=1,Ri=``;function zi(e,t){Ai[ji++]=Ni,Ai[ji++]=Mi,Mi=e,Ni=t}function Bi(e,t,n){Pi[Fi++]=Li,Pi[Fi++]=Ri,Pi[Fi++]=Ii,Ii=e;var r=Li;e=Ri;var i=32-Ye(r)-1;r&=~(1<<i),n+=1;var a=32-Ye(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Li=1<<32-Ye(t)+i|n<<i|r,Ri=a+e}else Li=1<<a|n<<i|r,Ri=e}function Vi(e){e.return!==null&&(zi(e,1),Bi(e,1,0))}function Hi(e){for(;e===Mi;)Mi=Ai[--ji],Ai[ji]=null,Ni=Ai[--ji],Ai[ji]=null;for(;e===Ii;)Ii=Pi[--Fi],Pi[Fi]=null,Ri=Pi[--Fi],Pi[Fi]=null,Li=Pi[--Fi],Pi[Fi]=null}function Ui(e,t){Pi[Fi++]=Li,Pi[Fi++]=Ri,Pi[Fi++]=Ii,Li=t.id,Ri=t.overflow,Ii=e}var Wi=null,Gi=null,Ki=!1,qi=null,Ji=!1,Yi=Error(a(519));function Xi(e){throw na(ki(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Yi}function Zi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[vt]=e,t[yt]=r,n){case`dialog`:z(`cancel`,t),z(`close`,t);break;case`iframe`:case`object`:case`embed`:z(`load`,t);break;case`video`:case`audio`:for(n=0;n<jd.length;n++)z(jd[n],t);break;case`source`:z(`error`,t);break;case`img`:case`image`:case`link`:z(`error`,t),z(`load`,t);break;case`details`:z(`toggle`,t);break;case`input`:z(`invalid`,t),Qt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:z(`invalid`,t);break;case`textarea`:z(`invalid`,t),nn(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Kd(t.textContent,n)?(r.popover!=null&&(z(`beforetoggle`,t),z(`toggle`,t)),r.onScroll!=null&&z(`scroll`,t),r.onScrollEnd!=null&&z(`scrollend`,t),r.onClick!=null&&(t.onclick=fn),t=!0):t=!1,t||Xi(e,!0)}function Qi(e){for(Wi=e.return;Wi;)switch(Wi.tag){case 5:case 31:case 13:Ji=!1;return;case 27:case 3:Ji=!0;return;default:Wi=Wi.return}}function $i(e){if(e!==Wi)return!1;if(!Ki)return Qi(e),Ki=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||af(e.type,e.memoizedProps)),n=!n),n&&Gi&&Xi(e),Qi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Gi=Tf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Gi=Tf(e)}else t===27?(t=Gi,pf(e.type)?(e=wf,wf=null,Gi=e):Gi=t):Gi=Wi?Cf(e.stateNode.nextSibling):null;return!0}function ea(){Gi=Wi=null,Ki=!1}function ta(){var e=qi;return e!==null&&(fu===null?fu=e:fu.push.apply(fu,e),qi=null),e}function na(e){qi===null?qi=[e]:qi.push(e)}var ra=ge(null),ia=null,aa=null;function oa(e,t,n){w(ra,t._currentValue),t._currentValue=n}function sa(e){e._currentValue=ra.current,_e(ra)}function ca(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function la(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){var s=i.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ca(o.return,n,e),r||(s=null);break a}o=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(a(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ca(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function ua(e,t,n,r){e=null;for(var i=t,o=!1;i!==null;){if(!o){if(i.flags&524288)o=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(a(387));if(s=s.memoizedProps,s!==null){var c=i.type;Nr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===xe.current){if(s=i.alternate,s===null)throw Error(a(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[fp]:e.push(fp))}i=i.return}e!==null&&la(t,e,n,r),t.flags|=262144}function da(e){for(e=e.firstContext;e!==null;){if(!Nr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function fa(e){ia=e,aa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function pa(e){return ha(ia,e)}function ma(e,t){return ia===null&&fa(e),ha(e,t)}function ha(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},aa===null){if(e===null)throw Error(a(308));aa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else aa=aa.next=t;return n}var ga=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},_a=t.unstable_scheduleCallback,va=t.unstable_NormalPriority,ya={$$typeof:te,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ba(){return{controller:new ga,data:new Map,refCount:0}}function xa(e){e.refCount--,e.refCount===0&&_a(va,function(){e.controller.abort()})}var Sa=null,Ca=0,wa=0,Ta=null;function Ea(e,t){if(Sa===null){var n=Sa=[];Ca=0,wa=Td(),Ta={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return Ca++,t.then(Da,Da),t}function Da(){if(--Ca===0&&Sa!==null){Ta!==null&&(Ta.status=`fulfilled`);var e=Sa;Sa=null,wa=0,Ta=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Oa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ka=S.S;S.S=function(e,t){hu=Ie(),typeof t==`object`&&t&&typeof t.then==`function`&&Ea(e,t),ka!==null&&ka(e,t)};var Aa=ge(null);function ja(){var e=Aa.current;return e===null?$l.pooledCache:e}function Ma(e,t){t===null?w(Aa,Aa.current):w(Aa,t.pool)}function Na(){var e=ja();return e===null?null:{parent:ya._currentValue,pool:e}}var Pa=Error(a(460)),Fa=Error(a(474)),Ia=Error(a(542)),La={then:function(){}};function Ra(e){return e=e.status,e===`fulfilled`||e===`rejected`}function za(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(fn,fn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ua(e),e;default:if(typeof t.status==`string`)t.then(fn,fn);else{if(e=$l,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ua(e),e}throw Va=t,Pa}}function Ba(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Va=e,Pa):e}}var Va=null;function Ha(){if(Va===null)throw Error(a(459));var e=Va;return Va=null,e}function Ua(e){if(e===Pa||e===Ia)throw Error(a(483))}var Wa=null,Ga=0;function Ka(e){var t=Ga;return Ga+=1,Wa===null&&(Wa=[]),za(Wa,e,t)}function qa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ja(e,t){throw t.$$typeof===h?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ya(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=xi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=Ti(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===v?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===ae&&Ba(a)===t.type)?(t=i(t,n.props),qa(t,n),t.return=e,t):(t=Ci(n.type,n.key,n.props,null,e.mode,r),qa(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Di(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=wi(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=Ti(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case g:return n=Ci(t.type,t.key,t.props,null,e.mode,n),qa(n,t),n.return=e,n;case _:return t=Di(t,e.mode,n),t.return=e,t;case ae:return t=Ba(t),f(e,t,n)}if(fe(t)||le(t))return t=wi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ka(t),n);if(t.$$typeof===te)return f(e,ma(e,t),n);Ja(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case g:return n.key===i?l(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case ae:return n=Ba(n),p(e,t,n,r)}if(fe(n)||le(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ka(n),r);if(n.$$typeof===te)return p(e,t,ma(e,n),r);Ja(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case g:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case _:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case ae:return r=Ba(r),m(e,t,n,r,i)}if(fe(r)||le(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ka(r),i);if(r.$$typeof===te)return m(e,t,n,ma(t,r),i);Ja(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ki&&zi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Ki&&zi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Ki&&zi(i,h),l}function y(i,s,c,l){if(c==null)throw Error(a(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),Ki&&zi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ki&&zi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),Ki&&zi(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===ae&&Ba(l)===r.type){n(e,r.sibling),c=i(r,o.props),qa(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=wi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=Ci(o.type,o.key,o.props,null,e.mode,c),qa(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Di(o,e.mode,c),c.return=e,e=c}return s(e);case ae:return o=Ba(o),b(e,r,o,c)}if(fe(o))return h(e,r,o,c);if(le(o)){if(l=le(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ka(o),c);if(o.$$typeof===te)return b(e,r,ma(e,o),c);Ja(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Ti(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ga=0;var i=b(e,t,n,r);return Wa=null,i}catch(t){if(t===Pa||t===Ia)throw t;var a=yi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Xa=Ya(!0),Za=Ya(!1),Qa=!1;function $a(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function eo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function to(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function no(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Ql&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=gi(e),hi(e,null,n),t}return fi(e,r,t,n),gi(e)}function ro(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,dt(e,n)}}function io(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var ao=!1;function oo(){if(ao){var e=Ta;if(e!==null)throw e}}function so(e,t,n,r){ao=!1;var i=e.updateQueue;Qa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(F&f)===f:(r&f)===f){f!==0&&f===wa&&(ao=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Qa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),ou|=o,e.lanes=o,e.memoizedState=d}}function co(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function lo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)co(n[e],t)}var uo=ge(null),fo=ge(0);function po(e,t){e=iu,w(fo,e),w(uo,t),iu=e|t.baseLanes}function mo(){w(fo,iu),w(uo,uo.current)}function ho(){iu=fo.current,_e(uo),_e(fo)}var go=ge(null),_o=null;function vo(e){var t=e.alternate;w(Co,Co.current&1),w(go,e),_o===null&&(t===null||uo.current!==null||t.memoizedState!==null)&&(_o=e)}function yo(e){w(Co,Co.current),w(go,e),_o===null&&(_o=e)}function bo(e){e.tag===22?(w(Co,Co.current),w(go,e),_o===null&&(_o=e)):xo(e)}function xo(){w(Co,Co.current),w(go,go.current)}function So(e){_e(go),_o===e&&(_o=null),_e(Co)}var Co=ge(0);function wo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||bf(n)||xf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var To=0,k=null,Eo=null,Do=null,Oo=!1,ko=!1,Ao=!1,jo=0,Mo=0,No=null,Po=0;function Fo(){throw Error(a(321))}function Io(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Nr(e[n],t[n]))return!1;return!0}function Lo(e,t,n,r,i,a){return To=a,k=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,S.H=e===null||e.memoizedState===null?Xs:Zs,Ao=!1,a=n(r,i),Ao=!1,ko&&(a=zo(t,n,r,i)),Ro(e),a}function Ro(e){S.H=Ys;var t=Eo!==null&&Eo.next!==null;if(To=0,Do=Eo=k=null,Oo=!1,Mo=0,No=null,t)throw Error(a(300));e===null||mc||(e=e.dependencies,e!==null&&da(e)&&(mc=!0))}function zo(e,t,n,r){k=e;var i=0;do{if(ko&&(No=null),Mo=0,ko=!1,25<=i)throw Error(a(301));if(i+=1,Do=Eo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}S.H=Qs,o=t(n,r)}while(ko);return o}function Bo(){var e=S.H,t=e.useState()[0];return t=typeof t.then==`function`?qo(t):t,e=e.useState()[0],(Eo===null?null:Eo.memoizedState)!==e&&(k.flags|=1024),t}function Vo(){var e=jo!==0;return jo=0,e}function Ho(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Uo(e){if(Oo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Oo=!1}To=0,Do=Eo=k=null,ko=!1,Mo=jo=0,No=null}function Wo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Do===null?k.memoizedState=Do=e:Do=Do.next=e,Do}function Go(){if(Eo===null){var e=k.alternate;e=e===null?null:e.memoizedState}else e=Eo.next;var t=Do===null?k.memoizedState:Do.next;if(t!==null)Do=t,Eo=e;else{if(e===null)throw k.alternate===null?Error(a(467)):Error(a(310));Eo=e,e={memoizedState:Eo.memoizedState,baseState:Eo.baseState,baseQueue:Eo.baseQueue,queue:Eo.queue,next:null},Do===null?k.memoizedState=Do=e:Do=Do.next=e}return Do}function Ko(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function qo(e){var t=Mo;return Mo+=1,No===null&&(No=[]),e=za(No,e,t),t=k,(Do===null?t.memoizedState:Do.next)===null&&(t=t.alternate,S.H=t===null||t.memoizedState===null?Xs:Zs),e}function Jo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return qo(e);if(e.$$typeof===te)return pa(e)}throw Error(a(438,String(e)))}function Yo(e){var t=null,n=k.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=k.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Ko(),k.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=se;return t.index++,n}function Xo(e,t){return typeof t==`function`?t(e):t}function Zo(e){return Qo(Go(),Eo,e)}function Qo(e,t,n){var r=e.queue;if(r===null)throw Error(a(311));r.lastRenderedReducer=n;var i=e.baseQueue,o=r.pending;if(o!==null){if(i!==null){var s=i.next;i.next=o.next,o.next=s}t.baseQueue=i=o,r.pending=null}if(o=e.baseState,i===null)e.memoizedState=o;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(To&f)===f:(F&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===wa&&(d=!0);else if((To&p)===p){u=u.next,p===wa&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,k.lanes|=p,ou|=p;f=u.action,Ao&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,k.lanes|=f,ou|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Nr(o,e.memoizedState)&&(mc=!0,d&&(n=Ta,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function $o(e){var t=Go(),n=t.queue;if(n===null)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do o=e(o,s.action),s=s.next;while(s!==i);Nr(o,t.memoizedState)||(mc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function es(e,t,n){var r=k,i=Go(),o=Ki;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!Nr((Eo||i).memoizedState,n);if(s&&(i.memoizedState=n,mc=!0),i=i.queue,Cs(j.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||Do!==null&&Do.memoizedState.tag&1){if(r.flags|=2048,vs(9,{destroy:void 0},A.bind(null,r,i,n,t),null),$l===null)throw Error(a(349));o||To&127||ts(r,t,n)}return n}function ts(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=k.updateQueue,t===null?(t=Ko(),k.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function A(e,t,n,r){t.value=n,t.getSnapshot=r,ns(t)&&rs(e)}function j(e,t,n){return n(function(){ns(t)&&rs(e)})}function ns(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Nr(e,n)}catch{return!0}}function rs(e){var t=mi(e,2);t!==null&&ku(t,e,2)}function is(e){var t=Wo();if(typeof e==`function`){var n=e;if(e=n(),Ao){Je(!0);try{n()}finally{Je(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xo,lastRenderedState:e},t}function as(e,t,n,r){return e.baseState=n,Qo(e,Eo,typeof r==`function`?r:Xo)}function os(e,t,n,r,i){if(Ks(e))throw Error(a(485));if(e=t.action,e!==null){var o={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};S.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,ss(t,o)):(o.next=n.next,t.pending=n.next=o)}}function ss(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=S.T,o={};S.T=o;try{var s=n(i,r),c=S.S;c!==null&&c(o,s),cs(e,t,s)}catch(n){us(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),S.T=a}}else try{a=n(i,r),cs(e,t,a)}catch(n){us(e,t,n)}}function cs(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){ls(e,t,n)},function(n){return us(e,t,n)}):ls(e,t,n)}function ls(e,t,n){t.status=`fulfilled`,t.value=n,ds(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,ss(e,n)))}function us(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,ds(t),t=t.next;while(t!==r)}e.action=null}function ds(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function fs(e,t){return t}function ps(e,t){if(Ki){var n=$l.formState;if(n!==null){a:{var r=k;if(Ki){if(Gi){b:{for(var i=Gi,a=Ji;i.nodeType!==8;){if(!a){i=null;break b}if(i=Cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Gi=Cf(i.nextSibling),r=i.data===`F!`;break a}}Xi(r)}r=!1}r&&(t=n[0])}}return n=Wo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:t},n.queue=r,n=Us.bind(null,k,r),r.dispatch=n,r=is(!1),a=Gs.bind(null,k,!1,r.queue),r=Wo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=os.bind(null,k,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function ms(e){return hs(Go(),Eo,e)}function hs(e,t,n){if(t=Qo(e,t,fs)[0],e=Zo(Xo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=qo(t)}catch(e){throw e===Pa?Ia:e}else r=t;t=Go();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(k.flags|=2048,vs(9,{destroy:void 0},gs.bind(null,i,n),null)),[r,a,e]}function gs(e,t){e.action=t}function _s(e){var t=Go(),n=Eo;if(n!==null)return hs(t,n,e);Go(),t=t.memoizedState,n=Go();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function vs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=k.updateQueue,t===null&&(t=Ko(),k.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ys(){return Go().memoizedState}function bs(e,t,n,r){var i=Wo();k.flags|=e,i.memoizedState=vs(1|t,{destroy:void 0},n,r===void 0?null:r)}function xs(e,t,n,r){var i=Go();r=r===void 0?null:r;var a=i.memoizedState.inst;Eo!==null&&r!==null&&Io(r,Eo.memoizedState.deps)?i.memoizedState=vs(t,a,n,r):(k.flags|=e,i.memoizedState=vs(1|t,a,n,r))}function Ss(e,t){bs(8390656,8,e,t)}function Cs(e,t){xs(2048,8,e,t)}function ws(e){k.flags|=4;var t=k.updateQueue;if(t===null)t=Ko(),k.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Ts(e){var t=Go().memoizedState;return ws({ref:t,nextImpl:e}),function(){if(Ql&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function Es(e,t){return xs(4,2,e,t)}function Ds(e,t){return xs(4,4,e,t)}function Os(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ks(e,t,n){n=n==null?null:n.concat([e]),xs(4,4,Os.bind(null,t,e),n)}function As(){}function js(e,t){var n=Go();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Io(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ms(e,t){var n=Go();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Io(t,r[1]))return r[0];if(r=e(),Ao){Je(!0);try{e()}finally{Je(!1)}}return n.memoizedState=[r,t],r}function Ns(e,t,n){return n===void 0||To&1073741824&&!(F&261930)?e.memoizedState=t:(e.memoizedState=n,e=Ou(),k.lanes|=e,ou|=e,n)}function Ps(e,t,n,r){return Nr(n,t)?n:uo.current===null?!(To&42)||To&1073741824&&!(F&261930)?(mc=!0,e.memoizedState=n):(e=Ou(),k.lanes|=e,ou|=e,t):(e=Ns(e,n,r),Nr(e,t)||(mc=!0),e)}function Fs(e,t,n,r,i){var a=C.p;C.p=a!==0&&8>a?a:8;var o=S.T,s={};S.T=s,Gs(e,!1,t,n);try{var c=i(),l=S.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ws(e,t,Oa(c,r),Du(e)):Ws(e,t,r,Du(e))}catch(n){Ws(e,t,{then:function(){},status:`rejected`,reason:n},Du())}finally{C.p=a,o!==null&&s.types!==null&&(o.types=s.types),S.T=o}}function Is(){}function Ls(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Rs(e).queue;Fs(e,i,t,pe,n===null?Is:function(){return zs(e),n(r)})}function Rs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:pe,baseState:pe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xo,lastRenderedState:pe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function zs(e){var t=Rs(e);t.next===null&&(t=e.alternate.memoizedState),Ws(e,t.next.queue,{},Du())}function Bs(){return pa(fp)}function Vs(){return Go().memoizedState}function M(){return Go().memoizedState}function Hs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Du();e=to(n);var r=no(t,e,n);r!==null&&(ku(r,t,n),ro(r,t,n)),t={cache:ba()},e.payload=t;return}t=t.return}}function N(e,t,n){var r=Du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ks(e)?qs(t,n):(n=pi(e,t,n,r),n!==null&&(ku(n,e,r),Js(n,t,r)))}function Us(e,t,n){Ws(e,t,n,Du())}function Ws(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ks(e))qs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Nr(s,o))return fi(e,t,i,0),$l===null&&di(),!1}catch{}if(n=pi(e,t,i,r),n!==null)return ku(n,e,r),Js(n,t,r),!0}return!1}function Gs(e,t,n,r){if(r={lane:2,revertLane:Td(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ks(e)){if(t)throw Error(a(479))}else t=pi(e,n,r,2),t!==null&&ku(t,e,2)}function Ks(e){var t=e.alternate;return e===k||t!==null&&t===k}function qs(e,t){ko=Oo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Js(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,dt(e,n)}}var Ys={readContext:pa,use:Jo,useCallback:Fo,useContext:Fo,useEffect:Fo,useImperativeHandle:Fo,useLayoutEffect:Fo,useInsertionEffect:Fo,useMemo:Fo,useReducer:Fo,useRef:Fo,useState:Fo,useDebugValue:Fo,useDeferredValue:Fo,useTransition:Fo,useSyncExternalStore:Fo,useId:Fo,useHostTransitionStatus:Fo,useFormState:Fo,useActionState:Fo,useOptimistic:Fo,useMemoCache:Fo,useCacheRefresh:Fo};Ys.useEffectEvent=Fo;var Xs={readContext:pa,use:Jo,useCallback:function(e,t){return Wo().memoizedState=[e,t===void 0?null:t],e},useContext:pa,useEffect:Ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),bs(4194308,4,Os.bind(null,t,e),n)},useLayoutEffect:function(e,t){return bs(4194308,4,e,t)},useInsertionEffect:function(e,t){bs(4,2,e,t)},useMemo:function(e,t){var n=Wo();t=t===void 0?null:t;var r=e();if(Ao){Je(!0);try{e()}finally{Je(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Wo();if(n!==void 0){var i=n(t);if(Ao){Je(!0);try{n(t)}finally{Je(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=N.bind(null,k,e),[r.memoizedState,e]},useRef:function(e){var t=Wo();return e={current:e},t.memoizedState=e},useState:function(e){e=is(e);var t=e.queue,n=Us.bind(null,k,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:As,useDeferredValue:function(e,t){return Ns(Wo(),e,t)},useTransition:function(){var e=is(!1);return e=Fs.bind(null,k,e.queue,!0,!1),Wo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=k,i=Wo();if(Ki){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),$l===null)throw Error(a(349));F&127||ts(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,Ss(j.bind(null,r,o,e),[e]),r.flags|=2048,vs(9,{destroy:void 0},A.bind(null,r,o,n,t),null),n},useId:function(){var e=Wo(),t=$l.identifierPrefix;if(Ki){var n=Ri,r=Li;n=(r&~(1<<32-Ye(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=jo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Po++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Bs,useFormState:ps,useActionState:ps,useOptimistic:function(e){var t=Wo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Gs.bind(null,k,!0,n),n.dispatch=t,[e,t]},useMemoCache:Yo,useCacheRefresh:function(){return Wo().memoizedState=Hs.bind(null,k)},useEffectEvent:function(e){var t=Wo(),n={impl:e};return t.memoizedState=n,function(){if(Ql&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},Zs={readContext:pa,use:Jo,useCallback:js,useContext:pa,useEffect:Cs,useImperativeHandle:ks,useInsertionEffect:Es,useLayoutEffect:Ds,useMemo:Ms,useReducer:Zo,useRef:ys,useState:function(){return Zo(Xo)},useDebugValue:As,useDeferredValue:function(e,t){return Ps(Go(),Eo.memoizedState,e,t)},useTransition:function(){var e=Zo(Xo)[0],t=Go().memoizedState;return[typeof e==`boolean`?e:qo(e),t]},useSyncExternalStore:es,useId:Vs,useHostTransitionStatus:Bs,useFormState:ms,useActionState:ms,useOptimistic:function(e,t){return as(Go(),Eo,e,t)},useMemoCache:Yo,useCacheRefresh:M};Zs.useEffectEvent=Ts;var Qs={readContext:pa,use:Jo,useCallback:js,useContext:pa,useEffect:Cs,useImperativeHandle:ks,useInsertionEffect:Es,useLayoutEffect:Ds,useMemo:Ms,useReducer:$o,useRef:ys,useState:function(){return $o(Xo)},useDebugValue:As,useDeferredValue:function(e,t){var n=Go();return Eo===null?Ns(n,e,t):Ps(n,Eo.memoizedState,e,t)},useTransition:function(){var e=$o(Xo)[0],t=Go().memoizedState;return[typeof e==`boolean`?e:qo(e),t]},useSyncExternalStore:es,useId:Vs,useHostTransitionStatus:Bs,useFormState:_s,useActionState:_s,useOptimistic:function(e,t){var n=Go();return Eo===null?(n.baseState=e,[e,n.queue.dispatch]):as(n,Eo,e,t)},useMemoCache:Yo,useCacheRefresh:M};Qs.useEffectEvent=Ts;function $s(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ec={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Du(),i=to(r);i.payload=t,n!=null&&(i.callback=n),t=no(e,i,r),t!==null&&(ku(t,e,r),ro(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Du(),i=to(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=no(e,i,r),t!==null&&(ku(t,e,r),ro(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Du(),r=to(n);r.tag=2,t!=null&&(r.callback=t),t=no(e,r,n),t!==null&&(ku(t,e,n),ro(t,e,n))}};function tc(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Pr(n,r)||!Pr(i,a):!0}function nc(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ec.enqueueReplaceState(t,t.state,null)}function rc(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function ic(e){si(e)}function ac(e){console.error(e)}function oc(e){si(e)}function sc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function cc(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function lc(e,t,n){return n=to(n),n.tag=3,n.payload={element:null},n.callback=function(){sc(e,t)},n}function uc(e){return e=to(e),e.tag=3,e}function dc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){cc(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){cc(t,n,r),typeof i!=`function`&&(vu===null?vu=new Set([this]):vu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function fc(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ua(t,n,i,!0),n=go.current,n!==null){switch(n.tag){case 31:case 13:return _o===null?Vu():n.alternate===null&&au===0&&(au=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===La?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),od(e,r,i)),!1;case 22:return n.flags|=65536,r===La?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),od(e,r,i)),!1}throw Error(a(435,n.tag))}return od(e,r,i),Vu(),!1}if(Ki)return t=go.current,t===null?(r!==Yi&&(t=Error(a(423),{cause:r}),na(ki(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=ki(r,n),i=lc(e.stateNode,r,i),io(e,i),au!==4&&(au=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Yi&&(e=Error(a(422),{cause:r}),na(ki(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=ki(o,n),du===null?du=[o]:du.push(o),au!==4&&(au=2),t===null)return!0;r=ki(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=lc(n.stateNode,r,e),io(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(vu===null||!vu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=uc(i),dc(i,e,n,r),io(n,i),!1}n=n.return}while(n!==null);return!1}var pc=Error(a(461)),mc=!1;function hc(e,t,n,r){t.child=e===null?Za(t,null,n,r):Xa(t,e.child,n,r)}function gc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return fa(t),r=Lo(e,t,n,o,a,i),s=Vo(),e!==null&&!mc?(Ho(e,t,i),Bc(e,t,i)):(Ki&&s&&Vi(t),t.flags|=1,hc(e,t,r,i),t.child)}function _c(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!bi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,vc(e,t,a,r,i)):(e=Ci(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Vc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Pr:n,n(o,r)&&e.ref===t.ref)return Bc(e,t,i)}return t.flags|=1,e=xi(a,r),e.ref=t.ref,e.return=t,t.child=e}function vc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Pr(a,r)&&e.ref===t.ref)if(mc=!1,t.pendingProps=r=a,Vc(e,i))e.flags&131072&&(mc=!0);else return t.lanes=e.lanes,Bc(e,t,i)}return Ec(e,t,n,r,i)}function yc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return xc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ma(t,a===null?null:a.cachePool),a===null?mo():po(t,a),bo(t);else return r=t.lanes=536870912,xc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ma(t,null),mo(),xo(t)):(Ma(t,a.cachePool),po(t,a),xo(t),t.memoizedState=null);return hc(e,t,i,n),t.child}function bc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function xc(e,t,n,r,i){var a=ja();return a=a===null?null:{parent:ya._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ma(t,null),mo(),bo(t),e!==null&&ua(e,t,r,!0),t.childLanes=i,null}function Sc(e,t){return t=Fc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Cc(e,t,n){return Xa(t,e.child,null,n),e=Sc(t,t.pendingProps),e.flags|=2,So(t),t.memoizedState=null,e}function wc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Ki){if(r.mode===`hidden`)return e=Sc(t,r),t.lanes=536870912,bc(null,e);if(yo(t),(e=Gi)?(e=yf(e,Ji),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ii===null?null:{id:Li,overflow:Ri},retryLane:536870912,hydrationErrors:null},n=Ei(e),n.return=t,t.child=n,Wi=t,Gi=null)):e=null,e===null)throw Xi(t);return t.lanes=536870912,null}return Sc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(yo(t),i)if(t.flags&256)t.flags&=-257,t=Cc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(mc||ua(e,t,n,!1),i=(n&e.childLanes)!==0,mc||i){if(r=$l,r!==null&&(s=ft(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,mi(e,s),ku(r,e,s),pc;Vu(),t=Cc(e,t,n)}else e=o.treeContext,Gi=Cf(s.nextSibling),Wi=t,Ki=!0,qi=null,Ji=!1,e!==null&&Ui(t,e),t=Sc(t,r),t.flags|=4096;return t}return e=xi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Tc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(a(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ec(e,t,n,r,i){return fa(t),n=Lo(e,t,n,r,void 0,i),r=Vo(),e!==null&&!mc?(Ho(e,t,i),Bc(e,t,i)):(Ki&&r&&Vi(t),t.flags|=1,hc(e,t,n,i),t.child)}function Dc(e,t,n,r,i,a){return fa(t),t.updateQueue=null,n=zo(t,r,n,i),Ro(e),r=Vo(),e!==null&&!mc?(Ho(e,t,a),Bc(e,t,a)):(Ki&&r&&Vi(t),t.flags|=1,hc(e,t,n,a),t.child)}function Oc(e,t,n,r,i){if(fa(t),t.stateNode===null){var a=_i,o=n.contextType;typeof o==`object`&&o&&(a=pa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=ec,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},$a(t),o=n.contextType,a.context=typeof o==`object`&&o?pa(o):_i,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&($s(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&ec.enqueueReplaceState(a,a.state,null),so(t,r,a,i),oo(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=rc(n,s);a.props=c;var l=a.context,u=n.contextType;o=_i,typeof u==`object`&&u&&(o=pa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&nc(t,a,r,o),Qa=!1;var f=t.memoizedState;a.state=f,so(t,r,a,i),oo(),l=t.memoizedState,s||f!==l||Qa?(typeof d==`function`&&($s(t,n,d,r),l=t.memoizedState),(c=Qa||tc(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,eo(e,t),o=t.memoizedProps,u=rc(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=_i,typeof l==`object`&&l&&(c=pa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&nc(t,a,r,c),Qa=!1,f=t.memoizedState,a.state=f,so(t,r,a,i),oo();var p=t.memoizedState;o!==d||f!==p||Qa||e!==null&&e.dependencies!==null&&da(e.dependencies)?(typeof s==`function`&&($s(t,n,s,r),p=t.memoizedState),(u=Qa||tc(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&da(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Tc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Xa(t,e.child,null,i),t.child=Xa(t,null,n,i)):hc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Bc(e,t,i),e}function kc(e,t,n,r){return ea(),t.flags|=256,hc(e,t,n,r),t.child}var Ac={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jc(e){return{baseLanes:e,cachePool:Na()}}function Mc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=lu),e}function Nc(e,t,n){var r=t.pendingProps,i=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(Co.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Ki){if(i?vo(t):xo(t),(e=Gi)?(e=yf(e,Ji),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ii===null?null:{id:Li,overflow:Ri},retryLane:536870912,hydrationErrors:null},n=Ei(e),n.return=t,t.child=n,Wi=t,Gi=null)):e=null,e===null)throw Xi(t);return xf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(xo(t),i=t.mode,c=Fc({mode:`hidden`,children:c},i),r=wi(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=jc(n),r.childLanes=Mc(e,s,n),t.memoizedState=Ac,bc(null,r)):(vo(t),Pc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(vo(t),t.flags&=-257,t=Ic(e,t,n)):t.memoizedState===null?(xo(t),c=r.fallback,i=t.mode,r=Fc({mode:`visible`,children:r.children},i),c=wi(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Xa(t,e.child,null,n),r=t.child,r.memoizedState=jc(n),r.childLanes=Mc(e,s,n),t.memoizedState=Ac,t=bc(null,r)):(xo(t),t.child=e.child,t.flags|=128,t=null);else if(vo(t),xf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(a(419)),r.stack=``,r.digest=s,na({value:r,source:null,stack:null}),t=Ic(e,t,n)}else if(mc||ua(e,t,n,!1),s=(n&e.childLanes)!==0,mc||s){if(s=$l,s!==null&&(r=ft(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,mi(e,r),ku(s,e,r),pc;bf(c)||Vu(),t=Ic(e,t,n)}else bf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Gi=Cf(c.nextSibling),Wi=t,Ki=!0,qi=null,Ji=!1,e!==null&&Ui(t,e),t=Pc(t,r.children),t.flags|=4096);return t}return i?(xo(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=xi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=wi(c,i,n,null),c.flags|=2):c=xi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,bc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=jc(n):(i=c.cachePool,i===null?i=Na():(l=ya._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=Mc(e,s,n),t.memoizedState=Ac,bc(e.child,r)):(vo(t),n=e.child,e=n.sibling,n=xi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Pc(e,t){return t=Fc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Fc(e,t){return e=yi(22,e,null,t),e.lanes=0,e}function Ic(e,t,n){return Xa(t,e.child,null,n),e=Pc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Lc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ca(e.return,t,n)}function Rc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function zc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Co.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,w(Co,o),hc(e,t,r,n),r=Ki?Ni:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Lc(e,n,t);else if(e.tag===19)Lc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&wo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Rc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&wo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Rc(t,!0,n,null,a,r);break;case`together`:Rc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Bc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ou|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ua(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,n=xi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=xi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Vc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&da(e))):!0}function Hc(e,t,n){switch(t.tag){case 3:Se(t,t.stateNode.containerInfo),oa(t,ya,e.memoizedState.cache),ea();break;case 27:case 5:D(t);break;case 4:Se(t,t.stateNode.containerInfo);break;case 10:oa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,yo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(vo(t),e=Bc(e,t,n),e===null?null:e.sibling):Nc(e,t,n):(vo(t),t.flags|=128,null);vo(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(ua(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return zc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),w(Co,Co.current),r)break;return null;case 22:return t.lanes=0,yc(e,t,n,t.pendingProps);case 24:oa(t,ya,e.memoizedState.cache)}return Bc(e,t,n)}function Uc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)mc=!0;else{if(!Vc(e,n)&&!(t.flags&128))return mc=!1,Hc(e,t,n);mc=!!(e.flags&131072)}else mc=!1,Ki&&t.flags&1048576&&Bi(t,Ni,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ba(t.elementType),t.type=e,typeof e==`function`)bi(e)?(r=rc(e,r),t.tag=1,t=Oc(null,t,e,r,n)):(t.tag=0,t=Ec(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===x){t.tag=11,t=gc(null,t,e,r,n);break a}else if(i===ie){t.tag=14,t=_c(null,t,e,r,n);break a}}throw t=de(e)||e,Error(a(306,t,``))}}return t;case 0:return Ec(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=rc(r,t.pendingProps),Oc(e,t,r,i,n);case 3:a:{if(Se(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,eo(e,t),so(t,r,null,n);var s=t.memoizedState;if(r=s.cache,oa(t,ya,r),r!==o.cache&&la(t,[ya],n,!0),oo(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=kc(e,t,r,n);break a}else if(r!==i){i=ki(Error(a(424)),t),na(i),t=kc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Gi=Cf(e.firstChild),Wi=t,Ki=!0,qi=null,Ji=!0,n=Za(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(ea(),r===i){t=Bc(e,t,n);break a}hc(e,t,r,n)}t=t.child}return t;case 26:return Tc(e,t),e===null?(n=Uf(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ki||(n=t.type,e=t.pendingProps,r=tf(be.current).createElement(n),r[vt]=t,r[yt]=e,Yd(r,n,e),jt(r),t.stateNode=r):t.memoizedState=Uf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return D(t),e===null&&Ki&&(r=t.stateNode=Df(t.type,t.pendingProps,be.current),Wi=t,Ji=!0,i=Gi,pf(t.type)?(wf=i,Gi=Cf(r.firstChild)):Gi=i),hc(e,t,t.pendingProps.children,n),Tc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ki&&((i=r=Gi)&&(r=_f(r,t.type,t.pendingProps,Ji),r===null?i=!1:(t.stateNode=r,Wi=t,Gi=Cf(r.firstChild),Ji=!1,i=!0)),i||Xi(t)),D(t),i=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,af(i,o)?r=null:s!==null&&af(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=Lo(e,t,Bo,null,null,n),fp._currentValue=i),Tc(e,t),hc(e,t,r,n),t.child;case 6:return e===null&&Ki&&((e=n=Gi)&&(n=vf(n,t.pendingProps,Ji),n===null?e=!1:(t.stateNode=n,Wi=t,Gi=null,e=!0)),e||Xi(t)),null;case 13:return Nc(e,t,n);case 4:return Se(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Xa(t,null,r,n):hc(e,t,r,n),t.child;case 11:return gc(e,t,t.type,t.pendingProps,n);case 7:return hc(e,t,t.pendingProps,n),t.child;case 8:return hc(e,t,t.pendingProps.children,n),t.child;case 12:return hc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,oa(t,t.type,r.value),hc(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,fa(t),i=pa(i),r=r(i),t.flags|=1,hc(e,t,r,n),t.child;case 14:return _c(e,t,t.type,t.pendingProps,n);case 15:return vc(e,t,t.type,t.pendingProps,n);case 19:return zc(e,t,n);case 31:return wc(e,t,n);case 22:return yc(e,t,n,t.pendingProps);case 24:return fa(t),r=pa(ya),e===null?(i=ja(),i===null&&(i=$l,o=ba(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},$a(t),oa(t,ya,i)):((e.lanes&n)!==0&&(eo(e,t),so(t,null,null,n),oo()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,oa(t,ya,r),r!==i.cache&&la(t,[ya],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),oa(t,ya,r))),hc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Wc(e){e.flags|=4}function Gc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Ru())e.flags|=8192;else throw Va=La,Fa}else e.flags&=-16777217}function Kc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!ip(t))if(Ru())e.flags|=8192;else throw Va=La,Fa}function qc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:ot(),e.lanes|=t,uu|=t)}function Jc(e,t){if(!Ki)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Yc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Xc(e,t,n){var r=t.pendingProps;switch(Hi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Yc(t),null;case 1:return Yc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),sa(ya),E(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&($i(t)?Wc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ta())),Yc(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Wc(t),o===null?(Yc(t),Gc(t,i,null,r,n)):(Yc(t),Kc(t,o))):o?o===e.memoizedState?(Yc(t),t.flags&=-16777217):(Wc(t),Yc(t),Kc(t,o)):(e=e.memoizedProps,e!==r&&Wc(t),Yc(t),Gc(t,i,e,r,n)),null;case 27:if(Ce(t),n=be.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Wc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Yc(t),null}e=ve.current,$i(t)?Zi(t,e):(e=Df(i,r,n),t.stateNode=e,Wc(t))}return Yc(t),null;case 5:if(Ce(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Wc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Yc(t),null}if(o=ve.current,$i(t))Zi(t,o);else{var s=tf(be.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[vt]=t,o[yt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Yd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Wc(t)}}return Yc(t),Gc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Wc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=be.current,$i(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Wi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[vt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Kd(e.nodeValue,n)),e||Xi(t,!0)}else e=tf(e).createTextNode(r),e[vt]=t,t.stateNode=e}return Yc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=$i(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[vt]=t}else ea(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Yc(t),e=!1}else n=ta(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(So(t),t):(So(t),null);if(t.flags&128)throw Error(a(558))}return Yc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=$i(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[vt]=t}else ea(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Yc(t),i=!1}else i=ta(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(So(t),t):(So(t),null)}return So(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),qc(t,t.updateQueue),Yc(t),null);case 4:return E(),e===null&&Id(t.stateNode.containerInfo),Yc(t),null;case 10:return sa(t.type),Yc(t),null;case 19:if(_e(Co),r=t.memoizedState,r===null)return Yc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Jc(r,!1);else{if(au!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=wo(e),o!==null){for(t.flags|=128,Jc(r,!1),e=o.updateQueue,t.updateQueue=e,qc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Si(n,e),n=n.sibling;return w(Co,Co.current&1|2),Ki&&zi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ie()>gu&&(t.flags|=128,i=!0,Jc(r,!1),t.lanes=4194304)}else{if(!i)if(e=wo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,qc(t,e),Jc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ki)return Yc(t),null}else 2*Ie()-r.renderingStartTime>gu&&n!==536870912&&(t.flags|=128,i=!0,Jc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Yc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ie(),e.sibling=null,n=Co.current,w(Co,i?n&1|2:n&1),Ki&&zi(t,r.treeForkCount),e);case 22:case 23:return So(t),ho(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Yc(t),t.subtreeFlags&6&&(t.flags|=8192)):Yc(t),n=t.updateQueue,n!==null&&qc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&_e(Aa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),sa(ya),Yc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Zc(e,t){switch(Hi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return sa(ya),E(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ce(t),null;case 31:if(t.memoizedState!==null){if(So(t),t.alternate===null)throw Error(a(340));ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(So(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _e(Co),null;case 4:return E(),null;case 10:return sa(t.type),null;case 22:case 23:return So(t),ho(),e!==null&&_e(Aa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return sa(ya),null;case 25:return null;default:return null}}function Qc(e,t){switch(Hi(t),t.tag){case 3:sa(ya),E();break;case 26:case 27:case 5:Ce(t);break;case 4:E();break;case 31:t.memoizedState!==null&&So(t);break;case 13:So(t);break;case 19:_e(Co);break;case 10:sa(t.type);break;case 22:case 23:So(t),ho(),e!==null&&_e(Aa);break;case 24:sa(ya)}}function $c(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){ad(t,t.return,e)}}function el(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){ad(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){ad(t,t.return,e)}}function tl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{lo(t,n)}catch(t){ad(e,e.return,t)}}}function nl(e,t,n){n.props=rc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){ad(e,t,n)}}function rl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){ad(e,t,n)}}function il(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){ad(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){ad(e,t,n)}else n.current=null}function al(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){ad(e,e.return,t)}}function ol(e,t,n){try{var r=e.stateNode;Xd(r,e.type,n,t),r[yt]=t}catch(t){ad(e,e.return,t)}}function sl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&pf(e.type)||e.tag===4}function cl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&pf(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=fn));else if(r!==4&&(r===27&&pf(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ll(e,t,n),e=e.sibling;e!==null;)ll(e,t,n),e=e.sibling}function ul(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&pf(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ul(e,t,n),e=e.sibling;e!==null;)ul(e,t,n),e=e.sibling}function dl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Yd(t,r,n),t[vt]=e,t[yt]=n}catch(t){ad(e,e.return,t)}}var fl=!1,pl=!1,ml=!1,hl=typeof WeakSet==`function`?WeakSet:Set,gl=null;function _l(e,t){if(e=e.containerInfo,$d=bp,e=Rr(e),zr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(ef={focusedElem:e,selectionRange:n},bp=!1,gl=t;gl!==null;)if(t=gl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,gl=e;else for(;gl!==null;){switch(t=gl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,i=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=rc(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){ad(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)gf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:gf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,gl=e;break}gl=t.return}}function vl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Nl(e,n),r&4&&$c(5,n);break;case 1:if(Nl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){ad(n,n.return,e)}
vendor: 5,468 bytes, line 9
9else{var i=rc(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){ad(n,n.return,e)}}r&64&&tl(n),r&512&&rl(n,n.return);break;case 3:if(Nl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{lo(e,t)}catch(e){ad(n,n.return,e)}}break;case 27:t===null&&r&4&&dl(n);case 26:case 5:Nl(e,n),t===null&&r&4&&al(n),r&512&&rl(n,n.return);break;case 12:Nl(e,n);break;case 31:Nl(e,n),r&4&&wl(e,n);break;case 13:Nl(e,n),r&4&&Tl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=ld.bind(null,n),Sf(e,n))));break;case 22:if(r=n.memoizedState!==null||fl,!r){t=t!==null&&t.memoizedState!==null||pl,i=fl;var a=pl;fl=r,(pl=t)&&!a?Fl(e,n,(n.subtreeFlags&8772)!=0):Nl(e,n),fl=i,pl=a}break;case 30:break;default:Nl(e,n)}}function yl(e){var t=e.alternate;t!==null&&(e.alternate=null,yl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Et(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var bl=null,xl=!1;function Sl(e,t,n){for(n=n.child;n!==null;)Cl(e,t,n),n=n.sibling}function Cl(e,t,n){if(qe&&typeof qe.onCommitFiberUnmount==`function`)try{qe.onCommitFiberUnmount(Ke,n)}catch{}switch(n.tag){case 26:pl||il(n,t),Sl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:pl||il(n,t);var r=bl,i=xl;pf(n.type)&&(bl=n.stateNode,xl=!1),Sl(e,t,n),Of(n.stateNode),bl=r,xl=i;break;case 5:pl||il(n,t);case 6:if(r=bl,i=xl,bl=null,Sl(e,t,n),bl=r,xl=i,bl!==null)if(xl)try{(bl.nodeType===9?bl.body:bl.nodeName===`HTML`?bl.ownerDocument.body:bl).removeChild(n.stateNode)}catch(e){ad(n,t,e)}else try{bl.removeChild(n.stateNode)}catch(e){ad(n,t,e)}break;case 18:bl!==null&&(xl?(e=bl,mf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Kp(e)):mf(bl,n.stateNode));break;case 4:r=bl,i=xl,bl=n.stateNode.containerInfo,xl=!0,Sl(e,t,n),bl=r,xl=i;break;case 0:case 11:case 14:case 15:el(2,n,t),pl||el(4,n,t),Sl(e,t,n);break;case 1:pl||(il(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&nl(n,t,r)),Sl(e,t,n);break;case 21:Sl(e,t,n);break;case 22:pl=(r=pl)||n.memoizedState!==null,Sl(e,t,n),pl=r;break;default:Sl(e,t,n)}}function wl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Kp(e)}catch(e){ad(t,t.return,e)}}}function Tl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Kp(e)}catch(e){ad(t,t.return,e)}}function El(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new hl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new hl),t;default:throw Error(a(435,e.tag))}}function Dl(e,t){var n=El(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=ud.bind(null,e,t);t.then(r,r)}})}function Ol(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(pf(c.type)){bl=c.stateNode,xl=!1;break a}break;case 5:bl=c.stateNode,xl=!1;break a;case 3:case 4:bl=c.stateNode.containerInfo,xl=!0;break a}c=c.return}if(bl===null)throw Error(a(160));Cl(o,s,i),bl=null,xl=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Al(t,e),t=t.sibling}var kl=null;function Al(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ol(t,e),jl(e),r&4&&(el(3,e,e.return),$c(3,e),el(5,e,e.return));break;case 1:Ol(t,e),jl(e),r&512&&(pl||n===null||il(n,n.return)),r&64&&fl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=kl;if(Ol(t,e),jl(e),r&512&&(pl||n===null||il(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:o=i.getElementsByTagName(`title`)[0],(!o||o[Tt]||o[vt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=i.createElement(r),i.head.insertBefore(o,i.querySelector(`head > title`))),Yd(o,r,n),o[vt]=e,jt(o),r=o;break a;case`link`:var s=tp(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=i.createElement(r),Yd(o,r,n),i.head.appendChild(o);break;case`meta`:if(s=tp(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=i.createElement(r),Yd(o,r,n),i.head.appendChild(o);break;default:throw Error(a(468,r))}o[vt]=e,jt(o),r=o}e.stateNode=r}else np(i,e.type,e.stateNode);else e.stateNode=Xf(i,r,e.memoizedProps);
vendor: 63,557 bytes, lines 9-10
9else o===r?r===null&&e.stateNode!==null&&ol(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?np(i,e.type,e.stateNode):Xf(i,r,e.memoizedProps))}break;case 27:Ol(t,e),jl(e),r&512&&(pl||n===null||il(n,n.return)),n!==null&&r&4&&ol(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Ol(t,e),jl(e),r&512&&(pl||n===null||il(n,n.return)),e.flags&32){i=e.stateNode;try{rn(i,``)}catch(t){ad(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,ol(e,i,n===null?i:n.memoizedProps)),r&1024&&(ml=!0);break;case 6:if(Ol(t,e),jl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){ad(e,e.return,t)}}break;case 3:if(ep=null,i=kl,kl=Af(t.containerInfo),Ol(t,e),kl=i,jl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Kp(t.containerInfo)}catch(t){ad(e,e.return,t)}ml&&(ml=!1,Ml(e));break;case 4:r=kl,kl=Af(e.stateNode.containerInfo),Ol(t,e),jl(e),kl=r;break;case 12:Ol(t,e),jl(e);break;case 31:Ol(t,e),jl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Dl(e,r)));break;case 13:Ol(t,e),jl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(mu=Ie()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Dl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=fl,d=pl;if(fl=u||i,pl=d||l,Ol(t,e),pl=d,fl=u,jl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||fl||pl||Pl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,i)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){ad(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){ad(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?hf(m,!0):hf(l.stateNode,!1)}catch(e){ad(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,Dl(e,n))));break;case 19:Ol(t,e),jl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Dl(e,r)));break;case 30:break;case 21:break;default:Ol(t,e),jl(e)}}function jl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(sl(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;ul(e,cl(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(rn(o,``),n.flags&=-33),ul(e,cl(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;ll(e,cl(e),s);break;default:throw Error(a(161))}}catch(t){ad(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ml(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Ml(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Nl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)vl(e,t.alternate,t),t=t.sibling}function Pl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:el(4,t,t.return),Pl(t);break;case 1:il(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&nl(t,t.return,n),Pl(t);break;case 27:Of(t.stateNode);case 26:case 5:il(t,t.return),Pl(t);break;case 22:t.memoizedState===null&&Pl(t);break;case 30:Pl(t);break;default:Pl(t)}e=e.sibling}}function Fl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Fl(i,a,n),$c(4,a);break;case 1:if(Fl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){ad(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)co(c[i],s)}catch(e){ad(r,r.return,e)}}n&&o&64&&tl(a),rl(a,a.return);break;case 27:dl(a);case 26:case 5:Fl(i,a,n),n&&r===null&&o&4&&al(a),rl(a,a.return);break;case 12:Fl(i,a,n);break;case 31:Fl(i,a,n),n&&o&4&&wl(i,a);break;case 13:Fl(i,a,n),n&&o&4&&Tl(i,a);break;case 22:a.memoizedState===null&&Fl(i,a,n),rl(a,a.return);break;case 30:break;default:Fl(i,a,n)}t=t.sibling}}function Il(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&xa(n))}function Ll(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&xa(e))}function Rl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)zl(e,t,n,r),t=t.sibling}function zl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Rl(e,t,n,r),i&2048&&$c(9,t);break;case 1:Rl(e,t,n,r);break;case 3:Rl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&xa(e)));break;case 12:if(i&2048){Rl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){ad(t,t.return,e)}}else Rl(e,t,n,r);break;case 31:Rl(e,t,n,r);break;case 13:Rl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Rl(e,t,n,r):(a._visibility|=2,Bl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Rl(e,t,n,r):Vl(e,t),i&2048&&Il(o,t);break;case 24:Rl(e,t,n,r),i&2048&&Ll(t.alternate,t);break;default:Rl(e,t,n,r)}}function Bl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Bl(a,o,s,c,i),$c(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Bl(a,o,s,c,i)):u._visibility&2?Bl(a,o,s,c,i):Vl(a,o),i&&l&2048&&Il(o.alternate,o);break;case 24:Bl(a,o,s,c,i),i&&l&2048&&Ll(o.alternate,o);break;default:Bl(a,o,s,c,i)}t=t.sibling}}function Vl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Vl(n,r),i&2048&&Il(r.alternate,r);break;case 24:Vl(n,r),i&2048&&Ll(r.alternate,r);break;default:Vl(n,r)}t=t.sibling}}var Hl=8192;function Ul(e,t,n){if(e.subtreeFlags&Hl)for(e=e.child;e!==null;)Wl(e,t,n),e=e.sibling}function Wl(e,t,n){switch(e.tag){case 26:Ul(e,t,n),e.flags&Hl&&e.memoizedState!==null&&ap(n,kl,e.memoizedState,e.memoizedProps);break;case 5:Ul(e,t,n);break;case 3:case 4:var r=kl;kl=Af(e.stateNode.containerInfo),Ul(e,t,n),kl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Hl,Hl=16777216,Ul(e,t,n),Hl=r):Ul(e,t,n));break;default:Ul(e,t,n)}}function Gl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Kl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];gl=r,Yl(r,e)}Gl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)ql(e),e=e.sibling}function ql(e){switch(e.tag){case 0:case 11:case 15:Kl(e),e.flags&2048&&el(9,e,e.return);break;case 3:Kl(e);break;case 12:Kl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Jl(e)):Kl(e);break;default:Kl(e)}}function Jl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];gl=r,Yl(r,e)}Gl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:el(8,t,t.return),Jl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Jl(t));break;default:Jl(t)}e=e.sibling}}function Yl(e,t){for(;gl!==null;){var n=gl;switch(n.tag){case 0:case 11:case 15:el(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:xa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,gl=r;else a:for(n=e;gl!==null;){r=gl;var i=r.sibling,a=r.return;if(yl(r),r===n){gl=null;break a}if(i!==null){i.return=a,gl=i;break a}gl=a}}}var Xl={getCacheForType:function(e){var t=pa(ya),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return pa(ya).controller.signal}},Zl=typeof WeakMap==`function`?WeakMap:Map,Ql=0,$l=null,P=null,F=0,I=0,eu=null,tu=!1,nu=!1,ru=!1,iu=0,au=0,ou=0,su=0,cu=0,lu=0,uu=0,du=null,fu=null,pu=!1,mu=0,hu=0,gu=1/0,_u=null,vu=null,yu=0,bu=null,xu=null,Su=0,L=0,Cu=null,wu=null,Tu=0,Eu=null;function Du(){return Ql&2&&F!==0?F&-F:S.T===null?ht():Td()}function Ou(){if(lu===0)if(!(F&536870912)||Ki){var e=et;et<<=1,!(et&3932160)&&(et=262144),lu=e}else lu=536870912;return e=go.current,e!==null&&(e.flags|=32),lu}function ku(e,t,n){(e===$l&&(I===2||I===9)||e.cancelPendingCommit!==null)&&(Iu(e,0),Nu(e,F,lu,!1)),ct(e,n),(!(Ql&2)||e!==$l)&&(e===$l&&(!(Ql&2)&&(su|=n),au===4&&Nu(e,F,lu,!1)),vd(e))}function Au(e,t,n){if(Ql&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||it(e,t),i=r?Wu(e,t):Hu(e,t,!0),o=r;do{if(i===0){nu&&!r&&Nu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!Mu(n)){i=Hu(e,t,!1),o=!1;continue}if(i===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=du;var l=c.current.memoizedState.isDehydrated;if(l&&(Iu(c,s).flags|=256),s=Hu(c,s,!1),s!==2){if(ru&&!l){c.errorRecoveryDisabledLanes|=o,su|=o,i=4;break a}o=fu,fu=i,o!==null&&(fu===null?fu=o:fu.push.apply(fu,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){Iu(e,0),Nu(e,t,0,!0);break}a:{switch(r=e,o=i,o){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:Nu(r,t,lu,!tu);break a;case 2:fu=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=mu+300-Ie(),10<i)){if(Nu(r,t,lu,!tu),rt(r,0,!0)!==0)break a;Su=t,r.timeoutHandle=cf(ju.bind(null,r,n,fu,_u,pu,t,lu,su,uu,tu,o,`Throttled`,-0,0),i);break a}ju(r,n,fu,_u,pu,t,lu,su,uu,tu,o,null,-0,0)}}break}while(1);vd(e)}function ju(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:fn},Wl(t,a,d);var m=(a&62914560)===a?mu-Ie():(a&4194048)===a?hu-Ie():0;if(m=sp(d,m),m!==null){Su=a,e.cancelPendingCommit=m(Zu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Nu(e,a,o,!l);return}}Zu(e,t,a,n,r,i,o,s,c)}function Mu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Nr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Nu(e,t,n,r){t&=~cu,t&=~su,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ye(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&ut(e,n,t)}function Pu(){return Ql&6?!0:(R(0,!1),!1)}function Fu(){if(P!==null){if(I===0)var e=P.return;else e=P,aa=ia=null,Uo(e),Wa=null,Ga=0,e=P;for(;e!==null;)Qc(e.alternate,e),e=e.return;P=null}}function Iu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,lf(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Su=0,Fu(),$l=e,P=n=xi(e.current,null),F=t,I=0,eu=null,tu=!1,nu=it(e,t),ru=!1,uu=lu=cu=su=ou=au=0,fu=du=null,pu=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ye(r),a=1<<i;t|=e[i],r&=~a}return iu=t,di(),n}function Lu(e,t){k=null,S.H=Ys,t===Pa||t===Ia?(t=Ha(),I=3):t===Fa?(t=Ha(),I=4):I=t===pc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,eu=t,P===null&&(au=1,sc(e,ki(t,e.current)))}function Ru(){var e=go.current;return e===null?!0:(F&4194048)===F?_o===null:(F&62914560)===F||F&536870912?e===_o:!1}function zu(){var e=S.H;return S.H=Ys,e===null?Ys:e}function Bu(){var e=S.A;return S.A=Xl,e}function Vu(){au=4,tu||(F&4194048)!==F&&go.current!==null||(nu=!0),!(ou&134217727)&&!(su&134217727)||$l===null||Nu($l,F,lu,!1)}function Hu(e,t,n){var r=Ql;Ql|=2;var i=zu(),a=Bu();($l!==e||F!==t)&&(_u=null,Iu(e,t)),t=!1;var o=au;a:do try{if(I!==0&&P!==null){var s=P,c=eu;switch(I){case 8:Fu(),o=6;break a;case 3:case 2:case 9:case 6:go.current===null&&(t=!0);var l=I;if(I=0,eu=null,Ju(e,s,c,l),n&&nu){o=0;break a}break;default:l=I,I=0,eu=null,Ju(e,s,c,l)}}Uu(),o=au;break}catch(t){Lu(e,t)}while(1);return t&&e.shellSuspendCounter++,aa=ia=null,Ql=r,S.H=i,S.A=a,P===null&&($l=null,F=0,di()),o}function Uu(){for(;P!==null;)Ku(P)}function Wu(e,t){var n=Ql;Ql|=2;var r=zu(),i=Bu();$l!==e||F!==t?(_u=null,gu=Ie()+500,Iu(e,t)):nu=it(e,t);a:do try{if(I!==0&&P!==null){t=P;var o=eu;b:switch(I){case 1:I=0,eu=null,Ju(e,t,o,1);break;case 2:case 9:if(Ra(o)){I=0,eu=null,qu(t);break}t=function(){I!==2&&I!==9||$l!==e||(I=7),vd(e)},o.then(t,t);break a;case 3:I=7;break a;case 4:I=5;break a;case 7:Ra(o)?(I=0,eu=null,qu(t)):(I=0,eu=null,Ju(e,t,o,7));break;case 5:var s=null;switch(P.tag){case 26:s=P.memoizedState;case 5:case 27:var c=P;if(s?ip(s):c.stateNode.complete){I=0,eu=null;var l=c.sibling;if(l!==null)P=l;else{var u=c.return;u===null?P=null:(P=u,Yu(u))}break b}}I=0,eu=null,Ju(e,t,o,5);break;case 6:I=0,eu=null,Ju(e,t,o,6);break;case 8:Fu(),au=6;break a;default:throw Error(a(462))}}Gu();break}catch(t){Lu(e,t)}while(1);return aa=ia=null,S.H=r,S.A=i,Ql=n,P===null?($l=null,F=0,di(),au):0}function Gu(){for(;P!==null&&!Pe();)Ku(P)}function Ku(e){var t=Uc(e.alternate,e,iu);e.memoizedProps=e.pendingProps,t===null?Yu(e):P=t}function qu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Dc(n,t,t.pendingProps,t.type,void 0,F);break;case 11:t=Dc(n,t,t.pendingProps,t.type.render,t.ref,F);break;case 5:Uo(t);default:Qc(n,t),t=P=Si(t,iu),t=Uc(n,t,iu)}e.memoizedProps=e.pendingProps,t===null?Yu(e):P=t}function Ju(e,t,n,r){aa=ia=null,Uo(t),Wa=null,Ga=0;var i=t.return;try{if(fc(e,i,t,n,F)){au=1,sc(e,ki(n,e.current)),P=null;return}}catch(t){if(i!==null)throw P=i,t;au=1,sc(e,ki(n,e.current)),P=null;return}t.flags&32768?(Ki||r===1?e=!0:nu||F&536870912?e=!1:(tu=e=!0,(r===2||r===9||r===3||r===6)&&(r=go.current,r!==null&&r.tag===13&&(r.flags|=16384))),Xu(t,e)):Yu(t)}function Yu(e){var t=e;do{if(t.flags&32768){Xu(t,tu);return}e=t.return;var n=Xc(t.alternate,t,iu);if(n!==null){P=n;return}if(t=t.sibling,t!==null){P=t;return}P=t=e}while(t!==null);au===0&&(au=5)}function Xu(e,t){do{var n=Zc(e.alternate,e);if(n!==null){n.flags&=32767,P=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){P=e;return}P=e=n}while(e!==null);au=6,P=null}function Zu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do nd();while(yu!==0);if(Ql&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=ui,lt(e,n,o,s,c,l),e===$l&&(P=$l=null,F=0),xu=t,bu=e,Su=n,L=o,Cu=i,wu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,dd(Be,function(){return rd(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=S.T,S.T=null,i=C.p,C.p=2,s=Ql,Ql|=4;try{_l(e,t,n)}finally{Ql=s,C.p=i,S.T=r}}yu=1,Qu(),$u(),ed()}}function Qu(){if(yu===1){yu=0;var e=bu,t=xu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=S.T,S.T=null;var r=C.p;C.p=2;var i=Ql;Ql|=4;try{Al(t,e);var a=ef,o=Rr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Lr(s.ownerDocument.documentElement,s)){if(c!==null&&zr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Ir(s,h),v=Ir(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}bp=!!$d,ef=$d=null}finally{Ql=i,C.p=r,S.T=n}}e.current=t,yu=2}}function $u(){if(yu===2){yu=0;var e=bu,t=xu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=S.T,S.T=null;var r=C.p;C.p=2;var i=Ql;Ql|=4;try{vl(e,t.alternate,t)}finally{Ql=i,C.p=r,S.T=n}}yu=3}}function ed(){if(yu===4||yu===3){yu=0,Fe();var e=bu,t=xu,n=Su,r=wu;t.subtreeFlags&10256||t.flags&10256?yu=5:(yu=0,xu=bu=null,td(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(vu=null),mt(n),t=t.stateNode,qe&&typeof qe.onCommitFiberRoot==`function`)try{qe.onCommitFiberRoot(Ke,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=S.T,i=C.p,C.p=2,S.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{S.T=t,C.p=i}}Su&3&&nd(),vd(e),i=e.pendingLanes,n&261930&&i&42?e===Eu?Tu++:(Tu=0,Eu=e):Tu=0,R(0,!1)}}function td(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,xa(t)))}function nd(){return Qu(),$u(),ed(),rd()}function rd(){if(yu!==5)return!1;var e=bu,t=L;L=0;var n=mt(Su),r=S.T,i=C.p;try{C.p=32>n?32:n,S.T=null,n=Cu,Cu=null;var o=bu,s=Su;if(yu=0,xu=bu=null,Su=0,Ql&6)throw Error(a(331));var c=Ql;if(Ql|=4,ql(o.current),zl(o,o.current,s,n),Ql=c,R(0,!1),qe&&typeof qe.onPostCommitFiberRoot==`function`)try{qe.onPostCommitFiberRoot(Ke,o)}catch{}return!0}finally{C.p=i,S.T=r,td(e,t)}}function id(e,t,n){t=ki(n,t),t=lc(e.stateNode,t,2),e=no(e,t,2),e!==null&&(ct(e,2),vd(e))}function ad(e,t,n){if(e.tag===3)id(e,e,n);else for(;t!==null;){if(t.tag===3){id(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vu===null||!vu.has(r))){e=ki(n,e),n=uc(2),r=no(t,n,2),r!==null&&(dc(n,r,t,e),ct(r,2),vd(r));break}}t=t.return}}function od(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Zl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ru=!0,i.add(n),e=sd.bind(null,e,t,n),t.then(e,e))}function sd(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,$l===e&&(F&n)===n&&(au===4||au===3&&(F&62914560)===F&&300>Ie()-mu?!(Ql&2)&&Iu(e,0):cu|=n,uu===F&&(uu=0)),vd(e)}function cd(e,t){t===0&&(t=ot()),e=mi(e,t),e!==null&&(ct(e,t),vd(e))}function ld(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),cd(e,n)}function ud(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),cd(e,n)}function dd(e,t){return Me(e,t)}var fd=null,pd=null,md=!1,hd=!1,gd=!1,_d=0;function vd(e){e!==pd&&e.next===null&&(pd===null?fd=pd=e:pd=pd.next=e),hd=!0,md||(md=!0,wd())}function R(e,t){if(!gd&&hd){gd=!0;do for(var n=!1,r=fd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ye(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Cd(r,a))}else a=F,a=rt(r,r===$l?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||it(r,a)||(n=!0,Cd(r,a));r=r.next}while(n);gd=!1}}function yd(){bd()}function bd(){hd=md=!1;var e=0;_d!==0&&sf()&&(e=_d);for(var t=Ie(),n=null,r=fd;r!==null;){var i=r.next,a=xd(r,t);a===0?(r.next=null,n===null?fd=i:n.next=i,i===null&&(pd=n)):(n=r,(e!==0||a&3)&&(hd=!0)),r=i}yu!==0&&yu!==5||R(e,!1),_d!==0&&(_d=0)}function xd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ye(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=at(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=$l,n=F,n=rt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(I===2||I===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ne(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||it(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ne(r),mt(n)){case 2:case 8:n=ze;break;case 32:n=Be;break;case 268435456:n=He;break;default:n=Be}return r=Sd.bind(null,e),n=Me(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ne(r),e.callbackPriority=2,e.callbackNode=null,2}function Sd(e,t){if(yu!==0&&yu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(nd()&&e.callbackNode!==n)return null;var r=F;return r=rt(e,e===$l?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Au(e,r,t),xd(e,Ie()),e.callbackNode!=null&&e.callbackNode===n?Sd.bind(null,e):null)}function Cd(e,t){if(nd())return null;Au(e,t,!0)}function wd(){df(function(){Ql&6?Me(Re,yd):bd()})}function Td(){if(_d===0){var e=wa;e===0&&(e=$e,$e<<=1,!($e&261888)&&($e=256)),_d=e}return _d}function Ed(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:dn(``+e)}function Dd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Od(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Ed((i[yt]||null).action),o=r.submitter;o&&(t=(t=o[yt]||null)?Ed(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Nn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(_d!==0){var e=o?Dd(i,o):new FormData(i);Ls(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?Dd(i,o):new FormData(i),Ls(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var kd=0;kd<ai.length;kd++){var Ad=ai[kd];oi(Ad.toLowerCase(),`on`+(Ad[0].toUpperCase()+Ad.slice(1)))}oi(Zr,`onAnimationEnd`),oi(Qr,`onAnimationIteration`),oi($r,`onAnimationStart`),oi(`dblclick`,`onDoubleClick`),oi(`focusin`,`onFocus`),oi(`focusout`,`onBlur`),oi(ei,`onTransitionRun`),oi(ti,`onTransitionStart`),oi(ni,`onTransitionCancel`),oi(ri,`onTransitionEnd`),Ft(`onMouseEnter`,[`mouseout`,`mouseover`]),Ft(`onMouseLeave`,[`mouseout`,`mouseover`]),Ft(`onPointerEnter`,[`pointerout`,`pointerover`]),Ft(`onPointerLeave`,[`pointerout`,`pointerover`]),Pt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Pt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Pt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Pt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Pt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Pt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var jd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),Md=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(jd));function Nd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){si(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){si(e)}i.currentTarget=null,a=c}}}}function z(e,t){var n=t[xt];n===void 0&&(n=t[xt]=new Set);var r=e+`__bubble`;n.has(r)||(Ld(t,e,2,!1),n.add(r))}function Pd(e,t,n){var r=0;t&&(r|=4),Ld(n,e,r,t)}var Fd=`_reactListening`+Math.random().toString(36).slice(2);function Id(e){if(!e[Fd]){e[Fd]=!0,Mt.forEach(function(t){t!==`selectionchange`&&(Md.has(t)||Pd(t,!1,e),Pd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Fd]||(t[Fd]=!0,Pd(`selectionchange`,!1,t))}}function Ld(e,t,n,r){switch(Dp(t)){case 2:var i=xp;break;case 8:i=Sp;break;default:i=Cp}n=i.bind(null,t,n,e),i=void 0,!Sn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Rd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var c=r.stateNode.containerInfo;if(c===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;c!==null;){if(o=Dt(c),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}c=c.parentNode}}r=r.return}yn(function(){var r=a,i=mn(n),o=[];a:{var c=ii.get(e);if(c!==void 0){var l=Nn,u=e;switch(e){case`keypress`:if(On(n)===0)break a;case`keydown`:case`keyup`:l=Xn;break;case`focusin`:u=`focus`,l=Hn;break;case`focusout`:u=`blur`,l=Hn;break;case`beforeblur`:case`afterblur`:l=Hn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Bn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Vn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Qn;break;case Zr:case Qr:case $r:l=Un;break;case ri:l=$n;break;case`scroll`:case`scrollend`:l=Fn;break;case`wheel`:l=er;break;case`copy`:case`cut`:case`paste`:l=Wn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Zn;break;case`toggle`:case`beforetoggle`:l=tr}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=bn(m,p),g!=null&&d.push(zd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),o.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==pn&&(u=n.relatedTarget||n.fromElement)&&(Dt(u)||u[bt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Dt(u):null,u!==null&&(f=s(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Bn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Zn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:kt(l),h=u==null?c:kt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,Dt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Vd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Hd(o,c,l,d,!1),u!==null&&f!==null&&Hd(o,f,u,d,!0)}}a:{if(c=r?kt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=xr;else if(hr(c))if(Sr)v=jr;else{v=kr;var y=Or}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&cn(r.elementType)&&(v=xr):v=Ar;if(v&&=v(e,r)){gr(o,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&$t(c,`number`,c.value)}switch(y=r?kt(r):window,e){case`focusin`:(hr(y)||y.contentEditable===`true`)&&(Vr=y,Hr=r,Ur=null);break;case`focusout`:Ur=Hr=Vr=null;break;case`mousedown`:Wr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Wr=!1,Gr(o,n,i);break;case`selectionchange`:if(Br)break;case`keydown`:case`keyup`:Gr(o,n,i)}var b;if(rr)b:{switch(e){case`compositionstart`:var ee=`onCompositionStart`;break b;case`compositionend`:ee=`onCompositionEnd`;break b;case`compositionupdate`:ee=`onCompositionUpdate`;break b}ee=void 0}else dr?lr(e,n)&&(ee=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(ee=`onCompositionStart`);ee&&(or&&n.locale!==`ko`&&(dr||ee!==`onCompositionStart`?ee===`onCompositionEnd`&&dr&&(b=Dn()):(wn=i,Tn=`value`in wn?wn.value:wn.textContent,dr=!0)),y=Bd(r,ee),0<y.length&&(ee=new O(ee,e,null,n,i),o.push({event:ee,listeners:y}),b?ee.data=b:(b=ur(n),b!==null&&(ee.data=b)))),(b=ar?fr(e,n):pr(e,n))&&(ee=Bd(r,`onBeforeInput`),0<ee.length&&(y=new O(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:ee}),y.data=b)),Od(o,e,r,n,i)}Nd(o,t)})}function zd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Bd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=bn(e,n),i!=null&&r.unshift(zd(e,i,a)),i=bn(e,t),i!=null&&r.push(zd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Vd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Hd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=bn(n,a),l!=null&&o.unshift(zd(n,l,c))):i||(l=bn(n,a),l!=null&&o.push(zd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Ud=/\r\n?/g,Wd=/\u0000|\uFFFD/g;function Gd(e){return(typeof e==`string`?e:``+e).replace(Ud,`
10`).replace(Wd,``)}function Kd(e,t){return t=Gd(t),Gd(e)===t}function qd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||rn(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&rn(e,``+r);break;case`className`:Vt(e,`class`,r);break;case`tabIndex`:Vt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Vt(e,n,r);break;case`style`:sn(e,r,o);break;case`data`:if(t!==`object`){Vt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=dn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&qd(e,t,`name`,i.name,i,null),qd(e,t,`formEncType`,i.formEncType,i,null),qd(e,t,`formMethod`,i.formMethod,i,null),qd(e,t,`formTarget`,i.formTarget,i,null)):(qd(e,t,`encType`,i.encType,i,null),qd(e,t,`method`,i.method,i,null),qd(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=dn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=fn);break;case`onScroll`:r!=null&&z(`scroll`,e);break;case`onScrollEnd`:r!=null&&z(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=dn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:z(`beforetoggle`,e),z(`toggle`,e),Bt(e,`popover`,r);break;case`xlinkActuate`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Bt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=ln.get(n)||n,Bt(e,n,r))}}function Jd(e,t,n,r,i,o){switch(n){case`style`:sn(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?rn(e,r):(typeof r==`number`||typeof r==`bigint`)&&rn(e,``+r);break;case`onScroll`:r!=null&&z(`scroll`,e);break;case`onScrollEnd`:r!=null&&z(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=fn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Nt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[yt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Bt(e,n,r)}}}function Yd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:z(`error`,e),z(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:qd(e,t,o,s,n,null)}}i&&qd(e,t,`srcSet`,n.srcSet,n,null),r&&qd(e,t,`src`,n.src,n,null);return;case`input`:z(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:qd(e,t,r,d,n,null)}}Qt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in z(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:qd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&en(e,!!r,n,!0):en(e,!!r,t,!1);return;case`textarea`:for(s in z(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:qd(e,t,s,c,n,null)}nn(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:qd(e,t,l,r,n,null)}return;case`dialog`:z(`beforetoggle`,e),z(`toggle`,e),z(`cancel`,e),z(`close`,e);break;case`iframe`:case`object`:z(`load`,e);break;case`video`:case`audio`:for(r=0;r<jd.length;r++)z(jd[r],e);break;case`image`:z(`error`,e),z(`load`,e);break;case`details`:z(`toggle`,e);break;case`embed`:case`source`:case`link`:z(`error`,e),z(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:qd(e,t,u,r,n,null)}return;default:if(cn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Jd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&qd(e,t,c,r,n,null))}function Xd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||qd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&qd(e,t,p,m,r,f)}}Zt(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||qd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&qd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?en(e,!!n,n?[]:``,!1):en(e,!!n,t,!0)):en(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:qd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&qd(e,t,s,i,r,o)}tn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:qd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:qd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&qd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:qd(e,t,u,p,r,m)}return;default:if(cn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Jd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Jd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&qd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||qd(e,t,f,p,r,m)}function Zd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Qd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Zd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Zd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var $d=null,ef=null;function tf(e){return e.nodeType===9?e:e.ownerDocument}function nf(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function rf(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function af(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var of=null;function sf(){var e=window.event;return e&&e.type===`popstate`?e===of?!1:(of=e,!0):(of=null,!1)}var cf=typeof setTimeout==`function`?setTimeout:void 0,lf=typeof clearTimeout==`function`?clearTimeout:void 0,uf=typeof Promise==`function`?Promise:void 0,df=typeof queueMicrotask==`function`?queueMicrotask:uf===void 0?cf:function(e){return uf.resolve(null).then(e).catch(ff)};function ff(e){setTimeout(function(){throw e})}function pf(e){return e===`head`}function mf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Kp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)Of(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,Of(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Tt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&Of(e.ownerDocument.body);n=i}while(n);Kp(t)}function hf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function gf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:gf(n),Et(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function _f(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[Tt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=Cf(e.nextSibling),e===null)break}return null}function vf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=Cf(e.nextSibling),e===null))return null;return e}function yf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=Cf(e.nextSibling),e===null))return null;return e}function bf(e){return e.data===`$?`||e.data===`$~`}function xf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function Sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function Cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var wf=null;function Tf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return Cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function Ef(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function Df(e,t,n){switch(t=tf(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function Of(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Et(e)}var B=new Map,kf=new Set;function Af(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var jf=C.d;C.d={f:Mf,r:Nf,D:If,C:Lf,L:Rf,m:zf,X:Vf,S:Bf,M:Hf};function Mf(){var e=jf.f(),t=Pu();return e||t}function Nf(e){var t=Ot(e);t!==null&&t.tag===5&&t.type===`form`?zs(t):jf.r(e)}var Pf=typeof document>`u`?null:document;function Ff(e,t,n){var r=Pf;if(r&&typeof t==`string`&&t){var i=Xt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),kf.has(i)||(kf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Yd(t,`link`,e),jt(t),r.head.appendChild(t)))}}function If(e){jf.D(e),Ff(`dns-prefetch`,e,null)}function Lf(e,t){jf.C(e,t),Ff(`preconnect`,e,t)}function Rf(e,t,n){jf.L(e,t,n);var r=Pf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Xt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Xt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Xt(n.imageSizes)+`"]`)):i+=`[href="`+Xt(e)+`"]`;var a=i;switch(t){case`style`:a=Wf(e);break;case`script`:a=Jf(e)}B.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),B.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Gf(a))||t===`script`&&r.querySelector(Yf(a))||(t=r.createElement(`link`),Yd(t,`link`,e),jt(t),r.head.appendChild(t)))}}function zf(e,t){jf.m(e,t);var n=Pf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Xt(r)+`"][href="`+Xt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Jf(e)}if(!B.has(a)&&(e=m({rel:`modulepreload`,href:e},t),B.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Yf(a)))return}r=n.createElement(`link`),Yd(r,`link`,e),jt(r),n.head.appendChild(r)}}}function Bf(e,t,n){jf.S(e,t,n);var r=Pf;if(r&&e){var i=At(r).hoistableStyles,a=Wf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Gf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=B.get(a))&&Qf(e,n);var c=o=r.createElement(`link`);jt(c),Yd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Zf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Vf(e,t){jf.X(e,t);var n=Pf;if(n&&e){var r=At(n).hoistableScripts,i=Jf(e),a=r.get(i);a||(a=n.querySelector(Yf(i)),a||(e=m({src:e,async:!0},t),(t=B.get(i))&&$f(e,t),a=n.createElement(`script`),jt(a),Yd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Hf(e,t){jf.M(e,t);var n=Pf;if(n&&e){var r=At(n).hoistableScripts,i=Jf(e),a=r.get(i);a||(a=n.querySelector(Yf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=B.get(i))&&$f(e,t),a=n.createElement(`script`),jt(a),Yd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Uf(e,t,n,r){var i=(i=be.current)?Af(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Wf(n.href),n=At(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Wf(n.href);var o=At(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Gf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),B.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},B.set(e,n),o||qf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Jf(n),n=At(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Wf(e){return`href="`+Xt(e)+`"`}function Gf(e){return`link[rel="stylesheet"][`+e+`]`}function Kf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function qf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Yd(t,`link`,n),jt(t),e.head.appendChild(t))}function Jf(e){return`[src="`+Xt(e)+`"]`}function Yf(e){return`script[async]`+e}function Xf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Xt(n.href)+`"]`);if(r)return t.instance=r,jt(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),jt(r),Yd(r,`style`,i),Zf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Wf(n.href);var o=e.querySelector(Gf(i));if(o)return t.state.loading|=4,t.instance=o,jt(o),o;r=Kf(n),(i=B.get(i))&&Qf(r,i),o=(e.ownerDocument||e).createElement(`link`),jt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Yd(o,`link`,r),t.state.loading|=4,Zf(o,n.precedence,e),t.instance=o;case`script`:return o=Jf(n.src),(i=e.querySelector(Yf(o)))?(t.instance=i,jt(i),i):(r=n,(i=B.get(o))&&(r=m({},n),$f(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),jt(i),Yd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Zf(r,n.precedence,e));return t.instance}function Zf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Qf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function $f(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var ep=null;function tp(e,t,n){if(ep===null){var r=new Map,i=ep=new Map;i.set(n,r)}else i=ep,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Tt]||a[vt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function np(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function rp(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function ip(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function ap(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Wf(r.href),a=t.querySelector(Gf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=cp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,jt(a);return}a=t.ownerDocument||t,r=Kf(r),(i=B.get(i))&&Qf(r,i),a=a.createElement(`link`),jt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Yd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=cp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var op=0;function sp(e,t){return e.stylesheets&&e.count===0&&up(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&up(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&op===0&&(op=62500*Qd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&up(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>op?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function cp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)up(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var lp=null;function up(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,lp=new Map,t.forEach(dp,e),lp=null,cp.call(e))}function dp(e,t){if(!(t.state.loading&4)){var n=lp.get(e);if(n)var r=n.get(null);else{n=new Map,lp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=cp.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var fp={$$typeof:te,Provider:null,Consumer:null,_currentValue:pe,_currentValue2:pe,_threadCount:0};function pp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=st(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=st(0),this.hiddenUpdates=st(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function mp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new pp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=yi(3,null,null,t),e.current=a,a.stateNode=e,t=ba(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},$a(a),e}function hp(e){return e?(e=_i,e):_i}function gp(e,t,n,r,i,a){i=hp(i),r.context===null?r.context=i:r.pendingContext=i,r=to(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=no(e,r,t),n!==null&&(ku(n,e,t),ro(n,e,t))}function _p(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function V(e,t){_p(e,t),(e=e.alternate)&&_p(e,t)}function vp(e){if(e.tag===13||e.tag===31){var t=mi(e,67108864);t!==null&&ku(t,e,67108864),V(e,67108864)}}function yp(e){if(e.tag===13||e.tag===31){var t=Du();t=pt(t);var n=mi(e,t);n!==null&&ku(n,e,t),V(e,t)}}var bp=!0;function xp(e,t,n,r){var i=S.T;S.T=null;var a=C.p;try{C.p=2,Cp(e,t,n,r)}finally{C.p=a,S.T=i}}function Sp(e,t,n,r){var i=S.T;S.T=null;var a=C.p;try{C.p=8,Cp(e,t,n,r)}finally{C.p=a,S.T=i}}function Cp(e,t,n,r){if(bp){var i=wp(r);if(i===null)Rd(e,t,r,Tp,n),Ip(e,r);else if(Rp(i,e,t,n,r))r.stopPropagation();else if(Ip(e,r),t&4&&-1<Fp.indexOf(e)){for(;i!==null;){var a=Ot(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=nt(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ye(o);s.entanglements[1]|=c,o&=~c}vd(a),!(Ql&6)&&(gu=Ie()+500,R(0,!1))}}break;case 31:case 13:s=mi(a,2),s!==null&&ku(s,a,2),Pu(),V(a,2)}if(a=wp(r),a===null&&Rd(e,t,r,Tp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Rd(e,t,r,null,n)}}function wp(e){return e=mn(e),Ep(e)}var Tp=null;function Ep(e){if(Tp=null,e=Dt(e),e!==null){var t=s(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=c(t),e!==null)return e;e=null}else if(n===31){if(e=u(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Tp=e,null}function Dp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Le()){case Re:return 2;case ze:return 8;case Be:case Ve:return 32;case He:return 268435456;default:return 32}default:return 32}}var Op=!1,kp=null,Ap=null,jp=null,Mp=new Map,Np=new Map,Pp=[],Fp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Ip(e,t){switch(e){case`focusin`:case`focusout`:kp=null;break;case`dragenter`:case`dragleave`:Ap=null;break;case`mouseover`:case`mouseout`:jp=null;break;case`pointerover`:case`pointerout`:Mp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Np.delete(t.pointerId)}}function Lp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ot(t),t!==null&&vp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Rp(e,t,n,r,i){switch(t){case`focusin`:return kp=Lp(kp,e,t,n,r,i),!0;case`dragenter`:return Ap=Lp(Ap,e,t,n,r,i),!0;case`mouseover`:return jp=Lp(jp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Mp.set(a,Lp(Mp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Np.set(a,Lp(Np.get(a)||null,e,t,n,r,i)),!0}return!1}function zp(e){var t=Dt(e.target);if(t!==null){var n=s(t);if(n!==null){if(t=n.tag,t===13){if(t=c(n),t!==null){e.blockedOn=t,gt(e.priority,function(){yp(n)});return}}else if(t===31){if(t=u(n),t!==null){e.blockedOn=t,gt(e.priority,function(){yp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Bp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=wp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);pn=r,n.target.dispatchEvent(r),pn=null}else return t=Ot(n),t!==null&&vp(t),e.blockedOn=n,!1;t.shift()}return!0}function Vp(e,t,n){Bp(e)&&n.delete(t)}function Hp(){Op=!1,kp!==null&&Bp(kp)&&(kp=null),Ap!==null&&Bp(Ap)&&(Ap=null),jp!==null&&Bp(jp)&&(jp=null),Mp.forEach(Vp),Np.forEach(Vp)}function Up(e,n){e.blockedOn===n&&(e.blockedOn=null,Op||(Op=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Hp)))}var Wp=null;function Gp(e){Wp!==e&&(Wp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Wp===e&&(Wp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Ep(r||n)===null)continue;break}var a=Ot(n);a!==null&&(e.splice(t,3),t-=3,Ls(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Kp(e){function t(t){return Up(t,e)}kp!==null&&Up(kp,e),Ap!==null&&Up(Ap,e),jp!==null&&Up(jp,e),Mp.forEac
10h(t),Np.forEach(t);for(var n=0;n<Pp.length;n++){var r=Pp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Pp.length&&(n=Pp[0],n.blockedOn===null);)zp(n),n.blockedOn===null&&Pp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[yt]||null;if(typeof a==`function`)o||Gp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[yt]||null)s=o.formAction;else if(Ep(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Gp(n)}}}function qp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Jp(e){this._internalRoot=e}Yp.prototype.render=Jp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;gp(n,Du(),e,t,null,null)},Yp.prototype.unmount=Jp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;gp(e.current,2,null,e,null,null),Pu(),t[bt]=null}};function Yp(e){this._internalRoot=e}Yp.prototype.unstable_scheduleHydration=function(e){if(e){var t=ht();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pp.length&&t!==0&&t<Pp[n].priority;n++);Pp.splice(n,0,e),n===0&&zp(e)}};var Xp=n.version;if(Xp!==`19.2.5`)throw Error(a(527,Xp,`19.2.5`));C.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=f(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Zp={bundleType:0,version:`19.2.5`,rendererPackageName:`react-dom`,currentDispatcherRef:S,reconcilerVersion:`19.2.5`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Qp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qp.isDisabled&&Qp.supportsFiber)try{Ke=Qp.inject(Zp),qe=Qp}catch{}}e.hydrateRoot=function(e,t,n){if(!o(e))throw Error(a(299));var r=!1,i=``,s=ic,c=ac,l=oc,u=null;return n!=null&&(!0===n.unstable_strictMode&&(r=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onUncaughtError!==void 0&&(s=n.onUncaughtError),n.onCaughtError!==void 0&&(c=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=mp(e,1,!0,t,n??null,r,i,u,s,c,l,qp),t.context=hp(null),n=t.current,r=Du(),r=pt(r),i=to(r),i.callback=null,no(n,i,r),n=r,t.current.lanes=n,ct(t,n),vd(t),e[bt]=t.current,Id(e),new Yp(t)}})),Ge=c(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=We()})),Ke=`__TSS_CONTEXT`,qe=Symbol.for(`TSS_SERVER_FUNCTION`),Je=Symbol.for(`TSS_SERVER_FUNCTION_FACTORY`),Ye=`application/x-tss-framed`,Xe={JSON:0,CHUNK:1,END:2,ERROR:3};`${Ye}`;var Ze=/;\s*v=(\d+)/;function Qe(e){let t=e.match(Ze);return t?parseInt(t[1],10):void 0}function $e(e){let t=Qe(e);if(t!==void 0&&t!==1)throw Error(`Incompatible framed protocol version: server=${t}, client=1. Please ensure client and server are using compatible versions.`)}var et=()=>window.__TSS_START_OPTIONS__;function tt(e){return e?.isNotFound===!0}function nt(){try{return typeof window<`u`&&typeof window.sessionStorage==`object`?window.sessionStorage:void 0}catch{return}}var rt=`tsr-scroll-restoration-v1_3`;function it(){let e=nt();if(!e)return null;let t={};try{let n=JSON.parse(e.getItem(`tsr-scroll-restoration-v1_3`)||`{}`);u(n)&&(t=n)}catch{}return{get state(){return t},set:e=>{t=f(e,t)||t},persist:()=>{try{e.setItem(rt,JSON.stringify(t))}catch{}}}}var at=it(),ot=e=>e.state.__TSR_key||e.href;function st(e){let t=[],n;for(;n=e.parentNode;)t.push(`${e.tagName}:nth-child(${Array.prototype.indexOf.call(n.children,e)+1})`),e=n;return`${t.reverse().join(` > `)}`.toLowerCase()}var ct=!1,lt=`window`,ut=`data-scroll-restoration-id`;function dt(e,t){if(!at)return;let n=at;if((t??e.options.scrollRestoration??!1)&&(e.isScrollRestoring=!0),e.isScrollRestorationSetup||!n)return;e.isScrollRestorationSetup=!0,ct=!1;let r=e.options.getScrollRestorationKey||ot,i=new Map;window.history.scrollRestoration=`manual`;let a=t=>{if(!(ct||!e.isScrollRestoring))if(t.target===document||t.target===window)i.set(lt,{scrollX:window.scrollX||0,scrollY:window.scrollY||0});else{let e=t.target;i.set(e,{scrollX:e.scrollLeft||0,scrollY:e.scrollTop||0})}},o=t=>{if(!e.isScrollRestoring||!t||i.size===0||!n)return;let r=n.state[t]||={};for(let[e,t]of i){let n;if(e===lt)n=lt;else if(e.isConnected){let t=e.getAttribute(ut);n=t?`[${ut}="${t}"]`:st(e)}n&&(r[n]=t)}};document.addEventListener(`scroll`,a,!0),e.subscribe(`onBeforeLoad`,e=>{o(e.fromLocation?r(e.fromLocation):void 0),i.clear()}),window.addEventListener(`pagehide`,()=>{o(r(e.stores.resolvedLocation.get()??e.stores.location.get())),n.persist()}),e.subscribe(`onRendered`,t=>{let a=r(t.toLocation),o=e.options.scrollRestorationBehavior,s=e.options.scrollToTopSelectors;if(i.clear(),!e.resetNextScroll){e.resetNextScroll=!0;return}
10if(!(typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))){ct=!0;try{let t=e.isScrollRestoring?n.state[a]:void 0,r=!1;if(t)for(let e in t){let n=t[e];if(!u(n))continue;let{scrollX:i,scrollY:a}=n;if(!(!Number.isFinite(i)||!Number.isFinite(a))){if(e===lt)window.scrollTo({top:a,left:i,behavior:o}),r=!0;else if(e){let t;try{t=document.querySelector(e)}catch{continue}t&&(t.scrollLeft=i,t.scrollTop=a,r=!0)}}}if(!r){let t=e.history.location.hash.slice(1);if(t){let e=window.history.state?.__hashScrollIntoViewOptions??!0;if(e){let n=document.getElementById(t);n&&n.scrollIntoView(e)}}else{let e={top:0,left:0,behavior:o};if(window.scrollTo(e),s)for(let t of s){if(t===lt)continue;let n=typeof t==`function`?t():document.querySelector(t);n&&n.scrollTo(e)}}}}finally{ct=!1}e.isScrollRestoring&&n.set(e=>(e[a]||={},e))}})}function ft(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function pt(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function mt(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=pt(r):Array.isArray(t)?t.push(pt(r)):n[e]=[t,pt(r)]}return n}var ht=_t(JSON.parse),gt=vt(JSON.stringify,JSON.parse);function _t(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=mt(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function vt(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=ft(e,r);return t?`?${t}`:``}}var yt=`__root__`;function bt(e){if(e.statusCode=e.statusCode||e.code||307,!e._builtLocation&&!e.reloadDocument&&typeof e.href==`string`)try{new URL(e.href),e.reloadDocument=!0}catch{}let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function xt(e){return e instanceof Response&&!!e.options}function St(e){if(typeof e==`object`&&e&&e.isSerializedRedirect)return bt(e)}function Ct(e){return{input:({url:t})=>{for(let n of e)t=Tt(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=Et(e[n],t);return t}}}function wt(e){let t=ne(e.basepath),n=`/${t}`,r=`${n}/`,i=e.caseSensitive?n:n.toLowerCase(),a=e.caseSensitive?r:r.toLowerCase();return{input:({url:t})=>{let r=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return r===i?t.pathname=`/`:r.startsWith(a)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=x([`/`,t,e.pathname]),e)}}function Tt(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Et(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Dt(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i,init:a}=t,o=new Map,s=new Map,c=new Map,l=n(e.status),u=n(e.loadedAt),d=n(e.isLoading),f=n(e.isTransitioning),p=n(e.location),m=n(e.resolvedLocation),h=n(e.statusCode),g=n(e.redirect),_=n([]),v=n([]),y=n([]),b=r(()=>Ot(o,_.get())),ee=r(()=>Ot(s,v.get())),te=r(()=>Ot(c,y.get())),x=r(()=>_.get()[0]),ne=r(()=>_.get().some(e=>o.get(e)?.get().status===`pending`)),re=r(()=>({locationHref:p.get().href,resolvedLocationHref:m.get()?.href,status:l.get()})),ie=r(()=>({status:l.get(),loadedAt:u.get(),isLoading:d.get(),isTransitioning:f.get(),matches:b.get(),location:p.get(),resolvedLocation:m.get(),statusCode:h.get(),redirect:g.get()})),ae=_e(64);function oe(e){let t=ae.get(e);return t||(t=r(()=>{let t=_.get();for(let n of t){let t=o.get(n);if(t&&t.routeId===e)return t.get()}}),ae.set(e,t)),t}let se={status:l,loadedAt:u,isLoading:d,isTransitioning:f,location:p,resolvedLocation:m,statusCode:h,redirect:g,matchesId:_,pendingIds:v,cachedIds:y,matches:b,pendingMatches:ee,cachedMatches:te,firstId:x,hasPending:ne,matchRouteDeps:re,matchStores:o,pendingMatchStores:s,cachedMatchStores:c,__store:ie,getRouteMatchStore:oe,setMatches:ce,setPending:le,setCac
10hed:ue};ce(e.matches),a?.(se);function ce(e){kt(e,o,_,n,i)}function le(e){kt(e,s,v,n,i)}function ue(e){kt(e,c,y,n,i)}return se}function Ot(e,t){let n=[];for(let r of t){let t=e.get(r);t&&n.push(t.get())}return n}function kt(e,t,n,r,i){let a=e.map(e=>e.id),o=new Set(a);i(()=>{for(let e of t.keys())o.has(e)||t.delete(e);for(let n of e){let e=t.get(n.id);if(!e){let e=r(n);e.routeId=n.routeId,t.set(n.id,e);continue}e.routeId=n.routeId,e.get()!==n&&e.set(n)}ge(n.get(),a)||n.set(a)})}var At=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},jt=e=>e.stores.matchesId.get().some(t=>e.stores.matchStores.get(t)?.get()._forcePending),Mt=(e,t)=>!!(e.preload&&!e.router.stores.matchStores.has(t)),Nt=(e,t,n=!0)=>{let r={...e.router.options.context??{}},i=n?t:t-1;for(let t=0;t<=i;t++){let n=e.matches[t];if(!n)continue;let i=e.router.getMatch(n.id);i&&Object.assign(r,i.__routeContext,i.__beforeLoadContext)}return r},Pt=(e,t)=>{if(!e.matches.length)return;let n=t.routeId,r=e.matches.findIndex(t=>t.routeId===e.router.routeTree.id),i=r>=0?r:0,a=n?e.matches.findIndex(e=>e.routeId===n):e.firstBadMatchIndex??e.matches.length-1;a<0&&(a=i);for(let t=a;t>=0;t--){let n=e.matches[t];if(e.router.looseRoutesById[n.routeId].options.notFoundComponent)return t}return n?a:i},Ft=(e,t,n)=>{if(!(!xt(n)&&!tt(n)))throw xt(n)&&n.redirectHandled&&!n.options.reloadDocument?n:(t&&(t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0,t._nonReactive.error=n,e.updateMatch(t.id,r=>({...r,status:xt(n)?`redirected`:tt(n)?`notFound`:r.status===`pending`?`success`:r.status,context:Nt(e,t.index),isFetching:!1,error:n})),tt(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()),xt(n)&&(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n)),n)},It=(e,t)=>
10{let n=e.router.getMatch(t);return!!(!n||n._nonReactive.dehydrated)},Lt=(e,t,n)=>{let r=Nt(e,n);e.updateMatch(t,e=>({...e,context:r}))},Rt=(e,t,n,r)=>{let{id:i,routeId:a}=e.matches[t],o=e.router.looseRoutesById[a];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,Ft(e,e.router.getMatch(i),n);try{o.options.onError?.(n)}catch(t){n=t,Ft(e,e.router.getMatch(i),n)}e.updateMatch(i,e=>(e._nonReactive.beforeLoadPromise?.resolve(),e._nonReactive.beforeLoadPromise=void 0,e._nonReactive.loadPromise?.resolve(),{...e,error:n,status:`error`,isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!e.preload&&!xt(n)&&!tt(n)&&(e.serialError??=n)},zt=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;let i=n.options.pendingMs??e.router.options.defaultPendingMs;if(e.onReady&&!Mt(e,t)&&(n.options.loader||n.options.beforeLoad||Xt(n))&&typeof i==`number`&&i!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent)){let t=setTimeout(()=>{At(e)},i);r._nonReactive.pendingTimeout=t}},Bt=(e,t,n)=>{let r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;zt(e,t,n,r);let i=()=>{let n=e.router.getMatch(t);n.preload&&(n.status===`redirected`||n.status===`notFound`)&&Ft(e,n,n.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(i):i()},Vt=(e,t,n,r)=>{let i=e.router.getMatch(t),a=i._nonReactive.loadPromise;i._nonReactive.loadPromise=v(()=>{a?.resolve(),a=void 0});let{paramsError:o,searchError:s}=i;o&&Rt(e,n,o,`PARSE_PARAMS`),s&&Rt(e,n,s,`VALIDATE_SEARCH`),zt(e,t,r,i);let c=new AbortController,l=!1,u=()=>{l||(l=!0,e.updateMatch(t,e=>({...e,isFetching:`beforeLoad`,fetchCount:e.fetchCount+1,abortController:c})))},d=()=>{i._nonReactive.beforeLoadPromise?.resolve(),i._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,e=>({...e,isFetching:!1}))};if(!r.options.beforeLoad){e.router.batch(()=>{u(),d()});return}i._nonReactive.beforeLoadPromise=v();let f={...Nt(e,n,!1),...i.__routeContext},{search:p,params:m,cause:h}=i,g=Mt(e,t),_={search:p,abortController:c,params:m,preload:g,context:f,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:g?`preload`:h,matches:e.matches,routeId:r.id,...e.router.options.additionalContext},y=r=>{if(r===void 0){e.router.batch(()=>{u(),d()});return}(xt(r)||tt(r))&&(u(),Rt(e,n,r,`BEFORE_LOAD`)),e.router.batch(()=>{u(),e.updateMatch(t,e=>({...e,__beforeLoadContext:r})),d()})},b;try{if(b=r.options.beforeLoad(_),se(b))return u(),b.catch(t=>{Rt(e,n,t,`BEFORE_LOAD`)}).then(y)}catch(t){u(),Rt(e,n,t,`BEFORE_LOAD`)}y(b)},Ht=(e,t)=>{let{id:n,routeId:r}=e.matches[t],i=e.router.looseRoutesById[r],a=()=>s(),o=()=>Vt(e,n,t,i),s=()=>{if(It(e,n))return;let t=Bt(e,n,i);return se(t)?t.then(o):o()};return a()},Ut=(e,t,n)=>{let r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;let i={ssr:e.router.options.ssr,matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(i),n.options.scripts?.(i),n.options.headers?.(i)]).then(([e,t,n])=>({meta:e?.meta,links:e?.links,headScripts:e?.scripts,headers:n,scripts:t,styles:e?.styles}))},Wt=(e,t,n,r,i)=>{let a=t[r-1],{params:o,loaderDeps:s,abortController:c,cause:l}=e.router.getMatch(n),u=Nt(e,r),d=Mt(e,n);return{params:o,deps:s,preload:!!d,parentMatchPromise:a,abortController:c,context:u,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),cause:d?`preload`:l,route:i,...e.router.options.additionalContext}},Gt=async(e,t,n,r,i)=>{try{let a=e.router.getMatch(n);try{Yt(i);let o=i.options.loader,s=typeof o==`function`?o:o?.handler,c=s?.(Wt(e,t,n,r,i)),l=!!s&&se(c);if((l||i._lazyPromise||i._componentsPromise||i.options.head||i.options.scripts||i.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(n,e=>({...e,isFetching:`loader`})),s){let t=l?await c:c;Ft(e,e.router.getMatch(n),t),t!==void 0&&e.updateMatch(n,e=>({...e,loaderData:t}))}i._lazyPromise&&await i._lazyPromise;let u=a._nonReactive.minPendingPromise;u&&await u,i._componentsPromise&&await i._componentsPromise,e.updateMatch(n,t=>({...t,error:void 0,context:Nt(e,r),status:`success`,isFetching:!1,updatedAt:Date.now()}))}catch(t){let o=t;if(o?.name===`AbortError`){if(a.abortController.signal.aborted){a._nonReactive.loaderPromise?.resolve(),a._nonReactive.loaderPromise=void 0;return}e.updateMatch(n,t=>
10({...t,status:t.status===`pending`?`success`:t.status,isFetching:!1,context:Nt(e,r)}));return}let s=a._nonReactive.minPendingPromise;s&&await s,tt(t)&&await i.options.notFoundComponent?.preload?.(),Ft(e,e.router.getMatch(n),t);try{i.options.onError?.(t)}catch(t){o=t,Ft(e,e.router.getMatch(n),t)}!xt(o)&&!tt(o)&&await Yt(i,[`errorComponent`]),e.updateMatch(n,t=>({...t,error:o,context:Nt(e,r),status:`error`,isFetching:!1}))}}catch(t){let r=e.router.getMatch(n);r&&(r._nonReactive.loaderPromise=void 0),Ft(e,r,t)}},Kt=async(e,t,n)=>{async function r(r,a,c,l,d){let f=Date.now()-a.updatedAt,p=r?d.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:d.options.staleTime??e.router.options.defaultStaleTime??0,m=d.options.shouldReload,h=typeof m==`function`?m(Wt(e,t,i,n,d)):m,{status:g,invalid:_}=l,v=f>=p&&(!!e.forceStaleReload||l.cause===`enter`||c!==void 0&&c!==l.id);o=g===`success`&&(_||(h??v)),r&&d.options.preload===!1||(o&&!e.sync&&u?(s=!0,(async()=>{try{await Gt(e,t,i,n,d);let r=e.router.getMatch(i);r._nonReactive.loaderPromise?.resolve(),r._nonReactive.loadPromise?.resolve(),r._nonReactive.loaderPromise=void 0,r._nonReactive.loadPromise=void 0}catch(t){xt(t)&&await e.router.navigate(t.options)}})()):g!==`success`||o?await Gt(e,t,i,n,d):Lt(e,i,n))}let{id:i,routeId:a}=e.matches[n],o=!1,s=!1,c=e.router.looseRoutesById[a],l=c.options.loader,u=((typeof l==`function`?void 0:l?.staleReloadMode)??e.router.options.defaultStaleReloadMode)!==`blocking`;if(It(e,i)){if(!e.router.getMatch(i))return e.matches[n];Lt(e,i,n)}else{let t=e.router.getMatch(i),o=e.router.stores.matchesId.get()[n],s=(o&&e.router.stores.matchStores.get(o)||null)?.routeId===a?o:e.router.stores.matches.get().find(e=>e.routeId===a)?.id,l=Mt(e,i);if(t._nonReactive.loaderPromise){if(t.status===`success`&&!e.sync&&!t.preload&&u)return t;await t._nonReactive.loaderPromise;let n=e.router.getMatch(i),a=n._nonReactive.error||n.error;a&&Ft(e,n,a),n.status===`pending`&&await r(l,t,s,n,c)}else{let n=l&&!e.router.stores.matchStores.has(i),a=e.router.getMatch(i);a._nonReactive.loaderPromise=v(),n!==a.preload&&e.updateMatch(i,e=>({...e,preload:n})),await r(l,t,s,a,c)}}let d=e.router.getMatch(i);s||(d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loadPromise?.resolve(),d._nonReactive.loadPromise=void 0),clearTimeout(d._nonReactive.pendingTimeout),d._nonReactive.pendingTimeout=void 0,s||(d._nonReactive.loaderPromise=void 0),d._nonReactive.dehydrated=void 0;let f=s?d.isFetching:!1;return f!==d.isFetching||d.invalid!==!1?(e.updateMatch(i,e=>({...e,isFetching:f,invalid:!1})),e.router.getMatch(i)):d};async function qt(e){let t=e,n=[];jt(t.router)&&At(t);let r;for(let e=0;e<t.matches.length;e++){try{let n=Ht(t,e);se(n)&&await n}catch(e){if(xt(e))throw e;if(tt(e))r=e;else if(!t.preload)throw e;break}if(t.serialError||t.firstBadMatchIndex!=null)break}let i=t.firstBadMatchIndex??t.matches.length,a=r&&!t.preload?Pt(t,r):void 0,o=r&&t.preload?0:a===void 0?i:Math.min(a+1,i),s,c;for(let e=0;e<o;e++)n.push(Kt(t,n,e));try{await Promise.all(n)}catch{let e=await Promise.allSettled(n);for(let t of e){if(t.status!==`rejected`)continue;let e=t.reason;if(xt(e))throw e;tt(e)?s??=e:c??=e}if(c!==void 0)throw c}let l=s??(r&&!t.preload?r:void 0),u=t.firstBadMatchIndex===void 0?t.matches.length-1:t.firstBadMatchIndex;if(!l&&r&&t.preload)return t.matches;if(l){let e=Pt(t,l);e===void 0&&w();let n=t.matches[e],r=t.router.looseRoutesById[n.routeId],i=t.router.options?.defaultNotFoundComponent;!r.options.notFoundComponent&&i&&(r.options.notFoundComponent=i),l.routeId=n.routeId;let a=n.routeId===t.router.routeTree.id;t.updateMatch(n.id,e=>({...e,...a?{status:`success`,globalNotFound:!0,error:void 0}:{status:`notFound`,error:l},isFetching:!1})),u=e,await Yt(r,[`notFoundComponent`])}else if(!t.preload){let e=t.matches[0];e.globalNotFound||t.router.getMatch(e.id)?.globalNotFound&&t.updateMatch(e.id,e=>({...e,globalNotFound:!1,error:void 0}))}if(t.serialError&&t.firstBadMatchIndex!==void 0){let e=t.router.looseRoutesById[t.matches[t.firstBadMatchIndex].routeId];await Yt(e,[`errorComponent`])}for(let e=0;e<=u;e++){let{id:n,routeId:r}=t.matches[e],i=t.router.looseRoutesById[r];try{let e=Ut(t,n,i);if(e){let r=await e;t.updateMatch(n,e=>({...e,...r}))}}catch(e){console.error(`Error executing head for route ${r}:`,e)}}let d=At(t);if(se(d)&&await d,l)throw l;if(t.serialError&&!t.preload&&!t.onReady)throw t.serialError;return t.matches}function Jt(e,t){let n=t.map(t=>
10e.options[t]?.preload?.()).filter(Boolean);if(n.length!==0)return Promise.all(n)}function Yt(e,t=Zt){!e._lazyLoaded&&e._lazyPromise===void 0&&(e.lazyFn?e._lazyPromise=e.lazyFn().then(t=>{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0);let n=()=>e._componentsLoaded?void 0:t===Zt?(()=>{if(e._componentsPromise===void 0){let t=Jt(e,Zt);t?e._componentsPromise=t.then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0}):e._componentsLoaded=!0}return e._componentsPromise})():Jt(e,t);return e._lazyPromise?e._lazyPromise.then(n):n()}function Xt(e){for(let t of Zt)if(e.options[t]?.preload)return!0;return!1}var Zt=[`component`,`errorComponent`,`pendingComponent`,`notFoundComponent`],Qt=`__TSR_index`,$t=`popstate`,en=`beforeunload`;function tn(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=on(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Qt];i=nn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Qt];i=nn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Qt]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function nn(e,t){t||={};let n=sn();return{...t,key:n,__TSR_key:n,[Qt]:e}}function rn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>on(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=sn();t.history.replaceState({[Qt]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(x._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),x._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=on(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),x.notify({type:e})},ee=async()=>{if(f){f=!1;return}let e=c(),n=e.state[Qt]-l.state[Qt],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),x.notify(u);return}}}l=c(),x.notify(u)},te=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},x=tn({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(en,te,{capture:!0}),t.removeEventListener($t,ee)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(en,te,{capture:!0}),t.addEventListener($t,ee),t.history.pushState=function(...e){let r=n.apply(t.history,e);return x._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return x._ignoreSubscribers||b(`REPLACE`),n},x}function an(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function on(e,t){let n=an(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=sn();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[Qt]:0,key:a,__TSR_key:a}}}function sn(){return(Math.random()+1).toString(36).substring(7)}function cn(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function ln(e,t){let n=t,r=e;return{fromLocation:n,toLocation:r,pathChanged:n?.pathname!==r.pathname,hrefChanged:n?.href!==r.href,hashChanged:n?.hash!==r.hash}}var un=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=e=>e(),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=ee(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=rn()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!==`null`?this.origin=window.origin:this.origin=`http://localhost`),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=_e(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Dt(pn(this.latestLocation),e),dt(this)}let a=!1,o=this.options.basepath??`/`,s=this.options.rewrite;if(r||n!==o||i!==s){this.basepath=o;let e=[],t=ne(o);t&&t!==`/`&&e.push(wt({basepath:o})),s&&e.push(s),this.rewrite=e.length===0?void 0:e.length===1?e[0]:Ct(e),this.history&&this.updateLatestLocation(),a=!0}a&&this.stores&&this.stores.location.set(this.latestLocation),typeof window<`u`&&`CSS`in window&&typeof window.CSS?.supports==`function`&&(this.isViewTransitionTypesSupported=window.CSS.supports(`selector(:active-view-transition-type(a)`))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=me(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&b(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>
10{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(t=>{t.eventType===e.type&&t.fn(e)})},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:d(e).path,external:!1,searchStr:o,search:h(t?.search,i),hash:d(r.slice(1)).path,state:_(t?.state,a)}}let o=new URL(i,this.origin),s=Tt(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:d(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:h(t?.search,c),hash:d(s.hash.slice(1)).path,state:_(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>pe({base:e,to:oe(t),trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>hn({pathname:e,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=e=>{let t=this.getMatch(e);t&&(t.abortController.abort(),clearTimeout(t._nonReactive.pendingTimeout),t._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{this.stores.pendingIds.get().forEach(e=>{this.cancelMatch(e)}),this.stores.matchesId.get().forEach(e=>{if(this.stores.pendingMatchStores.has(e))return;let t=this.stores.matchStores.get(e)?.get();t&&(t.status===`pending`||t.isFetching===`loader`)&&this.cancelMatch(e)})},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this.pendingBuiltLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r.fullPath,a=this.resolvePathWithBase(i,`.`),o=r.search,s=Object.assign(Object.create(null),r.params),c=t.to?this.resolvePathWithBase(a,`${t.to}`):this.resolvePathWithBase(a,`.`),l=t.params===!1||t.params===null?Object.create(null):(t.params??!0)===!0?s:Object.assign(s,f(t.params,s)),u=this.getMatchedRoutes(c),p=u.matchedRoutes;if((!u.foundRoute||u.foundRoute.path!==`/`&&u.routeParams[`**`])&&this.options.notFoundRoute&&(p=[...p,this.options.notFoundRoute]),Object.keys(l).length>0)for(let e of p){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(l,t(l))}catch{}}let m=e.leaveParams?c:d(S({path:c,params:l,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,g=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};p.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,mn(t.options.validateSearch,{...e,...g}))}catch{}}),g=e}g=gn({search:g,dest:t,destRoutes:p,_includeValidateSearch:e._includeValidateSearch}),g=h(o,g);let v=this.options.stringifySearch(g),b=t.hash===!0?n.hash:t.hash?f(t.hash,n.hash):void 0,ee=b?`#${b}`:``,te=t.state===!0?n.state:t.state?f(t.state,n.state):{};te=_(n.state,te);let x=`${m}${v}${ee}`,ne,re,ie=!1;if(this.rewrite){let e=new URL(x,this.origin),t=Et(this.rewrite,e);ne=e.href.replace(e.origin,``),t.origin===this.origin?re=t.pathname+t.search+t.hash:(re=t.href,ie=!0)}else ne=y(x),re=ne;return{publicHref:re,href:ne,pathname:m,search:g,searchStr:v,state:te,hash:b??``,external:ie,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=le(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=s===!1||s===null?Object.create(null):(s??!0)===!0?n:Object.assign(n,f(s,n));r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=()=>{let e=[`key`,`__TSR_key`,`__TSR_index`,`__hashScrollIntoViewOptions`];
10e.forEach(e=>{n.state[e]=this.latestLocation.state[e]});let t=he(n.state,this.latestLocation.state);return e.forEach(e=>{delete n.state[e]}),t},i=de(this.latestLocation.href)===de(n.href),a=this.commitLocationPromise;if(this.commitLocationPromise=v(()=>{a?.resolve(),a=void 0}),i&&r())this.load();else{let{maskedLocation:r,hashScrollIntoView:i,...a}=n;r&&(a={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...a,search:a.searchStr,state:{...a.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(a.unmaskOnReload??this.options.unmaskOnReload??!1)&&(a.state.__tempKey=this.tempLocationKey)),a.state.__hashScrollIntoViewOptions=i??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,this.history[n.replace?`replace`:`push`](a.publicHref,a.state,{ignoreBlocker:t})}return this.resetNextScroll=n.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:a,...o}={})=>{if(a){let t=this.history.location.state.__TSR_index,n=on(a,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);o.to=Tt(this.rewrite,r).pathname,o.search=this.options.parseSearch(n.search),o.hash=n.hash.slice(1)}let s=this.buildLocation({...o,_includeValidateSearch:!0});this.pendingBuiltLocation=s;let c=this.commitLocation({...s,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return Promise.resolve().then(()=>{this.pendingBuiltLocation===s&&(this.pendingBuiltLocation=void 0)}),c},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(g(t,this.protocolAllowlist))return Promise.resolve();if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return Promise.resolve()}return i.replace?window.location.replace(t):window.location.href=t,Promise.resolve()}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();let e=this.matchRoutes(this.latestLocation),t=this.stores.cachedMatches.get().filter(t=>!e.some(e=>e.id===t.id));this.batch(()=>{this.stores.status.set(`pending`),this.stores.statusCode.set(200),this.stores.isLoading.set(!0),this.stores.location.set(this.latestLocation),this.stores.setPending(e),this.stores.setCached(t)})},this.load=async e=>{let t,n,r,i=this.stores.resolvedLocation.get()??this.stores.location.get();for(r=new Promise(a=>{this.startTransition(async()=>{try{this.beforeLoad();let t=this.latestLocation,n=ln(t,this.stores.resolvedLocation.get());this.stores.redirect.get()||this.emit({type:`onBeforeNavigate`,...n}),this.emit({type:`onBeforeLoad`,...n}),await qt({router:this,sync:e?.sync,forceStaleReload:i.href===t.href,matches:this.stores.pendingMatches.get(),location:t,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let e=null,t=null,n=null,r=null;this.batch(()=>{let i=this.stores.pendingMatches.get(),a=i.length,o=this.stores.matches.get();e=a?o.filter(e=>!this.stores.pendingMatchStores.has(e.id)):null;let s=new Set;for(let e of this.stores.pendingMatchStores.values())e.routeId&&s.add(e.routeId);let c=new Set;for(let e of this.stores.matchStores.values())e.routeId&&c.add(e.routeId);t=a?o.filter(e=>!s.has(e.routeId)):null,n=a?i.filter(e=>!c.has(e.routeId)):null,r=a?i.filter(e=>c.has(e.routeId)):o,this.stores.isLoading.set(!1),this.stores.loadedAt.set(Date.now()),a&&(this.stores.setMatches(i),this.stores.setPending([]),this.stores.setCached([...this.stores.cachedMatches.get(),...e.filter(e=>e.status!==`error`&&e.status!==`notFound`&&e.status!==`redirected`)]),this.clearExpiredCache())});for(let[e,i]of[[t,`onLeave`],[n,`onEnter`],[r,`onStay`]])if(e)for(let t of e)this.looseRoutesById[t.routeId].options[i]?.(t)})})}})}catch(e){xt(e)?(t=e,this.navigate({...t.options,replace:!0,ignoreBlocker:!0})):tt(e)&&(n=e);let r=t?t.status:n?404:this.stores.matches.get().some(e=>e.status===`error`)?500:200;this.batch(()=>{this.stores.statusCode.set(r),this.stores.redirect.set(t)})}this.latestLoadPromise===r&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),a()})}),this.latestLoadPromise=r,await r;this.latestLoadPromise&&r!==this.latestLoadPromise;)await this.latestLoadPromise;let a;this.hasNotFoundMatch()?a=404:this.stores.matches.get().some(e=>e.status===`error`)&&(a=500),a!==void 0&&this.stores.statusCode.set(a)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document<`u`&&`startViewTransition`in document&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&this.isViewTransitionTypesSupported){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(ln(r,i)):t.types;if(a===!1){e();return}n={update:e,types:a}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,t)=>{this.startTransition(()=>
10{let n=this.stores.pendingMatchStores.get(e);if(n){n.set(t);return}let r=this.stores.matchStores.get(e);if(r){r.set(t);return}let i=this.stores.cachedMatchStores.get(e);if(i){let n=t(i.get());n.status===`redirected`?this.stores.cachedMatchStores.delete(e)&&this.stores.cachedIds.set(t=>t.filter(t=>t!==e)):i.set(n)}})},this.getMatch=e=>this.stores.cachedMatchStores.get(e)?.get()??this.stores.pendingMatchStores.get(e)?.get()??this.stores.matchStores.get(e)?.get(),this.invalidate=e=>{let t=t=>e?.filter?.(t)??!0?{...t,invalid:!0,...e?.forcePending||t.status===`error`||t.status===`notFound`?{status:`pending`,error:void 0}:void 0}:t;return this.batch(()=>{this.stores.setMatches(this.stores.matches.get().map(t)),this.stores.setCached(this.stores.cachedMatches.get().map(t)),this.stores.setPending(this.stores.pendingMatches.get().map(t))}),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.getParsedLocationHref=e=>e.publicHref||`/`,this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=e.options._builtLocation??this.buildLocation(e.options),n=this.getParsedLocationHref(t);e.options.href=n,e.headers.set(`Location`,n)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&g(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=e?.filter;t===void 0?this.stores.setCached([]):this.stores.setCached(this.stores.cachedMatches.get().filter(e=>!t(e)))},this.clearExpiredCache=()=>{let e=Date.now();this.clearCache({filter:t=>{let n=this.looseRoutesById[t.routeId];if(!n.options.loader)return!0;let r=(t.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return t.status===`error`?!0:e-t.updatedAt>=r}})},this.loadRouteChunk=Yt,this.preloadRoute=async e=>{let t=e._builtLocation??this.buildLocation(e),n=this.matchRoutes(t,{throwOnError:!0,preload:!0,dest:e}),r=new Set([...this.stores.matchesId.get(),...this.stores.pendingIds.get()]),i=new Set([...r,...this.stores.cachedIds.get()]),a=n.filter(e=>!i.has(e.id));if(a.length){let e=this.stores.cachedMatches.get();this.stores.setCached([...e,...a])}try{return n=await qt({router:this,matches:n,location:t,preload:!0,updateMatch:(e,t)=>{r.has(e)?n=n.map(n=>n.id===e?t(n):n):this.updateMatch(e,t)}}),n}catch(e){if(xt(e))return e.options.reloadDocument?void 0:await this.preloadRoute({...e.options,_fromLocation:t});tt(e)||console.error(e);return}},this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(t?.pending&&this.stores.status.get()!==`pending`)return!1;let i=(t?.pending===void 0?!this.stores.isLoading.get():t.pending)?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),a=ie(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,i.pathname,this.processedTree);return!a||e.params&&!he(a.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?he(i.search,r.search,{partial:!0})?a.rawParams:!1:a.rawParams},this.hasNotFoundMatch=()=>this.stores.matches.get().some(e=>e.status===`notFound`||e.globalNotFound),this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??gt,parseSearch:e.parseSearch??ht,protocolAllowlist:e.protocolAllowlist??te}),typeof document<`u`&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}get looseRoutesById(){return this.routesById}getParentContext(e){return e?.id?e.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(e,t){let n=this.getMatchedRoutes(e.pathname),{foundRoute:r,routeParam
10s:i,parsedParams:a}=n,{matchedRoutes:o}=n,s=!1;(r?r.path!==`/`&&i[`**`]:de(e.pathname))&&(this.options.notFoundRoute?o=[...o,this.options.notFoundRoute]:s=!0);let c=s?vn(this.options.notFoundMode,o):void 0,l=Array(o.length),u=new Map;for(let e of this.stores.matchStores.values())e.routeId&&u.set(e.routeId,e.get());for(let n=0;n<o.length;n++){let r=o[n],s=l[n-1],d,f,p;{let n=s?.search??e.search,i=s?._strictSearch??void 0;try{let e=mn(r.options.validateSearch,{...n})??void 0;d={...n,...e},f={...i,...e},p=void 0}catch(e){let r=e;if(e instanceof dn||(r=new dn(e.message,{cause:e})),t?.throwOnError)throw r;d=n,f={},p=r}}let m=r.options.loaderDeps?.({search:d})??``,g=m?JSON.stringify(m):``,{interpolatedPath:y,usedParams:b}=S({path:r.fullPath,params:i,decoder:this.pathParamsDecoder,server:this.isServer}),ee=r.id+y+g,te=this.getMatch(ee),x=u.get(r.id),ne=te?._strictParams??b,re;if(!te)try{yn(r,b,a,ne)}catch(e){if(re=tt(e)||xt(e)?e:new fn(e.message,{cause:e}),t?.throwOnError)throw re}Object.assign(i,ne);let ie=x?`stay`:`enter`,ae;if(te)ae={...te,cause:ie,params:x?.params??i,_strictParams:ne,search:h(x?x.search:te.search,d),_strictSearch:f};else{let e=r.options.loader||r.options.beforeLoad||r.lazyFn||Xt(r)?`pending`:`success`;ae={id:ee,ssr:r.options.ssr,index:n,routeId:r.id,params:x?.params??i,_strictParams:ne,pathname:y,updatedAt:Date.now(),search:x?h(x.search,d):d,_strictSearch:f,searchError:void 0,status:e,isFetching:!1,error:void 0,paramsError:re,__routeContext:void 0,_nonReactive:{loadPromise:v()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:ie,loaderDeps:x?_(x.loaderDeps,m):m,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:r.options.staticData||{},fullPath:r.fullPath}}t?.preload||(ae.globalNotFound=c===r.id),ae.searchError=p;let oe=this.getParentContext(s);ae.context={...oe,...ae.__routeContext,...ae.__beforeLoadContext},l[n]=ae}for(let t=0;t<l.length;t++){let n=l[t],r=this.looseRoutesById[n.routeId],a=this.getMatch(n.id),o=u.get(n.routeId);if(n.params=o?h(o.params,i):i,!a){let i=l[t-1],a=this.getParentContext(i);if(r.options.context){let t={deps:n.loaderDeps,params:n.params,context:a??{},location:e,navigate:t=>this.navigate({...t,_fromLocation:e}),buildLocation:this.buildLocation,cause:n.cause,abortController:n.abortController,preload:!!n.preload,matches:l,routeId:r.id};n.__routeContext=r.options.context(t)??void 0}n.context={...a,...n.__routeContext,...n.__beforeLoadContext}}}return l}matchRoutesLightweight(e){let{matchedRoutes:t,routeParams:n,parsedParams:r}=this.getMatchedRoutes(e.pathname),i=m(t),a={...e.search};for(let e of t)try{Object.assign(a,mn(e.options.validateSearch,a))}catch{}let o=m(this.stores.matchesId.get()),s=o&&this.stores.matchStores.get(o)?.get(),c=s&&s.routeId===i.id&&s.pathname===e.pathname,l;if(c)l=s.params;else{let e=Object.assign(Object.create(null),n);for(let i of t)try{yn(i,n,r??{},e)}catch{}l=e}return{matchedRoutes:t,fullPath:i.fullPath,search:a,params:l}}},dn=class extends Error{},fn=class extends Error{};function pn(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:`idle`,resolvedLocation:void 0,location:e,matches:[],statusCode:200}}function mn(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new dn(`Async validation not supported`);if(n.issues)throw new dn(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function hn({pathname:e,routesById:t,processedTree:n}){let r=Object.create(null),i=de(e),a,o,s=ae(i,n,!0);return s&&(a=s.route,Object.assign(r,s.rawParams),o=Object.assign(Object.create(null),s.parsedParams)),{matchedRoutes:s?.branch||[t.__root__],routeParams:r,foundRoute:a,parsedParams:o}}function gn({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){return _n(n)(e,t,r??!1)}function _n(e){let t={dest:null,_includeValidateSearch:!1,middlewares:[]};for(let n of e)`search`in n.options?n.options.search?.middlewares&&t.middlewares.push(...n.options.search.middlewares):(n.options.preSearchFilters||n.options.postSearchFilters)&&t.middlewares.push(({search:e,next:t})=>{let r=e;
10`preSearchFilters`in n.options&&n.options.preSearchFilters&&(r=n.options.preSearchFilters.reduce((e,t)=>t(e),e));let i=t(r);return`postSearchFilters`in n.options&&n.options.postSearchFilters?n.options.postSearchFilters.reduce((e,t)=>t(e),i):i}),n.options.validateSearch&&t.middlewares.push(({search:e,next:r})=>{let i=r(e);if(!t._includeValidateSearch)return i;try{return{...i,...mn(n.options.validateSearch,i)??void 0}}catch{return i}});t.middlewares.push(({search:e})=>{let n=t.dest;return n.search?n.search===!0?e:f(n.search,e):{}});let n=(e,t,r)=>{if(e>=r.length)return t;let i=r[e];return i({search:t,next:t=>n(e+1,t,r)})};return function(e,r,i){return t.dest=r,t._includeValidateSearch=i,n(0,e,t.middlewares)}}function vn(e,t){if(e!==`root`)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.children)return n.id}return yt}function yn(e,t,n,r){let i=e.options.params?.parse??e.options.parseParams;if(i)if(e.options.skipRouteOnParseError)for(let e in t)e in n&&(r[e]=n[e]);else{let e=i(r);Object.assign(r,e)}}var bn=Symbol.for(`TSR_DEFERRED_PROMISE`);function xn(e,t){let n=e;return n[bn]?n:(n[bn]={status:`pending`},n.then(e=>{n[bn].status=`success`,n[bn].data=e}).catch(e=>{n[bn].status=`error`,n[bn].error={data:(t?.serializeError??cn)(e),__isServerError:!0}}),n)}function Sn(e,t){if(e)return typeof e==`string`?e:e[t]}function Cn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function wn(e){if(e.tag!==`link`)return;let t=e.attrs?.rel,n=e.attrs?.href;if(typeof n==`string`&&(typeof t==`string`?t.split(/\s+/):[]).includes(`stylesheet`))return n}function Tn(e,t){let n=wn(t);return!!n&&e?.inlineCss?.styles[n]!==void 0}var En=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=yt:this.parentRoute||w();let r=n?yt:t?.path;r&&r!==`/`&&(r=re(r));let i=t?.id||r,a=n?yt:x([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),a!==`__root__`&&(a=x([`/`,a]));let o=a===`__root__`?`/`:x([this.parentRoute.fullPath,r]);this._path=r,this._id=a,this._fullPath=o,this._to=de(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>bt({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},Dn=class extends En{constructor(e){super(e)}};function On(e){if(typeof document<`u`&&document.querySelector){let t=e.stores.location.get(),n=t.state.__hashScrollIntoViewOptions??!0;if(n&&t.hash!==``){let e=document.getElementById(t.hash);e&&e.scrollIntoView(n)}}}var kn=(e=>(e[e.AggregateError=1]=`AggregateError`,e[e.ArrowFunction=2]=`ArrowFunction`,e[e.ErrorPrototypeStack=4]=`ErrorPrototypeStack`,e[e.ObjectAssign=8]=`ObjectAssign`,e[e.BigIntTypedArray=16]=`BigIntTypedArray`,e[e.RegExp=32]=`RegExp`,e))(kn||{}),An=Symbol.asyncIterator,jn=Symbol.hasInstance,Mn=Symbol.isConcatSpreadable,Nn=Symbol.iterator,Pn=Symbol.match,Fn=Symbol.matchAll,In=Symbol.replace,Ln=Symbol.search,Rn=Symbol.species,zn=Symbol.split,Bn=Symbol.toPrimitive,Vn=Symbol.toStringTag,Hn=Symbol.unscopables,Un={[An]:0,[jn]:1,[Mn]:2,[Nn]:3,[Pn]:4,[Fn]:5,[In]:6,[Ln]:7,[Rn]:8,[zn]:9,[Bn]:10,[Vn]:11,[Hn]:12},Wn={0:An,1:jn,2:Mn,3:Nn,4:Pn,5:Fn,6:In,7:Ln,8:Rn,9:zn,10:Bn,11:Vn,12:Hn},O=void 0,Gn={2:!0,3:!1,1:O,0:null,4:-0,5:1/0,6:-1/0,7:NaN},Kn={0:`Error`,1:`EvalError`,2:`RangeError`,3:`ReferenceError`,4:`SyntaxError`,5:`TypeError`,6:`URIError`},qn={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function Jn(e,t,n,r,i,a,o,s,c,l,u,d){return{t:e,i:t,s:n,c:r,m:i,p:a,e:o,a:s,f:c,b:l,o:u,l:d}}function Yn(e){return Jn(2,O,e,O,O,O,O,O,O,O,O,O)}var Xn=Yn(2),Zn=Yn(3),Qn=Yn(1),$n=Yn(0),er=Yn(4),tr=Yn(5),nr=Yn(6),rr=Yn(7);function ir(e){switch(e){case`"`:return`\\"`;case`\\`:return`\\\\`;case`
11`:return`\\n`;case`\r`:return`\\r`;case`\b`:return`\\b`;case`	`:return`\\t`;case`\f`:return`\\f`;case`<`:return`\\x3C`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return O}}function ar(e){let t=``,n=0,r;for(let i=0,a=e.length;i<a;i++)r=ir(e[i]),r&&(t+=e.slice(n,i)+r,n=i+1);return n===0?t=e:t+=e.slice(n),t}function or(e){switch(e){case`\\\\`:return`\\`;case`\\"`:return`"`;case`\\n`:return`
12`;case`\\r`:return`\r`;case`\\b`:return`\b`;case`\\t`:return`	`;case`\\f`:return`\f`;case`\\x3C`:return`<`;case`\\u2028`:return`\u2028`;case`\\u2029`:return`\u2029`;default:return e}}function sr(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,or)}var cr=`__SEROVAL_REFS__`,lr=new Map,ur=new Map;function dr(e){return lr.has(e)}function fr(e){return ur.has(e)}function pr(e){if(dr(e))return lr.get(e);throw new ti(e)}function mr(e){if(fr(e))return ur.get(e);throw new ni(e)}typeof globalThis<`u`?Object.defineProperty(globalThis,cr,{value:ur,configurable:!0,writable:!1,enumerable:!1}):typeof window<`u`?Object.defineProperty(window,cr,{value:ur,configurable:!0,writable:!1,enumerable:!1}):typeof self<`u`?Object.defineProperty(self,cr,{value:ur,configurable:!0,writable:!1,enumerable:!1}):typeof global<`u`&&Object.defineProperty(global,cr,{value:ur,configurable:!0,writable:!1,enumerable:!1});function hr(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function gr(e){let t=Kn[hr(e)];return e.name===t?e.constructor.name===t?{}:{name:e.constructor.name}:{name:e.name}}function _r(e,t){let n=gr(e),r=Object.getOwnPropertyNames(e);for(let i=0,a=r.length,o;i<a;i++)o=r[i],o!==`name`&&o!==`message`&&(o===`stack`?t&4&&(n||={},n[o]=e[o]):(n||={},n[o]=e[o]));return n}function vr(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:+!Object.isExtensible(e)}function yr(e){switch(e){case 1/0:return tr;case-1/0:return nr}return e===e?Object.is(e,-0)?er:Jn(0,O,e,O,O,O,O,O,O,O,O,O):rr}function br(e){return Jn(1,O,ar(e),O,O,O,O,O,O,O,O,O)}function xr(e){return Jn(3,O,``+e,O,O,O,O,O,O,O,O,O)}function Sr(e){return Jn(4,e,O,O,O,O,O,O,O,O,O,O)}function Cr(e,t){let n=t.valueOf();return Jn(5,e,n===n?t.toISOString():``,O,O,O,O,O,O,O,O,O)}function wr(e,t){return Jn(6,e,O,ar(t.source),t.flags,O,O,O,O,O,O,O)}function Tr(e,t){return Jn(17,e,Un[t],O,O,O,O,O,O,O,O,O)}function Er(e,t){return Jn(18,e,ar(pr(t)),O,O,O,O,O,O,O,O,O)}function Dr(e,t,n){return Jn(25,e,n,ar(t),O,O,O,O,O,O,O,O)}function Or(e,t,n){return Jn(9,e,O,O,O,O,O,n,O,O,vr(t),O)}function kr(e,t){return Jn(21,e,O,O,O,O,O,O,t,O,O,O)}
12function Ar(e,t,n){return Jn(15,e,O,t.constructor.name,O,O,O,O,n,t.byteOffset,O,t.length)}function jr(e,t,n){return Jn(16,e,O,t.constructor.name,O,O,O,O,n,t.byteOffset,O,t.byteLength)}function Mr(e,t,n){return Jn(20,e,O,O,O,O,O,O,n,t.byteOffset,O,t.byteLength)}function Nr(e,t,n){return Jn(13,e,hr(t),O,ar(t.message),n,O,O,O,O,O,O)}function Pr(e,t,n){return Jn(14,e,hr(t),O,ar(t.message),n,O,O,O,O,O,O)}function Fr(e,t){return Jn(7,e,O,O,O,O,O,t,O,O,O,O)}function Ir(e,t){return Jn(28,O,O,O,O,O,O,[e,t],O,O,O,O)}function Lr(e,t){return Jn(30,O,O,O,O,O,O,[e,t],O,O,O,O)}function Rr(e,t,n){return Jn(31,e,O,O,O,O,O,n,t,O,O,O)}function zr(e,t){return Jn(32,e,O,O,O,O,O,O,t,O,O,O)}function Br(e,t){return Jn(33,e,O,O,O,O,O,O,t,O,O,O)}function Vr(e,t){return Jn(34,e,O,O,O,O,O,O,t,O,O,O)}function Hr(e,t,n,r){return Jn(35,e,n,O,O,O,O,t,O,O,O,r)}var{toString:Ur}=Object.prototype,Wr={parsing:1,serialization:2,deserialization:3};function Gr(e){return`Seroval Error (step: ${Wr[e]})`}var Kr=(e,t)=>Gr(e),qr=class extends Error{constructor(e,t){super(Kr(e,t)),this.cause=t}},Jr=class extends qr{constructor(e){super(`parsing`,e)}},Yr=class extends qr{constructor(e){super(`deserialization`,e)}};function Xr(e){return`Seroval Error (specific: ${e})`}var Zr=class extends Error{constructor(e){super(Xr(1)),this.value=e}},Qr=class extends Error{constructor(e){super(Xr(2))}},$r=class extends Error{constructor(e){super(Xr(3))}},ei=class extends Error{constructor(e){super(Xr(4))}},ti=class extends Error{constructor(e){super(Xr(5)),this.value=e}},ni=class extends Error{constructor(e){super(Xr(6))}},ri=class extends Error{constructor(e){super(Xr(7))}},ii=class extends Error{constructor(e){super(Xr(8))}},ai=class extends Error{constructor(e){super(Xr(9))}},oi=class{constructor(e,t){this.value=e,this.replacement=t}},si=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((t,n)=>{e.s=t,e.f=n}),e};si.toString(),((e,t)=>{e.s(t),e.p.s=1,e.p.v=t}).toString(),((e,t)=>{e.f(t),e.p.s=2,e.p.v=t}).toString();var ci=()=>{let e=[],t=[],n=!0,r=!1,i=0,a=(e,n,r)=>{for(r=0;r<i;r++)t[r]&&t[r][n](e)},o=(t,i,a,o)=>{for(i=0,a=e.length;i<a;i++)o=e[i],!n&&i===a-1?t[r?`return`:`throw`](o):t.next(o)},s=(e,r)=>(n&&(r=i++,t[r]=e),o(e),()=>{n&&(t[r]=t[i],t[i--]=void 0)});return{__SEROVAL_STREAM__:!0,on:e=>s(e),next:t=>{n&&(e.push(t),a(t,`next`))},throw:i=>{n&&(e.push(i),a(i,`throw`),n=!1,r=!1,t.length=0)},return:i=>{n&&(e.push(i),a(i,`return`),n=!1,r=!0,t.length=0)}}};ci.toString();var li=e=>t=>()=>{let n=0,r={[e]:()=>r,next:()=>{if(n>t.d)return{done:!0,value:void 0};let e=n++,r=t.v[e];if(e===t.t)throw r;return{done:e===t.d,value:r}}};return r};li.toString();var ui=(e,t)=>n=>()=>{let r=0,i=-1,a=!1,o=[],s=[],c=(e=0,t=s.length)=>{for(;e<t;e++)s[e].s({done:!0,value:void 0})};n.on({next:e=>{let t=s.shift();t&&t.s({done:!1,value:e}),o.push(e)},throw:e=>{let t=s.shift();t&&t.f(e),c(),i=o.length,a=!0,o.push(e)},return:e=>{let t=s.shift();t&&t.s({done:!0,value:e}),c(),i=o.length,o.push(e)}});let l={[e]:()=>l,next:()=>{if(i===-1){let e=r++;if(e>=o.length){let e=t();return s.push(e),e.p}return{done:!1,value:o[e]}}if(r>i)return{done:!0,value:void 0};let e=r++,n=o[e];if(e!==i)return{done:!1,value:n};if(a)throw n;return{done:!0,value:n}}};return l};ui.toString();var di=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer};di.toString();function fi(e){return`__SEROVAL_SEQUENCE__`in e}function pi(e,t,n){return{__SEROVAL_SEQUENCE__:!0,v:e,t,d:n}}function mi(e){let t=[],n=-1,r=-1,i=e[Nn]();for(;;)try{let e=i.next();if(t.push(e.value),e.done){r=t.length-1;break}}catch(e){n=t.length,t.push(e)}return pi(t,n,r)}var hi=li(Nn);function gi(e){return hi(e)}var _i={},vi={},yi={0:{},1:{},2:{},3:{},4:{},5:{}};function bi(e){return`__SEROVAL_STREAM__`in e}function xi(){return ci()}function Si(e){let t=xi(),n=e[An]();async function r(){try{let e=await n.next();e.done?t.return(e.value):(t.next(e.value),await r())}catch(e){t.throw(e)}}return r().catch(()=>{}),t}var Ci=ui(An,si);function wi(e){return Ci(e)}async function Ti(e){try{return[1,await e]}catch(e){return[0,e]}}function Ei(e,t){return{plugins:t.plugins,mode:e,marked:new Set,features:63^(t.disabledFeatures||0),refs:t.refs||new Map,depthLimit:t.depthLimit||1e3}}function Di(e,t){e.marked.add(t)}function Oi(e,t){let n=e.refs.size;return e.refs.set(t,n),n}function ki(e,t){let n=e.refs.get(t);return n==null?{type:0,value:Oi(e,t)}:(Di(e,n),{type:1,value:Sr(n)})}function Ai(e,t){let n=ki(e,t);return n.type===1?n:dr(t)?{type:2,value:Er(n.value,t)}:n}function ji(e,t){let n=Ai(e,t);if(n.type!==0)return n.value;if(t in Un)return Tr(n.value,t);throw new Zr(t)}function Mi(e,t){let n=ki(e,yi[t]);return n.type===1?n.value:Jn(26,n.value,t,O,O,O,O,O,O,O,O,O)}function Ni(e){let t=ki(e,_i);return t.type===1?t.value:Jn(27,t.value,O,O,O,O,O,O,ji(e,Nn),O,O,O)}function Pi(e){let t=ki(e,vi);return t.type===1?t.value:Jn(29,t.value,O,O,O,O,O,[Mi(e,1),ji(e,An)],O,O,O,O)}function Fi(e,t,n,r){return Jn(n?11:10,e,O,O,O,r,O,O,O,O,vr(t),O)}function Ii(e,t,n,r){return Jn(8,t,O,O,O,O,{k:n,v:r},O,Mi(e,0),O,O,O)}function Li(e,t,n){let r=new Uint8Array(n),i=``;for(let e=0,t=r.length;e<t;e++)i+=String.fromCharCode(r[e]);return Jn(19,t,ar(btoa(i)),O,O,O,O,O,Mi(e,5),O,O,O)}function Ri(e,t){return{base:Ei(e,t),child:void 0}}var zi=class{constructor(e,t){this._p=e,this.depth=t}parse(e){return aa(this._p,this.depth,e)}};async function Bi(e,t,n){let r=[];for(let i=0,a=n.length;i<a;i++)i in n?r[i]=await aa(e,t,n[i]):r[i]=0;return r}async function Vi(e,t,n,r){return Or(n,r,await Bi(e,t,r))}async function Hi(e,t,n){let r=Object.entries(n),i=[],a=[];for(let n=0,o=r.length;n<o;n++)i.push(ar(r[n][0])),a.push(await aa(e,t,r[n][1]));return Nn in n&&(i.push(ji(e.base,Nn)),a.push(Ir(Ni(e.base),await aa(e,t,mi(n))))),An in n&&(i.push(ji(e.base,An)),a.push(Lr(Pi(e.base),await aa(e,t,Si(n))))),Vn in n&&(i.push(ji(e.base,Vn)),a.push(br(n[Vn]))),Mn in n&&(i.push(ji(e.base,Mn)),a.push(n[Mn]?Xn:Zn)),{k:i,v:a}}async function Ui(e,t,n,r,i){return Fi(n,r,i,await Hi(e,t,r))}async function Wi(e,t,n,r){return kr(n,await aa(e,t,r.valueOf()))}async function Gi(e,t,n,r){return Ar(n,r,await aa(e,t,r.buffer))}async function Ki(e,t,n,r){return jr(n,r,await aa(e,t,r.buffer))}async function qi(e,t,n,r){return Mr(n,r,await aa(e,t,r.buffer))}async function Ji(e,t,n,r){let i=_r(r,e.base.features);return Nr(n,r,i?await Hi(e,t,i):O)}async function Yi(e,t,n,r){let i=_r(r,e.base.features);return Pr(n,r,i?await Hi(e,t,i):O)}async function Xi(e,t,n,r){let i=[],a=[];
12for(let[n,o]of r.entries())i.push(await aa(e,t,n)),a.push(await aa(e,t,o));return Ii(e.base,n,i,a)}async function Zi(e,t,n,r){let i=[];for(let n of r.keys())i.push(await aa(e,t,n));return Fr(n,i)}async function Qi(e,t,n,r){let i=e.base.plugins;if(i)for(let a=0,o=i.length;a<o;a++){let o=i[a];if(o.parse.async&&o.test(r))return Dr(n,o.tag,await o.parse.async(r,new zi(e,t),{id:n}))}return O}async function $i(e,t,n,r){let[i,a]=await Ti(r);return Jn(12,n,i,O,O,O,O,O,await aa(e,t,a),O,O,O)}function ea(e,t,n,r,i){let a=[],o=n.on({next:n=>{Di(this.base,t),aa(this,e,n).then(e=>{a.push(zr(t,e))},e=>{i(e),o()})},throw:n=>{Di(this.base,t),aa(this,e,n).then(e=>{a.push(Br(t,e)),r(a),o()},e=>{i(e),o()})},return:n=>{Di(this.base,t),aa(this,e,n).then(e=>{a.push(Vr(t,e)),r(a),o()},e=>{i(e),o()})}})}async function ta(e,t,n,r){return Rr(n,Mi(e.base,4),await new Promise(ea.bind(e,t,n,r)))}async function na(e,t,n,r){let i=[];for(let n=0,a=r.v.length;n<a;n++)i[n]=await aa(e,t,r.v[n]);return Hr(n,i,r.t,r.d)}async function ra(e,t,n,r){if(Array.isArray(r))return Vi(e,t,n,r);if(bi(r))return ta(e,t,n,r);if(fi(r))return na(e,t,n,r);let i=r.constructor;if(i===oi)return aa(e,t,r.replacement);let a=await Qi(e,t,n,r);if(a)return a;switch(i){case Object:return Ui(e,t,n,r,!1);case O:return Ui(e,t,n,r,!0);case Date:return Cr(n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Ji(e,t,n,r);case Number:case Boolean:case String:case BigInt:return Wi(e,t,n,r);case ArrayBuffer:return Li(e.base,n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Gi(e,t,n,r);case DataView:return qi(e,t,n,r);case Map:return Xi(e,t,n,r);case Set:return Zi(e,t,n,r);default:break}if(i===Promise||r instanceof Promise)return $i(e,t,n,r);let o=e.base.features;if(o&32&&i===RegExp)return wr(n,r);if(o&16)switch(i){case BigInt64Array:case BigUint64Array:return Ki(e,t,n,r);default:break}if(o&1&&typeof AggregateError<`u`&&(i===AggregateError||r instanceof AggregateError))return Yi(e,t,n,r);if(r instanceof Error)return Ji(e,t,n,r);if(Nn in r||An in r)return Ui(e,t,n,r,!!i);throw new Zr(r)}async function ia(e,t,n){let r=Ai(e.base,n);if(r.type!==0)return r.value;let i=await Qi(e,t,r.value,n);if(i)return i;throw new Zr(n)}async function aa(e,t,n){switch(typeof n){case`boolean`:return n?Xn:Zn;case`undefined`:return Qn;case`string`:return br(n);case`number`:return yr(n);case`bigint`:return xr(n);case`object`:if(n){let r=Ai(e.base,n);return r.type===0?await ra(e,t+1,r.value,n):r.value}return $n;case`symbol`:return ji(e.base,n);case`function`:return ia(e,t,n);default:throw new Zr(n)}}async function oa(e,t){try{return await aa(e,0,t)}catch(e){throw e instanceof Jr?e:new Jr(e)}}var sa=(e=>(e[e.Vanilla=1]=`Vanilla`,e[e.Cross=2]=`Cross`,e))(sa||{});function ca(e){return e}function la(e,t){for(let n=0,r=t.length;n<r;n++){let r=t[n];e.has(r)||(e.add(r),r.extends&&la(e,r.extends))}}function ua(e){if(e){let t=new Set;return la(t,e),[...t]}}function da(e){switch(e){case`Int8Array`:return Int8Array;case`Int16Array`:return Int16Array;case`Int32Array`:return Int32Array;case`Uint8Array`:return Uint8Array;case`Uint16Array`:return Uint16Array;case`Uint32Array`:return Uint32Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return BigInt64Array;case`BigUint64Array`:return BigUint64Array;default:throw new ri(e)}}var fa=1e6,pa=1e4,ma=2e4;function ha(e,t){switch(t){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}var ga=1e3;function _a(e,t){return{mode:e,plugins:t.plugins,refs:t.refs||new Map,features:t.features??63^(t.disabledFeatures||0),depthLimit:t.depthLimit||ga}}function va(e){return{mode:2,base:_a(2,e),child:O}}var ya=class{constructor(e,t){this._p=e,this.depth=t}deserialize(e){return io(this._p,this.depth,e)}};function ba(e,t){if(t<0||!Number.isFinite(t)||!Number.isInteger(t))throw new ii({t:4,i:t});if(e.refs.has(t))throw Error(`Conflicted ref id: `+t)}
12function xa(e,t,n){return ba(e.base,t),e.state.marked.has(t)&&e.base.refs.set(t,n),n}function Sa(e,t,n){return ba(e.base,t),e.base.refs.set(t,n),n}function Ca(e,t,n){return e.mode===1?xa(e,t,n):Sa(e,t,n)}function wa(e,t,n){if(Object.hasOwn(t,n))return t[n];throw new ii(e)}function Ta(e,t){return Ca(e,t.i,mr(sr(t.s)))}function Ea(e,t,n){let r=n.a,i=r.length,a=Ca(e,n.i,Array(i));for(let n=0,o;n<i;n++)o=r[n],o&&(a[n]=io(e,t,o));return ha(a,n.o),a}function Da(e){switch(e){case`constructor`:case`__proto__`:case`prototype`:case`__defineGetter__`:case`__defineSetter__`:case`__lookupGetter__`:case`__lookupSetter__`:return!1;default:return!0}}function Oa(e){switch(e){case An:case Mn:case Vn:case Nn:return!0;default:return!1}}function ka(e,t,n){Da(t)?e[t]=n:Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}function Aa(e,t,n,r,i){if(typeof r==`string`)ka(n,sr(r),io(e,t,i));else{let a=io(e,t,r);switch(typeof a){case`string`:ka(n,a,io(e,t,i));break;case`symbol`:Oa(a)&&(n[a]=io(e,t,i));break;default:throw new ii(r)}}}function ja(e,t,n,r){let i=n.k;if(i.length>0)for(let a=0,o=n.v,s=i.length;a<s;a++)Aa(e,t,r,i[a],o[a]);return r}function Ma(e,t,n){let r=Ca(e,n.i,n.t===10?{}:Object.create(null));return ja(e,t,n.p,r),ha(r,n.o),r}function Na(e,t){return Ca(e,t.i,new Date(t.s))}function Pa(e,t){if(e.base.features&32){let n=sr(t.c);if(n.length>ma)throw new ii(t);return Ca(e,t.i,new RegExp(n,t.m))}throw new Qr(t)}function Fa(e,t,n){let r=Ca(e,n.i,new Set);for(let i=0,a=n.a,o=a.length;i<o;i++)r.add(io(e,t,a[i]));return r}function Ia(e,t,n){let r=Ca(e,n.i,new Map);for(let i=0,a=n.e.k,o=n.e.v,s=a.length;i<s;i++)r.set(io(e,t,a[i]),io(e,t,o[i]));return r}function La(e,t){if(t.s.length>fa)throw new ii(t);return Ca(e,t.i,di(sr(t.s)))}function Ra(e,t,n){let r=da(n.c),i=io(e,t,n.f),a=n.b??0;if(a<0||a>i.byteLength)throw new ii(n);return Ca(e,n.i,new r(i,a,n.l))}function za(e,t,n){let r=io(e,t,n.f),i=n.b??0;if(i<0||i>r.byteLength)throw new ii(n);return Ca(e,n.i,new DataView(r,i,n.l))}function Ba(e,t,n,r){if(n.p){let i=ja(e,t,n.p,{});Object.defineProperties(r,Object.getOwnPropertyDescriptors(i))}return r}function Va(e,t,n){return Ba(e,t,n,Ca(e,n.i,AggregateError([],sr(n.m))))}function Ha(e,t,n){let r=wa(n,qn,n.s);return Ba(e,t,n,Ca(e,n.i,new r(sr(n.m))))}function Ua(e,t,n){let r=si(),i=Ca(e,n.i,r.p),a=io(e,t,n.f);return n.s?r.s(a):r.f(a),i}function Wa(e,t,n){return Ca(e,n.i,Object(io(e,t,n.f)))}function Ga(e,t,n){let r=e.base.plugins;if(r){let i=sr(n.c);for(let a=0,o=r.length;a<o;a++){let o=r[a];if(o.tag===i)return Ca(e,n.i,o.deserialize(n.s,new ya(e,t),{id:n.i}))}}throw new $r(n.c)}function Ka(e,t){return Ca(e,t.i,Ca(e,t.s,si()).p)}function qa(e,t,n){let r=e.base.refs.get(n.i);if(r)return r.s(io(e,t,n.a[1])),O;throw new ei(`Promise`)}function Ja(e,t,n){let r=e.base.refs.get(n.i);if(r)return r.f(io(e,t,n.a[1])),O;throw new ei(`Promise`)}function Ya(e,t,n){return io(e,t,n.a[0]),gi(io(e,t,n.a[1]))}function Xa(e,t,n){return io(e,t,n.a[0]),wi(io(e,t,n.a[1]))}function Za(e,t,n){let r=Ca(e,n.i,xi()),i=n.a,a=i.length;if(a)for(let n=0;n<a;n++)io(e,t,i[n]);return r}function Qa(e,t,n){let r=e.base.refs.get(n.i);if(r&&bi(r))return r.next(io(e,t,n.f)),O;throw new ei(`Stream`)}function $a(e,t,n){let r=e.base.refs.get(n.i);if(r&&bi(r))return r.throw(io(e,t,n.f)),O;throw new ei(`Stream`)}function eo(e,t,n){let r=e.base.refs.get(n.i);if(r&&bi(r))return r.return(io(e,t,n.f)),O;throw new ei(`Stream`)}function to(e,t,n){return io(e,t,n.f),O}function no(e,t,n){return io(e,t,n.a[1]),O}function ro(e,t,n){let r=Ca(e,n.i,pi([],n.s,n.l));for(let i=0,a=n.a.length;i<a;i++)r.v[i]=io(e,t,n.a[i]);return r}function io(e,t,n){if(t>e.base.depthLimit)throw new ai(e.base.depthLimit);switch(t+=1,n.t){case 2:return wa(n,Gn,n.s);case 0:return Number(n.s);case 1:return sr(String(n.s));case 3:if(String(n.s).length>pa)throw new ii(n);return BigInt(n.s);case 4:return e.base.refs.get(n.i);case 18:return Ta(e,n);case 9:return Ea(e,t,n);case 10:case 11:return Ma(e,t,n);case 5:return Na(e,n);case 6:return Pa(e,n);case 7:return Fa(e,t,n);case 8:return Ia(e,t,n);case 19:return La(e,n);
12case 16:case 15:return Ra(e,t,n);case 20:return za(e,t,n);case 14:return Va(e,t,n);case 13:return Ha(e,t,n);case 12:return Ua(e,t,n);case 17:return wa(n,Wn,n.s);case 21:return Wa(e,t,n);case 25:return Ga(e,t,n);case 22:return Ka(e,n);case 23:return qa(e,t,n);case 24:return Ja(e,t,n);case 28:return Ya(e,t,n);case 30:return Xa(e,t,n);case 31:return Za(e,t,n);case 32:return Qa(e,t,n);case 33:return $a(e,t,n);case 34:return eo(e,t,n);case 27:return to(e,t,n);case 29:return no(e,t,n);case 35:return ro(e,t,n);default:throw new Qr(n)}}function ao(e,t){try{return io(e,0,t)}catch(e){throw new Yr(e)}}var oo=(()=>T).toString();/=>/.test(oo);function so(e,t){return ao(va({plugins:ua(t.plugins),refs:t.refs,features:t.features,disabledFeatures:t.disabledFeatures,depthLimit:t.depthLimit}),e)}async function co(e,t={}){let n=Ri(1,{plugins:ua(t.plugins),disabledFeatures:t.disabledFeatures});return{t:await oa(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function lo(e){return e}function uo(e){return ca({tag:`$TSR/t/`+e.key,test:e.test,parse:{sync(t,n,r){return{v:n.parse(e.toSerializable(t))}},async async(t,n,r){return{v:await n.parse(e.toSerializable(t))}},stream(t,n,r){return{v:n.parse(e.toSerializable(t))}}},serialize:void 0,deserialize(t,n,r){return e.fromSerializable(n.deserialize(t.v))}})}var fo=class{constructor(e,t){this.stream=e,this.hint=t?.hint??`binary`}},po=globalThis.Buffer,mo=!!po&&typeof po.from==`function`;function ho(e){if(e.length===0)return``;if(mo)return po.from(e).toString(`base64`);let t=32768,n=[];for(let r=0;r<e.length;r+=t){let i=e.subarray(r,r+t);n.push(String.fromCharCode.apply(null,i))}return btoa(n.join(``))}function go(e){if(e.length===0)return new Uint8Array;
12if(mo){let t=po.from(e,`base64`);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var _o=Object.create(null),vo=Object.create(null),yo=e=>new ReadableStream({start(t){e.on({next(e){try{t.enqueue(go(e))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),bo=new TextEncoder,xo=e=>new ReadableStream({start(t){e.on({next(e){try{typeof e==`string`?t.enqueue(bo.encode(e)):t.enqueue(go(e.$b64))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),So=`(s=>new ReadableStream({start(c){s.on({next(b){try{const d=atob(b),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}catch(_){}},throw(e){c.error(e)},return(){try{c.close()}catch(_){}}})}}))`,Co=`(s=>{const e=new TextEncoder();return new ReadableStream({start(c){s.on({next(v){try{if(typeof v==='string'){c.enqueue(e.encode(v))}else{const d=atob(v.$b64),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}}catch(_){}},throw(x){c.error(x)},return(){try{c.close()}catch(_){}}})}})})`;function wo(e){let t=xi(),n=e.getReader();return(async()=>{try{for(;;){let{done:e,value:r}=await n.read();if(e){t.return(void 0);break}t.next(ho(r))}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}function To(e){let t=xi(),n=e.getReader(),r=new TextDecoder(`utf-8`,{fatal:!0});return(async()=>{try{for(;;){let{done:e,value:i}=await n.read();if(e){try{let e=r.decode();e.length>0&&t.next(e)}catch{}t.return(void 0);break}try{let e=r.decode(i,{stream:!0});e.length>0&&t.next(e)}catch{t.next({$b64:ho(i)})}}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}var k=ca({tag:`tss/RawStream`,extends:[ca({tag:`tss/RawStreamFactory`,test(e){return e===_o},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return So},deserialize(e,t,n){return _o}}),ca({tag:`tss/RawStreamFactoryText`,test(e){return e===vo},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return Co},deserialize(e,t,n){return vo}})],test(e){return e instanceof fo},parse:{sync(e,t,n){let r=e.hint===`text`?vo:_o;return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(xi())}},async async(e,t,n){let r=e.hint===`text`?vo:_o,i=e.hint===`text`?To(e.stream):wo(e.stream);return{hint:await t.parse(e.hint),factory:await t.parse(r),stream:await t.parse(i)}},stream(e,t,n){let r=e.hint===`text`?vo:_o,i=e.hint===`text`?To(e.stream):wo(e.stream);return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(i)}}},serialize(e,t,n){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t,n){let r=t.deserialize(e.stream);return t.deserialize(e.hint)===`text`?xo(r):yo(r)}});function Eo(e){return ca({tag:`tss/RawStream`,test:()=>!1,parse:{},serialize(){throw Error(`RawStreamDeserializePlugin.serialize should not be called. Client only deserializes.`)},deserialize(t,n,r){return e(typeof n?.deserialize==`function`?n.deserialize(t.streamId):t.streamId)}})}var Do=ca({tag:`$TSR/Error`,test(e){return e instanceof Error},parse:{sync(e,t){return{message:t.parse(e.message)}},async async(e,t){return{message:await t.parse(e.message)}},stream(e,t){return{message:t.parse(e.message)}}},serialize(e,t){return`new Error(`+t.serialize(e.message)+`)`},deserialize(e,t){return Error(t.deserialize(e.message))}}),Oo={},ko=e=>new ReadableStream({start:t=>{e.on({next:e=>{try{t.enqueue(e)}catch{}},throw:e=>{t.error(e)},return:()=>{try{t.close()}catch{}}})}}),Ao=ca({tag:`seroval-plugins/web/ReadableStreamFactory`,test(e){return e===Oo},parse:{sync(){return Oo},async async(){return await Promise.resolve(Oo)},stream(){return Oo}},serialize(){return ko.toString()},deserialize(){return Oo}});function jo(e){let t=xi(),n=e.getReader();async function r(){try{let e=await n.read();e.done?t.return(e.value):(t.next(e.value),await r())}catch(e){t.throw(e)}}return r().catch(()=>{}),t}var Mo=[Do,k,ca({tag:`seroval/plugins/web/ReadableStream`,extends:[Ao],test(e){return typeof ReadableStream>`u`?!1:e instanceof ReadableStream},parse:{sync(e,t){return{factory:t.parse(Oo),stream:t.parse(xi())}},async async(e,t){return{factory:await t.parse(Oo),stream:await t.parse(jo(e))}},stream(e,t){return{factory:t.parse(Oo),stream:t.parse(jo(e))}}},serialize(e,t){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t){return ko(t.deserialize(e.stream))}})];function No(){return[...(et()?.serializationAdapters)?.map(uo)??[],...Mo]}var Po=new TextDecoder,Fo=new Uint8Array,Io=16*1024*1024,Lo=32*1024*1024,Ro=1024,zo=1e5;function Bo(e){let t=new Map,n=new Map,r=new Set,i=!1,a=null,o=0,s,c=new ReadableStream({start(e){s=e},cancel(){i=!0;try{a?.cancel()}catch{}
12t.forEach(e=>{try{e.error(Error(`Framed response cancelled`))}catch{}}),t.clear(),n.clear(),r.clear()}});function l(e){let i=n.get(e);if(i)return i;if(r.has(e))return new ReadableStream({start(e){e.close()}});if(n.size>=Ro)throw Error(`Too many raw streams in framed response (max ${Ro})`);let a=new ReadableStream({start(n){t.set(e,n)},cancel(){r.add(e),t.delete(e),n.delete(e)}});return n.set(e,a),a}function u(e){return l(e),t.get(e)}return(async()=>{let n=e.getReader();a=n;let c=[],l=0;function d(){if(l<9)return null;let e=c[0];if(e.length>=9)return{type:e[0],streamId:(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0,length:(e[5]<<24|e[6]<<16|e[7]<<8|e[8])>>>0};let t=new Uint8Array(9),n=0,r=9;for(let e=0;e<c.length&&r>0;e++){let i=c[e],a=Math.min(i.length,r);t.set(i.subarray(0,a),n),n+=a,r-=a}return{type:t[0],streamId:(t[1]<<24|t[2]<<16|t[3]<<8|t[4])>>>0,length:(t[5]<<24|t[6]<<16|t[7]<<8|t[8])>>>0}}function f(e){if(e===0)return Fo;let t=new Uint8Array(e),n=0,r=e;for(;r>0&&c.length>0;){let e=c[0];if(!e)break;let i=Math.min(e.length,r);t.set(e.subarray(0,i),n),n+=i,r-=i,i===e.length?c.shift():c[0]=e.subarray(i)}return l-=e,t}try{for(;;){let{done:e,value:a}=await n.read();if(i||e)break;if(a){if(l+a.length>Lo)throw Error(`Framed response buffer exceeded ${Lo} bytes`);for(c.push(a),l+=a.length;;){let e=d();if(!e)break;let{type:n,streamId:i,length:a}=e;if(n!==Xe.JSON&&n!==Xe.CHUNK&&n!==Xe.END&&n!==Xe.ERROR)throw Error(`Unknown frame type: ${n}`);if(n===Xe.JSON){if(i!==0)throw Error(`Invalid JSON frame streamId (expected 0)`)}else if(i===0)throw Error(`Invalid raw frame streamId (expected non-zero)`);if(a>Io)throw Error(`Frame payload too large: ${a} bytes (max ${Io})`);let c=9+a;if(l<c)break;if(++o>zo)throw Error(`Too many frames in framed response (max ${zo})`);f(9);let p=f(a);switch(n){case Xe.JSON:try{s.enqueue(Po.decode(p))}catch{}break;case Xe.CHUNK:{let e=u(i);e&&e.enqueue(p);break}case Xe.END:{let e=u(i);if(r.add(i),e){try{e.close()}catch{}t.delete(i)}break}case Xe.ERROR:{let e=u(i);if(r.add(i),e){let n=Po.decode(p);e.error(Error(n)),t.delete(i)}break}}}}}if(l!==0)throw Error(`Incomplete frame at end of framed response`);try{s.close()}catch{}t.forEach(e=>{try{e.close()}catch{}}),t.clear()}catch(e){try{s.error(e)}catch{}t.forEach(t=>{try{t.error(e)}catch{}}),t.clear()}finally{try{n.releaseLock()}catch{}a=null}})(),{getOrCreateStream:l,jsonChunks:c}}var Vo=null;async function Ho(e){e.length>0&&await Promise.allSettled(e)}var Uo=Object.prototype.hasOwnProperty;function Wo(e){for(let t in e)if(Uo.call(e,t))return!0;return!1}async function Go(e,t,n){Vo||=No();let r=t[0],i=r.fetch??n,a=r.data instanceof FormData?`formData`:`payload`,o=r.headers?new Headers(r.headers):new Headers;if(o.set(`x-tsr-serverFn`,`true`),a===`payload`&&o.set(`accept`,`${Ye}, application/x-ndjson, application/json`),r.method===`GET`){if(a===`formData`)throw Error(`FormData is not supported with GET requests`);let t=await Ko(r);if(t!==void 0){let n=ft({payload:t});e.includes(`?`)?e+=`&${n}`:e+=`?${n}`}}let s;if(r.method===`POST`){let e=await Jo(r);e?.contentType&&o.set(`content-type`,e.contentType),s=e?.body}return await Yo(async()=>i(e,{method:r.method,headers:o,signal:r.signal,body:s}))}async function Ko(e){let t=!1,n={};if(e.data!==void 0&&(t=!0,n.data=e.data),e.context&&Wo(e.context)&&(t=!0,n.context=e.context),t)return qo(n)}async function qo(e){return JSON.stringify(await Promise.resolve(co(e,{plugins:Vo})))}async function Jo(e){if(e.data instanceof FormData){let t;return e.context&&Wo(e.context)&&(t=await qo(e.context)),t!==void 0&&e.data.set(Ke,t),{body:e.data}}let t=await Ko(e);if(t)return{body:t,contentType:`application/json`}}async function Yo(e){let t;try{t=await e()}catch(e){if(e instanceof Response)t=e;else throw console.log(e),e}if(t.headers.get(`x-tss-raw`)===`true`)return t;let n=t.headers.get(`content-type`);if(n||w(),t.headers.get(`x-tss-serialized`)){let e;if(n.includes(`application/x-tss-framed`)){if($e(n),!t.body)throw Error(`No response body for framed response`);
12let{getOrCreateStream:r,jsonChunks:i}=Bo(t.body),a=[Eo(r),...Vo||[]],o=new Map;e=await Xo({jsonStream:i,onMessage:e=>so(e,{refs:o,plugins:a}),onError(e,t){console.error(e,t)}})}else if(n.includes(`application/json`)){let n=await t.json(),r=[];try{e=so(n,{plugins:Vo})}finally{}await Ho(r)}if(e||w(),e instanceof Error)throw e;return e}if(n.includes(`application/json`)){let e=await t.json(),n=St(e);if(n)throw n;if(tt(e))throw e;return e}if(!t.ok)throw Error(await t.text());return t}async function Xo({jsonStream:e,onMessage:t,onError:n}){let r=e.getReader(),{value:i,done:a}=await r.read();if(a||!i)throw Error(`Stream ended before first object`);let o=JSON.parse(i),s=!1,c=(async()=>{try{for(;;){let{value:e,done:i}=await r.read();if(i)break;if(e)try{let n=[];try{t(JSON.parse(e))}finally{}await Ho(n)}catch(t){n?.(`Invalid JSON: ${e}`,t)}}}catch(e){s||n?.(`Stream processing error:`,e)}})(),l,u=[];try{l=t(o)}catch(e){throw s=!0,r.cancel().catch(()=>{}),e}return await Ho(u),Promise.resolve(l).catch(()=>{s=!0,r.cancel().catch(()=>{})}),c.finally(()=>{try{r.releaseLock()}catch{}}),l}function Zo(e){let t=`/_serverFn/`+e;return Object.assign((...e)=>{let n=et()?.serverFns?.fetch;return Go(t,e,n??fetch)},{url:t,serverFnMeta:{id:e},[qe]:!0})}var Qo=lo({key:`$TSS/serverfn`,test:e=>typeof e!=`function`||!(qe in e)?!1:!!e[qe],toSerializable:({serverFnMeta:e})=>({functionId:e.id}),fromSerializable:({functionId:e})=>Zo(e)});function $o(e){return e.replaceAll(`\0`,`/`).replaceAll(`�`,`/`)}function es(e,t){e.id=t.i,e.__beforeLoadContext=t.b,e.loaderData=t.l,e.status=t.s,e.ssr=t.ssr,e.updatedAt=t.u,e.error=t.e,t.g!==void 0&&(e.globalNotFound=t.g)}async function ts(e){window.$_TSR||w();let t=e.options.serializationAdapters;if(t?.length){let e=new Map;t.forEach(t=>{e.set(t.key,t.fromSerializable)}),window.$_TSR.t=e,window.$_TSR.buffer.forEach(e=>e())}window.$_TSR.initialized=!0,window.$_TSR.router||w();let n=window.$_TSR.router;n.matches.forEach(e=>{e.i=$o(e.i)}),n.lastMatchId&&=$o(n.lastMatchId);let{manifest:r,dehydratedData:i,lastMatchId:a}=n;e.ssr={manifest:r};let o=document.querySelector(`meta[property="csp-nonce"]`)?.content;e.options.ssr={nonce:o};let s=e.matchRoutes(e.stores.location.get()),c=Promise.all(s.map(t=>e.loadRouteChunk(e.looseRoutesById[t.routeId])));function l(t){let n=e.looseRoutesById[t.routeId].options.pendingMinMs??e.options.defaultPendingMinMs;if(n){let r=v();t._nonReactive.minPendingPromise=r,t._forcePending=!0,setTimeout(()=>{r.resolve(),e.updateMatch(t.id,e=>(e._nonReactive.minPendingPromise=void 0,{...e,_forcePending:void 0}))},n)}}function u(t){let n=e.looseRoutesById[t.routeId];n&&(n.options.ssr=t.ssr)}let d;s.forEach(e=>{let t=n.matches.find(t=>t.i===e.id);if(!t){e._nonReactive.dehydrated=!1,e.ssr=!1,u(e);return}es(e,t),u(e),e._nonReactive.dehydrated=e.ssr!==!1,(e.ssr===`data-only`||e.ssr===!1)&&d===void 0&&(d=e.index,l(e))}),e.stores.setMatches(s),await e.options.hydrate?.(i);let f=e.stores.matches.get(),p=e.stores.location.get();await Promise.all(f.map(async t=>{try{let n=e.looseRoutesById[t.routeId],r=f[t.index-1]?.context??e.options.context;if(n.options.context){let i={deps:t.loaderDeps,params:t.params,context:r??{},location:p,navigate:t=>e.navigate({...t,_fromLocation:p}),buildLocation:e.buildLocation,cause:t.cause,abortController:t.abortController,preload:!1,matches:s,routeId:n.id};t.__routeContext=n.options.context(i)??void 0}t.context={...r,...t.__routeContext,...t.__beforeLoadContext};let i={ssr:e.options.ssr,matches:f,match:t,params:t.params,loaderData:t.loaderData},a=await n.options.head?.(i),o=await n.options.scripts?.(i);t.meta=a?.meta,t.links=a?.links,t.headScripts=a?.scripts,t.styles=a?.styles,t.scripts=o}catch(e){if(tt(e))t.error={isNotFound:!0},console.error(`NotFound error during hydration for routeId: ${t.routeId}`,e);else throw t.error=e,console.error(`Error during hydration for route ${t.routeId}:`,e),e}}));let m=s[s.length-1].id!==a;if(!s.some(e=>e.ssr===!1)&&!m)return s.forEach(e=>{e._nonReactive.dehydrated=void 0}),e.stores.resolvedLocation.set(e.stores.location.get()),c;let h=Promise.resolve().then(()=>e.load()).catch(e=>{console.error(`Error during router hydration:`,e)});if(m){let t=s[1];t||w(),l(t),t._displayPending=!0,t._nonReactive.displayPendingPromise=h,h.then(()=>{e.batch(()=>
12{e.stores.status.get()===`pending`&&(e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())),e.updateMatch(t.id,e=>({...e,_displayPending:void 0,displayPendingPromise:void 0}))})})}return c}var A=t(r(),1),j=a();function ns({promise:e}){if(n)return n(e);let t=xn(e);if(t[bn].status===`pending`)throw t;if(t[bn].status===`error`)throw t[bn].error;return t[bn].data}function rs(e){let t=(0,j.jsx)(is,{...e});return e.fallback?(0,j.jsx)(A.Suspense,{fallback:e.fallback,children:t}):t}function is(e){let t=ns(e);return e.children(t)}function as(e){let t=e.errorComponent??ss;return(0,j.jsx)(os,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?A.createElement(t,{error:n,reset:r}):e.children})}var os=class extends A.Component{constructor(...e){super(...e),this.state={error:null}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}reset(){this.setState({error:null})}componentDidCatch(e,t){this.props.onCatch&&this.props.onCatch(e,t)}render(){return this.props.children({error:this.state.error,reset:()=>{this.reset()}})}};function ss({error:e}){let[t,n]=A.useState(!1);return(0,j.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,j.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,j.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,j.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,j.jsx)(`div`,{children:(0,j.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,j.jsx)(`code`,{children:e.message}):null})}):null]})}var cs=A.createContext(void 0),ls=A.createContext(void 0),us=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(us||{});function ds({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function fs(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var ps=[],ms=0,{link:hs,unlink:gs,propagate:_s,checkDirty:vs,shallowPropagate:ys}=ds({update(e){return e._update()},notify(e){ps[xs++]=e,e.flags&=~us.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=us.Mutable|us.Dirty,Ts(e))}}),bs=0,xs=0,Ss,Cs=0;function ws(e){try{++Cs,e()}finally{--Cs||Es()}}function Ts(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=gs(n,e)}function Es(){if(!(Cs>0)){for(;bs<xs;){let e=ps[bs];ps[bs++]=void 0,e.notify()}bs=0,xs=0}}function Ds(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?us.None:us.Mutable,get(){return Ss!==void 0&&hs(i,Ss,ms),i._snapshot},subscribe(e){let t=fs(e),n={current:!1},r=Os(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ss,o=t?.compare??Object.is;if(n)Ss=i,++ms,i.depsTail=void 0;else if(e===void 0)return!1;
12n&&(i.flags=us.Mutable|us.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ss=a,n&&(i.flags&=~us.RecursedCheck),Ts(i)}}};return n?(i.flags=us.Mutable|us.Dirty,i.get=function(){let e=i.flags;if(e&us.Dirty||e&us.Pending&&vs(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&ys(e)}}else e&us.Pending&&(i.flags=e&~us.Pending);return Ss!==void 0&&hs(i,Ss,ms),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(_s(e),ys(e),Es())}},i}function Os(e){let t=()=>{let t=Ss;Ss=n,++ms,n.depsTail=void 0,n.flags=us.Watching|us.RecursedCheck;try{return e()}finally{Ss=t,n.flags&=~us.RecursedCheck,Ts(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:us.Watching|us.RecursedCheck,notify(){let e=this.flags;e&us.Dirty||e&us.Pending&&vs(this.deps,this)?t():this.flags=us.Watching},stop(){this.flags=us.None,this.depsTail=void 0,Ts(this)}};return t(),n}var ks={get:()=>void 0,subscribe:()=>({unsubscribe:()=>{}})};function As(e){let t=s(),n=A.useContext(e.from?ls:cs),r=e.from??n,i=r?e.from?t.stores.getRouteMatchStore(r):t.stores.matchStores.get(r):void 0,a=A.useRef(void 0);return C(i??ks,n=>{if((e.shouldThrow??!0)&&!n&&w(),n===void 0)return;let r=e.select?e.select(n):n;if(e.structuralSharing??t.options.defaultStructuralSharing){let e=_(a.current,r);return a.current=e,e}return r})}function js(e){return As({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Ms(e){let{select:t,...n}=e;return As({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Ns(e){return As({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Ps(e){return As({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Fs(e){let t=s();return A.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Is(e){return As({...e,select:t=>e.select?e.select(t.context):t.context})}var Ls=class extends En{constructor(e){super(e),this.useMatch=e=>As({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Is({...e,from:this.id}),this.useSearch=e=>Ps({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ns({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Ms({...e,from:this.id}),this.useLoaderData=e=>js({...e,from:this.id}),this.useNavigate=()=>Fs({from:this.fullPath}),this.Link=A.forwardRef((e,t)=>(0,j.jsx)(xe,{ref:t,from:this.fullPath,...e}))}};function Rs(e){return new Ls(e)}function zs(){return e=>Vs(e)}var Bs=class extends Dn{constructor(e){super(e),this.useMatch=e=>As({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Is({...e,from:this.id}),this.useSearch=e=>Ps({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ns({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Ms({...e,from:this.id}),this.useLoaderData=e=>js({...e,from:this.id}),this.useNavigate=()=>Fs({from:this.fullPath}),this.Link=A.forwardRef((e,t)=>(0,j.jsx)(xe,{ref:t,from:this.fullPath,...e}))}};function Vs(e){return new Bs(e)}function M(e){return new Hs(e,{silent:!0}).createRoute}var Hs=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=Rs(e);return t.isRoot=!1,t},this.silent=t?.silent}};function N(e,t){let r,i,a,o,s=()=>(r||=e().then(e=>{r=void 0,i=e[t??`default`]}).catch(e=>{if(a=e,ce(a)&&a instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${a.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),o=!0)}}),r),c=function(e){if(o)throw window.location.reload(),new Promise(()=>{});if(a)throw a;if(!i)if(n)n(s());else throw s();return A.createElement(i,e)};return c.preload=s,c}function Us(e){let t=s(),n=`not-found-${C(t.stores.location,e=>e.pathname)}-${C(t.stores.status,e=>e)}`;return(0,j.jsx)(as,{getResetKey:()=>n,onCatch:(t,n)=>{if(tt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(tt(t))return e.fallback?.(t);throw t},children:e.children})}function Ws(){return(0,j.jsx)(`p`,{children:`Not Found`})}function Gs(e){return(0,j.jsx)(j.Fragment,{children:e.children})}function Ks(e,t,n){return t.options.notFoundComponent?(0,j.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,j.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,j.jsx)(Ws,{})}
12var qs=A.memo(function({matchId:e}){let t=s(),n=t.stores.matchStores.get(e);n||w();let r=C(t.stores.loadedAt,e=>e),i=C(n,e=>e);return(0,j.jsx)(Js,{router:t,matchId:e,resetKey:r,matchState:A.useMemo(()=>{let e=i.routeId,n=t.routesById[e].parentRoute?.id;return{routeId:e,ssr:i.ssr,_displayPending:i._displayPending,parentRouteId:n}},[i._displayPending,i.routeId,i.ssr,t.routesById])})});function Js({router:e,matchId:t,resetKey:n,matchState:r}){let i=e.routesById[r.routeId],a=i.options.pendingComponent??e.options.defaultPendingComponent,o=a?(0,j.jsx)(a,{}):null,s=i.options.errorComponent??e.options.defaultErrorComponent,c=i.options.onCatch??e.options.defaultOnCatch,l=i.isRoot?i.options.notFoundComponent??e.options.notFoundRoute?.options.component:i.options.notFoundComponent,u=r.ssr===!1||r.ssr===`data-only`,d=(!i.isRoot||i.options.wrapInSuspense||u)&&(i.options.wrapInSuspense??a??(i.options.errorComponent?.preload||u))?A.Suspense:Gs,f=s?as:Gs,p=l?Us:Gs;return(0,j.jsxs)(i.isRoot?i.options.shellComponent??Gs:Gs,{children:[(0,j.jsx)(cs.Provider,{value:t,children:(0,j.jsx)(d,{fallback:o,children:(0,j.jsx)(f,{getResetKey:()=>n,errorComponent:s||ss,onCatch:(e,t)=>{if(tt(e))throw e.routeId??=r.routeId,e;c?.(e,t)},children:(0,j.jsx)(p,{fallback:e=>{if(e.routeId??=r.routeId,!l||e.routeId&&e.routeId!==r.routeId||!e.routeId&&!i.isRoot)throw e;return A.createElement(l,e)},children:u||r._displayPending?(0,j.jsx)(ue,{fallback:o,children:(0,j.jsx)(Xs,{matchId:t})}):(0,j.jsx)(Xs,{matchId:t})})})})}),r.parentRouteId===`__root__`?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Ys,{resetKey:n}),(e.options.scrollRestoration,null)]}):null]})}function Ys({resetKey:e}){let t=s(),n=A.useRef(void 0);return o(()=>{let e=t.latestLocation.href;(n.current===void 0||n.current!==e)&&(t.emit({type:`onRendered`,...ln(t.stores.location.get(),t.stores.resolvedLocation.get())}),n.current=e)},[t.latestLocation.state.__TSR_key,e,t]),null}var Xs=A.memo(function({matchId:e}){let t=s(),n=(e,n)=>t.getMatch(e.id)?._nonReactive[n]??e._nonReactive[n],r=t.stores.matchStores.get(e);r||w();let i=C(r,e=>e),a=i.routeId,o=t.routesById[a],c=A.useMemo(()=>{let e=(t.routesById[a].options.remountDeps??t.options.defaultRemountDeps)?.({routeId:a,loaderDeps:i.loaderDeps,params:i._strictParams,search:i._strictSearch});return e?JSON.stringify(e):void 0},[a,i.loaderDeps,i._strictParams,i._strictSearch,t.options.defaultRemountDeps,t.routesById]),l=A.useMemo(()=>{let e=o.options.component??t.options.defaultComponent;return e?(0,j.jsx)(e,{},c):(0,j.jsx)(Zs,{})},[c,o.options.component,t.options.defaultComponent]);if(i._displayPending)throw n(i,`displayPendingPromise`);if(i._forcePending)throw n(i,`minPendingPromise`);if(i.status===`pending`){let e=o.options.pendingMinMs??t.options.defaultPendingMinMs;if(e){let n=t.getMatch(i.id);if(n&&!n._nonReactive.minPendingPromise){let t=v();n._nonReactive.minPendingPromise=t,setTimeout(()=>{t.resolve(),n._nonReactive.minPendingPromise=void 0},e)}}throw n(i,`loadPromise`)}if(i.status===`notFound`)return tt(i.error)||w(),Ks(t,o,i.error);if(i.status===`redirected`)throw xt(i.error)||w(),n(i,`loadPromise`);if(i.status===`error`)throw i.error;return l}),Zs=A.memo(function(){let e=s(),t=A.useContext(cs),n,r=!1,i;{let a=t?e.stores.matchStores.get(t):void 0;[n,r]=C(a,e=>[e?.routeId,e?.globalNotFound??!1]),i=C(e.stores.matchesId,e=>e[e.findIndex(e=>e===t)+1])}let a=n?e.routesById[n]:void 0,o=e.options.defaultPendingComponent?(0,j.jsx)(e.options.defaultPendingComponent,{}):null;if(r)return a||w(),Ks(e,a,void 0);if(!i)return null;let c=(0,j.jsx)(qs,{matchId:i});return n===`__root__`?(0,j.jsx)(A.Suspense,{fallback:o,children:c}):c});function Qs(){let t=s(),n=A.useRef({router:t,mounted:!1}),[r,i]=A.useState(!1),a=C(t.stores.isLoading,e=>e),c=C(t.stores.hasPending,e=>e),l=e(a),u=a||r||c,d=e(u),f=a||c,p=e(f);return t.startTransition=e=>{i(!0),A.startTransition(()=>{e(),i(!1)})},A.useEffect(()=>{let e=t.history.subscribe(t.load),n=t.buildLocation({to:t.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return de(t.latestLocation.publicHref)!==de(n.publicHref)&&t.commitLocation({...n,replace:!0}),()=>{e()}},[t,t.history]),o(()=>{typeof window<`u`&&t.ssr||n.current.router===t&&n.current.mounted||(n.current={router:t,mounted:!0},(async()=>{try{await t.load()}catch(e){console.error(e)}})())},[t]),o(()=>{l&&!a&&t.emit({type:`onLoad`,...ln(t.stores.location.get(),t.stores.resolvedLocation.get())})},[l,t,a]),o(()=>{p&&!f&&t.emit({type:`onBeforeRouteMount`,...ln(t.stores.location.get(),t.stores.resolvedLocation.get())})},[f,p,t]),o(()=>
12{if(d&&!u){let e=ln(t.stores.location.get(),t.stores.resolvedLocation.get());t.emit({type:`onResolved`,...e}),ws(()=>{t.stores.status.set(`idle`),t.stores.resolvedLocation.set(t.stores.location.get())}),e.hrefChanged&&On(t)}},[u,d,t]),null}function $s(){let e=s(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,j.jsx)(t,{}):null,r=(0,j.jsxs)(typeof document<`u`&&e.ssr?Gs:A.Suspense,{fallback:n,children:[(0,j.jsx)(Qs,{}),(0,j.jsx)(ec,{})]});return e.options.InnerWrap?(0,j.jsx)(e.options.InnerWrap,{children:r}):r}function ec(){let e=s(),t=C(e.stores.firstId,e=>e),n=C(e.stores.loadedAt,e=>e),r=t?(0,j.jsx)(qs,{matchId:t}):null;return(0,j.jsx)(cs.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,j.jsx)(as,{getResetKey:()=>n,errorComponent:ss,onCatch:void 0,children:r})})}var tc=e=>({createMutableStore:Ds,createReadonlyStore:Ds,batch:ws}),nc=e=>new rc(e),rc=class extends un{constructor(e){super(e,tc)}};function ic({router:e,children:t,...n}){Object.keys(n).length>
120&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,j.jsx)(i.Provider,{value:e,children:t});return e.options.Wrap?(0,j.jsx)(e.options.Wrap,{children:r}):r}function ac({router:e,...t}){return(0,j.jsx)(ic,{router:e,...t,children:(0,j.jsx)($s,{})})}function oc(e){let t=s({warn:e?.router===void 0}),n=e?.router||t,r=(0,A.useRef)(void 0);return C(n.stores.__store,t=>{if(e?.select){if(e.structuralSharing??n.options.defaultStructuralSharing){let n=_(r.current,e.select(t));return r.current=n,n}return e.select(t)}return t})}function sc(e){let{attrs:t,children:n,nonce:r}=e;switch(e.tag){case`title`:return(0,j.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,j.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,j.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,j.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,j.jsx)(cc,{attrs:t,children:n});default:return null}}function cc({attrs:e,children:t}){s();let n=fe(),r=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(A.useEffect(()=>{if(!r){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();if(Array.from(document.querySelectorAll(`script[src]`)).find(e=>e.src===t))return;let n=document.createElement(`script`);
12for(let[t,r]of Object.entries(e))t!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&n.setAttribute(t,typeof r==`boolean`?``:String(r));return document.head.appendChild(n),()=>{n.parentNode&&n.parentNode.removeChild(n)}}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;if(Array.from(document.querySelectorAll(`script:not([src])`)).find(e=>{if(!(e instanceof HTMLScriptElement))return!1;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;return e.textContent===t&&i===n&&a===r}))return;let i=document.createElement(`script`);if(i.textContent=t,e)for(let[t,n]of Object.entries(e))t!==`suppressHydrationWarning`&&n!==void 0&&n!==!1&&i.setAttribute(t,typeof n==`boolean`?``:String(n));return document.head.appendChild(i),()=>{i.parentNode&&i.parentNode.removeChild(i)}}}},[e,t,r]),r&&typeof t==`string`)return(0,j.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!n){if(e?.src)return(0,j.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,j.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var lc=e=>
12{let t=s(),n=t.options.ssr?.nonce,r=C(t.stores.matches,e=>e.map(e=>e.meta).filter(Boolean),he),i=A.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:p(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=C(t.stores.matches,r=>{let i=r.map(e=>e.links).filter(Boolean).flat(1).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),a=t.ssr?.manifest,o=r.map(e=>a?.routes[e.routeId]?.assets??[]).filter(Boolean).flat(1).flatMap(t=>t.tag===`link`?Tn(a,t)?[]:[{tag:`link`,attrs:{...t.attrs,crossOrigin:Sn(e,`stylesheet`)??t.attrs?.crossOrigin,suppressHydrationWarning:!0,nonce:n}}]:t.tag===`style`?[{tag:`style`,attrs:{...t.attrs,nonce:n},children:t.children,...t.inlineCss?{inlineCss:!0}:{}}]:[]);return[...i,...o]},he),o=C(t.stores.matches,r=>{let i=[];return r.map(e=>t.looseRoutesById[e.routeId]).forEach(r=>t.ssr?.manifest?.routes[r.id]?.preloads?.filter(Boolean).forEach(t=>{let r=Cn(t);i.push({tag:`link`,attrs:{rel:`modulepreload`,href:r.href,crossOrigin:Sn(e,`modulepreload`)??r.crossOrigin,nonce:n}})})),i},he),c=C(t.stores.matches,e=>e.map(e=>e.styles).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),he),l=C(t.stores.matches,e=>e.map(e=>e.headScripts).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),he);return uc([...i,...o,...a,...c,...l],e=>JSON.stringify(e))};function uc(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function dc(e){let t=lc(e.assetCrossOrigin),n=s().options.ssr?.nonce;return(0,j.jsx)(j.Fragment,{children:t.map(e=>(0,A.createElement)(sc,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var fc=()=>{let e=s(),t=e.options.ssr?.nonce,n=n=>{let r=[],i=e.ssr?.manifest;return i?(n.map(t=>e.looseRoutesById[t.routeId]).forEach(e=>i.routes[e.id]?.assets?.filter(e=>e.tag===`script`).forEach(e=>{r.push({tag:`script`,attrs:{...e.attrs,nonce:t},children:e.children})})),r):[]},r=e=>e.map(e=>e.scripts).flat(1).filter(Boolean).map(({children:e,...n})=>({tag:`script`,attrs:{...n,suppressHydrationWarning:!0,nonce:t},children:e})),i=C(e.stores.matches,n,he);return pc(e,C(e.stores.matches,r,he),i)};function pc(e,t,n){let r;e.serverSsr&&(r=e.serverSsr.takeBufferedScripts());let i=[...t,...n];return r&&i.unshift(r),(0,j.jsx)(j.Fragment,{children:i.map((e,t)=>(0,A.createElement)(sc,{...e,key:`tsr-scripts-${e.tag}-${t}`}))})}var mc=(e,t)=>{let n={type:`request`,...t||e};return{options:n,middleware:e=>mc({},Object.assign(n,{middleware:e})),inputValidator:e=>mc({},Object.assign(n,{inputValidator:e})),client:e=>mc({},Object.assign(n,{client:e})),server:e=>mc({},Object.assign(n,{server:e}))}};function hc(e,t){for(let n=0,r=t.length;n<r;n++){let r=t[n];e.has(r)||(e.add(r),r.extends&&hc(e,r.extends))}}var gc=e=>({getOptions:async()=>{let t=await e();if(t.serializationAdapters){let e=new Set;hc(e,t.serializationAdapters),t.serializationAdapters=Array.from(e)}return t},createMiddleware:mc}),_c=function(){return _c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},_c.apply(this,arguments)};function vc(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function yc(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}
12function bc(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var xc=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Sc=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},Cc=class extends Sc{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},wc=class extends Sc{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},Tc=class extends Sc{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},Ec;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(Ec||={});var Dc=class{constructor(e,{headers:t={},customFetch:n,region:r=Ec.Any}={}){this.url=e,this.headers=t,this.region=r,this.fetch=xc(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return yc(this,arguments,void 0,function*(e,t={}){let n,r;try{let{headers:i,method:a,body:o,signal:s,timeout:c}=t,l={},{region:u}=t;u||=this.region;let d=new URL(`${this.url}/${e}`);u&&u!==`any`&&(l[`x-region`]=u,d.searchParams.set(`forceFunctionRegion`,u));let f,p=!!i&&Object.keys(i).some(e=>e.toLowerCase()===`content-type`);o&&!p?typeof Blob<`u`&&o instanceof Blob||o instanceof ArrayBuffer?(l[`Content-Type`]=`application/octet-stream`,f=o):typeof o==`string`?(l[`Content-Type`]=`text/plain`,f=o):typeof FormData<`u`&&o instanceof FormData?f=o:(l[`Content-Type`]=`application/json`,f=JSON.stringify(o)):f=o&&typeof o!=`string`&&!(typeof Blob<`u`&&o instanceof Blob)&&!(o instanceof ArrayBuffer)&&!(typeof FormData<`u`&&o instanceof FormData)?JSON.stringify(o):o;let m=s;c&&(r=new AbortController,n=setTimeout(()=>r.abort(),c),s?(m=r.signal,s.addEventListener(`abort`,()=>r.abort())):m=r.signal);let h=yield this.fetch(d.toString(),{method:a||`POST`,headers:Object.assign(Object.assign(Object.assign({},l),this.headers),i),body:f,signal:m}).catch(e=>{throw new Cc(e)}),g=h.headers.get(`x-relay-error`);if(g&&g===`true`)throw new wc(h);if(!h.ok)throw new Tc(h);let _=(h.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim(),v;return v=_===`application/json`?yield h.json():_===`application/octet-stream`||_===`application/pdf`?yield h.blob():_===`text/event-stream`?h:_===`multipart/form-data`?yield h.formData():yield h.text(),{data:v,error:null,response:h}}catch(e){return{data:null,error:e,response:e instanceof Tc||e instanceof wc?e.context:void 0}}finally{n&&clearTimeout(n)}})}},Oc=3,kc=e=>Math.min(1e3*2**e,3e4),Ac=[520,503],jc=[`GET`,`HEAD`,`OPTIONS`],Mc=class extends Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.co
12de=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Nc(e,t){return new Promise(n=>{if(t?.aborted){n();return}let r=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);function i(){clearTimeout(r),n()}t?.addEventListener(`abort`,i)})}function Pc(e,t,n,r){return!(!r||n>=Oc||!jc.includes(e)||!Ac.includes(t))}var Fc=class{constructor(e){this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.shouldStripNulls=e.shouldStripNulls??!1,this.urlLengthLimit=e.urlLengthLimit??8e3,this.retryEnabled=e.retry??!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get(`Accept`)===`text/csv`)throw Error(`stripNulls() cannot be used with csv()`);return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var n=this;if(this.schema===void 0||([`GET`,`HEAD`].includes(this.method)?this.headers.set(`Accept-Profile`,this.schema):this.headers.set(`Content-Profile`,this.schema)),this.method!==`GET`&&this.method!==`HEAD`&&this.headers.set(`Content-Type`,`application/json`),this.shouldStripNulls){let e=this.headers.get(`Accept`);e===`application/vnd.pgrst.object+json`?this.headers.set(`Accept`,`application/vnd.pgrst.object+json;nulls=stripped`):(!e||e===`application/json`)&&this.headers.set(`Accept`,`application/vnd.pgrst.array+json;nulls=stripped`)}let r=this.fetch,i=(async()=>{let e=0;for(;;){let t={};n.headers.forEach((e,n)=>{t[n]=e}),e>0&&(t[`X-Retry-Count`]=String(e));let i;try{i=await r(n.url.toString(),{method:n.method,headers:t,body:JSON.stringify(n.body,(e,t)=>typeof t==`bigint`?t.toString():t),signal:n.signal})}catch(t){if(t?.name===`AbortError`||t?.code===`ABORT_ERR`||!jc.includes(n.method))throw t;if(n.retryEnabled&&e<Oc){let t=kc(e);e++,await Nc(t,n.signal);continue}throw t}if(Pc(n.method,i.status,e,n.retryEnabled)){let t=i.headers?.get(`Retry-After`)??null,r=t===null?kc(e):Math.max(0,parseInt(t,10)||0)*1e3;await i.text(),e++,await Nc(r,n.signal);continue}return await n.processResponse(i)}})();return this.shouldThrowOnError||(i=i.catch(e=>{let t=``,n=``,r=``,i=e?.cause;if(i){let n=i?.message??``,r=i?.code??``;t=`${e?.name??`FetchError`}: ${e?.message}`,t+=`\n\nCaused by: ${i?.name??`Error`}: ${n}`,r&&(t+=` (${r})`),i?.stack&&(t+=`\n${i.stack}`)}else t=e?.stack??``;let a=this.url.toString().length;return e?.name===`AbortError`||e?.code===`ABORT_ERR`?(r=``,n=`Request was aborted (timeout or manual cancellation)`,a>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${a} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(i?.name===`HeadersOverflowError`||i?.code===`UND_ERR_HEADERS_OVERFLOW`)&&(r=``,n=`HTTP headers exceeded server limits (typically 16KB)`,a>this.urlLengthLimit&&(n+=`. Your request URL is ${a} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:t,hint:n,code:r},data:null,count:null,status:0,statusText:``}})),i.then(e,t)}async processResponse(e){var t=this;let n=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){if(t.method!==`HEAD`){let i=await e.text();if(i!==``)if(t.headers.get(`Accept`)===`text/csv`)r=i;else if(t.headers.get(`Accept`)&&t.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`))r=i;else try{r=JSON.parse(i)}catch{if(n={message:i},r=null,t.shouldThrowOnError)throw new Mc({message:i,details:``,hint:``,code:``})}}let s=t.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),c=e.headers.get(`content-range`)?.split(`/`);s&&c&&c.length>1&&(i=parseInt(c[1])),t.isMaybeSingle&&Array.isArray(r)&&(r.length>1?(n={code:`PGRST116`,details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},r=null,i=null,a=406,o=`Not Acceptable`):r=r.length===1?r[0]:null)}else{let i=await e.text();try{n=JSON.parse(i),Array.isArray(n)&&e.status===404&&(r=[],n=null,a=200,o=`OK`)}
vendor: 10,009 bytes, line 12
12catch{e.status===404&&i===``?(a=204,o=`No Content`):n={message:i}}if(n&&t.shouldThrowOnError)throw new Mc(n)}return{success:n===null,error:n,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},Ic=class extends Fc{throwOnError(){return super.throwOnError()}select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),this}rollback(){return this.headers.append(`Prefer`,`tx=rollback`),this}returns(){return this}maxAffected(e){return this.headers.append(`Prefer`,`handling=strict`),this.headers.append(`Prefer`,`max-affected=${e}`),this}},Lc=RegExp(`[,()]`),Rc=class extends Ic{throwOnError(){return super.throwOnError()}eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Lc.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Lc.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},zc=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){let{head:n=!1,count:r}=t??{},i=n?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``),{url:s,headers:c}=this.cloneRequestState();return s.searchParams.set(`select`,o),r&&c.append(`Prefer`,`count=${r}`),new Rc({method:i,url:s,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:n=!0}={}){let{url:r,headers:i}=this.cloneRequestState();if(t&&i.append(`Prefer`,`count=${t}`),n||i.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);r.searchParams.set(`columns`,e.join(`,`))}}return new Rc({method:`POST`,url:r,headers:i,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:i=!0}={}){let{url:a,headers:o}=this.cloneRequestState();if(o.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&a.searchParams.set(`on_conflict`,t),r&&o.append(`Prefer`,`count=${r}`),i||o.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);a.searchParams.set(`columns`,e.join(`,`))}}return new Rc({method:`POST`,url:a,headers:o,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){let{url:n,headers:r}=this.cloneRequestState();return t&&r.append(`Prefer`,`count=${t}`),new Rc({method:`PATCH`,url:n,headers:r,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){let{url:t,headers:n}=this.cloneRequestState();return e&&n.append(`Prefer`,`count=${e}`),new Rc({method:`DELETE`,url:t,headers:n,schema:this.schema,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Bc(e)}function Vc(e,t){if(Bc(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Bc(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Hc(e){var t=Vc(e,`string`);return Bc(t)==`symbol`?t:t+``}function Uc(e,t,n){return(t=Hc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Gc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Wc(Object(n),!0).forEach(function(t){Uc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Kc=class e{constructor(e,{headers:t={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.urlLengthLimit=a;let s=r??globalThis.fetch;i!==void 0&&i>0?this.fetch=(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),i),a=t?.signal;if(a){if(a.aborted)return clearTimeout(r),s(e,t);let i=()=>{clearTimeout(r),n.abort()};return a.addEventListener(`abort`,i,{once:!0}),s(e,Gc(Gc({},t),{},{signal:n.signal})).finally(()=>{clearTimeout(r),a.removeEventListener(`abort`,i)})}return s(e,Gc(Gc({},t),{},{signal:n.signal})).finally(()=>clearTimeout(r))}:this.fetch=s,this.retry=o}from(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid relation name: relation must be a non-empty string.`);return new zc(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let a,o=new URL(`${this.url}/rpc/${e}`),s,c=e=>typeof e==`object`&&!!e&&(!Array.isArray(e)||e.some(c)),l=n&&Object.values(t).some(c);l?(a=`POST`,s=t):n||r?(a=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}
12`]).forEach(([e,t])=>{o.searchParams.append(e,t)})):(a=`POST`,s=t);let u=new Headers(this.headers);return l?u.set(`Prefer`,i?`count=${i},return=minimal`:`return=minimal`):i&&u.set(`Prefer`,`count=${i}`),new Rc({method:a,url:o,headers:u,schema:this.schemaName,body:s,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},qc=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)return{type:`cloudflare`,error:`Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.`,workaround:`Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.`};if(typeof globalThis<`u`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.includes(`Vercel-Edge`))return{type:`unsupported`,error:`Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.`,workaround:`Use serverless functions or a different deployment target for WebSocket functionality.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}return{type:`unsupported`,error:`Unknown JavaScript runtime without WebSocket support.`,workaround:`Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.`}}static getWebSocketConstructor(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}},Jc=`realtime-js/2.110.7`,Yc=`1.0.0`,Xc=`2.0.0`,Zc=Xc,Qc=1e4,$c={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},el={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},tl={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`},nl=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},rl;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(rl||={});var il=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=al(i,e,t,r),n),{}):{}},al=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];
vendor: 35,964 bytes, lines 12-13
12return i&&!r.includes(i)?ol(i,a):sl(a)},ol=(e,t)=>{if(e.charAt(0)===`_`)return dl(t,e.slice(1,e.length));switch(e){case rl.bool:return cl(t);case rl.float4:case rl.float8:case rl.int2:case rl.int4:case rl.int8:case rl.numeric:case rl.oid:return ll(t);case rl.json:case rl.jsonb:return ul(t);case rl.timestamp:return fl(t);case rl.abstime:case rl.date:case rl.daterange:case rl.int4range:case rl.int8range:case rl.money:case rl.reltime:case rl.text:case rl.time:case rl.timestamptz:case rl.timetz:case rl.tsrange:case rl.tstzrange:return sl(t);default:return sl(t)}},sl=e=>e,cl=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},ll=e=>{if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return t}return e},ul=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},dl=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>ol(t,e))}return e},fl=e=>typeof e==`string`?e.replace(` `,`T`):e,pl=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href},ml=e=>typeof e==`function`?e:function(){return e},hl=typeof self<`u`?self:null,gl=typeof window<`u`?window:null,_l=hl||gl||globalThis,vl=`2.0.0`,yl=1e4,bl=1e3,xl=100,Sl={connecting:0,open:1,closing:2,closed:3},Cl={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},wl={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},Tl={longpoll:`longpoll`,websocket:`websocket`},El={complete:4},Dl=`base64url.bearer.phx.`,Ol=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived(`timeout`)||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},kl=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},Al=class{constructor(e,t,n){this.state=Cl.closed,this.topic=e,this.params=ml(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Ol(this,wl.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new kl(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=Cl.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=Cl.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=Cl.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=Cl.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new Ol(this,wl.leave,ml({}),this.timeout).send(),this.state=Cl.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(wl.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Cl.closed,this.bindings=[]}onClose(e){this.on(wl.close,e)}onError(e){return this.on(wl.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>!(n.event===e&&(t===void 0||t===n.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new Ol(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Cl.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(wl.close,`leave`)},n=new Ol(this,wl.leave,ml({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Cl.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;e<a.length;e++)a[e].callback(i,n,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===Cl.closed}isErrored(){return this.state===Cl.errored}isJoined(){return this.state===Cl.joined}isJoining(){return this.state===Cl.joining}isLeaving(){return this.state===Cl.leaving}},jl=class{static request(e,t,n,r,i,a,o){if(_l.XDomainRequest){let n=new _l.XDomainRequest;return this.xdomainRequest(n,e,t,r,i,a,o)}else if(_l.XMLHttpRequest){let s=new _l.XMLHttpRequest;return this.xhrRequest(s,e,t,n,r,i,a,o)}else if(_l.fetch&&_l.AbortController)return this.fetchRequest(e,t,n,r,i,a,o);else throw Error(`No suitable XMLHttpRequest implementation found`)}static fetchRequest(e,t,n,r,i,a,o){let s={method:e,headers:n,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),s.signal=c.signal),_l.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===El.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},Ml=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(n[e]);return btoa(t)},Nl=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(Dl)&&(this.authToken=atob(t[1].slice(Dl.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Sl.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+Tl.websocket),`$1/`+Tl.longpoll)}endpointURL(){return jl.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=Sl.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===Sl.open||this.readyState===Sl.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Sl.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=Ml(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+xl,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(`
13`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n<e.length?this.batchSend(e,n):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=Sl.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=jl.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},Pl=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},Fl={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:wl.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},Il=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||yl,this.transport=t.transport||_l.WebSocket||Nl,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=_l&&_l.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=Fl.encode.bind(Fl),this.defaultDecoder=Fl.decode.bind(Fl),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===Nl?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;gl&&gl.addEventListener&&(gl.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),gl.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),gl.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=ml(t.params||{}),this.endPoint=`${e}/${Tl.websocket}`,this.vsn=t.vsn||vl,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new kl(()=>{if(this.pageHidden){this.log(`Not reconnecting as page is hidden!`),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&ml(t.authToken)}getLongPollTransport(){return Nl}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=jl.appendParams(jl.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=ml(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Nl?this.connectWithFallback(Nl,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case Nl:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${Dl}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a=this.transportName(e),o=t=>{this.log(`transport`,`falling back to ${a}...`,t),this.off([void 0,i]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${a}`))return o(`memorized`);this.fallbackTimer=setTimeout(o,t),i=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),o(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(o,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),bl,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){if(n===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){if(n===5||e.readyState===Sl.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(wl.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case Sl.connecting:return`connecting`;case Sl.open:return`open`;case Sl.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new Al(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e<this.channels.length;e++){let o=this.channels[e];o.isMember(t,n,r,a)&&o.trigger(n,r,i,a)}this.triggerStateCallbacks(`message`,e)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([n,r])=>{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},Ll=class e{constructor(t,n){let r=Bl(n);this.presence=new Pl(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=zl(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=Rl(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:Vl(t),newPresences:Rl(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:Vl(t),leftPresences:Rl(n)}}};function Rl(e){return e.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function zl(e){return JSON.parse(JSON.stringify(e))}function Bl(e){return e?.events&&{events:e.events}}function Vl(e){return e?.metas?Rl(e):[]}var Hl;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Hl||={});var Ul=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new Ll(this.channel.channelAdapter,t)}};function Wl(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var Gl=class{constructor(e,t,n){let r=Kl(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===$c.joined}isJoined(){return this.state===$c.joined}isJoining(){return this.state===$c.joining}isClosed(){return this.state===$c.closed}isLeaving(){return this.state===$c.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function Kl(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}var ql=/[,()"\\]/,Jl=e=>ql.test(e)||e!==e.trim(),Yl=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,Xl=e=>{let t=e===null?`null`:String(e);return Jl(t)?Yl(t):t},Zl=e=>e===null?`null`:String(e),Ql=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>Xl(e)).join(`,`)})`}return e===`is`?`is.${Zl(t)}`:`${e}.${Xl(t)}`},$l=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${Ql(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}},P;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(P||={});var F;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(F||={});var I;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(I||={});var eu=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new Gl(this.socket.socketAdapter,e,this.params),this.presence=new Ul(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=pl(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i}}=this.params,a=this.bindings.postgres_changes?.map(e=>e.filter)??[],o=!!this.bindings[F.PRESENCE]&&this.bindings[F.PRESENCE].length>0||this.params.config.presence?.enabled===!0,s={},c={broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:o}),postgres_changes:a,private:i};this.socket.accessTokenValue&&(s.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(I.CHANNEL_ERROR,Wl(t))}),this._onClose(()=>e?.(I.CLOSED)),this.updateJoinPayload(Object.assign({config:c},s)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive(`ok`,async({postgres_changes:t})=>{if(this.socket._isManualToken()||this.socket.setAuth(),t===void 0){e?.(I.SUBSCRIBED);return}this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=$c.errored;let n=Object.values(t).join(`, `)||`error`;e?.(I.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(I.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o<i;o++){let i=r[o],{filter:{event:s,schema:c,table:l,filter:u}}=i,d=t&&t[o];if(d&&d.event===s&&e.isFilterValueEqual(d.schema,c)&&e.isFilterValueEqual(d.table,l)&&e.isFilterValueEqual(d.filter,u))a.push(Object.assign(Object.assign({},i),{id:d.id}));else{this.unsubscribe(),this.state=$c.errored,n?.(I.CHANNEL_ERROR,Error(`mismatch between server and client bindings for postgres changes`));return}}this.bindings.postgres_changes=a,this.state!=$c.errored&&n&&n(I.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:`presence`,event:`track`,payload:e},t)}async untrack(e={}){return await this.send({type:`presence`,event:`untrack`},e)}on(e,t,n){let r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=e===F.PRESENCE||e===F.POSTGRES_CHANGES;if(r&&i)throw this.socket.log(`channel`,`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,n)}async httpSend(e,t,n={}){if(t==null)return Promise.reject(Error(`Payload is required for httpSend()`));let r=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":r?`application/octet-stream`:`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a=new URL(this.broadcastEndpointURL);a.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&a.searchParams.set(`private`,`true`);let o={method:`POST`,headers:i,body:r?t:JSON.stringify(t)},s=await this._fetchWithTimeout(a.toString(),o,n.timeout??this.timeout);if(s.status===202)return{success:!0};if(s.status===404)return Promise.reject(Error(`httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realt
13ime-js/migrations/httpsend-server-version.md`));let c=s.statusText;try{let e=await s.json();c=e.error||e.message||c}catch{}return Promise.reject(Error(c))}async send(e,t={}){if(!this.channelAdapter.canPush()&&e.type===`broadcast`){console.warn(`Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.`);let{event:n,payload:r}=e,i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a={method:`POST`,headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:n,payload:r,private:this.private}]})};try{let e=await this._fetchWithTimeout(this.broadcastEndpointURL,a,t.timeout??this.timeout);return await e.body?.cancel(),e.ok?`ok`:`error`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timed out`:`error`}}else return new Promise(n=>{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(e,t,n){let r=e.toLocaleLowerCase(),i=t?.filter;(i instanceof $l||typeof i==`object`&&i&&typeof i.build==`function`)&&(t=Object.assign(Object.assign({},t),{filter:i.build()}));let a=this.channelAdapter.on(e,n),o={type:r,filter:t,callback:n,ref:a};return this.bindings[r]?this.bindings[r].push(o):this.bindings[r]=[o],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r))if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}else{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}else return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=el;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e;return Object.assign(Object.assign({},{schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o}),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=il(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=il(e.columns,e.old_record)),t}},tu=class{constructor(e,t){this.socket=new Il(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==tl.connecting}isDisconnecting(){return this.socket.connectionState()==tl.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}},nu={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},ru=[1e3,2e3,5e3,1e4],iu=1e4;function au(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function ou(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return au()}var su=`
14  addEventListener("message", (e) => {
15    if (e.data.event === "start") {
16      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
17    }
18  });`,cu=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={}
18,this.ref=0,this.serializer=new nl,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey;let n=this._initializeOptions(t);this.socketAdapter=new tu(e,n),this.httpEndpoint=pl(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}connectionState(){return this.socketAdapter.connectionState()||tl.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new eu(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect();return}
18this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e=null){let t,n=!1;if(e)t=e,n=!0;else if(this.accessToken)try{t=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),t=this.accessTokenValue}else t=this.accessTokenValue;n?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=t&&(this.accessTokenValue=t,this.channels.forEach(e=>{let n={access_token:t,version:Jc};t&&e.updateJoinPayload(n),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(el.access_token,{access_token:t})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([su],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??Qc,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??nu.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??nu.HEARTBEAT_INTERVAL),t.transport=e?.transport??qc.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??ou(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>ru[e-1]||iu);let n,r,i=e?.vsn??Zc;switch(i){case Yc:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case Xc:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
vendor: 4,836 bytes, line 18
18,lu=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function uu(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function du(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function fu(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=uu(e.baseUrl,r,i),c=await du(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new lu(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function pu(e){return e.join(`�`)}var mu=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:pu(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${pu(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${pu(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${pu(e.namespace)}`}),!0}catch(e){if(e instanceof lu&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof lu&&e.status===409)return;throw e}}};function hu(e){return e.join(`�`)}var gu=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${hu(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof lu&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof lu&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},_u=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`);let n=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`;this.client=fu({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new mu(this.client,t),this.tableOps=new gu(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
18async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function vu(e){"@babel/helpers - typeof";return vu=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},vu(e)}function yu(e,t){if(vu(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(vu(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function bu(e){var t=yu(e,`string`);return vu(t)==`symbol`?t:t+``}function xu(e,t,n){return(t=bu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Su(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Su(Object(n),!0).forEach(function(t){xu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Su(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Cu=class extends Error{constructor(e,t=`storage`,n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t===`vectors`?`StorageVectorsError`:`StorageError`,this.status=n,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function wu(e){return typeof e==`object`&&!!e&&`__isStorageError`in e}var Tu=class extends Cu{constructor(e,t,n,r=`storage`){super(e,r,t,n),this.name=r===`vectors`?`StorageVectorsApiError`:`StorageApiError`,this.status=t,this.statusCode=n}toJSON(){return L({},super.toJSON())}},Eu=class extends Cu{constructor(e,t,n=`storage`){super(e,n),this.name=n===`vectors`?`StorageVectorsUnknownError`:`StorageUnknownError`,this.originalError=t}};function Du(e,t,n){let r=L({},e),i=t.toLowerCase();for(let e of Object.keys(r))e.toLowerCase()===i&&delete r[e];return r[i]=n,r}function Ou(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}var ku=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Au=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ju=e=>{if(Array.isArray(e))return e.map(e=>ju(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=ju(n)}),t},Mu=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Nu=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},Pu=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new Tu(Nu(e),i,n,r))}).catch(()=>{let e=i+``;t(new Tu(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new Eu(Nu(e),e,r))},Fu=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return L(L({},i),n);if(Au(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=Du(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),L(L({},i),n)};async function Iu(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,Fu(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>Pu(e,c,r,o))})}function Lu(e=`storage`){return{get:async(t,n,r,i)=>Iu(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>Iu(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>Iu(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>Iu(t,`HEAD`,n,L(L({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>Iu(t,`DELETE`,n,i,a,r,e)}}var{get:Ru,post:zu,put:Bu,head:Vu,remove:Hu}=Lu(`storage`),Uu=Lu(`vectors`),Wu=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=Ou(t),this.fetch=ku(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Du(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(wu(e))return{data:null,error:e};throw e}}},Gu=Symbol.toStringTag,Ku=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Gu]=`StreamDownloadBuilder`,this.promise=null}
18then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(wu(t))return{data:null,error:t};throw t}}},qu=Symbol.toStringTag,Ju=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[qu]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new Ku(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(wu(t))return{data:null,error:t};throw t}}},Yu={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},Xu={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1},Zu=class extends Wu{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=L(L({},Xu),r),s=L(L({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=Du(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?Bu:zu)(i.fetch,`${i.url}/object/${u}`,a,L({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=L(L({},Xu),r),o=L(L({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=Du(o,e,t);return{path:a,fullPath:(await Bu(i.fetch,s.toString(),e,L({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=L({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await zu(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new Cu(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await zu(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
18stinationBucket:n?.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await zu(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await zu(r.fetch,`${r.url}/object/sign/${i}`,L({expiresIn:t},a?{transform:n.transform}:{}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await zu(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>L(L({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce));let a=i.toString(),o=this._getFinalPath(e);return new Ju(()=>Ru(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e){var t=this;let n=t._getFinalPath(e);return t.handleOperation(async()=>ju(await Ru(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await Vu(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(wu(e)){let t=e instanceof Tu?e.status:e instanceof Eu?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Hu(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await Hu(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?L(L({},Yu.sortBy),t.sortBy):Yu.sortBy,a=L(L(L({},Yu),t),{},{sortBy:i,prefix:e||``});return await zu(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=L({},e);return await zu(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}},Qu={"X-Client-Info":`storage-js/2.110.7`},$u=class extends Wu{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=L(L({},Qu),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await Ru(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ru(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await zu(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await Bu(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await zu(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Hu(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await Hu(r.fetch,`${r.url}/cdn/${e}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>
180?`?`+new URLSearchParams(t).toString():``}},ed=class extends Wu{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=L(L({},Qu),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await zu(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Ru(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Hu(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Mu(e))throw new Cu(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new _u({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},td=class extends Wu{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=L(L({},Qu),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await Uu.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await Uu.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},nd=class extends Wu{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=L(L({},Qu),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},rd=class extends Wu{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=L(L({},Qu),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Uu.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},id=class extends rd{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new ad(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},ad=class extends td{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName}))}
18async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new od(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},od=class extends nd{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,L(L({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},sd=class extends $u{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new Zu(this.url,this.headers,e,this.fetch)}get vectors(){return new id(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new ed(this.url+`/iceberg`,this.headers,this.fetch)}},cd=`2.110.7`,ld=30*1e3,ud=3*ld,dd=2*ld,fd=`http://localhost:9999`,pd=`supabase.auth.token`,md={"X-Client-Info":`gotrue-js/${cd}`},hd=`X-Supabase-Api-Version`,gd={"2024-01-01":{timestamp:Date.parse(`2024-01-01T00:00:00.0Z`),name:`2024-01-01`}},_d=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,vd=class extends Error{constructor(e,t,n){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}};function R(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var yd=class extends vd{constructor(e,t,n){super(e,t,n),this.name=`AuthApiError`,this.status=t,this.code=n}};function bd(e){return R(e)&&e.name===`AuthApiError`}var xd=class extends vd{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},Sd=class extends vd{constructor(e,t,n,r){super(e,n,r),this.name=t,this.status=n}},Cd=class extends Sd{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400,void 0)}};function wd(e){return R(e)&&e.name===`AuthSessionMissingError`}var Td=class extends Sd{constructor(){super(`Auth session or user missing`,`AuthInvalidToken
18ResponseError`,500,void 0)}},Ed=class extends Sd{constructor(e){super(e,`AuthInvalidCredentialsError`,400,void 0)}},Dd=class extends Sd{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}};function Od(e){return R(e)&&e.name===`AuthImplicitGrantRedirectError`}var kd=class extends Sd{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}},Ad=class extends Sd{constructor(){super(`PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.`,`AuthPKCECodeVerifierMissingError`,400,`pkce_code_verifier_not_found`)}},jd=class extends Sd{constructor(e,t){super(e,`AuthRetryableFetchError`,t,void 0)}};function Md(e){return R(e)&&e.name===`AuthRetryableFetchError`}var Nd=class extends Sd{constructor(e=`Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)`){super(e,`AuthRefreshDiscardedError`,409,void 0)}};function z(e){return R(e)&&e.name===`AuthRefreshDiscardedError`}var Pd=class extends Sd{constructor(e,t,n){super(e,`AuthWeakPasswordError`,t,`weak_password`),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}},Fd=class extends Sd{constructor(e){super(e,`AuthInvalidJwtError`,400,`invalid_jwt`)}},Id=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.split(``),Ld=` 	
19\r=`.split(``),Rd=(()=>{let e=Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<Ld.length;t+=1)e[Ld[t].charCodeAt(0)]=-2;for(let t=0;t<Id.length;t+=1)e[Id[t].charCodeAt(0)]=t;return e})();function zd(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;)n(Id[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6;else if(t.queuedBits>0)for(t.queue<<=6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;)n(Id[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6}function Bd(e,t,n){let r=Rd[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else if(r===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}function Vd(e){let t=[],n=e=>{t.push(String.fromCodePoint(e))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=e=>{Wd(e,r,n)};for(let t=0;t<e.length;t+=1)Bd(e.charCodeAt(t),i,a);return t.join(``)}function Hd(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function Ud(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){let t=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|t)+65536,n+=1}Hd(r,t)}}function Wd(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw Error(`Invalid UTF-8 sequence`);--t.utf8seq}else if(t.utf8seq>0){if(e<=127)throw Error(`Invalid UTF-8 sequence`);t.codepoint=t.codepoint<<6|e&63,--t.utf8seq,t.utf8seq===0&&n(t.codepoint)}}function Gd(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};for(let t=0;t<e.length;t+=1)Bd(e.charCodeAt(t),n,r);return new Uint8Array(t)}function Kd(e){let t=[];return Ud(e,e=>t.push(e)),new Uint8Array(t)}function qd(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};return e.forEach(e=>zd(e,n,r)),zd(null,n,r),t.join(``)}function Jd(e){return Math.round(Date.now()/1e3)+e}function Yd(){return Symbol(`auth-callback`)}var Xd=()=>typeof window<`u`&&typeof document<`u`,Zd={tested:!1,writable:!1},Qd=()=>
19{if(!Xd())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(Zd.tested)return Zd.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Zd.tested=!0,Zd.writable=!0}catch{Zd.tested=!0,Zd.writable=!1}return Zd.writable};function $d(e){let t={},n=new URL(e);if(n.hash&&n.hash[0]===`#`)try{new URLSearchParams(n.hash.substring(1)).forEach((e,n)=>{t[n]=e})}catch{}return n.searchParams.forEach((e,n)=>{t[n]=e}),t}var ef=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),tf=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,nf=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},rf=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return null}},af=async(e,t)=>{await e.removeItem(t)},of=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};of.promiseConstructor=Promise;function sf(e){let t=e.split(`.`);if(t.length!==3)throw new Fd(`Invalid JWT structure`);for(let e=0;e<t.length;e++)if(!_d.test(t[e]))throw new Fd(`JWT not in base64url format`);return{header:JSON.parse(Vd(t[0])),payload:JSON.parse(Vd(t[1])),signature:Gd(t[2]),raw:{header:t[0],payload:t[1]}}}async function cf(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function lf(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function uf(e){return(`0`+e.toString(16)).substr(-2)}function df(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,uf).join(``)}async function ff(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}async function pf(e){if(!(typeof crypto<`u`&&crypto.subtle!==void 0&&typeof TextEncoder<`u`))return console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e;let t=await ff(e);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function mf(e,t,n=!1){let r=df(),i=r;n&&(i+=`/recovery`),await nf(e,`${t}-code-verifier`,i);let a=await pf(r);return[a,r===a?`plain`:`s256`]}var hf=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function gf(e){let t=e.headers.get(hd);if(!t||!t.match(hf))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function _f(e){if(!e)throw Error(`Missing exp claim`);if(e<=Math.floor(Date.now()/1e3))throw Error(`JWT has expired`)}function vf(e){switch(e){case`RS256`:return{name:`RSASSA-PKCS1-v1_5`,hash:{name:`SHA-256`}};case`ES256`:return{name:`ECDSA`,namedCurve:`P-256`,hash:{name:`SHA-256`}};default:throw Error(`Invalid alg claim`)}}var yf=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function bf(e){if(!yf.test(e))throw Error(`@supabase/auth-js: Expected parameter to be UUID but is not`)}function xf(e){if(!e.passkey)throw Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Sf(){return new Proxy({},{get:(e,t)=>{if(t===`__isUserNotAvailableProxy`)return!0;if(typeof t==`symbol`){let e=t.toString();if(e===`Symbol(Symbol.toPrimitive)`||e===`Symbol(Symbol.toStringTag)`||e===`Symbol(util.inspect.custom)`)return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Cf(e,t){return new Proxy(e,{get:(e,n,r)=>{if(n===`__isInsecureUserWarningProxy`)return!0;
19if(typeof n==`symbol`){let t=n.toString();if(t===`Symbol(Symbol.toPrimitive)`||t===`Symbol(Symbol.toStringTag)`||t===`Symbol(util.inspect.custom)`||t===`Symbol(nodejs.util.inspect.custom)`)return Reflect.get(e,n,r)}return!t.value&&typeof n==`string`&&(console.warn(`Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.`),t.value=!0),Reflect.get(e,n,r)}})}function wf(e){return JSON.parse(JSON.stringify(e))}var Tf=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error}return JSON.stringify(e)},Ef=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function Df(e){if(!tf(e))throw new jd(Tf(e),0);if(Ef.includes(e.status))throw new jd(Tf(e),e.status);let t;try{t=await e.json()}catch(e){throw new xd(Tf(e),e)}let n,r=gf(e);if(r&&r.getTime()>=gd[`2024-01-01`].timestamp&&typeof t==`object`&&t&&typeof t.code==`string`?n=t.code:typeof t==`object`&&t&&typeof t.error_code==`string`&&(n=t.error_code),!n){if(typeof t==`object`&&t&&typeof t.weak_password==`object`&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0))throw new Pd(Tf(t),e.status,t.weak_password.reasons)}else if(n===`weak_password`)throw new Pd(Tf(t),e.status,t.weak_password?.reasons||[]);else if(n===`session_not_found`)throw new Cd;throw new yd(Tf(t),e.status||500,n)}var Of=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function B(e,t,n,r){let i=Object.assign({},r?.headers);i[`X-Supabase-Api-Version`]||(i[hd]=gd[`2024-01-01`].name),r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);let o=await kf(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function kf(e,t,n,r,i,a){let o=Of(t,r,i,a),s;try{s=await e(n,Object.assign({},o))}catch(e){throw console.error(e),new jd(Tf(e),0)}if(s.ok||await Df(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await Df(e)}}function Af(e){let t=null;If(e)&&(t=Object.assign({},e),e.expires_at||(t.expires_at=Jd(e.expires_in)));let n=e.user??(typeof e?.id==`string`?e:null);return{data:{session:t,user:n},error:null}}function jf(e){let t=Af(e);return!t.error&&e.weak_password&&typeof e.weak_password==`object`&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message==`string`&&e.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0)&&(t.data.weak_password=e.weak_password),t}function Mf(e){return{data:{user:e.user??e},error:null}}function Nf(e){return{data:e,error:null}}function Pf(e){let{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a}=e,o=vc(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a},user:Object.assign({},o)},error:null}}function Ff(e){return e}function If(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}var Lf=[`global`,`local`,`others`],Rf=class{constructor({url:e=``,headers:t={},fetch:n,experimental:r}){this.url=e,this.headers=t,this.fetch=ef(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=Lf[0]){if(Lf.indexOf(t)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${Lf.join(`, `)}`);try{return await B(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(R(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await B(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:Mf})}catch(e){if(R(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,n=vc(e,[`options`]),r=Object.assign(Object.assign({},n),t);
19return`newEmail`in n&&(r.new_email=n?.newEmail,delete r.newEmail),await B(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:Pf,redirectTo:t?.redirectTo})}catch(e){if(R(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await B(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:Mf})}catch(e){if(R(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await B(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Ff});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(R(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){bf(e);try{return await B(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Mf})}catch(e){if(R(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){bf(e);try{return await B(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:Mf})}catch(e){if(R(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){bf(e);try{return await B(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:Mf})}catch(e){if(R(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){bf(e.userId);try{let{data:t,error:n}=await B(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(R(e))return{data:null,error:e};throw e}}async _deleteFactor(e){bf(e.userId),bf(e.id);try{return{data:await B(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(R(e))return{data:null,error:e};throw e}}async _listOAuthClients(e){try{let t={nextPage:null,lastPage:0,total:0},n=await B(this.fetch,`GET`,`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Ff});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(R(e))return{data:{clients:[]},error:e};throw e}}async _createOAuthClient(e){try{return await B(this.fetch,`POST`,`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _getOAuthClient(e){try{return await B(this.fetch,`GET`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _updateOAuthClient(e,t){try{return await B(this.fetch,`PUT`,`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _deleteOAuthClient(e){try{return await B(this.fetch,`DELETE`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(R(e))return{data:null,error:e};throw e}}async _regenerateOAuthClientSecret(e){try{return await B(this.fetch,`POST`,`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _listCustomProviders(e){try{let t={};return e?.type&&(t.type=e.type),await B(this.fetch,`GET`,`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:e=>({data:{providers:e?.providers??[]},error:null})})}catch(e){if(R(e))return{data:{providers:[]},error:e};throw e}}async _createCustomProvider(e){try{return await B(this.fetch,`POST`,`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _getCustomProvider(e){try{return await B(this.fetch,`GET`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _updateCustomProvider(e,t){try{return await B(this.fetch,`PUT`,`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _deleteCustomProvider(e){try{return await B(this.fetch,`DELETE`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(R(e))return{data:null,error:e};throw e}}async _adminListPasskeys(e){xf(this.experimental),bf(e.userId);try{return await B(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(R(e))return{data:null,error:e};throw e}}async _adminDeletePasskey(e){xf(this.experimental),bf(e.userId),bf(e.passkeyId);try{return await B(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(R(e))return{data:null,error:e};throw e}}};function zf(e={}){return{getItem:t=>
19e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}globalThis&&Qd()&&globalThis.localStorage&&globalThis.localStorage.getItem(`supabase.gotrue-js.locks.debug`);var Bf=class extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}};function Vf(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}function Hf(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function Uf(e){return parseInt(e,16)}function Wf(e){let t=new TextEncoder().encode(e);return`0x`+Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}function Gf(e){let{chainId:t,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:s,resources:c,scheme:l,uri:u,version:d}=e;if(!Number.isInteger(t))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!n)throw Error(`@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.`);if(a&&a.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!u)throw Error(`@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.`);if(d!==`1`)throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(e.statement?.includes(`
20`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);let f=Hf(e.address),p=`${l?`${l}://${n}`:n} wants you to sign in with your Ethereum account:\n${f}\n\n${e.statement?`${e.statement}\n`:``}`,m=`URI: ${u}\nVersion: ${d}\nChain ID: ${t}${a?`\nNonce: ${a}`:``}\nIssued At: ${i.toISOString()}`;if(r&&(m+=`\nExpiration Time: ${r.toISOString()}`),o&&(m+=`\nNot Before: ${o.toISOString()}`),s&&(m+=`\nRequest ID: ${s}`),c){let e=`
21Resources:`;for(let t of c){if(!t||typeof t!=`string`)throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}m+=e}return`${p}\n${m}`}var Kf=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=r??(n instanceof Error?n.name:void 0)??`Unknown Error`,this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}},qf=class extends Kf{constructor(e,t){super({code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:t,message:e}),this.name=`WebAuthnUnknownError`,this.originalError=t}};function Jf({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Kf({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new Kf({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new Kf({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new Kf({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new Kf({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Kf({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new Kf({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Kf({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!tp(t))return new Kf({message:`${window.location.hostname}
21 is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Kf({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new Kf({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new Kf({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Kf({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}function Yf({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Kf({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Kf({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!tp(t))return new Kf({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Kf({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new Kf({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Kf({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}var Xf=new class{createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}};function Zf(e){if(!e)throw Error(`Credential creation options are required`);if(typeof PublicKeyCredential<`u`&&`parseCreationOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==`function`)return PublicKeyCredential.parseCreationOptionsFromJSON(e);let{challenge:t,user:n,excludeCredentials:r}=e,i=vc(e,[`challenge`,`user`,`excludeCredentials`]),a=Gd(t).buffer,o=Object.assign(Object.assign({},n),{id:Gd(n.id).buffer}),s=Object.assign(Object.assign({},i),{challenge:a,user:o});if(r&&r.length>0){s.excludeCredentials=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e];s.excludeCredentials[e]=Object.assign(Object.assign({},t),{id:Gd(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return s}function Qf(e){if(!e)throw Error(`Credential request options are required`);if(typeof PublicKeyCredential<`u`&&`parseRequestOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON==`function`)return PublicKeyCredential.parseRequestOptionsFromJSON(e);let{challenge:t,allowCredentials:n}=e,r=vc(e,[`challenge`,`allowCredentials`]),i=Gd(t).buffer,a=Object.assign(Object.assign({},r),{challenge:i});if(n&&n.length>0){a.allowCredentials=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e];a.allowCredentials[e]=Object.assign(Object.assign({},t),{id:Gd(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return a}function $f(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e;return{id:e.id,rawId:e.id,response:{attestationObject:qd(new Uint8Array(e.response.attestationObject)),clientDataJSON:qd(new Uint8Array(e.response.clientDataJSON))},type:`public-key`,clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:t.authenticatorAttachment??void 0}}function ep(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e,n=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:qd(new Uint8Array(r.authenticatorData)),clientDataJSON:qd(new Uint8Array(r.clientDataJSON)),signature:qd(new Uint8Array(r.signature)),userHandle:r.userHandle?qd(new Uint8Array(r.userHandle)):void 0},type:`public-key`,clientExtensionResults:n,authenticatorAttachment:t.authenticatorAttachment??void 0}}function tp(e){return e===`localhost`||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function np(){return!!(Xd()&&`PublicKeyCredential`in window&&window.PublicKeyCredential&&`credentials`in navigator&&typeof(navigator==null?void 0:navigator.credentials)?.create==`function`&&typeof(navigator==null?void 0:navigator.credentials)?.get==`function`)}async function rp(e){try{let t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new qf(`Browser returned unexpected credential type`,t)}:{data:null,error:new qf(`Empty credential response`,t)}}
21catch(t){return{data:null,error:Jf({error:t,options:e})}}}async function ip(e){try{let t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new qf(`Browser returned unexpected credential type`,t)}:{data:null,error:new qf(`Empty credential response`,t)}}catch(t){return{data:null,error:Yf({error:t,options:e})}}}var ap={hints:[`security-key`],authenticatorSelection:{authenticatorAttachment:`cross-platform`,requireResidentKey:!1,userVerification:`preferred`,residentKey:`discouraged`},attestation:`direct`},op={userVerification:`preferred`,hints:[`security-key`],attestation:`direct`};function sp(...e){let t=e=>typeof e==`object`&&!!e&&!Array.isArray(e),n=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),r={};for(let i of e)if(i)for(let e in i){let a=i[e];if(a!==void 0)if(Array.isArray(a))r[e]=a;else if(n(a))r[e]=a;else if(t(a)){let n=r[e];t(n)?r[e]=sp(n,a):r[e]=sp(a)}else r[e]=a}return r}function cp(e,t){return sp(ap,e,t||{})}function lp(e,t){return sp(op,e,t||{})}var up=class{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:`webauthn`}))}async _challenge({factorId:e,webauthn:t,friendlyName:n,signal:r},i){try{let{data:a,error:o}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!a)return{data:null,error:o};let s=r??Xf.createNewAbortSignal();if(a.webauthn.type===`create`){let{user:e}=a.webauthn.credential_options.publicKey;if(!e.name){let t=n;if(t)e.name=`${e.id}:${t}`;else{let t=(await this.client.getUser()).data.user,n=t?.user_metadata?.name||t?.email||t?.id||`User`;e.name=`${e.id}:${n}`}}e.displayName||=e.name}switch(a.webauthn.type){case`create`:{let{data:t,error:n}=await rp({publicKey:cp(a.webauthn.credential_options.publicKey,i?.create),signal:s});return t?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:t}},error:null}:{data:null,error:n}}case`request`:{let t=lp(a.webauthn.credential_options.publicKey,i?.request),{data:n,error:r}=await ip(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:t,signal:s}));return n?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:n}},error:null}:{data:null,error:r}}}}catch(e){return R(e)?{data:null,error:e}:{data:null,error:new xd(`Unexpected error in challenge`,e)}}}async _verify({challengeId:e,factorId:t,webauthn:n}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new vd(`rpId is required for WebAuthn authentication`)};try{if(!np())return{data:null,error:new xd(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};let{webauthn:s}=a;return this._verify({factorId:e,challengeId:a.challengeId,webauthn:{type:s.type,rpId:t,rpOrigins:n,credential_response:s.credential_response}})}catch(e){return R(e)?{data:null,error:e}:{data:null,error:new xd(`Unexpected error in authenticate`,e)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new vd(`rpId is required for WebAuthn registration`)};try{if(!np())return{data:null,error:new xd(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this._enroll({friendlyName:e});if(!a)return await this.client.mfa.listFactors().then(t=>t.data?.all.find(t=>t.factor_type===`webauthn`&&t.friendly_name===e&&t.status!==`unverified`)).then(e=>e?this.client.mfa.unenroll({factorId:e?.id}):void 0),{data:null,error:o};let{data:s,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:t,rpOrigins:n},signal:r},{create:i});return s?this._verify({factorId:a.id,challengeId:s.challengeId,webauthn:{rpId:t,rpOrigins:n,type:s.webauthn.type,credential_response:s.webauthn.credential_response}}):{data:null,error:c}}catch(e){return R(e)?{data:null,error:e}:{data:null,error:new xd(`Unexpected error in register`,e)}}}};Vf();var dp={url:fd,storageKey:pd,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:md,flowType:`implicit`,debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},fp={},pp=class e{get jwks(){return fp[this.storageKey]?.jwks??{keys:[]}}set jwks(e){fp[this.storageKey]=Object.assign(Object.assign({},fp[this.storageKey]),{jwks:e})}get jwks_cached_at(){return fp[this.storageKey]?.cachedAt??-(2**53-1)}set jwks_cached_at(e){fp[this.storageKey]=Object.assign(Object.assign({},fp[this.storageKey]),{cachedAt:e})}constructor(t){var n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let r=Object.assign(Object.assign({},dp),t);if(this.storageKey=r.storageKey,this.instanceID=e.nextInstanceID[this.storageKey]??0,e.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!r.debug,typeof r.debug==`function`&&(this.logger=r.debug),this.instanceID>
210&&Xd()){let e=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(e),this.logDebugMessages&&console.trace(e)}if(this.persistSession=r.persistSession,this.autoRefreshToken=r.autoRefreshToken,this.experimental=r.experimental??{},this.admin=new Rf({url:r.url,headers:r.headers,fetch:r.fetch,experimental:this.experimental}),this.url=r.url,this.headers=r.headers,this.fetch=ef(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.hasCustomAuthorizationHeader=r.hasCustomAuthorizationHeader,this.throwOnError=r.throwOnError,this.lockAcquireTimeout=r.lockAcquireTimeout,r.lock!=null&&(this.lock=r.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=-(2**53-1)),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new up(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(r.storage?this.storage=r.storage:Qd()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=zf(this.memoryStorage)),r.userStorage&&(this.userStorage=r.userStorage)):(this.memoryStorage={},this.storage=zf(this.memoryStorage)),Xd()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),(e.data.event===`TOKEN_REFRESHED`||e.data.event===`SIGNED_IN`)&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(e.data.event,e.data.session,!1)}catch(e){this._debug(`#broadcastChannel`,`error`,e)}})}r.skipAutoInitialize||this.initialize().catch(e=>{this._debug(`#initialize()`,`error`,e)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${cd}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock==null?await this._initialize():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))();let e=await this.initializePromise,t=this._pendingInitNotifications??[];this._pendingInitNotifications=null;for(let e of t)await this._notifyAllSubscribers(e.event,e.session,e.broadcast);return e}async _initialize(){try{let e={},t=`none`;if(Xd()&&(e=$d(window.location.href),this._isImplicitGrantCallback(e)?t=`implicit`:await this._isPKCECallback(e)&&(t=`pkce`)),Xd()&&this.detectSessionInUrl&&t!==`none`){let{data:n,error:r}=await this._getSessionFromURL(e,t);if(r){if(this._debug(`#_initialize()`,`error detecting session from URL`,r),Od(r)){let e=r.details?.code;if(e===`identity_already_exists`||e===`identity_not_found`||e===`single_identity_not_deletable`)return{error:r}}return{error:r}}let{session:i,redirectType:a}=n;return this._debug(`#_initialize()`,`detected session in URL`,i,`redirect type`,a),await this._saveSession(i),setTimeout(async()=>{a===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,i):await this._notifyAllSubscribers(`SIGNED_IN`,i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return R(e)?this._returnResult({error:e}):this._returnResult({error:new xd(`Unexpected error during initialization`,e)})}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}async signInAnonymously(e){try{let{data:t,error:n}=await B(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{data:e?.options?.data??{},gotrue_meta_security:{captcha_token:e?.options?.captchaToken}},xform:Af});if(n||!t)return this._returnResult({data:{user:null,session:null},error:n});let r=t.session,i=t.user;return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,r)),this._returnResult({data:{user:i,session:r},error:null})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signUp(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e,a=null,o=null;this.flowType===`pkce`&&([a,o]=await mf(this.storage,this.storageKey)),t=await B(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:i?.emailRedirectTo,body:{email:n,password:r,data:i?.data??{},gotrue_meta_security:{captcha_token:i?.captchaToken},code_challenge:a,code_challenge_method:o},xform:Af})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await B(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:n,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Af})}else throw new Ed(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r||!n)return await af(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:r});let i=n.session,a=n.user;return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,i)),this._returnResult({data:{user:a,session:i},error:null})}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithPassword(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await B(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:jf})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await B(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:jf})}else throw new Ed(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){let e=new Td;return this._returnResult({data:{user:null,session:null},error:e})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOAuth(e){return await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this.lock==null?this._exchangeCodeForSession(e):this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e))}async signInWithWeb3(e){let{chain:t}=e;switch(t){case`ethereum`:return await this.signInWithEthereum(e);case`solana`:return await this.signInWithSolana(e);default:throw Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!Xd()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`ethereum`in e&&typeof e.ethereum==`object`&&`request`in e.ethereum&&typeof e.ethereum.request==`function`)s=e.ethereum;else throw Error(`@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href),l=await s.request({method:`eth_requestAccounts`}).then(e=>e).catch(()=>{throw Error(`@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid`)});if(!l||l.length===0)throw Error(`@supabase/auth-js: No accounts available. Please ensure the wallet is connected.`);let u=Hf(l[0]),d=o?.signInWithEthereum?.chainId;d||=Uf(await s.request({method:`eth_chainId`})),t=Gf({domain:c.host,address:u,statement:a,uri:c.href,version:`1`,chainId:d,nonce:o?.signInWithEthereum?.nonce,issuedAt:o?.signInWithEthereum?.issuedAt??new Date,expirationTime:o?.signInWithEthereum?.expirationTime,notBefore:o?.signInWithEthereum?.notBefore,requestId:o?.signInWithEthereum?.requestId,resources:o?.signInWithEthereum?.resources}),n=await s.request({method:`personal_sign`,params:[Wf(t),u]})}try{let{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`ethereum`,message:t,signature:n},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Af});if(i)throw i;if(!r||!r.session||!r.user){let e=new Td;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSolana(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!Xd()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`solana`in e&&typeof e.solana==`object`&&(`signIn`in e.solana&&typeof e.solana.signIn==`function`||`signMessage`in e.
21solana&&typeof e.solana.signMessage==`function`))s=e.solana;else throw Error(`@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href);if(`signIn`in s&&s.signIn){let e=await s.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},o?.signInWithSolana),{version:`1`,domain:c.host,uri:c.href}),a?{statement:a}:null)),r;if(Array.isArray(e)&&e[0]&&typeof e[0]==`object`)r=e[0];else if(e&&typeof e==`object`&&`signedMessage`in e&&`signature`in e)r=e;else throw Error(`@supabase/auth-js: Wallet method signIn() returned unrecognized value`);if(`signedMessage`in r&&`signature`in r&&(typeof r.signedMessage==`string`||r.signedMessage instanceof Uint8Array)&&r.signature instanceof Uint8Array)t=typeof r.signedMessage==`string`?r.signedMessage:new TextDecoder().decode(r.signedMessage),n=r.signature;else throw Error(`@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields`)}else{if(!(`signMessage`in s)||typeof s.signMessage!=`function`||!(`publicKey`in s)||typeof s!=`object`||!s.publicKey||!(`toBase58`in s.publicKey)||typeof s.publicKey.toBase58!=`function`)throw Error(`@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API`);t=[`${c.host} wants you to sign in with your Solana account:`,s.publicKey.toBase58(),...a?[``,a,``]:[``],`Version: 1`,`URI: ${c.href}`,`Issued At: ${o?.signInWithSolana?.issuedAt??new Date().toISOString()}`,...o?.signInWithSolana?.notBefore?[`Not Before: ${o.signInWithSolana.notBefore}`]:[],...o?.signInWithSolana?.expirationTime?[`Expiration Time: ${o.signInWithSolana.expirationTime}`]:[],...o?.signInWithSolana?.chainId?[`Chain ID: ${o.signInWithSolana.chainId}`]:[],...o?.signInWithSolana?.nonce?[`Nonce: ${o.signInWithSolana.nonce}`]:[],...o?.signInWithSolana?.requestId?[`Request ID: ${o.signInWithSolana.requestId}`]:[],...o?.signInWithSolana?.resources?.length?[`Resources`,...o.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join(`
22`);let e=await s.signMessage(new TextEncoder().encode(t),`utf8`);if(!e||!(e instanceof Uint8Array))throw Error(`@supabase/auth-js: Wallet signMessage() API returned an recognized value`);n=e}}try{let{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`solana`,message:t,signature:qd(n)},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Af});if(i)throw i;if(!r||!r.session||!r.user){let e=new Td;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _exchangeCodeForSession(e){let[t,n]=(await rf(this.storage,`${this.storageKey}-code-verifier`)??``).split(`/`);try{if(!t&&this.flowType===`pkce`)throw new Ad;let{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:t},xform:Af});if(await af(this.storage,`${this.storageKey}-code-verifier`),i)throw i;if(!r||!r.session||!r.user){let e=new Td;return this._returnResult({data:{user:null,session:null,redirectType:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(n===`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign(Object.assign({},r),{redirectType:n??null}),error:i})}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null,session:null,redirectType:null},error:e});throw e}}async signInWithIdToken(e){try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await B(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:Af});if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!o||!o.session||!o.user){let e=new Td;return this._returnResult({data:{user:null,session:null},error:e})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),this._returnResult({data:o,error:s})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOtp(e){try{if(`email`in e){let{email:t,options:n}=e,r=null,i=null;this.flowType===`pkce`&&([r,i]=await mf(this.storage,this.storageKey));let{error:a}=await B(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},code_challenge:r,code_challenge_method:i},redirectTo:n?.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:a})}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return this._returnResult({data:{user:null,session:null,messageId:r?.message_id},error:i})}throw new Ed(`You must provide either an email or phone number.`)}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async verifyOtp(e){try{let t,n;`options`in e&&(t=e.options?.redirectTo,n=e.options?.captchaToken);let{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:n}}),redirectTo:t,xform:Af});if(i)throw i;if(!r)throw Error(`An error occurred on token verification.`);let a=r.session,o=r.user;return a?.access_token&&(await this._saveSession(a),await this._notifyAllSubscribers(e.type==`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSSO(e){try{let t=null,n=null;this.flowType===`pkce`&&([t,n]=await mf(this.storage,this.storageKey));let r=await B(this.fetch,`POST`,`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},`providerId`in e?{provider_id:e.providerId}:null),`domain`in e?{domain:e.domain}:null),{redirect_to:e.options?.redirectTo??void 0}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:t,code_challenge_method:n}),headers:this.headers,xform:Nf});return r.data?.url&&Xd()&&!e.options?.skipBrowserRedirect&&window.location.assign(r.data.url),this._returnResult(r)}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:null,error:e});throw e}}async reauthenticate(){return await this.initializePromise,this.lock==null?await this._reauthenticate():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new Cd;let{error:r}=await B(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{let t=`${this.url}/resend`;if(`email`in e){let{email:n,type:r,options:i}=e,a=null,o=null;this.flowType===`pkce`&&([a,o]=await mf(this.storage,this.storageKey));let{error:s}=await B(this.fetch,`POST`,t,{headers:this.headers,body:{email:n,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken},code_challenge:a,code_challenge_method:o},redirectTo:i?.emailRedirectTo});return s&&await af(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:s})}else if(`phone`in e){let{phone:n,type:r,options:i}=e,{data:a,error:o}=await B(this.fetch,`POST`,t,{headers:this.headers,body:{phone:n,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a?.message_id},error:o})}throw new Ed(`You must provide either an email or phone number and a type`)}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async getSession(){return await this.initializePromise,this.lock==null?await this._useSession(async e=>e):await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug(`#_acquireLock`,`begin`,e);try{if(this.lockAcquired){let e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug(`#_acquireLock`,`lock acquired for storage key`,this.storageKey);try{this.lockAcquired=!0;let e=t();for(this.pendingInLock.push((async()=>{try{await e}catch{}})()),await e;this.pendingInLock.length;){let e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}finally{this._debug(`#_acquireLock`,`lock released for storage key`,this.storageKey),this.lockAcquired=!1}})}finally{this._debug(`#_acquireLock`,`end`)}}async _useSession(e){this._debug(`#_useSession`,`begin`);try{return await e(await this.__loadSession())}finally{this._debug(`#_useSession`,`end`)}}async __loadSession(){this._debug(`#__loadSession()`,`begin`),this.lock!=null&&!this.lockAcquired&&this._debug(`#__loadSession()`,`used outside of an acquired lock!`,Error().stack);try{let e=null,t=await rf(this.storage,this.storageKey);if(this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not val
22id`),await this._removeSession())),!e)return{data:{session:null},error:null};let n=e.expires_at?e.expires_at*1e3-Date.now()<ud:!1;if(this._debug(`#__loadSession()`,`session has${n?``:` not`} expired`,`expires_at`,e.expires_at),!n){if(this.userStorage){let t=await rf(this.userStorage,this.storageKey+`-user`);t?.user?e.user=t.user:e.user=Sf()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){let t={value:this.suppressGetSessionWarning};e.user=Cf(e.user,t),t.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}let{data:r,error:i}=await this._callRefreshToken(e.refresh_token);if(i){if(e.expires_at&&e.expires_at*1e3>Date.now()){let t=await rf(this.storage,this.storageKey);if(t&&t.refresh_token===e.refresh_token)return this._returnResult({data:{session:e},error:null})}return this._returnResult({data:{session:null},error:i})}return this._returnResult({data:{session:r},error:null})}finally{this._debug(`#__loadSession()`,`end`)}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return t=this.lock==null?await this._getUser():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await B(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:Mf}):await this._useSession(async e=>{let{data:t,error:n}=e;if(n)throw n;return!t.session?.access_token&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Cd}:await B(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:t.session?.access_token??void 0,xform:Mf})})}catch(e){if(R(e))return wd(e)&&(await this._removeSession(),await af(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:e});throw e}}async updateUser(e,t={}){return await this.initializePromise,this.lock==null?await this._updateUser(e,t):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){try{return await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;if(!r.session)throw new Cd;let a=r.session,o=null,s=null;this.flowType===`pkce`&&e.email!=null&&([o,s]=await mf(this.storage,this.storageKey));let{data:c,error:l}=await B(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:t?.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:o,code_challenge_method:s}),jwt:a.access_token,xform:Mf});if(l)throw l;return a.user=c.user,await this._saveSession(a),await this._notifyAllSubscribers(`USER_UPDATED`,a),this._returnResult({data:{user:a.user},error:null})})}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null},error:e});throw e}}async setSession(e){return await this.initializePromise,this.lock==null?await this._setSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Cd;let t=Date.now()/1e3,n=t,r=!0,i=null,{payload:a}=sf(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{data:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this._getUser(e.access_token);if(a)return this._returnResult({data:{user:null,session:null},error:a});i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(e){if(R(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}}async refreshSession(e){return await this.initializePromise,this.lock==null?await this._refreshSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new Cd;let{data:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?this._returnResult({data:{user:null,session:null},error:r}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(e){if(R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _getSessionFromURL(e,t){try{if(!Xd())throw new Dd(`No browser detected.`);if(e.error||e.error_description||e.error_code)throw new Dd(e.error_description||`Error in URL with unspecified error_description`,{error:e.error||`unspecified_error`,code:e.error_code||`unspecified_code`});switch(t){case`implicit`:if(this.flowType===`pkce`)throw new kd(`Not a valid PKCE flow url.`);break;case`pkce`:if(this.flowType===`implicit`)throw new Dd(`Not a valid implicit grant flow url.`);break;default:}if(t===`pkce`){if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,!0),!e.code)throw new kd(`No code detected.`);let{data:t,error:n}=await this._exchangeCodeForSession(e.code);
22if(n)throw n;let r=new URL(window.location.href);return r.searchParams.delete(`code`),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:t.redirectType??null},error:null}}let{provider_token:n,provider_refresh_token:r,access_token:i,refresh_token:a,expires_in:o,expires_at:s,token_type:c}=e;if(!i||!o||!a||!c)throw new Dd(`No session defined in URL`);let l=Math.round(Date.now()/1e3),u=parseInt(o),d=l+u;s&&(d=parseInt(s));let f=d-l;f*1e3<=3e4&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${u}s`);let p=d-u;l-p>=120?console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale`,p,d,l):l-p<0&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew`,p,d,l);let{data:m,error:h}=await this._getUser(i);if(h)throw h;let g={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:u,expires_at:d,refresh_token:a,token_type:c,user:m.user};return window.location.hash=``,this._debug(`#_getSessionFromURL()`,`clearing window.location.hash`),this._returnResult({data:{session:g,redirectType:e.type},error:null})}catch(e){if(R(e))return this._returnResult({data:{session:null,redirectType:null},error:e});throw e}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl==`function`?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){let t=await rf(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&t)}async signOut(e={scope:`global`}){return await this.initializePromise,this.lock==null?await this._signOut(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let n=async()=>{await this._removeSession(),await af(this.storage,`${this.storageKey}-code-verifier`)},{data:r,error:i}=t;if(i&&!wd(i))return this._returnResult({error:i});let a=r.session?.access_token;if(a){let{error:t}=await this.admin.signOut(a,e);if(t&&!(bd(t)&&(t.status===404||t.status===401||t.status===403)||wd(t)))return e!==`others`&&await n(),this._returnResult({error:t})}return e!==`others`&&await n(),this._returnResult({error:null})})}onAuthStateChange(e){let t=Yd(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),(async()=>{await this.initializePromise,this.lock==null?await this._emitInitialSession(t):await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),wd(t)?console.warn(t):console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null;this.flowType===`pkce`&&([n,r]=await mf(this.storage,this.storageKey,!0));try{return await B(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:null,error:e});throw e}}async getUserIdentities(){try{let{data:e,error:t}=await this.getUser();if(t)throw t;return this._returnResult({data:{identities:e.user.identities??[]},error:null})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async linkIdentity(e){return`token`in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){try{let{data:t,error:n}=await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;let i=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:!0});return await B(this.fetch,`GET`,i,{headers:this.headers,jwt:n.session?.access_token??void 0})});if(n)throw n;return Xd()&&!e.options?.skipBrowserRedirect&&window.location.assign(t?.url),this._returnResult({data:{provider:e.provider,url:t?.url},error:null})}catch(t){if(R(t))return this._returnResult({data:{provider:e.provider,url:null},error:t});throw t}}async linkIdentityIdToken(e){return await this._useSession(async t=>{try{let{error:n,data:{session:r}}=t;if(n)throw n;let{options:i,provider:a,token:o,access_token:s,nonce:c}=e,{data:l,error:u}=await B(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:r?.access_token??void 0,body:{provider:a,id_token:o,access_token:s,nonce:c,link_identity:!0,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Af});return u?this._returnResult({data:{user:null,session:null},error:u}):!l||!l.session||!l.user?this._returnResult({data:{user:null,session:null},error:new Td}):(l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers(`USER_UPDATED`,l.session)),this._returnResult({data:l,error:u}))}catch(e){if(await af(this.storage,`${this.storageKey}-code-verifier`),R(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;return await B(this.fetch,`DELETE`,`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:n.session?.access_token??void 0})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken()`;this._debug(t,`begin`);try{let n=Date.now();return await lf(async n=>(n>0&&await cf(200*2**(n-1)),this._debug(t,`refreshing attempt`,n),await B(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Af})),(e,t)=>{let r=200*2**e;return t&&Md(t)&&Date.now()+r-n<3e4})}catch(e){if(this._debug(t,`error`,e),R(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}finally{this._debug(t,`end`)}}_isValidSession(e){return typeof e==`object`&&!!e&&`access_token`in e&&`refresh_token`in e&&`expires_at`in e}async _handleProviderSignIn(e,t){let n=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug(`#_handleProviderSignIn()`,`provider`,e,`options`,t,`url`,n),Xd()&&!t.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n},error:null}}async _recoverAndRefresh(){let e=`#_recoverAndRefresh()`;this._debug(e,`begin`);try{let t=await rf(this.storage,this.storageKey);if(t&&this.userStorage){let e=await rf(this.userStorage,this.storageKey+`-user`);!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!e&&(e={user:t.user},await nf(this.userStorage,this.storageKey+`-user`,e)),t.user=e?.user??Sf()}else if(t&&!t.user&&!t.user){let e=await rf(this.storage,this.storageKey+`-user`);e&&e?.user?(t.user=e.user,await af(this.storage,this.storageKey+`-user`),await nf(this.storage,this.storageKey,t)):t.user=Sf()}if(this._debug(e,`session from storage`,t),!this._isValidSession(t)){this._debug(e,`session is not val
22id`),t!==null&&await this._removeSession();return}let n=(t.expires_at??1/0)*1e3-Date.now()<ud;if(this._debug(e,`session has${n?``:` not`} expired with margin of ${ud}s`),n){if(this.autoRefreshToken&&t.refresh_token){let{error:n}=await this._callRefreshToken(t.refresh_token);n&&(z(n)?this._debug(e,`refresh discarded by commit guard`,n):this._debug(e,`refresh failed`,n))}}else if(t.user&&t.user.__isUserNotAvailableProxy===!0)try{let{data:n,error:r}=await this._getUser(t.access_token);!r&&n?.user?(t.user=n.user,await this._saveSession(t),await this._notifyAllSubscribers(`SIGNED_IN`,t)):this._debug(e,`could not get user data, skipping SIGNED_IN notification`)}catch(t){console.error(`Error getting user data:`,t),this._debug(e,`error getting user data, skipping SIGNED_IN notification`,t)}else await this._notifyAllSubscribers(`SIGNED_IN`,t)}catch(t){this._debug(e,`error`,t),console.error(t);return}finally{this._debug(e,`end`)}}async _callRefreshToken(e){var t,n;if(!e)throw new Cd;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug(`#_callRefreshToken()`,`returning cached failure (cooldown active)`),this.lastRefreshFailure.result;let r=`#_callRefreshToken()`;this._debug(r,`begin`);try{this.refreshingDeferred=new of;let t=await rf(this.storage,this.storageKey),{data:n,error:i}=await this._refreshAccessToken(e);if(i)throw i;if(!n.session)throw new Cd;let a=await rf(this.storage,this.storageKey);if(t!==null&&(a===null||a.refresh_token!==t.refresh_token)){this._debug(r,`commit guard: storage changed since refresh started, discarding rotated tokens`,{startedWith:`present`,nowHolds:a?`replaced`:`cleared`});let e={data:null,error:new Nd};return this.refreshingDeferred.resolve(e),e}let o=this._sessionRemovalEpoch;if(await this._saveSession(n.session),this._sessionRemovalEpoch!==o){this._debug(r,`commit guard (post-save): _removeSession ran during _saveSession, undoing write`),await af(this.storage,this.storageKey),this.userStorage&&await af(this.userStorage,this.storageKey+`-user`);let e={data:null,error:new Nd};return this.refreshingDeferred.resolve(e),e}await this._notifyAllSubscribers(`TOKEN_REFRESHED`,n.session);let s={data:n.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(s),s}catch(i){if(this._debug(r,`error`,i),R(i)){let n={data:null,error:i};if(!Md(i)){let e=await rf(this.storage,this.storageKey);e?.expires_at&&e.expires_at*1e3>Date.now()?this._debug(r,`proactive refresh failed, access token still valid — preserving session`):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:n,expiresAt:Date.now()+dd},(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){if(this._pendingInitNotifications!==null&&n){this._pendingInitNotifications.push({event:e,session:t,broadcast:n});return}let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;e<r.length;e+=1)console.error(r[e]);throw r[0]}}finally{this._debug(r,`end`)}}async _saveSession(e){this._debug(`#_saveSession()`,e),this.suppressGetSessionWarning=!0;let t=Object.assign({},e),n=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&t.user&&await nf(this.userStorage,this.storageKey+`-user`,{user:t.user});let e=Object.assign({},t);delete e.user;let r=wf(e);await nf(this.storage,this.storageKey,r)}else{let e=wf(t);await nf(this.storage,this.storageKey,e)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug(`#_removeSession()`),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await af(this.storage,this.storageKey),await af(this.storage,this.storageKey+`-code-verifier`),await af(this.storage,this.storageKey+`-user`),this.userStorage&&await af(this.userStorage,this.storageKey+`-user`),await this._notifyAllSubscribers(`SIGNED_OUT`,null)}_removeVisibilityChangedCallback(){this._debug(`#_removeVisibilityChangedCallback()`);let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&Xd()&&window!=null&&window.removeEventListener&&window.removeEventListener(`visibilitychange`,e)}
22catch(e){console.error(`removing visibilitychange callback failed`,e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug(`#_startAutoRefresh()`);let e=setInterval(()=>this._autoRefreshTokenTick(),ld);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e);let t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t==`object`&&typeof t.unref==`function`?t.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);let t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)==null||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug(`#_autoRefreshTokenTick()`,`begin`),this.lock!=null){try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/ld);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${ld}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}})}catch(e){if(e instanceof Bf)this._debug(`auto refresh token tick lock not available`);else throw e}return}if(this.refreshingDeferred!==null){this._debug(`#_autoRefreshTokenTick()`,`refresh already in flight, skipping`);return}try{let e=Date.now();try{await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/ld);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${ld}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!Xd()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug(`#visibilityChangedCallback`,`error`,e)}},window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;if(this._debug(t,`visibilityState`,document.visibilityState),document.visibilityState===`visible`){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!==`visible`){this._debug(t,`acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting`);return}await this._recoverAndRefresh()});else{if(document.visibilityState!==`visible`){this._debug(t,`visibilityState is no longer visible, skipping recovery`);return}await this._recoverAndRefresh()}}else document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,n){let r=[`provider=${encodeURIComponent(t)}`];if(n?.redirectTo&&r.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n?.scopes&&r.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType===`pkce`){let[e,t]=await mf(this.storage,this.storageKey),n=new URLSearchParams({code_challenge:`${encodeURIComponent(e)}`,code_challenge_method:`${encodeURIComponent(t)}`});
22r.push(n.toString())}if(n?.queryParams){let e=new URLSearchParams(n.queryParams);r.push(e.toString())}return n?.skipBrowserRedirect&&r.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${e}?${r.join(`&`)}`}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?this._returnResult({data:null,error:r}):await B(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType===`phone`?{phone:e.phone}:e.factorType===`totp`?{issuer:e.issuer}:{}),{data:a,error:o}=await B(this.fetch,`POST`,`${this.url}/factors`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(e.factorType===`totp`&&a.type===`totp`&&a?.totp?.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),this._returnResult({data:a,error:null}))})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _verify(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({challenge_id:e.challengeId},`webauthn`in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type===`create`?$f(e.webauthn.credential_response):ep(e.webauthn.credential_response)})}:{code:e.code}),{data:a,error:o}=await B(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,a),this._returnResult({data:a,error:o}))})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challenge(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=await B(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:n?.session?.access_token});if(i.error)return i;let{data:a}=i;if(a.type!==`webauthn`)return{data:a,error:null};switch(a.webauthn.type){case`create`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:Zf(a.webauthn.credential_options.publicKey)})})}),error:null};case`request`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:Qf(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n={all:[],phone:[],totp:[],webauthn:[]};for(let t of e?.factors??[])n.all.push(t),t.status===`verified`&&n[t.factor_type].push(t);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){if(e)try{let{payload:t}=sf(e),n=null;t.aal&&(n=t.aal);let r=n,{data:{user:i},error:a}=await this.getUser(e);if(a)return this._returnResult({data:null,error:a});((i?.factors)?.filter(e=>e.status===`verified`)??[]).length>0&&(r=`aal2`);let o=t.amr||[];return{data:{currentLevel:n,nextLevel:r,currentAuthenticationMethods:o},error:null}}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}let{data:{session:t},error:n}
22=await this.getSession();if(n)return this._returnResult({data:null,error:n});if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:r}=sf(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await B(this.fetch,`GET`,`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Cd})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _approveAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Cd});let a=await B(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`approve`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&Xd()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _denyAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Cd});let a=await B(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`deny`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&Xd()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _listOAuthGrants(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;return n?this._returnResult({data:null,error:n}):t?await B(this.fetch,`GET`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Cd})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?(await B(this.fetch,`DELETE`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Cd})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async fetchJwk(e,t={keys:[]}){let n=t.keys.find(t=>t.kid===e);if(n)return n;let r=Date.now();if(n=this.jwks.keys.find(t=>t.kid===e),n&&this.jwks_cached_at+6e5>r)return n;let{data:i,error:a}=await B(this.fetch,`GET`,`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(t=>t.kid===e),!n)?null:n}async getClaims(e,t={}){try{let n=e;if(!n){let{data:e,error:t}
22=await this.getSession();if(t||!e.session)return this._returnResult({data:null,error:t});n=e.session.access_token}let{header:r,payload:i,signature:a,raw:{header:o,payload:s}}=sf(n);if(!t?.allowExpired)try{_f(i.exp)}catch(e){throw new Fd(e instanceof Error?e.message:`JWT validation failed`)}let c=!r.alg||r.alg.startsWith(`HS`)||!r.kid||!(`crypto`in globalThis&&`subtle`in globalThis.crypto)?null:await this.fetchJwk(r.kid,t?.keys?{keys:t.keys}:t?.jwks);if(!c){let{error:e}=await this.getUser(n);if(e)throw e;return{data:{claims:i,header:r,signature:a},error:null}}let l=vf(r.alg),u=await crypto.subtle.importKey(`jwk`,c,l,!0,[`verify`]);if(!await crypto.subtle.verify(l,u,a,Kd(`${o}.${s}`)))throw new Fd(`Invalid JWT signature`);return{data:{claims:i,header:r,signature:a},error:null}}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async signInWithPasskey(e){xf(this.experimental);try{if(!np())return this._returnResult({data:null,error:new xd(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyAuthentication({options:{captchaToken:e?.options?.captchaToken}});if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await ip({publicKey:Qf(t.options),signal:e?.options?.signal??Xf.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new xd(`WebAuthn ceremony failed`,null)});let a=ep(r);return this._verifyPasskeyAuthentication({challengeId:t.challenge_id,credential:a})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async registerPasskey(e){xf(this.experimental);try{if(!np())return this._returnResult({data:null,error:new xd(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyRegistration();if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await rp({publicKey:Zf(t.options),signal:e?.options?.signal??Xf.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new xd(`WebAuthn ceremony failed`,null)});let a=$f(r);return this._verifyPasskeyRegistration({challengeId:t.challenge_id,credential:a})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyRegistration(){xf(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Cd});let{data:r,error:i}=await B(this.fetch,`POST`,`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){xf(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Cd});let{data:i,error:a}=await B(this.fetch,`POST`,`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyAuthentication(e){xf(this.experimental);try{let{data:t,error:n}=await B(this.fetch,`POST`,`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:e?.options?.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:t,error:null})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyAuthentication(e){xf(this.experimental);try{let{data:t,error:n}=await B(this.fetch,`POST`,`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Af});return n?this._returnResult({data:null,error:n}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,t.session)),this._returnResult({data:t,error:null}))}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _listPasskeys(){xf(this.experimental);try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Cd});let{data:r,error:i}=await B(this.fetch,`GET`,`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){xf(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Cd});let{data:i,error:a}=await B(this.fetch,`PATCH`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:e.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}async _deletePasskey(e){xf(this.experimental);try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Cd});let{error:i}=await B(this.fetch,`DELETE`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(e){if(R(e))return this._returnResult({data:null,error:e});throw e}}};pp.nextInstanceID={};var mp=pp,hp=`modulepreload`,gp=function(e){return`/`+e},_p={},V=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=gp(t,n),t in _p)return;_p[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:hp,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n
22)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},vp=`2.110.7`,yp=``,bp;if(typeof Deno<`u`)yp=`deno`,bp=Deno.version?.deno;else if(typeof document<`u`)yp=`web`;else if(typeof navigator<`u`&&navigator.product===`ReactNative`)yp=`react-native`;else{var xp;yp=`node`;let e=globalThis.process;bp=e==null||(xp=e.version)==null?void 0:xp.replace(/^v/,``)}var Sp=[`runtime=${yp}`];bp&&Sp.push(`runtime-version=${bp}`);var Cp={headers:{"X-Client-Info":`supabase-js/${vp}; ${Sp.join(`; `)}`}},wp={schema:`public`},Tp={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},Ep={},Dp={enabled:!1,respectSamplingDecision:!0};function Op(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var kp=null,Ap=`@opentelemetry/api`;function jp(){return kp===null&&(kp=V(()=>import(Ap),[]).catch(()=>null)),kp}function Mp(){return Op(this,void 0,void 0,function*(){try{let e=yield jp();if(!e||!e.propagation||!e.context)return null;let t={};e.propagation.inject(e.context.active(),t);let n=t.traceparent;return n?{traceparent:n,tracestate:t.tracestate,baggage:t.baggage}:null}catch{return null}})}function Np(e){if(!e||typeof e!=`string`)return null;let t=e.split(`-`);if(t.length!==4)return null;let[n,r,i,a]=t;if(n.length!==2||r.length!==32||i.length!==16||a.length!==2)return null;let o=/^[0-9a-f]+$/i;return!o.test(n)||!o.test(r)||!o.test(i)||!o.test(a)||r===`00000000000000000000000000000000`||i===`0000000000000000`?null:{version:n,traceId:r,parentId:i,traceFlags:a,isSampled:(parseInt(a,16)&1)==1}}function Pp(e,t){if(!e||!t||t.length===0)return!1;let n;if(e instanceof URL)n=e;else try{n=new URL(e)}catch{return!1}for(let e of t)try{if(typeof e==`string`){if(Fp(n.hostname,e))return!0}else if(e instanceof RegExp){if(e.test(n.hostname))return!0}else if(typeof e==`function`&&e(n))return!0}catch{continue}return!1}function Fp(e,t){if(t===e)return!0;if(t.startsWith(`*.`)){let n=t.slice(2);if(e.endsWith(n)&&(e===n||e.endsWith(`.`+n)))return!0}return!1}function Ip(e){let t=[];try{let n=new URL(e);t.push(n.hostname)}catch{}return t.push(`*.supabase.co`,`*.supabase.in`),t.push(`localhost`,`127.0.0.1`,`[::1]`),t}function Lp(e){"@babel/helpers - typeof";return Lp=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Lp(e)}function Rp(e,t){if(Lp(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Lp(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function zp(e){var t=Rp(e,`string`);return Lp(t)==`symbol`?t:t+``}function Bp(e,t,n){return(t=zp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Hp(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Vp(Object(n),!0).forEach(function(t){Bp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Up=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Wp=()=>Headers,Gp=e=>e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`),Kp=`sb_temp_`,qp=new Set,Jp=e=>{if(!e.startsWith(`sb_`)||Gp(e)||e.startsWith(Kp))return;let t=e.match(/^sb_[a-zA-Z0-9]+_/)?.[0]??`unknown`;
22qp.has(t)||(qp.add(t),console.warn(`@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is; if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type.`))},Yp=(e,t,n,r,i,a)=>{let o=Up(r),s=Wp(),c=i?.enabled===!0,l=i?.respectSamplingDecision!==!1,u=c?Ip(t):null,d=!(a?.omitApiKeyAsBearer&&Gp(e));return async(t,r)=>{let i=await n(),a=new s(r?.headers);if(a.has(`apikey`)||a.set(`apikey`,e),!a.has(`Authorization`)){let t=i??(d?e:null);t&&a.set(`Authorization`,`Bearer ${t}`)}if(u){let e=await Xp(t,u,l);e&&(e.traceparent&&!a.has(`traceparent`)&&a.set(`traceparent`,e.traceparent),e.tracestate&&!a.has(`tracestate`)&&a.set(`tracestate`,e.tracestate),e.baggage&&!a.has(`baggage`)&&a.set(`baggage`,e.baggage))}return o(t,Hp(Hp({},r),{},{headers:a}))}};async function Xp(e,t,n){if(!Pp(typeof e==`string`||e instanceof URL?e:e.url,t))return null;let r=await Mp();if(!r||!r.traceparent)return null;if(n){let e=Np(r.traceparent);if(e&&!e.isSampled)return null}return r}function Zp(e){return typeof e==`boolean`?{enabled:e}:e}function Qp(e){return e.endsWith(`/`)?e:e+`/`}function $p(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t,u=Zp(e.tracePropagation),d=Zp(t.tracePropagation),f={db:Hp(Hp({},o),n),auth:Hp(Hp({},s),r),realtime:Hp(Hp({},c),i),storage:{},global:Hp(Hp(Hp({},l),a),{},{headers:Hp(Hp({},l?.headers??{}),a?.headers??{})}),tracePropagation:{enabled:u?.enabled??d?.enabled??!1,respectSamplingDecision:u?.respectSamplingDecision??d?.respectSamplingDecision??!0},accessToken:async()=>``};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function em(e){let t=e?.trim();if(!t)throw Error(`supabaseUrl is required.`);if(!t.match(/^https?:\/\//i))throw Error(`Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.`);try{return new URL(Qp(t))}catch{throw Error(`Invalid supabaseUrl: Provided URL is malformed.`)}}var tm=class extends mp{constructor(e){super(e)}},nm=class{constructor(e,t,n){this.supabaseUrl=e,this.supabaseKey=t;let r=em(e);if(!t)throw Error(`supabaseKey is required.`);Jp(t),this.realtimeUrl=new URL(`realtime/v1`,r),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace(`http`,`ws`),this.authUrl=new URL(`auth/v1`,r),this.storageUrl=new URL(`storage/v1`,r),this.functionsUrl=new URL(`functions/v1`,r);let i=`sb-${r.hostname.split(`.`)[0]}-auth-token`,a={db:wp,realtime:Ep,auth:Hp(Hp({},Tp),{},{storageKey:i}),global:Cp,tracePropagation:Dp},o=$p(n??{},a);this.settings=o,this.storageKey=o.auth.storageKey??``,this.headers=o.global.headers??{},o.accessToken?(this.accessToken=o.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global.fetch),this.fetch=Yp(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation),this.functionsFetch=Yp(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation,{omitApiKeyAsBearer:!0}),this.realtime=this._initRealtimeClient(Hp({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},o.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(e=>this.realtime.setAuth(e)).catch(e=>console.warn(`Failed to set initial Realtime auth token:`,e)),this.rest=new Kc(new URL(`rest/v1`,r).href,{headers:this.headers,schema:o.db.schema,fetch:this.fetch,timeout:o.db.timeout,urlLengthLimit:o.db.urlLengthLimit}),this.storage=new sd(this.storageUrl.href,this.headers,this.fetch,n?.storage),o.accessToken||this._listenForAuthEvents()}get functions(){return new Dc(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){var e=this;if(e.accessToken)return await e.accessToken();let{data:t}=await e.auth.getSession();return t.session?.access_token??null}async _getAccessToken(){var e=this;return await e._getSessionToken()??e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,storageKey:a,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new tm({url:this.authUrl.href,headers:Hp(Hp({},h),p),storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>e.toLowerCase()===`authorization`)})}_initRealtimeClient(e){return new cu(this.realtimeUrl.href,Hp(Hp({},e),{}
22,{params:Hp(Hp({},{apikey:this.supabaseKey}),e?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`||e===`INITIAL_SESSION`)&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e===`SIGNED_OUT`&&(this.realtime.setAuth(),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}},rm=(e,t,n)=>new nm(e,t,n);function im(){if(typeof window<`u`)return!1;let e=globalThis.process;if(!e)return!1;let t=e.version;if(t==null)return!1;let n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=20:!1}im()&&console.warn(`⚠️  Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715`);function am(e){return e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`)}function om(e){return(t,n)=>{let r=new Headers(typeof Request<`u`&&t instanceof Request?t.headers:void 0);return n?.headers&&new Headers(n.headers).forEach((e,t)=>r.set(t,e)),am(e)&&r.get(`Authorization`)===`Bearer ${e}`&&r.delete(`Authorization`),r.set(`apikey`,e),fetch(t,{...n,headers:r})}}function sm(){let e=`sb_publishable_fFXEBLFScy_QTpO36gMg_w_MESKcfPk`;return rm(`https://izjtdhysvtuemozkoogl.supabase.co`,e,{global:{fetch:om(e)},auth:{storage:typeof window<`u`?localStorage:void 0,persistSession:!0,autoRefreshToken:!0}})}var cm,lm=new Proxy({},{get(e,t,n){return cm||=sm(),Reflect.get(cm,t,n)}}),um=mc({type:`function`}).client(async({next:e})=>{let{data:t}=await lm.auth.getSession(),n=t.session?.access_token;return e({headers:n?{Authorization:`Bearer ${n}`}:{}})}),dm=mc(),fm=gc(()=>({functionMiddleware:[um],requestMiddleware:[dm]})),pm=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},mm=new class extends pm{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},hm={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},gm=new class{#e=hm;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function _m(e){setTimeout(e,0)}var vm=typeof window>`u`||`Deno`in globalThis;function ym(){}function bm(e,t){return typeof e==`function`?e(t):e}function xm(e){return typeof e==`number`&&e>=0&&e!==1/0}function Sm(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Cm(e,t){return typeof e==`function`?e(t):e}function wm(e,t){return typeof e==`function`?e(t):e}function Tm(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==Dm(o,t.options))return!1}else if(!km(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function Em(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Om(t.options.mutationKey)!==Om(a))return!1}else if(!km(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Dm(e,t){return(t?.queryKeyHashFn||Om)(e)}
22function Om(e){return JSON.stringify(e,(e,t)=>Pm(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function km(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>km(e[n],t[n])):!1}var Am=Object.prototype.hasOwnProperty;function jm(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Nm(e)&&Nm(t);if(!r&&!(Pm(e)&&Pm(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:Am.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=jm(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function Mm(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Nm(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Pm(e){if(!Fm(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Fm(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Fm(e){return Object.prototype.toString.call(e)===`[object Object]`}function Im(e){return new Promise(t=>{gm.setTimeout(t,e)})}function Lm(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:jm(e,t)}function Rm(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function zm(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Bm=Symbol();function Vm(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Bm?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Hm(e,t){return typeof e==`function`?e(...t):!!e}function Um(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Wm=(()=>{let e=()=>vm;return{isServer(){return e()},setIsServer(t){e=t}}})();function Gm(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Km=_m;function qm(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Km,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Jm=qm(),Ym=new class extends pm{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Xm(e){return Math.min(1e3*2**e,3e4)}function Zm(e){return(e??`online`)===`online`?Ym.isOnline():!0}var Qm=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function $m(e){let t=!1,n=0,r,i=Gm(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new Qm(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>mm.isFocused()&&(e.networkMode===`always`||Ym.isOnline())&&e.canRun(),u=()=>Zm(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Wm.isServer()?0:3),o=e.retryDelay??Xm,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),Im(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var eh=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),xm(this.gcTime)&&(this.#e=gm.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Wm.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(gm.clearTimeout(this.#e),this.#e=void 0)}},th=class extends eh{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=ih(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=ih(this.options);e.data!==void 0&&(this.setState(rh(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=Lm(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(ym).catch(ym):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>wm(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Bm||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdate
22Count>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Cm(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!Sm(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=Vm(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=$m({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Qm&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Qm){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...nh(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...rh(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),Jm.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function nh(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Zm(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function rh(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function ih(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdate
22Count:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function ah(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Um(e,()=>t.signal,()=>n=!0)},u=Vm(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?zm:Rm;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?sh:oh,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:oh(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function oh(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function sh(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var ch=class extends eh{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||lh(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=$m({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPau
22sed:!1,status:`error`}}};this.state=t(this.state),Jm.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function lh(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var uh=class extends pm{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new ch({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=dh(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=dh(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=dh(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=dh(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>
vendor: 4,180 bytes, line 22
22t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Jm.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Em(t,e))}findAll(e={}){return this.getAll().filter(t=>Em(e,t))}notify(e){Jm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Jm.batch(()=>Promise.all(e.map(e=>e.continue().catch(ym))))}};function dh(e){return e.options.scope?.id}var fh=class extends pm{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Dm(r,t),a=this.get(i);return a||(a=new th({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Jm.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Tm(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>Tm(e,t)):t}notify(e){Jm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Jm.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Jm.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ph=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new fh,this.#t=e.mutationCache||new uh,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=mm.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ym.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Cm(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=bm(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Jm.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Jm.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Jm.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Jm.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(ym).catch(ym)}invalidateQueries(e,t={}){return Jm.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Jm.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(ym)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(ym)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Cm(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ym).catch(ym)}
22fetchInfiniteQuery(e){return e.behavior=ah(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ym).catch(ym)}ensureInfiniteQueryData(e){return e.behavior=ah(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Ym.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Om(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{km(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(Om(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{km(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=Dm(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Bm&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},mh=A.createContext(void 0),hh=e=>{let t=A.useContext(mh);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},gh=({client:e,children:t})=>(A.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,j.jsx)(mh.Provider,{value:e,children:t})),_h=`/assets/styles-PlhzIUy2.css`;function vh(e,t={}){typeof window>`u`||window.__lovableEvents?.captureException?.(e,{source:`react_error_boundary`,route:window.location.pathname,...t},{mechanism:`react_error_boundary`,handled:!1,severity:`error`})}function yh(){return(0,A.useEffect)(()=>{typeof window<`u`&&window.scrollTo(0,0)},[oc({select:e=>e.location.pathname})]),null}var bh=t(l(),1);function xh(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var Sh=e=>{switch(e){case`success`:return Th;case`info`:return Dh;case`warning`:return Eh;case`error`:return Oh;default:return null}},Ch=Array(12).fill(0),wh=({visible:e,className:t})=>A.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},A.createElement(`div`,{className:`sonner-spinner`},Ch.map((e,t)=>A.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),Th=A.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},A.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),Eh=A.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},A.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),Dh=A.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},A.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),Oh=A.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},A.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),kh=A.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,
22width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},A.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),A.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),Ah=()=>{let[e,t]=A.useState(document.hidden);return A.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},jh=1,Mh=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:jh++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>
22this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],A.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(Ph(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!A.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!A.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!A.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!A.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||jh++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Nh=(e,t)=>{let n=t?.id||jh++;return Mh.addToast({title:e,...t,id:n}),n},Ph=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,Fh=Object.assign(Nh,{success:Mh.success,info:Mh.info,warning:Mh.warning,error:Mh.error,custom:Mh.custom,message:Mh.message,promise:Mh.promise,dismiss:Mh.dismiss,loading:Mh.loading},{getHistory:()=>Mh.toasts,getToasts:()=>Mh.getActiveToasts()});xh(`
vendor: 14,859 bytes, line 22
22[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
22`);function Ih(e){return e.label!==void 0}var Lh=3,Rh=`24px`,zh=`16px`,Bh=4e3,Vh=356,Hh=14,Uh=45,Wh=200;function Gh(...e){return e.filter(Boolean).join(` `)}function Kh(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var qh=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:y,position:b,gap:ee,expandByDefault:te,classNames:x,icons:ne,closeButtonAriaLabel:re=`Close toast`}=e,[ie,ae]=A.useState(null),[oe,se]=A.useState(null),[ce,le]=A.useState(!1),[ue,de]=A.useState(!1),[fe,S]=A.useState(!1),[C,pe]=A.useState(!1),[me,he]=A.useState(!1),[ge,_e]=A.useState(0),[w,ve]=A.useState(0),ye=A.useRef(n.duration||y||Bh),be=A.useRef(null),xe=A.useRef(null),Se=c===0,E=c+1<=o,D=n.type,Ce=n.dismissible!==!1,we=n.className||``,Te=n.descriptionClassName||``,Ee=A.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),De=A.useMemo(()=>n.closeButton??p,[n.closeButton,p]),Oe=A.useMemo(()=>n.duration||y||Bh,[n.duration,y]),ke=A.useRef(0),Ae=A.useRef(0),je=A.useRef(0),Me=A.useRef(null),[Ne,Pe]=b.split(`-`),Fe=A.useMemo(()=>
22s.reduce((e,t,n)=>n>=Ee?e:e+t.height,0),[s,Ee]),Ie=Ah(),Le=n.invert||t,Re=D===`loading`;Ae.current=A.useMemo(()=>Ee*ee+Fe,[Ee,Fe]),A.useEffect(()=>{ye.current=Oe},[Oe]),A.useEffect(()=>{le(!0)},[]),A.useEffect(()=>{let e=xe.current;if(e){let t=e.getBoundingClientRect().height;return ve(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),A.useLayoutEffect(()=>{if(!ce)return;let e=xe.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,ve(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[ce,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let ze=A.useCallback(()=>{de(!0),_e(Ae.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},Wh)},[n,d,a,Ae]);A.useEffect(()=>{if(n.promise&&D===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Ie?(()=>{if(je.current<ke.current){let e=new Date().getTime()-ke.current;ye.current-=e}je.current=new Date().getTime()})():ye.current!==1/0&&(ke.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),ze()},ye.current)),()=>clearTimeout(e)},[u,i,n,D,Ie,ze]),A.useEffect(()=>{n.delete&&(ze(),n.onDismiss==null||n.onDismiss.call(n,n))},[ze,n.delete]);function Be(){return ne?.loading?A.createElement(`div`,{className:Gh(x?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":D===`loading`},ne.loading):A.createElement(wh,{className:Gh(x?.loader,n?.classNames?.loader),visible:D===`loading`})}let Ve=n.icon||ne?.[D]||Sh(D);return A.createElement(`li`,{tabIndex:0,ref:xe,className:Gh(_,we,x?.toast,n?.classNames?.toast,x?.default,x?.[D],n?.classNames?.[D]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":ce,"data-promise":!!n.promise,"data-swiped":me,"data-removed":ue,"data-visible":E,"data-y-position":Ne,"data-x-position":Pe,"data-index":c,"data-front":Se,"data-swiping":fe,"data-dismissible":Ce,"data-type":D,"data-invert":Le,"data-swipe-out":C,"data-swipe-direction":oe,"data-expanded":!!(u||te&&ce),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${ue?ge:Ae.current}px`,"--initial-height":te?`auto`:`${w}px`,...m,...n.style},onDragEnd:()=>{S(!1),ae(null),Me.current=null},onPointerDown:e=>{e.button!==2&&(Re||!Ce||(be.current=new Date,_e(Ae.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(S(!0),Me.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(C||!Ce)return;Me.current=null;let e=Number(xe.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(xe.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-be.current?.getTime(),i=ie===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Uh||a>.11){_e(Ae.current),n.onDismiss==null||n.onDismiss.call(n,n),se(ie===`x`?e>0?`right`:`left`:t>0?`down`:`up`),ze(),pe(!0);return}else{var o,s;(o=xe.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=xe.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}he(!1),S(!1),ae(null)},onPointerMove:t=>{var n,r;if(!Me.current||!Ce||window.getSelection()?.toString().length>0)return;let i=t.clientY-Me.current.y,a=t.clientX-Me.current.x,o=e.swipeDirections??Kh(b);!ie&&(Math.abs(a)>1||Math.abs(i)>1)&&ae(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(ie===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(ie===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&he(!0),(n=xe.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=xe.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},De&&!n.jsx&&D!==`loading`?A.createElement(`button`,{"aria-label":re,"data-disabled":Re,"data-close-button":!0,onClick:Re||!Ce?()=>{}:()=>{ze(),n.onDismiss==null||n.onDismiss.call(n,n)},className:Gh(x?.closeButton,n?.classNames?.closeButton)},ne?.close??kh):null,(D||n.icon||n.promise)&&n.icon!==null&&(ne?.[D]!==null||n.icon)?A.createElement(`div`,{"data-icon":``,className:Gh(x?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||Be():null,n.type===`loading`?null:Ve):null,A.createElement(`div`,{"data-content":``,className:Gh(x?.content,n?.classNames?.content)},A.createElement(`div`,{"data-title":``,className:Gh(x?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?A.createElement(`div`,{"data-description":``,className:Gh(v,Te,x?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),A.isValidElement(n.cancel)?n.c
22ancel:n.cancel&&Ih(n.cancel)?A.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{Ih(n.cancel)&&Ce&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),ze())},className:Gh(x?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,A.isValidElement(n.action)?n.action:n.action&&Ih(n.action)?A.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{Ih(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&ze())},className:Gh(x?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function Jh(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function Yh(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?zh:Rh;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var Xh=A.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=Lh,toastOptions:g,dir:_=Jh(),gap:v=Hh,icons:y,containerAriaLabel:b=`Notifications`}=e,[ee,te]=A.useState([]),x=A.useMemo(()=>n?ee.filter(e=>e.toasterId===n):ee.filter(e=>!e.toasterId),[ee,n]),ne=A.useMemo(()=>Array.from(new Set([i].concat(x.filter(e=>e.position).map(e=>e.position)))),[x,i]),[re,ie]=A.useState([]),[ae,oe]=A.useState(!1),[se,ce]=A.useState(!1),[le,ue]=A.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),de=A.useRef(null),fe=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),S=A.useRef(null),C=A.useRef(!1),pe=A.useCallback(e=>{te(t=>(t.find(t=>t.id===e.id)?.delete||Mh.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return A.useEffect(()=>Mh.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{te(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{bh.flushSync(()=>{te(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[ee]),A.useEffect(()=>{if(d!==`system`){ue(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?ue(`dark`):ue(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{ue(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{ue(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),A.useEffect(()=>{ee.length<=1&&oe(!1)},[ee]),A.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;oe(!0),(t=de.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===de.current||de.current?.contains(document.activeElement))&&oe(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),A.useEffect(()=>{if(de.current)return()=>{S.current&&(S.current.focus({preventScroll:!0}),S.current=null,C.current=!1)}},[de.current]),A.createElement(`section`,{ref:t,"aria-label":`${b} ${fe}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},ne.map((t,n)=>{let[i,a]=t.split(`-`);return x.length?A.createElement(`ol`,{key:t,dir:_===`auto`?Jh():_,tabIndex:-1,ref:de,className:c,"data-sonner-toaster":!0,"data-sonner-theme":le,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${re[0]?.height||0}px`,"--width":`${Vh}px`,"--gap":`${v}px`,...m,...Yh(l,u)},onBlur:e=>{C.current&&!e.currentTarget.contains(e.relatedTarget)&&(C.current=!1,S.current&&=(S.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`fal
22se`||C.current||(C.current=!0,S.current=e.relatedTarget)},onMouseEnter:()=>oe(!0),onMouseMove:()=>oe(!0),onMouseLeave:()=>{se||oe(!1)},onDragEnd:()=>oe(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||ce(!0)},onPointerUp:()=>ce(!1)},x.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>A.createElement(qh,{key:n.id,icons:y,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:se,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:pe,toasts:x.filter(e=>e.position==n.position),heights:re.filter(e=>e.position==n.position),setHeights:ie,expandByDefault:o,gap:v,expanded:ae,swipeDirections:e.swipeDirections}))):null}))}),Zh=({...e})=>(0,j.jsx)(Xh,{className:`toaster group`,toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-muted-foreground`,actionButton:`group-[.toast]:bg-primary group-[.toast]:text-primary-foreground`,cancelButton:`group-[.toast]:bg-muted group-[.toast]:text-muted-foreground`}},...e});function Qh(){return(0,j.jsx)(`div`,{className:`flex min-h-screen flex-col bg-background text-foreground`,children:(0,j.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-4 py-16`,children:(0,j.jsxs)(`div`,{className:`max-w-xl text-center`,children:[(0,j.jsx)(`p`,{className:`text-sm font-semibold uppercase tracking-wider text-primary`,children:`404 Error`}),(0,j.jsx)(`h1`,{className:`mt-3 text-4xl font-bold tracking-tight md:text-5xl`,children:`Page Not Found`}),(0,j.jsx)(`p`,{className:`mt-4 text-muted-foreground`,children:`The page you're looking for may have moved or doesn't exist. Try one of these instead — or call us directly and we'll point you in the right direction.`}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-wrap justify-center gap-3`,children:[(0,j.jsx)(xe,{to:`/roofing-contractor-takoma-park-md`,className:`inline-flex items-center justify-center rounded-md bg-primary px-5 py-2.5 text-sm font-semibold text-primary-foreground transition-colors hover:bg-primary/90`,children:`Go to Homepage`}),(0,j.jsx)(xe,{to:`/services`,className:`inline-flex items-center justify-center rounded-md border border-input bg-background px-5 py-2.5 text-sm font-semibold transition-colors hover:bg-accent`,children:`Browse Services`}),(0,j.jsx)(xe,{to:`/contact`,className:`inline-flex items-center justify-center rounded-md border border-input bg-background px-5 py-2.5 text-sm font-semibold transition-colors hover:bg-accent`,children:`Contact Us`})]}),(0,j.jsxs)(`p`,{className:`mt-8 text-sm text-muted-foreground`,children:[`Or call us directly at`,` `,(0,j.jsx)(`a`,{href:`tel:3014959274`,className:`font-semibold text-primary hover:underline`,children:`301-495-9274`})]})]})})})}function $h({error:e,reset:t}){console.error(e);let n=s();return(0,A.useEffect)(()=>{vh(e,{boundary:`tanstack_root_error_component`})},[e]),(0,j.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-4`,children:(0,j.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,j.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground`,children:`This page didn't load`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Something went wrong on our end. You can try refreshing or head back home.`}),(0,j.jsxs)(`div`,{className:`mt-6 flex flex-wrap justify-center gap-2`,children:[(0,j.jsx)(`button`,{onClick:()=>{n.invalidate(),t()},className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90`,children:`Try again`}),(0,j.jsx)(`a`,{href:`/`,className:`inline-flex items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-accent`,children:`Go home`})]})]})})}var H=zs()({head:()=>({meta:[{charSet:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{title:`Affordable Roofing | Roofing Contractor Takoma Park MD`},{name:`description`,content:`Licensed and insured roofing contractor serving Takoma Park, MD and the DMV. Free inspections, repairs, replacements, gutters, and skylights.`},{name:`author`,content:`Affordable Roofing`},{property:`og:title`,content:`Affordable Roofing | Roofing Contractor Takoma Park MD`},{property:`og:description`,content:`Licensed and insured roofing contractor serving Takoma Park, MD and the DMV. Free inspections and same-day emergency repair.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`stylesheet`,href:_h}
22,{rel:`icon`,type:`image/png`,href:`/favicon.png`}],scripts:[{src:`https://cdn.idpixel.app/v1/idp-analytics-6a85f84e5ea57431fb18b38a.min.js`,defer:!0}]}),shellComponent:tg,component:ng,notFoundComponent:Qh,errorComponent:$h}),eg=`
23(function(){
24  var tracked = '__phone_click_tracked';
25  document.addEventListener('click', function(e){
26    var el = e.target.closest('a[href^="tel:"]');
27    if (!el || el[tracked]) return;
28    el[tracked] = true;
29    var payload = {
30      pagePath: window.location.pathname + window.location.search,
31      userAgent: navigator.userAgent,
32      referrer: document.referrer,
33      label: el.getAttribute('data-phone-label') || 'phone'
34    };
35    var blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });
36    if (navigator.sendBeacon) {
37      navigator.sendBeacon('/api/public/track-phone-click', blob);
38    } else {
39      fetch('/api/public/track-phone-click', {
40        method: 'POST',
41        headers: { 'Content-Type': 'application/json' },
42        body: JSON.stringify(payload),
43        keepalive: true
44      }).catch(function(){});
45    }
46  }, true);
47})();
48`;function tg({children:e}){return(0,j.jsxs)(`html`,{lang:`en`,children:[(0,j.jsx)(`head`,{children:(0,j.jsx)(dc,{})}),(0,j.jsxs)(`body`,{children:[(0,j.jsx)(`script`,{dangerouslySetInnerHTML:{__html:eg}}),e,(0,j.jsx)(fc,{})]})]})}function ng(){let{queryClient:e}=H.useRouteContext();return(0,j.jsxs)(gh,{client:e,children:[(0,j.jsx)(yh,{}),(0,j.jsx)(Zs,{}),(0,j.jsx)(Zh,{})]})}var rg={parentLabel:`Gutter Services`,parentUrl:`/gutter-services-takoma-park-md`,hero:Oe},ig={parentLabel:`Skylight Services`,parentUrl:`/skylight-services-takoma-park-md`,hero:ke},ag={parentLabel:`Building Restoration`,parentUrl:`/building-restoration-takoma-park-md`,hero:Ae},og={parentLabel:`Insulation Services`,parentUrl:`/insulation-services-takoma-park-md`,hero:je},sg={parentLabel:`Roof Repair`,parentUrl:`/roof-repair-takoma-park-md`,hero:Me},cg={parentLabel:`Roof Replacement`,parentUrl:`/roof-replacement-takoma-park-md`,hero:Ne},lg={parentLabel:`Flat Roofing`,parentUrl:`/flat-roofing-takoma-park-md`,hero:Pe},ug={parentLabel:`Residential Roofing`,parentUrl:`/residential-roofing-takoma-park-md`,hero:Fe},dg={parentLabel:`Storm Damage Roof Repair`,parentUrl:`/storm-damage-roof-repair-takoma-park-md`,hero:Ie},fg={parentLabel:`Affordable Roofing`,parentUrl:be,hero:De};function U(e,t){return{...t,...e}}var pg=[U(rg,{url:`/gutter-cleaning-takoma-park-md`,label:`Gutter Cleaning`,benefit:`Clear Gutters Before the Next Storm`,problem:`clogged or overflowing gutters`,signs:[`water spilling over the front edge during rain`,`plants growing out of the gutter`,`stains on the fascia and siding below`],causes:`leaves, shingle grit, twigs, and seed pods from the heavy DMV tree canopy`,processSteps:[`hand-clear all debris into a tarp on the ground`,`flush the gutters and downspouts to confirm flow`,`bag the debris and leave the property clean`],costFactors:[`the size and height of your home`,`how packed the gutters are`,`whether downspouts also need clearing`],timeline:`Most single-family cleanings take 60 to 90 minutes and are done same day.`,heroAlt:`Professional cleaning leaves from a residential gutter in Takoma Park, MD`}),U(rg,{url:`/gutter-repair-takoma-park-md`,label:`Gutter Repair`,benefit:`Fix the Leak, Save the Fascia`,problem:`leaking, sagging, or pulled-away gutters`,signs:[`a drip line behind the gutter`,`gutters separating from the fascia`,`rusty seams or cracked end caps`],causes:`loose hangers, failed seam sealant, freeze-thaw cracking, and ice dams`,processSteps:[`inspect the full run to find every failure point`,`reseal seams, replace hangers, and patch holes with matching material`,`re-pitch the run and test water flow with a hose`],costFactors:[`how many feet of gutter need work`,`whether new hangers or sections are required`,`access height and roof pitch`],timeline:`Most repairs are completed in 2 to 4 hours on the same visit.`,heroAlt:`Roofer repairing a damaged gutter on a home in Takoma Park, MD`}),U(rg,{url:`/gutter-guard-installation-takoma-park-md`,label:`Gutter Guard Installation`,benefit:`Stop Climbing the Ladder Every Fall`,problem:`gutters that keep clogging no matter how often you clean them`,signs:[`needing to clean more than twice a year`,`overflow during heavy rain`,`trees overhanging the roof`],causes:`o
48pen gutters under heavy tree canopy that drop leaves and seed pods constantly`,processSteps:[`clean and inspect the existing gutters`,`install a matched gutter guard system across every run`,`verify water still flows freely through the guards and downspouts`],costFactors:[`linear feet of gutter`,`the guard material and grade you choose`,`any repair work needed before install`],timeline:`Most homes are completed in one day, with a written product and labor warranty.`,heroAlt:`Gutter guards installed over a residential gutter in Takoma Park, MD`}),U(rg,{url:`/downspout-cleaning-takoma-park-md`,label:`Downspout Cleaning`,benefit:`Get Water Flowing Through Again`,problem:`blocked downspouts that back up into your gutters`,signs:[`water overflowing only near one downspout`,`a hollow sound when you tap the downspout`,`ice buildup at the elbow in winter`],causes:`leaves packing the elbow, shingle grit settling at the bottom, and bird or wasp nests`,processSteps:[`disconnect the elbow and inspect the blockage`,`flush the downspout from the top with high-pressure water`,`re-seat the elbow and verify free flow through the entire system`],costFactors:[`how many downspouts are affected`,`how packed each one is`,`whether underground drain lines also need clearing`],timeline:`Single-home downspout clearing takes 30 to 60 minutes.`,heroAlt:`Cleared residential downspout draining freely on a Takoma Park, MD home`}),U(rg,{url:`/gutter-maintenance-takoma-park-md`,label:`Gutter Maintenance`,benefit:`Set It and Forget It`,problem:`gutters you have to keep thinking about every season`,signs:[`you cannot remember the last cleaning`,`small leaks you keep meaning to fix`,`no record of when guards or sealant were last serviced`],causes:`lack of a regular schedule and seasonal debris in the DMV that builds quickly`,processSteps:[`enroll your property in a 1, 2, or 4-visit annual plan`,`clean, inspect, and reseal small issues on every visit`,`send a written report with photos after each service`],costFactors:[`number of visits per year`,`linear feet of gutter`,`home height and access`],timeline:`Most maintenance visits are 60 to 90 minutes; we schedule automatically every season.`,heroAlt:`Technician on a ladder maintaining residential gutters in Takoma Park, MD`}),U(rg,{url:`/gutter-inspection-takoma-park-md`,label:`Gutter Inspection`,benefit:`Know What You Are Dealing With`,problem:`uncertainty about whether your gutters need cleaning, repair, or replacement`,signs:[`new home purchase`,`noticing stains or drips you cannot explain`,`an insurance or HOA request for documentation`],causes:`decades of age, prior DIY repairs, or simply never having a professional eye on the system`,processSteps:[`walk every run, check pitch, hangers, and seams`,`photograph every problem area from the roof`,`deliver a written report with a clear repair vs replace recommendation`],costFactors:[`whether inspection is bundled with cleaning`,`home size and access`,`whether scope photos are needed for insurance`],timeline:`Inspections take 45 to 90 minutes; written report delivered the same day.`,heroAlt:`Professional inspecting gutters and downspouts on a Takoma Park, MD home`}),U(rg,{url:`/gutter-replacement-takoma-park-md`,label:`Gutter Replacement`,benefit:`New Seamless Gutters, Built to Last`,problem:`gutters past the point where patching makes sense`,signs:[`rust through in multiple spots`,`constant leaks after every cleaning`,`fascia damage from years of overflow`],causes:`age over 20 years, ice damage, and original cheap gutter material that has finally given up`,processSteps:[`remove the old gutters and inspect the fascia`,`form new seamless aluminum or copper gutters on site to exact length`,`install with hidden hangers, new downspouts, and proper pitch`],costFactors:[`linear feet`,`material (aluminum vs copper)`,`any fascia repair needed before install`],timeline:`Most full replacements are done in one day with a 20-to-30-year material life.`,heroAlt:`New seamless aluminum gutters installed on a Takoma Park, MD home`}),U(rg,{url:`/sagging-gutter-correction-takoma-park-md`,label:`Sagging Gutter Correction`,benefit:`Re-Pitch and Re-Hang the Run`,problem:`a gutter that has pulled away from the fascia or dropped in the middle`,signs:[`a visible dip in the middle of the run`,`water pooling in one section`,`gutter spike heads pulling out of the fascia`],causes:`failed spike-and-ferrule hangers, water weight from clogs, and ice loads`,processSteps:[`clear the run and measure the existing pitch`,`install hidden hangers every 24 inches and re-pitch toward the downspout`,`test water flow and seal any reopened seams`],costFactors:[`how long the affected run is`,`whether fascia is also damaged`,`hanger upgrade selected`],timeline:`Most corrections are completed in 2 to 3 hours same day.`,heroAlt:`Sagging gutter being re-hung on a Takoma Park, MD home`}),U(rg,{url:`/gutter-leak-detection-takoma-park-md`,label:`Gutter Leak Detection`,benefit:`Find the Drip You Cannot Trace`,problem:`a stain or drip line you can see but a leak source you cannot`,signs:[`a stain on the siding under a clean gutter`,`a wet spot at the foundation only in heavy rain`,`mold or staining inside a soffit`],causes:`pinhole seam failures, hidden cracks behind the gutter, and back-pitch issues that look fine when dry`,processSteps:[`flush the system in stages with a hose to isolate the area`,`use chalk or dye to mark exact failure points`,`seal or replace only the failed section and re-test`],costFactors:[`how many runs need testing`,`whether seams or full sections need replacement`,`access height`],timeline:`Most leak detection visits take 1 to 2 hours plus repair time.`,heroAlt:`Roofer detecting a hidden gutter leak on a Takoma Park, MD home`}),U(rg,{url:`/gutter-downspout-rerouting-takoma-park-md`,label:`Gutter Downspout Rerouting`,benefit:`Send Water Where You Want It`,problem:`water dumping right next to your foundation, walkway, or garden`,signs:[`puddles at the foundation after rain`,`mulch washed out of beds`,`water in the basement only during storms`],causes:`downspouts that empty too close to the house and n
48o extension or underground drain to carry water away`,processSteps:[`map water flow and pick a safe discharge point`,`extend the downspout with new elbows, underground PVC, or splash blocks`,`test with a heavy flush to confirm full diversion`],costFactors:[`how far the water needs to travel`,`whether trenching for underground pipe is needed`,`above-ground vs buried solution`],timeline:`Most reroutes are completed in 2 to 5 hours same day.`,heroAlt:`Rerouted downspout discharging away from a Takoma Park, MD home foundation`}),U(rg,{url:`/commercial-gutter-service-takoma-park-md`,label:`Commercial Gutter Service`,benefit:`Scheduled Service for Property Managers`,problem:`multi-tenant or commercial gutters that no one in your building wants to climb up and check`,signs:[`tenant complaints about overflow`,`stained brick or stucco`,`an insurance or HOA request for service records`],causes:`large flat-roof drainage systems, scuppers, and tall building gutters that need a commercial crew`,processSteps:[`walk the building and document every gutter, downspout, and scupper`,`set a recurring contract with photo reports`,`respond same day to any in-between emergencies`],costFactors:[`building size and height`,`service frequency`,`whether scuppers or roof drains are included`],timeline:`Most commercial visits are completed within one business day with full documentation.`,heroAlt:`Commercial building gutters being serviced in the Takoma Park, MD area`}),U(rg,{url:`/residential-gutter-service-takoma-park-md`,label:`Residential Gutter Service`,benefit:`One Call, Every Gutter Need`,problem:`a homeowner gutter issue you would rather hand off than handle yourself`,signs:[`a one-time cleaning need`,`a small repair you have been putting off`,`wanting a full estimate before you sell or buy`],causes:`normal seasonal debris and age across the DMV housing stock`,processSteps:[`confirm scope over the phone or by photo`,`complete the work in a single visit when possible`,`leave a written summary of what was done and what was found`],costFactors:[`scope (clean, repair, or both)`,`home height and complexity`,`any add-on guards or extensions`],timeline:`Most residential calls are completed in one same-day visit.`,heroAlt:`Crew servicing residential gutters on a Takoma Park, MD home`}),U(rg,{url:`/gutter-soffit-repair-takoma-park-md`,label:`Gutter Soffit Repair`,benefit:`Rebuild the Wood the Old Gutter Damaged`,problem:`rotted or stained soffit boards behind a long-leaking gutter`,signs:[`sagging or crumbling soffit`,`paint peeling under the eave`,`wasp or bird activity in soffit cavities`],causes:`years of overflow from clogged or back-pitched gutters and water wicking into untreated wood`,processSteps:[`remove the affected gutter section and damaged soffit`,`replace fascia and soffit boards with primed, painted material`,`re-hang the gutter with proper pitch and new hangers`],costFactors:[`linear feet of damaged wood`,`paint matching`,`whether structural fascia replacement is needed`],timeline:`Most soffit repairs take 1 to 2 days depending on scope.`,heroAlt:`Repaired soffit and fascia under a new gutter on a Takoma Park, MD home`}),U(rg,{url:`/box-gutter-repair-takoma-park-md`,label:`Box Gutter Repair`,benefit:`Specialty Repair for Historic Built-In Gutters`,problem:`a leaking built-in box gutter on an older DMV row house or historic home`,signs:[`a stain at the top of an interior wall`,`water tracking down a parapet`,`old EPDM or copper showing splits`],causes:`failed solder joints, cracked liner membrane, or original wood that has finally rotted`,processSteps:[`expose the gutter trough and inspect the wood substrate`,`rebuild any rotted wood and install a new EPDM or copper liner`,`seal all transitions, terminations, and test with water`],costFactors:[`liner material (EPDM vs copper)`,`extent of wood rebuild`,`scaffolding or lift access`],timeline:`Most box gutter repairs take 2 to 4 days depending on length and access.`,heroAlt:`Historic box gutter being repaired on a Takoma Park, MD area home`}),U(rg,{url:`/underground-drain-cleaning-takoma-park-md`,label:`Underground Drain Cleaning`,benefit:`Clear the Buried Line All the Way Out`,problem:`downspouts that back up because the underground drain line is clogged`,signs:[`water shooting back up out of a downspout`,`wet ground at the buried discharge`,`no flow from the discharge during rain`],causes:`tree roots, collapsed 
48sections, leaves packed at bends, and old corrugated pipe that has crushed`,processSteps:[`camera or auger the line from the downspout end`,`clear roots and debris back to the discharge`,`verify open flow with a heavy water test`],costFactors:[`length of underground line`,`severity of root intrusion`,`whether replacement of a collapsed section is needed`],timeline:`Most cleanings are completed in 1 to 3 hours; full re-lines take longer.`,heroAlt:`Underground drain line being cleared at a Takoma Park, MD home`}),U(ig,{url:`/skylight-installation-takoma-park-md`,label:`Skylight Installation`,benefit:`Add Real Daylight to Any Room`,problem:`a dark room that could use natural light`,signs:[`a bathroom or hallway with no exterior windows`,`a kitchen that feels cave-like by day`,`an attic conversion needing code-compliant light`],causes:`interior floor plans, deep eaves, or homes built without daylight in mind`,processSteps:[`select size, model, and location with you`,`cut, frame, flash, and install the unit per manufacturer spec`,`finish the interior light shaft to match your ceiling`],costFactors:[`skylight model and size`,`fixed vs vented vs motorized`,`complexity of the interior light shaft`],timeline:`Most single-skylight installs are completed in one day.`,heroAlt:`New residential skylight installed in a Takoma Park, MD home`}),U(ig,{url:`/skylight-repair-takoma-park-md`,label:`Skylight Repair`,benefit:`Stop the Leak, Save the Drywall`,problem:`a skylight that has started leaking, fogging, or fogging up`,signs:[`water stains on the light shaft`,`condensation between the glass panes`,`wind whistling around the frame`],causes:`failed flashing, cracked seals around the glass, or worn gaskets at the frame`,processSteps:[`diagnose whether the leak is flashing, glass seal, or gasket`,`replace the failed component with the correct manufacturer part`,`test with water and document the repair`],costFactors:[`which component failed`,`skylight age and brand`,`interior drywall repair if needed`],timeline:`Most skylight repairs are completed in 2 to 4 hours same day.`,heroAlt:`Roofer repairing a leaking skylight on a Takoma Park, MD home`}),U(ig,{url:`/skylight-replacement-takoma-park-md`,label:`Skylight Replacement`,benefit:`New Unit, New Warranty`,problem:`a failed or end-of-life skylight that is no longer worth repairing`,signs:[`fogging between panes that will not clear`,`repeated leaks despite multiple fixes`,`a unit over 20 years old`],causes:`age, broken seals, sun and UV damage to the gaskets and frame`,processSteps:[`remove the old unit and inspect the deck and curb`,`install a new manufacturer unit with full step flashing kit`,`finish the light shaft and test for water`],costFactors:[`skylight size and model`,`deck or curb repair`,`interior finishing`],timeline:`Most full replacements are completed in one day with a manufacturer warranty.`,heroAlt:`Newly replaced skylight on a Takoma Park, MD area home`}),U(ig,{url:`/leaking-skylight-repair-takoma-park-md`,label:`Leaking Skylight Repair`,benefit:`Find the Water Source Fast`,problem:`active water coming in around your skylight`,signs:[`a drip on the floor under the skylight`,`darkening on the ceiling around the unit`,`active staining after every rain`],causes:`failed flashing kit, cracked sealant at the frame, or condensation mistaken for a leak`,processSteps:[`confirm whether the source is flashing, glass, or condensation`,`rebuild flashing or reseal the unit per spec`,`test with controlled water and confirm dry`],costFactors:[`whether flashing must be rebuilt`,`any decking damage from prior leaks`,`interior drywall repair`],timeline:`Most active leaks are stopped same day; permanent fix within 24 hours.`,heroAlt:`Leaking skylight being repaired on a Takoma Park, MD home`}),U(ig,{url:`/skylight-flashing-repair-takoma-park-md`,label:`Skylight Flashing Repair`,benefit:`Rebuild the Metal Seal`,problem:`skylight flashing that has lifted, cracked, or pulled away`,signs:[`visible gaps between shingles and skylight frame`,`rust or corrosion at the flashing`,`leaks that show up only with wind-driven rain`],causes:`expansion-contraction stress, ice damming, or original install that used caulk instead of step flashing`,processSteps:[`remove surrounding shingles to expose the flashing`,`install a manufacturer step-and-counter flashing kit`,`re-shingle and seal all penetrations`],costFactors:[`age and brand of the skylight`,`extent of shingle disturbance`,`whether full kit replacement is needed`],timeline:`Most flashing rebuilds take 3 to 5 hours s
48ame day.`,heroAlt:`New step flashing installed around a skylight on a Takoma Park, MD home`}),U(ig,{url:`/velux-skylight-installation-takoma-park-md`,label:`Velux Skylight Installation`,benefit:`Factory-Spec Velux Installs`,problem:`wanting a Velux skylight installed correctly the first time`,signs:[`a current Velux that is past its life`,`wanting brand-warranty coverage`,`an architect or builder specifying Velux`],causes:`Velux flashing kits must be installed exactly to spec to maintain warranty — most leaks come from off-spec installs`,processSteps:[`confirm model and order matched flashing kit`,`cut and frame the opening to Velux dimensions`,`install per Velux installer protocol so the warranty is preserved`],costFactors:[`model selected (Fixed, Solar, Electric)`,`roof type and pitch`,`interior light shaft work`],timeline:`Single-unit Velux installs are completed in one day.`,heroAlt:`Velux skylight installed by certified roofer on a Takoma Park, MD home`}),U(ig,{url:`/flat-roof-skylight-installation-takoma-park-md`,label:`Flat Roof Skylight Installation`,benefit:`Add Daylight to a Flat-Roof Home`,problem:`wanting a skylight on a flat or low-slope roof`,signs:[`a dark interior in a flat-roof addition`,`row-house owners wanting overhead light`,`commercial space needing daylighting`],causes:`flat roofs require curb-mounted skylights and integrated membrane flashing, which not every installer handles`,processSteps:[`build a sloped curb on the deck`,`flash the curb into the existing membrane (TPO, EPDM, or modified bitumen)`,`install the curb-mounted skylight and finish the interior`],costFactors:[`membrane type`,`curb size and slope`,`interior finish work`],timeline:`Most flat-roof skylight installs are completed in 1 to 2 days.`,heroAlt:`Curb-mounted skylight installed on a flat roof in Takoma Park, MD`}),U(ig,{url:`/tubular-skylight-installation-takoma-park-md`,label:`Tubular Skylight Installation`,benefit:`Daylight Without Cutting a Big Hole`,problem:`wanting daylight in a closet, bathroom, or hallway with no easy skylight path`,signs:[`a small interior room with no windows`,`a tight attic with little room for a shaft`,`wanting daylight without significant remodeling`],causes:`traditional skylights need a wide shaft; tubular units bring light through a 10-to-14-inch reflective tube`,processSteps:[`cut a small roof opening and install the dome`,`run the reflective tube down to the ceiling diffuser`,`seal everything top to bottom and test`],costFactors:[`tube length and number of bends`,`dome size`,`ceiling finish work`],timeline:`Most installs are completed in half a day.`,heroAlt:`Tubular skylight diffuser in a bathroom in Takoma Park, MD`}),U(ig,{url:`/solar-skylight-installation-takoma-park-md`,label:`Solar Skylight Installation`,benefit:`Vent Without Wiring`,problem:`wanting a vented skylight without running electrical to the roof`,signs:[`a hot bathroom that needs ventilation`,`a kitchen with no exterior vent`,`wanting tax-credit-eligible solar`],causes:`fully solar-powered units open and close on their own power and qualify for federal solar tax credits when installed correctly`,processSteps:[`select size and model with you and confirm tax credit eligibility`,`install the unit with manufacturer flashing kit`,`set up the rain sensor and remote and verify operation`],costFactors:[`model selected`,`interior light shaft`,`whether existing skylight is being replaced`],timeline:`Most installs are completed in one day with tax-credit paperwork.`,heroAlt:`Solar-powered vented skylight on a Takoma Park, MD home`}),U(ig,{url:`/electric-skylight-installation-takoma-park-md`,label:`Electric Skylight Installation`,benefit:`Open and Close from Your Phone`,problem:`wanting motorized control of an existing or new skylight`,signs:[`a high ceiling that is hard to reach manually`,`wanting smart-home integration`,`needing scheduled venting in a bathroom or kitchen`],causes:`electric skylights need both proper roof install and proper low-voltage wiring`,processSteps:[`install the unit with manufacturer flashing kit`,`run low-voltage wiring to the controller`,`pair the remote and rain sensor and verify operation`],costFactors:[`model and size`,`wiring run length`,`smart-home integration`],timeline:`Most installs are completed in one day.`,heroAlt:`Motorized skylight installed on a Takoma Park, MD home`}),U(ig,{url:`/sun-tunnel-installation-takoma-park-md`,label:`Sun Tunnel Installation`,benefit:`Bring the Outside In`,problem:`a dark interior space that cannot accept a traditional skylight`,signs:[`a closet, hallway, or laundry room with no windows`,`deep eaves blocking light`,`an attic in the path to the ceiling`],causes:`small interior rooms need flexible tunnel runs and reflective tubing to deliver real daylight`,processSteps:[`cut a small dome opening on the roof`,`run the flexible reflective tunnel to the ceiling diffuser`,`seal all penetrations and finish the diffuser`],costFactors:[`tunnel length and number of bends`,`dome size`,`ceiling finish`],timeline:`Most sun tunnel installs are completed in half a day.`,heroAlt:`Sun tunnel dome and ceiling diffuser installed in a Takoma Park, MD home`}),U(ig,{url:`/skylight-glass-replacement-takoma-park-md`,label:`Skylight Glass Replacement`,benefit:`New Glass, Same Frame`,problem:`a fogged or cracked skylight pane in an otherwise good frame`,signs:[`condensation trapped between panes`,`a visible crack in the glass`,`loss of energy efficie
48ncy`],causes:`broken thermal seals, hail strikes, or branch impact`,processSteps:[`confirm model and order matched OEM glass`,`remove the failed pane and any damaged gaskets`,`install new glass with fresh gaskets and seal`],costFactors:[`skylight model and glass type`,`low-E or impact-resistant upgrade`,`any frame damage`],timeline:`Most glass replacements are completed in 2 to 4 hours.`,heroAlt:`Replacement glass installed in a skylight on a Takoma Park, MD home`}),U(ig,{url:`/energy-efficient-skylight-installation-takoma-park-md`,label:`Energy Efficient Skylight Installation`,benefit:`Daylight Without the Heat Gain`,problem:`wanting more light without driving up your cooling bill`,signs:[`a sunny room that becomes unusable in summer`,`an old single-pane skylight wasting energy`,`wanting to qualify for federal energy credits`],causes:`older skylights have poor U-values and SHGC; modern Energy Star units do much better`,processSteps:[`select an Energy Star qualifying model with low-E coating`,`install with manufacturer flashing kit and proper insulation around the curb`,`deliver tax credit paperwork where applicable`],costFactors:[`model selected`,`glass coating upgrade`,`any curb insulation work`],timeline:`Most installs are completed in one day.`,heroAlt:`Energy efficient skylight installed on a Takoma Park, MD home`}),U(ig,{url:`/commercial-skylight-services-takoma-park-md`,label:`Commercial Skylight Services`,benefit:`Install, Repair, and Reseal — One Crew`,problem:`leaking, fogging, or end-of-life skylights on a commercial building`,signs:[`tenant complaints about drips`,`stained ceiling tile`,`scheduled facility maintenance is overdue`],causes:`industrial skylights age the same as residential, but a commercial roof needs commercial-grade reflashing`,processSteps:[`inspect every unit and photograph problems for your facility log`,`repair, reseal, or replace with matched commercial units`,`phase work to keep the building open`],costFactors:[`number of units`,`membrane type for reflashing`,`lift or scaffolding access`],timeline:`Most commercial skylight scopes are completed within one to three days.`,heroAlt:`Commercial skylight being serviced on a flat roof in the Takoma Park, MD area`}),U(ig,{url:`/residential-skylight-services-takoma-park-md`,label:`Residential Skylight Services`,benefit:`Every Skylight Need in One Call`,problem:`any skylight issue at home — leak, fog, or install`,signs:[`a stain near the skylight`,`fogging between panes`,`wanting to add a new unit`],causes:`DMV homes see hard sun, heavy rain, and freeze-thaw stress that age skylights fast`,processSteps:[`confirm scope by photo or onsite visit`,`complete repair, replacement, or new install in one trip when possible`,`leave a written warranty document`],costFactors:[`scope (repair, replace, or install)`,`model and brand`,`interior finish work`],timeline:`Most residential calls are completed in one same-day visit.`,heroAlt:`Residential skylight being serviced on a Takoma Park, MD home`}),U(ag,{url:`/roof-restoration-takoma-park-md`,label:`Roof Restoration`,benefit:`Squeeze More Years From an Aging Roof`,problem:`an aging roof that does not yet need full replacement`,signs:[`minor leaks in isolated spots`,`shingle granules dulling`,`ponding on a flat roof`],causes:`normal wear, sun damage, and surface erosion that has not yet reached the deck`,processSteps:[`fully clean and inspect the roof surface`,`make all repairs to flashing, seams, and missing material`,`apply matched restorative coating where appropriate`],costFactors:[`roof size and type`,`scope of repairs`,`coating system selected`],timeline:`Most restorations are completed in 2 to 4 days and extend roof life 7 to 15 years.`,heroAlt:`Restored roof on a commercial building in the Takoma Park, MD area`}),U(ag,{url:`/building-cleaning-takoma-park-md`,label:`Building Cleaning`,benefit:`Refresh the Exterior Without Replacing It`,problem:`a building exterior covered in algae, dirt, pollen, or pollution stains`,signs:[`green or black streaks on stucco or brick`,`darkened siding`,`a tired-looking storefront`],causes:`humidity, tree pollen, vehicle exhaust, and years of weather across the DMV`,processSteps:[`protect plantings and electrical with covers`,`wash with the correct soft-wash or low-pressure system for each surface`,`rinse and inspect for any missed areas`],costFactors:[`building size and stories`,`surface type`,`any treatment for active mold or algae`],timeline:`Most single-building cleans are completed in 1 to 2 days.`,heroAlt:`Commercial building exterior being soft-washed in the Takoma Park, MD area`}),U(ag,{url:`/graffiti-removal-takoma-park-md`,label:`Graffiti Removal`,benefit:`Wipe It Off Today, Not Next Week`,problem:`fresh graffiti on your building, wall, or roof`,signs:[`any unwanted paint or marker on your exterior`,`repeated tagging in one spot`,`an HOA or city notice`],causes:`exposed walls, low-traffic alleys, and surfaces without anti-graffiti coatings`,processSteps:[`match the right removal method to the surface`,`remove the graffiti without etching brick, stone, or paint underneath`,`apply an anti-graffiti coating if requested to make future cleanup easier`],costFactors:[`size of the affected area`,`surface type`,`whether a protective coating is added`],timeline:`Most graffiti is removed same day or next day.`,heroAlt:`Graffiti being removed from a brick wall in the Takoma Park, MD area`}),U(ag,{url:`/roof-coating-takoma-park-md`,label:`Roof Coating`,benefit:`Add 10+ Years With the Right Coating`,problem:`a flat or low-slope roof that is showing surface wear`,signs:[`a chalky or faded surface on EPDM, TPO, or modified bitumen`,`minor seam separations`,`rising summer cooling bills`],causes:`UV degradation, ponding, and normal aging that have weakened but not killed the membrane`,processSteps:[`clean the entire roof and prep failing seams`,`apply the matched primer and coating system`,`verify thickness and seal all penetrations`],costFactors:[`roof square footage`,`coating chemistry (silicone, acrylic, urethane)`,`repairs needed before coating`],timeline:`Most coating jobs take 2 to 4 days and carry a renew
48able manufacturer warranty.`,heroAlt:`Reflective roof coating being applied on a commercial roof in Takoma Park, MD`}),U(ag,{url:`/roof-waterproofing-takoma-park-md`,label:`Roof Waterproofing`,benefit:`Stop the Water Before It Starts`,problem:`a roof, deck, or wall area that keeps letting water in`,signs:[`recurring leaks despite repair`,`efflorescence on interior brick`,`damp basement ceilings under a flat roof`],causes:`porous masonry, failed membrane, or missing waterproof underlayment at vulnerable transitions`,processSteps:[`map every water entry point with a moisture meter and visual inspection`,`apply the appropriate waterproof membrane or sealer system`,`test by flooding or controlled water and document`],costFactors:[`area to waterproof`,`system chemistry`,`any prep work needed for cracked masonry`],timeline:`Most waterproofing projects take 1 to 3 days depending on size.`,heroAlt:`Waterproofing membrane installed on a flat roof in Takoma Park, MD`}),U(ag,{url:`/roof-mold-removal-takoma-park-md`,label:`Roof Mold Removal`,benefit:`Kill the Mold, Save the Shingles`,problem:`dark mold or mildew growth on your roof`,signs:[`dark patches that do not wash off in rain`,`musty smell from the attic`,`spreading discoloration year over year`],causes:`shade, humidity, and the DMV tree canopy keeping shingles damp for long stretches`,processSteps:[`apply a roof-safe biocide cleaner to the affected areas`,`soft-wash and rinse without damaging shingles`,`install zinc or copper strips to prevent regrowth`],costFactors:[`roof size`,`severity of growth`,`preventive strip installation`],timeline:`Most roof cleanings are completed in 3 to 6 hours same day.`,heroAlt:`Mold and algae being removed from a residential roof in Takoma Park, MD`}),U(ag,{url:`/roof-algae-removal-takoma-park-md`,label:`Roof Algae Removal`,benefit:`Erase the Black Streaks`,problem:`dark streaks running down your shingles`,signs:[`black or green vertical stains on north-facing slopes`,`uneven roof appearance from the street`,`neighbors getting their roofs cleaned`],causes:`Gloeocapsa magma algae thrives on shaded DMV roofs and feeds on the limestone in modern shingles`,processSteps:[`apply roof-safe algicide and let it dwell`,`soft-wash the surface and rinse clean`,`install zinc or copper strips at the ridge to prevent regrowth`],costFactors:[`roof size`,`severity of staining`,`preventive strip installation`],timeline:`Most algae cleanings are completed same day with a 2 to 5 year prevention warranty.`,heroAlt:`Algae streaks being washed off shingles on a Takoma Park, MD home`}),U(ag,{url:`/roof-moss-removal-takoma-park-md`,label:`Roof Moss Removal`,benefit:`Lift the Moss Before It Lifts Your Shingles`,problem:`moss growing on or between your shingles`,signs:[`green or brown mossy clumps on shaded slopes`,`lifted shingle edges`,`moisture damage to wood shakes`],causes:`shade, dampness, and decades of leaf debris feeding the moss`,processSteps:[`loosen and remove moss by hand and brush, never by power wash`,`treat the surface with a moss-killing solution`,`install zinc strips at the ridge to prevent regrowth`],costFactors:[`roof size and pitch`,`severity of moss`,`preventive strips`],timeline:`Most moss removals are completed in one same-day visit.`,heroAlt:`Moss being removed from a residential roof in Takoma Park, MD`}),U(og,{url:`/attic-insulation-takoma-park-md`,label:`Attic Insulation`,benefit:`Cut Your Heating and Cooling Bill`,problem:`an attic with too little or compressed insulation`,signs:[`upstairs rooms that never feel right`,`ice dams in winter`,`rising energy bills`],causes:`homes built before modern code, settled fiberglass, or insulation removed during prior work`,processSteps:[`air-seal the attic floor at penetrations and top plates`,`install or top up to current R-49 code with blown or batt insulation`,`verify even coverage with depth markers and photos`],costFactors:[`attic square footage`,`current R-value`,`insulation material chosen`],timeline:`Most attics are completed in one day with same-day comfort improvement.`,heroAlt:`Blown-in attic insulation being installed in a Takoma Park, MD home`}),U(og,{url:`/spray-foam-insulation-takoma-park-md`,label:`Spray Foam Insulation`,benefit:`Seal and Insulate in One Step`,problem:`drafty walls, attics, or rim joists that batt insulation cannot fix`,signs:[`cold floors above an unconditioned 
48space`,`drafts at electrical outlets`,`moisture problems in rim joists`],causes:`air leakage, not just lack of R-value — and air leakage is what spray foam stops`,processSteps:[`mask and protect the surrounding area`,`spray the foam to the specified depth in lifts`,`trim, inspect, and document with thickness gauges`],costFactors:[`square footage and depth`,`open-cell vs closed-cell selection`,`site prep`],timeline:`Most spray foam jobs are completed in 1 to 2 days.`,heroAlt:`Spray foam insulation being applied in a Takoma Park, MD home attic`}),U(og,{url:`/blown-in-insulation-takoma-park-md`,label:`Blown-In Insulation`,benefit:`Even Coverage at Code R-Value`,problem:`an attic that needs insulation added quickly and evenly`,signs:[`existing insulation below R-30`,`uneven temperatures upstairs`,`high winter heating bills`],causes:`settling, prior remediation, or homes built before current energy code`,processSteps:[`set up depth markers across the attic floor`,`blow fiberglass or cellulose to the specified R-value`,`photograph and document final depth`],costFactors:[`square footage`,`target R-value`,`fiberglass vs cellulose material`],timeline:`Most attics are completed in 4 to 8 hours same day.`,heroAlt:`Blown-in insulation being installed in an attic in Takoma Park, MD`}),U(og,{url:`/crawl-space-insulation-takoma-park-md`,label:`Crawl Space Insulation`,benefit:`Warmer Floors, Drier Crawl`,problem:`cold first-floor floors and a damp crawl space`,signs:[`cold feet in winter`,`musty smell coming up through the floor`,`old fiberglass falling out of the joists`],causes:`vented crawl spaces with no insulation or failed batt insulation that has fallen out`,processSteps:[`remove and dispose of any fallen or moldy insulation`,`install closed-cell foam or rigid board on walls or rim joists`,`seal vents per modern code if encapsulating`],costFactors:[`square footage`,`encapsulation vs traditional approach`,`moisture remediation`],timeline:`Most crawl space jobs are completed in 1 to 3 days.`,heroAlt:`Crawl space insulation being installed in a Takoma Park, MD home`}),U(og,{url:`/basement-insulation-takoma-park-md`,label:`Basement Insulation`,benefit:`Make the Basement Comfortable Year-Round`,problem:`cold, damp basement walls and rim joists`,signs:[`uninsulated foundation walls`,`condensation in winter`,`wanting to finish the space`],causes:`older homes built before basement insulation was standard`,processSteps:[`address any active moisture first`,`install rigid foam or spray foam on foundation walls and rim joists`,`verify continuous air seal at the top plate`],costFactors:[`square footage`,`system chosen`,`moisture work needed first`],timeline:`Most basement jobs are completed in 1 to 3 days.`,heroAlt:`Basement walls being insulated with rigid foam in Takoma Park, MD`}),U(og,{url:`/wall-insulation-takoma-park-md`,label:`Wall Insulation`,benefit:`Stop the Drafts in Older Walls`,problem:`exterior walls with little or no insulation`,signs:[`very cold or hot walls`,`rooms with constant drafts`,`high energy bills despite a good attic`],causes:`many DMV homes built before 1970 have empty or minimal wall cavities`,processSteps:[`test wall cavities with thermal imaging or borescope`,`dense-pack cellulose or spray foam from interior or exterior`,`patch and finish all access holes`],costFactors:[`linear feet of exterior wall`,`material chosen`,`patch and paint work`],timeline:`Most homes are completed in 1 to 2 days.`,heroAlt:`Wall insulation being dense-packed into an exterior wall in Takoma Park, MD`}),U(og,{url:`/fiberglass-insulation-takoma-park-md`,label:`Fiberglass Insulation`,benefit:`Proven, Affordable Performance`,problem:`a project that needs reliable, code-compliant insulation at the best price`,signs:[`new construction or addition`,`attic top-up`,`replacing pulled-out batts`],causes:`fiberglass is the most common insulation for a reason — it works, lasts, and is affordable`,processSteps:[`measure cavity dimensions and select correct R-value`,`install batts or blown-in fiberglass without compression`,`verify full coverage and document`],costFactors:[`square footage`,`batts vs blown-in`,`R-value selected`],timeline:`Most fiberglass jobs are completed in one day.`,heroAlt:`Fiberglass batt insulation installed in a wall cavity in Takoma Park, MD`}),U(og,{url:`/cellulose-insulation-takoma-park-md`,label:`Cellulose Insulation`,benefit:`Dense, Green, and Quiet`,problem:`wanting a high-R, eco-friendly, sound-deadening insulation`,signs:[`a 1900s-to-1970s home with empty walls`,`wanting better sound control between floors`,`preferring recycled materials`],
48causes:`cellulose is made from recycled paper, dense-packs better than fiberglass, and damps sound`,processSteps:[`set up dense-pack ports or attic blower`,`install to the specified density or R-value`,`verify with weight per cubic foot or depth markers`],costFactors:[`square footage`,`dense-pack vs loose-fill`,`access holes and patch work`],timeline:`Most cellulose jobs are completed in 1 to 2 days.`,heroAlt:`Cellulose insulation being blown into an attic in Takoma Park, MD`}),U(og,{url:`/closed-cell-foam-insulation-takoma-park-md`,label:`Closed-Cell Foam Insulation`,benefit:`Highest R-Value Per Inch`,problem:`needing maximum R-value in a tight cavity or a vapor barrier built in`,signs:[`rim joists and band joists`,`crawl space walls`,`metal building or shipping container`],causes:`closed-cell foam delivers R-7 per inch, blocks water vapor, and adds structural rigidity`,processSteps:[`mask and protect surrounding finishes`,`spray to spec depth in controlled lifts`,`trim, inspect, and verify thickness`],costFactors:[`square footage and depth`,`site prep complexity`,`ventilation requirements`],timeline:`Most closed-cell jobs are completed in 1 to 2 days.`,heroAlt:`Closed-cell spray foam applied to a rim joist in Takoma Park, MD`}),U(og,{url:`/open-cell-foam-insulation-takoma-park-md`,label:`Open-Cell Foam Insulation`,benefit:`Air Seal With Room to Breathe`,problem:`wanting air sealing and good R-value at a lower cost than closed-cell`,signs:[`attic conversions`,`interior walls for sound`,`large open cavities`],causes:`open-cell foam expands to fill the cavity, blocks air movement, and runs about R-3.7 per inch`,processSteps:[`mask and protect the area`,`spray the foam in single full-cavity lifts`,`trim flush and verify thickness`],costFactors:[`square footage`,`cavity depth`,`prep and trim work`],timeline:`Most open-cell jobs are completed in 1 to 2 days.`,heroAlt:`Open-cell spray foam installed in an attic in Takoma Park, MD`}),U(og,{url:`/radiant-barrier-installation-takoma-park-md`,label:`Radiant Barrier Installation`,benefit:`Reflect Summer Heat Out of the Attic`,problem:`an attic that gets brutally hot in summer`,signs:[`attic temps over 130 degrees on summer afternoons`,`upstairs rooms that cannot stay cool`,`AC running constantly`],causes:`shingle heat radiating down into the attic with nothing reflecting it back up`,processSteps:[`staple a foil radiant barrier to the underside of the rafters`,`leave required air gap above for ventilation`,`verify continuous coverage with no gaps`],costFactors:[`attic square footage`,`ease of access`,`any prep to clean rafters`],timeline:`Most installs are completed in one day.`,heroAlt:`Radiant barrier installed on attic rafters in Takoma Park, MD`}),U(og,{url:`/vapor-barrier-installation-takoma-park-md`,label:`Vapor Barrier Installation`,benefit:`Stop Moisture From Getting In`,problem:`moisture migrating through walls, floors, or crawl spaces`,signs:[`damp insulation`,`musty smell`,`condensation on cold-side surfaces`],causes:`missing or torn vapor retarders that let interior humidity reach cold building cavities`,processSteps:[`identify the warm side of the assembly`,`install code-rated polyethylene or smart vapor retarder`,`tape and seal every seam and penetration`],costFactors:[`square footage`,`barrier type (poly vs smart)`,`any insulation work needed at the same time`],timeline:`Most installs are completed in one day.`,heroAlt:`Vapor barrier being installed in a Takoma Park, MD home`}),U(og,{url:`/crawl-space-vapor-barrier-takoma-park-md`,label:`Crawl Space Vapor Barrier`,benefit:`Encapsulate the Crawl, Dry the House`,problem:`a damp crawl space pushing moisture up into your living space`,signs:[`musty smell upstairs`,`cupped hardwood floors`,`high indoor humidity in summer`],causes:`exposed dirt floor releasing soil moisture into the crawl space and up through the floor`,processSteps:[`clear the crawl space and address standing water`,`install a 10-to-20 mil reinforced barrier across the floor and up the walls`,`seal and tape every seam, pier, and penetration`],costFactors:[`square footage`,`barrier thickness`,`any drainage or sump work needed`],timeline:`Most encapsulations are completed in 1 to 3 days.`,heroAlt:`Crawl space encapsulated with reinforced vapor barrier in Takoma Park, MD`}),U(og,{url:`/insulation-removal-takoma-park-md`,label:`Insulation Removal`,benefit:`Clear the Attic Before You Add New`,problem:`old, wet, contaminated, or rodent-damaged insulation that has to come out`,signs:[`evidence of rodents in the attic`,`water-damaged insulation after a roof leak`,`renovation requiring a clean attic floor`],causes:`leaks, rodents, smoke damage, or just decades of decline`,processSteps:[`set up containment and HEPA vacuum equipment`,`vacuum out all loose insulation and bag any contaminated material`,`sanitize the deck and leave the attic ready for new insulation`],costFactors:[`attic square footage`,`contamination level`,`disposal volume`],timeline:`Most removals are completed in 4 to 8 hours.`,heroAlt:`Old attic insulation being vacuumed out of a Takoma Park, MD home`}),U(og,{url:`/commercial-insulation-takoma-park-md`,label:`Commercial Insulation`,benefit:`Cut Energy Costs on Your Building`,problem:`a commercial building wasting energy because of old or missing insulation`,signs:[`high heating and cooling costs`,`uneven temperatures across the building`,`an energy audit recommendation`],causes:`older commercial roofs built without tapered insulation, missing wall insulation, and uninsulated rim joists`,processSteps:[`audit the building envelope with thermal imaging`,`install rigid board, spray foam, or batt insulation per scope`,`document with R-values for facility records`],costFactors:[`square footage`,`system chosen`,`any work above ceilings or in active spaces`],timeline:`Most commercial scopes are phased to keep the building open and run 2 to 7 days.`,heroAlt:`Commercial building insulation being upgraded in the Takoma Park, MD area`}),U(og,{url:`/attic-ventilation-installation-takoma-park-md`,label:`Attic Ventilation Installation`,benefit:`Balance Intake and Exhaust`,problem:`an attic that runs too hot in summer and too damp in winter`,signs:[`ice dams in winter`,`moldy sheathing`,`cooked shingles that are aging early`],causes:`imbalanced or missing intake and exhaust vents`,processSteps:[`measure attic square footage and calculate code-required ventilation`,`install matched intake (soffit) and exhaust (ridge or box) vents`,`verify free airflow and seal any gaps that bypass the system`],costFactors:[`attic size`,`vent system selected`,`any soffit repair needed`],timeline:`Most ventilation upgrades are completed in one day.`,heroAlt:`New ridge and soffit vents installed on a Takoma Park, MD home`}),U(sg,{url:`/leaking-roof-repair-takoma-park-md`,label:`Leaking Roof Repair`,benefit:`Stop the Drip Today`,problem:`an active leak coming through your ceiling`,signs:[`a brown stain that is growing`,`drips during rain`,`damp insulation in the attic`],causes:`failed flashing, cracked shingles, pipe boot seals that have worn out, or ice dam backup`,processSteps:[`trace water back from the interior stain to the actual entry point on the roof`,`open and repair the failed area with matched material`,`test with controlled water and document the fix`],costFactors:[`how far the water has traveled`,`whether decking under the leak is wet`,`any interior repairs`],timeline:`Most active leaks are stopped same day with a permanent fix within 24 to 48 hours.`,heroAlt:`Roofer locating and repairing a leak on a Takoma Park, MD home`}),U(sg,{url:`/emergency-roof-repair-takoma-park-md`,label:`Emergency Roof Repair`,benefit:`Tarped Today, Permanent Fix Tomorrow`,problem:`an open hole or active water entering after a storm`,signs:[`missing shingles`,`a tree limb on the roof`,`water pouring into a room`],causes:`wind, hail, fallen trees, or sudden flashing failure during a major storm`,processSteps:[`respond on site as fast as possible the same day`,`tarp or stabilize the opening to stop further water entry`,`return on the first dry day for the permanent repair`],costFactors:[`size of the opening`,`access difficulty during storm`,`whether interior mitigation is needed`],timeline:`Same-day tarping; permanent repair as soon as weather allows.`,heroAlt:`Emergency tarp installed on a storm-damaged roof in Takoma Park, MD`}),U(sg,{url:`/roof-flashing-repair-takoma-park-md`,label:`Roof Flashing Repair`,benefit:`Reseal the Real Weak Point`,problem:`leaks at valleys, sidewalls, or roof penetrations`,signs:[`staining near a chimney or sidewall`,`lifted metal at a valley`,`rust at flashing edges`],causes:`expansion-contraction over the years, freeze-thaw stress, and old caulk in place of proper step flashing`,processSteps:[`expose the failed flashing area`,`install c
48ode-spec step or counter flashing`,`re-shingle and seal all transitions`],costFactors:[`how many flashing zones are affected`,`material (galvanized vs copper)`,`any shingle replacement`],timeline:`Most flashing repairs are completed in 3 to 6 hours same day.`,heroAlt:`New roof flashing being installed at a sidewall in Takoma Park, MD`}),U(sg,{url:`/chimney-flashing-repair-takoma-park-md`,label:`Chimney Flashing Repair`,benefit:`Stop the Leak at the Chimney`,problem:`staining or active water at the chimney`,signs:[`a stain on the ceiling near the chimney`,`rust streaks down the brick`,`loose or missing counter flashing`],causes:`original installs that used caulk instead of step flashing, plus decades of freeze-thaw stress`,processSteps:[`remove old flashing and any failed mortar lines`,`install new step flashing under shingles and counter flashing into fresh mortar joints`,`seal and inspect`],costFactors:[`chimney size and stories`,`metal material chosen`,`any masonry repair`],timeline:`Most chimney flashing repairs are completed in one day.`,heroAlt:`New chimney step and counter flashing installed in Takoma Park, MD`}),U(sg,{url:`/tile-roof-repair-takoma-park-md`,label:`Tile Roof Repair`,benefit:`Replace Cracked Tiles, Save the System`,problem:`cracked, slipped, or missing tiles on a tile roof`,signs:[`visible cracks in clay or concrete tile`,`tiles slipping out of place`,`leaks in the room below`],causes:`foot traffic, branch impact, freeze-thaw cycles, or original install error`,processSteps:[`walk the roof on foam pads to protect surrounding tile`,`replace cracked or slipped tiles with matched stock`,`verify underlayment and seal as needed`],costFactors:[`number of tiles`,`tile type and availability`,`underlayment condition`],timeline:`Most tile repairs are completed in 3 to 6 hours same day.`,heroAlt:`Cracked roof tile being replaced on a Takoma Park, MD area home`}),U(sg,{url:`/slate-roof-repair-takoma-park-md`,label:`Slate Roof Repair`,benefit:`Hand-Replace Broken Slates`,problem:`broken or slipped slates on a historic slate roof`,signs:[`visible slate pieces in the yard or gutters`,`missing slates on the field`,`interior leaks near valleys or eaves`],causes:`age, freeze-thaw cracking, walking on the roof, and failed copper or steel fasteners`,processSteps:[`source matched slate from regional suppliers`,`secure new slates with copper hooks or slate hooks`,`inspect surrounding field for additional failures`],costFactors:[`number of slates`,`color and source matching`,`scaffolding or roof jack access`],timeline:`Most slate repairs are completed in one day; full restorations are quoted separately.`,heroAlt:`Slate roof being hand-repaired on a historic Takoma Park, MD home`}),U(sg,{url:`/cedar-shake-roof-repair-takoma-park-md`,label:`Cedar Shake Roof Repair`,benefit:`Save the Look, Save the Roof`,problem:`split, cupped, or missing cedar shakes`,signs:[`shakes visibly curling or cracking`,`moss growth between courses`,`interior leaks under shake roofs`],causes:`age, moss, freeze-thaw cycles, and original cedar that has dried out`,processSteps:[`remove failed shakes without damaging surrounding courses`,`install matched cedar with stainless or copper nails`,`treat surrounding field with a preservative if requested`],costFactors:[`number of shakes`,`cedar grade matching`,`any moss or treatment work`],timeline:`Most shake repairs are completed in one day.`,heroAlt:`Cedar shake roof being repaired on a Takoma Park, MD home`}),U(sg,{url:`/soffit-and-fascia-repair-takoma-park-md`,label:`Soffit and Fascia Repair`,benefit:`Rebuild the Trim, Stop the Damage`,problem:`rotted soffit or fascia boards under your roof eave`,signs:[`sagging or crumbling soffit`,`paint peeling under the eaves`,`pest entry into the attic`],causes:`years of leaking gutters, ice dam backup, or untreated wood exposed to weather`,processSteps:[`remove damaged soffit and fascia`,`replace with primed, painted, or aluminum-wrapped material`,`re-hang gutters with proper pitch and new hangers`],costFactors:[`linear feet of damaged trim`,`material (wood vs aluminum)`,`paint or finish work`],timeline:`Most soffit and fascia repairs take 1 to 2 days.`,heroAlt:`New soffit and fascia installed under the eave of a Takoma Park, MD home`}),U(cg,{url:`/shingle-roof-replacement-takoma-park-md`,label:`Shingle Roof Replacement`,benefit:`New Architectural Shingles, Built to Last`,problem:`a shingle roof at the end of its life`,signs:[`curling shingles across the whole field`,`granules in the gutters`,`multiple leaks in different rooms`],causes:`age of 20+ years, sun and storm damage, and original builder-grade shingles`,processSteps:[`tear off all existing shingles to the deck`,`install new underlayment, ice and water shield, drip edge, and ventilation`,`lay architectural shingles with starter and ridge cap`],costFactors:[`roof square footage`,`shingle grade selected`,`any decking replacement`],timeline:`Most shingle replacements are completed in 1 to 3 days.`,heroAlt:`New architectural shingle roof installed on a Takoma Park, MD home`}),U(cg,{url:`/asphalt-shingle-roofing-takoma-park-md`,label:`Asphalt Shingle Roofing`,benefit:`The Right Roof for Most DMV Homes`,problem:`needing a strong, affordable roofing system that works on almost any home`,signs:[`a current shingle roof past its prime`,`new construction or addition`,`wanting a 25-to-50-year warranty system`],causes:`asphalt shingles are the most common roof in the DMV because they last, look right on every neighborhood, and are easy to maintain`,processSteps:[`select shingle grade and color with you`,`install full system over new underlayment and ice-and-water shield`,`finish with ridge cap, ridge ventilation, and a magnetic site sweep`],costFactors:[`roof square footage`,`shingle line selected`,`any decking or ventilation upgrades`],timeline:`Most installs are completed in 1 to 3 days.`,heroAlt:`Asphalt shingle roof installed on a Takoma Park, MD home`}),U(cg,{url:`/roofing-tear-off-takoma-park-md`,label:`Roofing Tear-Off`,benefit:`Start Clean, Build Right`,problem:`an old roof that needs to come off before a new one goes on`,signs:[`plans for a full replacement`,`two or more existing layers`,`soft spots or unknown decking condition`],causes:`layovers hide rot and void warranties — a true replacement always starts with a full tear-off`,processSteps:[`protect landscaping and surrounding property`,`tear off all existing roofing material to the deck`,`inspect and replace any rotted decking before installing new roof`],costFactors:[`number of existing layers`,`roof square footage`,`disposal volume`],timeline:`Most tear-offs are completed in 4 to 8 hours and follow directly into the new install.`,heroAlt:`Roof being torn off down to the deck on a Takoma Park, MD home`}),U(cg,{url:`/new-roof-installation-takoma-park-md`,label:`New Roof Installation`,benefit:`Built Right From the Deck Up`,problem:`new construction, an addition, or a garage that needs a full roof system from scratch`,signs:[`a new build or addition`,`a structure that has never had a finished roof`,`a complete tear-off requiring a full new system`],causes:`new construction requires every layer of the roof system to be installed correctly the first time`,processSteps:[`confirm deck condition and install underlayment, ice and water shield, and drip edge`,`install ventilation system and shingles or membrane`,`perform final inspection and document with photos`],costFactors:[`roof square footage and complexity`,`roofing system chosen`,`any specialty flashing or accessories`],timeline:`Most new installs are completed in 2 to 4 days depending on size.`,heroAlt:`Brand new roof being installed on new construction in Takoma Park, MD`}),U(lg,{url:`/flat-roof-repair-takoma-park-md`,label:`Flat Roof Repair`,benefit:`Stop the Standing Water Today`,problem:`an active leak or visible damage on a flat roof`,signs:[`ponding water that does not drain in 48 hours`,`blisters or splits in the membrane`,`interior stains under the flat section`],causes:`seam failures, blistering, punctures from foot traffic, or HVAC curb flashing breaking down`,processSteps:[`clean and inspect the affected area`,`patch with matched membrane using heat weld, primer, or peel-and-stick depending on system`,`test for water tightness`],costFactors:[`size of affected area`,`membrane type`,`any wet insulation that must be replaced`],timeline:`Most flat roof repairs are completed in 2 to 5 hours s
48ame day.`,heroAlt:`Roofer repairing a seam on a TPO flat roof in Takoma Park, MD`}),U(lg,{url:`/flat-roof-installation-takoma-park-md`,label:`Flat Roof Installation`,benefit:`A New System That Lasts Decades`,problem:`an end-of-life flat roof that needs full replacement`,signs:[`multiple ponding areas`,`wet insulation`,`leaks in three or more zones`],causes:`membranes typically last 15 to 30 years; once you are chasing leaks, replacement is cheaper than continued patching`,processSteps:[`tear off failed layers down to deck or sound substrate`,`replace wet insulation and install tapered system if needed`,`install new single-ply or built-up membrane with proper flashings`],costFactors:[`roof square footage`,`membrane system chosen`,`insulation and tapered work`],timeline:`Most full flat roof installs are completed in 3 to 7 days.`,heroAlt:`New flat roof membrane installed on a Takoma Park, MD area building`}),U(lg,{url:`/tpo-roofing-installation-takoma-park-md`,label:`TPO Roofing Installation`,benefit:`Reflective White Membrane, 20+ Year Life`,problem:`needing a new commercial or residential flat roof system`,signs:[`a failing built-up or modified bitumen roof`,`high summer cooling costs`,`wanting a heat-welded seam system`],causes:`TPO is the most-installed commercial flat roof system today because it heat-welds at every seam and reflects sun`,processSteps:[`tear off and replace insulation as needed`,`mechanically fasten or fully adhere TPO membrane`,`heat-weld every seam and flash all penetrations`],costFactors:[`roof square footage`,`membrane thickness (45-60-80 mil)`,`insulation and substrate prep`],timeline:`Most TPO installs are completed in 3 to 5 days.`,heroAlt:`White TPO membrane installed on a flat commercial roof in Takoma Park, MD`}),U(lg,{url:`/epdm-roofing-installation-takoma-park-md`,label:`EPDM Roofing Installation`,benefit:`25 to 30 Year Rubber Roof`,problem:`wanting a proven rubber membrane on your flat roof`,signs:[`a current EPDM roof past its life`,`a building owner wanting the longest-life single-ply`,`a roof needing freeze-thaw durability`],causes:`EPDM has a 50-year track record and handles DMV freeze-thaw cycles better than most other systems`,processSteps:[`tear off and replace wet insulation`,`install EPDM membrane fully adhered, mechanically attached, or ballasted`,`seam-tape and flash all penetrations and edges`],costFactors:[`roof square footage`,`membrane thickness (60 or 90 mil)`,`attachment method`],timeline:`Most EPDM installs are completed in 3 to 6 days.`,heroAlt:`EPDM rubber roof installed on a Takoma Park, MD area building`}),U(lg,{url:`/pvc-roofing-installation-takoma-park-md`,label:`PVC Roofing Installation`,benefit:`Chemical-Resistant Membrane for Tough Buildings`,problem:`a building with rooftop kitchen exhaust, grease, or chemical exposure`,signs:[`a restaurant with grease damage on the current membrane`,`industrial chemical exposure`,`wanting a hot-air-welded white roof`],causes:`PVC handles grease, oils, and chemical exposure better than TPO or EPDM`,processSteps:[`tear off and prep substrate`,`install PVC membrane mechanically attached or fully adhered`,`hot-air weld every seam and flash all penetrations`],costFactors:[`roof square footage`,`membrane thickness`,`exposure level and flashing complexity`],timeline:`Most PVC installs are completed in 3 to 6 days.`,heroAlt:`PVC roof membrane installed on a commercial building in Takoma Park, MD`}),U(lg,{url:`/modified-bitumen-roofing-takoma-park-md`,label:`Modified Bitumen Roofing`,benefit:`Layered Asphalt Built for Tough Conditions`,problem:`an older built-up or modified bitumen roof needing repair or replacement`,signs:[`bare spots where gravel has washed away`,`split seams`,`older row houses with built-up roofs`],causes:`modified bitumen is common on older DMV row houses and small commercial buildings — repairable and durable when installed right`,processSteps:[`tear off failed layers or prep for overlay`,`install base sheet and cap sheet with appropriate adhesion method`,`seal all flashings, edges, and penetrations`],costFactors:[`roof square footage`,`number of plies`,`tear-off vs overlay`],timeline:`Most installs are completed in 3 to 5 days.`,heroAlt:`Modified bitumen roof being installed on a Takoma Park, MD row house`}),U(lg,{url:`/torch-down-roofing-takoma-park-md`,label:`Torch Down Roofing`,benefit:`Heat-Fused Modified Bitumen System`,problem:`wanting a fully-sealed modified bitumen system around complex details`,signs:[`a roof with many penetrations and parapets`,`an older torch-down system needing replacement`,`buildings where a perfectly sealed cap sheet matters`],causes:`torch-down fuses every seam with controlled heat, creating one continuous waterproof layer`,processSteps:[`protect surrounding combustibles per fire safety protocol`,`torch-fuse the base and cap sheets`,`seal every flashing, edge, and penetration with the same membrane`],costFactors:[`roof square footage`,`complexity of details`,`any tear-off work`],timeline:`Most installs are completed in 3 to 5 days with full fire-watch protocol.`,heroAlt:`Torch-down modified bitumen roof installed in Takoma Park, MD`}),U(ug,{url:`/roof-maintenance-takoma-park-md`,label:`Roof Maintenance`,benefit:`Add Years to Your Roof`,problem:`a roof you have not had professionally inspected in over a year`,signs:[`minor stains you have not investigated`,`a roof past 10 years old with 
48no service history`,`an HOA or insurance documentation request`],causes:`small issues — a lifted flashing, a cracked boot, exposed nails — turn into big leaks when left alone`,processSteps:[`walk the entire roof and photograph any issue`,`clean valleys, reseal exposed nails, and clear debris`,`deliver a written report with priority recommendations`],costFactors:[`roof size and access`,`scope of small repairs included`,`frequency (annual vs biannual)`],timeline:`Most maintenance visits take 2 to 4 hours and add 3 to 5 years of life.`,heroAlt:`Roofer performing annual roof maintenance in Takoma Park, MD`}),U(ug,{url:`/roof-ventilation-installation-takoma-park-md`,label:`Roof Ventilation Installation`,benefit:`Cool the Attic, Save the Shingles`,problem:`an attic that runs hot, damp, or both`,signs:[`ice dams in winter`,`moldy or stained roof sheathing`,`shingles aging faster than expected`],causes:`imbalanced or missing intake and exhaust vents trap heat and moisture against the roof deck`,processSteps:[`calculate required net free vent area for your attic`,`install matched intake (soffit) and exhaust vents`,`seal any bypasses that defeat the system`],costFactors:[`attic square footage`,`vent type (ridge, box, power)`,`any soffit work`],timeline:`Most ventilation upgrades are completed in one day.`,heroAlt:`New attic ventilation installed on a Takoma Park, MD home`}),U(ug,{url:`/ridge-vent-installation-takoma-park-md`,label:`Ridge Vent Installation`,benefit:`Continuous Exhaust, No Moving Parts`,problem:`wanting clean exhaust ventilation without box or power vents`,signs:[`aging box vents that look dated`,`wanting maximum attic exhaust capacity`,`a roof being replaced and reventilated`],causes:`ridge vents pull hot air out along the entire peak, working with soffit intake to create natural attic airflow`,processSteps:[`cut a continuous slot at the ridge per spec`,`install a ridge vent with baffle and proper underlayment`,`cap with matching ridge shingles`],costFactors:[`linear feet of ridge`,`vent product selected`,`whether ridge cap shingles are included`],timeline:`Most ridge vent installs are completed in 4 to 8 hours, usually paired with a full reroof.`,heroAlt:`Continuous ridge vent being installed on a Takoma Park, MD home`}),U(ug,{url:`/roof-drainage-solutions-takoma-park-md`,label:`Roof Drainage Solutions`,benefit:`Send Every Drop Where It Belongs`,problem:`chronic water damage to siding, foundation, or landscaping`,signs:[`mulch washed out of beds`,`wet basement only during storms`,`ice forming below the eaves`],causes:`undersized gutters, misplaced downspouts, or a roof system that does not drain efficiently to the gutter`,processSteps:[`calculate gutter capacity needed for your roof area`,`upsize gutters, add downspouts, and reroute discharges as needed`,`test with controlled flow`],costFactors:[`scope (gutter replacement, downspouts, underground line)`,`linear feet`,`any landscape restoration`],timeline:`Most drainage projects are completed in 1 to 2 days.`,heroAlt:`Roof drainage system being upgraded on a Takoma Park, MD home`}),U(ug,{url:`/energy-efficient-roofing-takoma-park-md`,label:`Energy Efficient Roofing`,benefit:`Lower Your Cooling Bill`,problem:`a hot upstairs and a high summer cooling bill`,signs:[`upstairs rooms much hotter than downstairs`,`AC running constantly in summer`,`wanting Energy Star or tax credit eligibility`],causes:`dark, absorptive shingles plus poor attic ventilation can push attic temps over 130 degrees`,processSteps:[`select Energy Star reflective shingles or cool-roof system`,`install with proper ventilation and underlayment`,`document for any available rebates or tax credits`],costFactors:[`roof square footage`,`shingle line and color`,`ventilation upgrade scope`],timeline:`Most energy-efficient roof installs are completed in 1 to 3 days.`,heroAlt:`Energy efficient reflective shingles being installed in Takoma Park, MD`}),U(ug,{url:`/cool-roof-installation-takoma-park-md`,label:`Cool Roof Installation`,benefit:`20 to 40 Degrees Cooler in Summer`,problem:`an attic that runs brutally hot and drives a high cooling bill`,signs:[`dark shingles absorbing summer heat`,`older roof with no reflective surface`,`wanting LEED or Energy Star credit`],causes:`absorptive roof surfaces reach 150+ degrees in DMV summers — reflective roofs stay 20 to 40 degrees lower`,processSteps:[`select a cool-roof rated shingle, membrane, or coating`,`install over proper insulation and ventilation`,`document reflectivity for any rebate or credit programs`],costFactors:[`roof square footage`,`system chosen`,`any ventilation or insulation work`],timeline:`Most cool-roof installs are completed in 1 to 3 days.`,heroAlt:`Cool roof reflective coating being applied in Takoma Park, MD`}),U(dg,{url:`/roof-hail-damage-repair-takoma-park-md`,label:`Roof Hail Damage Repair`,benefit:`Document and Repair Before the Claim Window Closes`,problem:`a roof that may have hail damage after a recent DMV storm`,signs:[`dented gutters or flashing`,`dark spots on shingles where granules are missing`,`neighbors getting roof claims approved`],causes:`summer thu
48nderstorms across the DMV regularly drop hail that bruises shingles in patterns invisible from the ground`,processSteps:[`inspect every slope by hand and mark every bruise`,`photograph and document for your insurance file`,`perform approved repair or replacement once the claim is settled`],costFactors:[`damage extent (spot repair vs full replacement)`,`your insurance deductible`,`any decking damage from impact`],timeline:`Inspection and written report delivered same day; repair follows insurance approval.`,heroAlt:`Hail damage being documented on a Takoma Park, MD area roof`}),U(dg,{url:`/insurance-roof-claims-assistance-takoma-park-md`,label:`Insurance Roof Claims Assistance`,benefit:`We Meet the Adjuster on Your Roof`,problem:`a storm-damaged roof and an insurance claim you do not want to navigate alone`,signs:[`recent storm activity in your zip code`,`a denied or underpaid prior claim`,`feeling overwhelmed by carrier paperwork`],causes:`carriers expect proper documentation and language — without it, claims often get underpaid or denied`,processSteps:[`inspect the roof and document every storm-related damage point`,`meet the carrier adjuster on the roof with our report and photos`,`complete the approved scope of work and handle final invoicing with the carrier`],costFactors:[`only your deductible for covered claims`,`any out-of-scope upgrades you request`,`non-covered pre-existing issues`],timeline:`Initial inspection same day; claim timing depends on your carrier.`,heroAlt:`Roofer documenting storm damage for an insurance claim in Takoma Park, MD`}),U(fg,{url:`/roofing-estimates-takoma-park-md`,label:`Roofing Estimates`,benefit:`Free, Written, On Letterhead`,problem:`needing a real number for your roof project without sales pressure`,signs:[`a competing bid you want checked`,`a planned project you are budgeting`,`an insurance estimate you want a second opinion on`],causes:`many roofing estimates are vague or designed to grow with change orders — yours should not be`,processSteps:[`schedule a same-day or next-day visit`,`measure the roof and document scope with photos`,`deliver an itemized written estimate within 24 to 48 hours`],costFactors:[`estimates are always free`,`no trip fees`,`no obligation`],timeline:`Most estimates are delivered within 24 to 48 hours of the site visit.`,heroAlt:`Roofing contractor preparing a written estimate in Takoma Park, MD`}),U(fg,{url:`/roofing-consultation-takoma-park-md`,label:`Roofing Consultation`,benefit:`Talk to a Real Roofer, No Pressure`,problem:`questions about your roof and no clear answer from a salesperson`,signs:[`a recent door-knocker pressuring you to sign`,`uncertainty about whether to repair or replace`,`a complex project needing expert input`],causes:`roofing decisions are big — you deserve straight answers from someone who actually does the work`,processSteps:[`set a phone or on-site consultation at your convenience`,`walk the roof and look at conditions together`,`give you written recommendations with no sales pressure`],costFactors:[`consultations are always free`,`no upsells`,`no trip fees`],timeline:`Most consultations are scheduled within 24 to 48 hours.`,heroAlt:`Roofing consultation in progress at a Takoma Park, MD home`})],mg={"/flat-roof-skylight-installation-takoma-park-md":{metaTitle:`Flat Roof Skylight Install in Takoma Park MD | 301-495-9274`},"/energy-efficient-skylight-installation-takoma-park-md":{metaTitle:`Energy Efficient Skylights in Takoma Park MD | 301-495-9274`},"/insurance-roof-claims-assistance-takoma-park-md":{metaTitle:`Roof Insurance Claims Help in Takoma Park MD | 301-495-9274`},"/roofing-tear-off-takoma-park-md":{metaDescription:`Roofing tear-off in Takoma Park, MD. Full removal down to a clean deck before your new roof. Licensed and insured. Call 301-495-9274 for a free estimate.`}},W=Object.fromEntries(pg.map(e=>[e.url,{...e,...mg[e.url]??{}}]));pg.map(e=>({...e,...mg[e.url]??{}}));var hg=W[`/wall-insulation-takoma-park-md`],gg=Le(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),_g=Le(`award`,[[`path`,{d:`m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526`,key:`1yiouv`}],[`circle`,{cx:`12`,cy:`8`,r:`6`,key:`1vp47v`}]]),vg=Le(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),yg=Le(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),bg=Le(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),xg=Le(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Sg=Le(`dollar-sign`,[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`,key:`7eqyqh`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`,key:`1b0p4s`}]]),Cg=Le(`file-check`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m9 15 2 2 4-4`,key:`1grp1n`}]]),wg=Le(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Tg=Le(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),Eg=Le(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);function G(e){let t=`${E.city} ${E.stateAbbr}`,n=`${E.city}, ${E.stateAbbr}`,r=`${e.label} in ${t} | ${E.phone}`,i=`${e.label} ${t} | ${E.phone}`,a=`${e.label} ${t} | Call ${E.phone}`,o=e.metaTitle??(r.length<=60?r:i.length<=60?i:a),s=`${e.label} in ${n}. ${e.benefit}.`,c=` Licensed, insured, free estimates. Call ${E.phone} for fast local service.`,l=` Licensed and insured. Call ${E.phone} for a free estimate.`,u=` Free estimates. Call ${E.phone}.`,d=` Serving the DMV with same-day service.`,f=[s+c,s+l,s+u,s+c+d,s+l+d],p=e.metaDescription??f.find(e=>e.length>=140&&e.length<=160)??f.reduce((e,t)=>
48Math.abs(t.length-150)<Math.abs(e.length-150)?t:e),m={"@context":`https://schema.org`,"@type":`Service`,serviceType:e.label,name:`${e.label} in ${E.city}, ${E.stateAbbr}`,provider:{"@type":`RoofingContractor`,name:E.name,telephone:E.phone,email:E.email,address:{"@type":`PostalAddress`,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`}},areaServed:[{"@type":`City`,name:E.city},{"@type":`State`,name:E.state}]};return{meta:[{title:o},{name:`description`,content:p},{property:`og:title`,content:o},{property:`og:description`,content:p},{property:`og:type`,content:`website`},{property:`og:url`,content:D(e.url)},{property:`og:image`,content:e.hero},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:e.hero}],links:[{rel:`canonical`,href:D(e.url)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(m)}]}}function Dg({content:e}){let t=`${E.city}, ${E.stateAbbr}`,n=e.parentUrl===be;return(0,j.jsxs)(Te,{children:[(0,j.jsxs)(`section`,{className:`relative isolate overflow-hidden`,children:[(0,j.jsx)(`img`,{src:e.hero,alt:e.heroAlt,width:1920,height:1080,fetchPriority:`high`,className:`absolute inset-0 -z-10 h-full w-full object-cover`}),(0,j.jsx)(`div`,{className:`absolute inset-0 -z-10 bg-gradient-to-br from-primary/95 via-primary/85 to-primary/70`}),(0,j.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-20 md:py-28 text-primary-foreground`,children:[(0,j.jsxs)(`nav`,{className:`text-xs sm:text-sm text-primary-foreground/80 mb-5`,"aria-label":`Breadcrumb`,children:[(0,j.jsx)(xe,{to:be,className:`hover:text-accent`,children:`Home`}),(0,j.jsx)(`span`,{className:`mx-2`,children:`/`}),!n&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(xe,{to:e.parentUrl,className:`hover:text-accent`,children:e.parentLabel}),(0,j.jsx)(`span`,{className:`mx-2`,children:`/`})]}),(0,j.jsx)(`span`,{className:`text-primary-foreground`,children:e.label})]}),(0,j.jsxs)(`p`,{className:`inline-flex items-center gap-2 rounded-full border border-primary-foreground/30 bg-primary-foreground/10 px-4 py-1.5 text-xs sm:text-sm font-medium uppercase tracking-wider backdrop-blur`,children:[(0,j.jsx)(Ce,{className:`h-3.5 w-3.5`}),` `,t]}),(0,j.jsxs)(`h1`,{className:`mt-5 text-4xl md:text-5xl lg:text-6xl font-bold leading-tight tracking-tight max-w-4xl`,children:[e.label,` in `,t]}),(0,j.jsx)(`p`,{className:`mt-4 text-xl md:text-2xl font-semibold text-accent max-w-3xl`,children:e.benefit}),(0,j.jsxs)(`p`,{className:`mt-4 text-lg md:text-xl text-primary-foreground/90 max-w-2xl`,children:[e.problem.charAt(0).toUpperCase()+e.problem.slice(1),`? You are in the right place. Call `,E.phone,` for same-day `,e.label.toLowerCase(),` across the DMV.`]}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-col sm:flex-row gap-3`,children:[(0,j.jsxs)(Se,{label:`child hero`,className:`inline-flex items-center justify-center gap-2 rounded-md bg-accent px-6 py-4 text-base font-semibold text-accent-foreground shadow-lg shadow-accent/30 transition hover:bg-accent/90`,children:[(0,j.jsx)(Re,{className:`h-5 w-5`}),` Call Now `,E.phone]}),(0,j.jsxs)(xe,{to:`/contact`,className:`inline-flex items-center justify-center gap-2 rounded-md border-2 border-primary-foreground/40 bg-primary-foreground/10 px-6 py-4 text-base font-semibold text-primary-foreground backdrop-blur transition hover:bg-primary-foreground/20`,children:[`Schedule Service `,(0,j.jsx)(gg,{className:`h-4 w-4`})]})]}),(0,j.jsx)(`div`,{className:`mt-10 flex flex-wrap gap-x-6 gap-y-3 text-sm font-medium text-primary-foreground/90`,children:[`Licensed & Insured`,`Same-Day Service`,`Free Written Estimates`,`5-Year Warranty`].map(e=>(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,j.jsx)(bg,{className:`h-4 w-4 text-accent`}),` `,e]},e))})]})]}),(0,j.jsx)(`article`,{className:`bg-background`,children:(0,j.jsxs)(`div`,{className:`mx-auto max-w-4xl px-4 py-16 md:py-20`,children:[(0,j.jsxs)(`div`,{className:`text-foreground space-y-4 text-lg leading-relaxed`,children:[(0,j.jsxs)(`p`,{children:[`You came here because you have `,e.problem,`. That is not a wait-and-see issue. The longer water, wear, or damage sits, the more it spreads — into decking, drywall, insulation, and framing. We handle `,e.label.toLowerCase(),` every week across`,` `,t,` and the wider DMV, and most calls get same-day attention.`]}),(0,j.jsxs)(`p`,{children:[`Call`,` `,(0,j.jsx)(Se,{label:`child body`,className:`text-accent font-semibold hover:underline`,children:E.phone}),` `,`and a real person picks up. A licensed estimator is usually at your home the same day with a written estimate before any work starts — no trip fees, no pressure.`]})]}),(0,j.jsxs)(Og,{icon:yg,title:`When You Need ${e.label}`,children:[(0,j.jsxs)(`p`,{children:[`Most homeowners and property managers call us for `,e.label.toLowerCase(),` after seeing one of these:`,` `,e.signs.map((t,n)=>n===e.signs.length-1?`or ${t}`:`${t}`).join((e.signs.length,`, `)),`. Each one is a real signal that something has shifted and needs hands on it.`]}),(0,j.jsxs)(`p`,{children:[`The usual causes in the DMV are `,e.causes,`. Heavy summer thu
48nderstorms, freeze-thaw cycles, and the tree canopy across Montgomery and Prince George's Counties speed up every one of those failures. Wait a season and you almost always end up paying twice — once for the original fix, and again for the water damage it caused.`]})]}),(0,j.jsxs)(Og,{icon:Eg,title:`Our ${e.label} Process`,children:[(0,j.jsxs)(`p`,{children:[`When you call, we set a same-day or next-day visit. On site, our process is straightforward. First, we `,e.processSteps[0],`. Next, we `,e.processSteps[1],`. Finally, we `,e.processSteps[2],`. You get a written estimate before any work starts, and photos of anything we find that you cannot see from the ground.`]}),(0,j.jsxs)(`p`,{children:[e.timeline,` You get a copy of the work performed and any warranty paperwork the same day.`]})]}),(0,j.jsx)(Og,{icon:Sg,title:`${e.label} Cost in ${E.city}`,children:(0,j.jsxs)(`p`,{children:[`Pricing for `,e.label.toLowerCase(),` depends on a few honest variables:`,` `,e.costFactors.join(`, `),`. We will not quote a price over the phone without seeing the job — that is how people get burned by lowballs that turn into change orders. Every estimate is upfront, itemized, and on letterhead. No hidden fees, no trip charges, no surprise add-ons.`]})}),(0,j.jsx)(Og,{icon:Tg,title:`Why Choose Affordable Roofing`,children:(0,j.jsxs)(`p`,{children:[`We are a family-owned roofing company based in `,E.city,`, licensed and insured across Maryland, D.C., and Virginia. Same-day service is our standard, free written estimates are always included, and our 5-year workmanship warranty backs every job. We work directly with all major insurance carriers, and our crews live and work in the DMV — your call goes to a neighbor, not a national call center.`]})}),(0,j.jsxs)(`div`,{className:`mt-12 rounded-xl border-2 border-accent bg-accent/5 p-6 md:p-8`,children:[(0,j.jsxs)(`p`,{className:`text-foreground text-lg leading-relaxed`,children:[`Do not let `,e.problem,` get worse overnight. Call`,` `,(0,j.jsx)(Se,{label:`child body`,className:`text-accent font-bold hover:underline`,children:E.phone}),` `,`right now for same-day `,e.label.toLowerCase(),` in `,t,` and the wider DMV. Free written estimate, no obligation, no trip fee.`]}),(0,j.jsxs)(`div`,{className:`mt-6 flex flex-col sm:flex-row gap-3`,children:[(0,j.jsxs)(Se,{label:`child final cta`,className:`inline-flex items-center justify-center gap-2 rounded-md bg-accent px-6 py-3 text-base font-semibold text-accent-foreground hover:bg-accent/90`,children:[(0,j.jsx)(Re,{className:`h-5 w-5`}),` Call `,E.phone]}),(0,j.jsx)(xe,{to:`/contact`,className:`inline-flex items-center justify-center gap-2 rounded-md border-2 border-primary bg-background px-6 py-3 text-base font-semibold text-primary hover:bg-primary hover:text-primary-foreground`,children:`Get a Free Estimate`})]})]}),(0,j.jsx)(`p`,{className:`mt-8 text-base text-muted-foreground`,children:n?(0,j.jsxs)(j.Fragment,{children:[`Looking for the full picture? Visit our`,` `,(0,j.jsx)(xe,{to:e.parentUrl,className:`text-accent font-semibold hover:underline`,children:e.parentLabel}),` `,`page to see every service we offer across the DMV.`]}):(0,j.jsxs)(j.Fragment,{children:[e.label,` is part of our full`,` `,(0,j.jsx)(xe,{to:e.parentUrl,className:`text-accent font-semibold hover:underline`,children:e.parentLabel}),` `,`lineup — see the rest of what we offer in that category.`]})})]})}),(0,j.jsx)(`section`,{className:`bg-secondary border-t border-border`,children:(0,j.jsx)(`div`,{className:`mx-auto max-w-7xl px-4 py-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-4 text-sm`,children:[{icon:wg,text:`Licensed & Insured in MD, DC, VA`},{icon:xg,text:`Same-Day & 24/7 Emergency Response`},{icon:Cg,text:`Free Written Estimates · No Trip Fees`},{icon:_g,text:`5-Year Workmanship Warranty`}].map(({icon:e,text:t})=>(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(e,{className:`h-5 w-5 text-accent shrink-0`}),(0,j.jsx)(`span`,{className:`font-medium text-foreground`,children:t})]},t))})})]})}function Og({title:e,icon:t,children:n}){return(0,j.jsxs)(`div`,{className:`mt-12`,children:[(0,j.jsxs)(`h2`,{className:`flex items-center gap-3 text-2xl md:text-3xl font-bold text-foreground border-l-4 border-accent pl-4`,children:[(0,j.jsx)(t,{className:`h-6 w-6 text-accent`}),` `,e]}),(0,j.jsx)(`div`,{className:`mt-5 space-y-4 text-foreground text-base md:text-lg leading-relaxed`,children:n})]})}var kg=M(`/wall-insulation-takoma-park-md`)({head:()=>G(hg),component:N(()=>V(()=>import(`./wall-insulation-takoma-park-md-BRiH5Yq8.js`),__vite__mapDeps([0,1])),`component`)}),Ag=W[`/velux-skylight-installation-takoma-park-md`],jg=M(`/velux-skylight-installation-takoma-park-md`)({head:()=>G(Ag),component:N(()=>V(()=>import(`./velux-skylight-installation-takoma-park-md-CfYAsp5F.js`),__vite__mapDeps([2,1])
vendor: 8,344 bytes, line 48
48),`component`)}),Mg=W[`/vapor-barrier-installation-takoma-park-md`],Ng=M(`/vapor-barrier-installation-takoma-park-md`)({head:()=>G(Mg),component:N(()=>V(()=>import(`./vapor-barrier-installation-takoma-park-md-DbqU386r.js`),__vite__mapDeps([3,1])),`component`)}),Pg;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(Pg||={});var Fg;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Fg||={});var K=Pg.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),Ig=e=>{switch(typeof e){case`undefined`:return K.undefined;case`string`:return K.string;case`number`:return Number.isNaN(e)?K.nan:K.number;case`boolean`:return K.boolean;case`function`:return K.function;case`bigint`:return K.bigint;case`symbol`:return K.symbol;case`object`:return Array.isArray(e)?K.array:e===null?K.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?K.promise:typeof Map<`u`&&e instanceof Map?K.map:typeof Set<`u`&&e instanceof Set?K.set:typeof Date<`u`&&e instanceof Date?K.date:K.object;default:return K.unknown}},q=Pg.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),Lg=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Pg.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};Lg.create=e=>new Lg(e);var Rg=(e,t)=>{let n;switch(e.code){case q.invalid_type:n=e.received===K.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case q.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Pg.jsonStringifyReplacer)}`;break;case q.unrecognized_keys:n=`Unrecognized key(s) in object: ${Pg.joinValues(e.keys,`, `)}`;break;case q.invalid_union:n=`Invalid input`;break;case q.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Pg.joinValues(e.options)}`;break;case q.invalid_enum_value:n=`Invalid enum value. Expected ${Pg.joinValues(e.options)}, received '${e.received}'`;break;case q.invalid_arguments:n=`Invalid function arguments`;break;case q.invalid_return_type:n=`Invalid function return type`;break;case q.invalid_date:n=`Invalid date`;break;case q.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Pg.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case q.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case q.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case q.custom:n=`Invalid input`;break;case q.invalid_intersection_types:n=`Intersection results could not be merged`;break;case q.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case q.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,Pg.assertNever(e)}return{message:n}},zg=Rg;function Bg(){return zg}var Vg=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function J(e,t){let n=Bg(),r=Vg({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Rg?void 0:Rg].filter(e=>!!e)});e.common.issues.push(r)}var Hg=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return Y;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return Y;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},Y=Object.freeze({status:`aborted`}),Ug=e=>({status:`dirty`,value:e}),Wg=e=>({status:`valid`,value:e}),Gg=e=>e.status===`aborted`,Kg=e=>e.status===`dirty`,qg=e=>e.status===`valid`,Jg=e=>typeof Promise<`u`&&e instanceof Promise,X;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(X||={});var Yg=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Xg=(e,t)=>
vendor: 44,330 bytes, line 48
48{if(qg(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new Lg(e.common.issues);return this._error=t,this._error}}};function Z(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var Q=class{get description(){return this._def.description}_getType(e){return Ig(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ig(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Hg,ctx:{common:e.parent.common,data:e.data,parsedType:Ig(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Jg(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ig(e)};return Xg(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ig(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return qg(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>qg(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ig(e)},r=this._parse({data:e,path:n.path,parent:n});return Xg(n,await(Jg(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:q.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new $_({schema:this,typeName:$.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return ev.create(this,this._def)}nullable(){return tv.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return P_.create(this)}promise(){return Q_.create(this,this._def)}or(e){return L_.create([this,e],this._def)}and(e){return V_.create(this,e,this._def)}transform(e){return new $_({...Z(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new nv({...Z(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new av({typeName:$.ZodBranded,type:this,...Z(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new rv({...Z(this._def),innerType:this,catchValue:t,typeName:$.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ov.create(this,e)}readonly(){return sv.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Zg=/^c[^\s-]{8,}$/i,Qg=/^[0-9a-z]+$/,$g=/^[0-9A-HJKMNP-TV-Z]{26}$/i,e_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,t_=/^[a-z0-9_-]{21}$/i,n_=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,r_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,i_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,a_=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,o_,s_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,c_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,l_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,u_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,d_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,f_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,p_=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,m_=RegExp(`^${p_}$`);function h_(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function g_(e){return RegExp(`^${h_(e)}$`)}function __(e){let t=`${p_}T${h_(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function v_(e,t){return!!((t===`v4`||!t)&&s_.test(e)||(t===`v6`||!t)&&l_.test(e))}function y_(e,t){if(!n_.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function b_(e,t){return!!((t===`v4`||!t)&&c_.test(e)||(t===`v6`||!t)&&u_.test(e))}var x_=class e extends Q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==K.string){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.string,received:t.parsedType}),Y}let t=new Hg,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),J(n,{code:q.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),J(n,{code:q.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?J(n,{code:q.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&J(n,{code:q.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)i_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`email`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)o_||=new RegExp(a_,`u`),o_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`emoji`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)e_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`uuid`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)t_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`nanoid`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Zg.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`cuid`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Qg.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`cuid2`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)$g.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`ulid`,code:q.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),J(n,{validation:`url`,code:q.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`regex`,code:q.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?__(r).test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?m_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?g_(r).test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{code:q.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?r_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`duration`,code:q.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?v_(e.data,r.version)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`ip`,code:q.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?y_(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`jwt`,code:q.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?b_(e.data,r.version)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`cidr`,code:q.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?d_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`base64`,code:q.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?f_.test(e.data)||(n=this._getOrReturnCtx(e,n),J(n,{validation:`base64url`,code:q.invalid_string,message:r.message}),t.dirty()):Pg.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:q.invalid_string,...X.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...X.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...X.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...X.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...X.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...X.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...X.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...X.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...X.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...X.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...X.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...X.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...X.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...X.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...X.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...X.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...X.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...X.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...X.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...X.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...X.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...X.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...X.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...X.errToObj(t)})}nonempty(e){return this.min(1,X.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};x_.create=e=>new x_({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...Z(e)});function S_(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var C_=class e extends Q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==K.number){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.number,received:t.parsedType}),Y}let t,n=new Hg;for(let r of this._def.checks)r.kind===`int`?Pg.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),J(t,{code:q.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?S_(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),J(t,{code:q.not_finite,message:r.message}),n.dirty()):Pg.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,X.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,X.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,X.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,X.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:X.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:X.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:X.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:X.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:X.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:X.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:X.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:X.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:X.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:X.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&Pg.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};C_.create=e=>new C_({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...Z(e)});var w_=class e extends Q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==K.bigint)return this._getInvalidInput(e);let t,n=new Hg;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),J(t,{code:q.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):Pg.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.bigint,received:t.parsedType}),Y}gte(e,t){return this.setLimit(`min`,e,!0,X.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,X.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,X.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,X.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:X.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:X.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:X.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:X.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:X.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:X.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};w_.create=e=>new w_({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...Z(e)});var T_=class extends Q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==K.boolean){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.boolean,received:t.parsedType}),Y}return Wg(e.data)}};T_.create=e=>new T_({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...Z(e)});var E_=class e extends Q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==K.date){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.date,received:t.parsedType}),Y}if(Number.isNaN(e.data.getTime()))return J(this._getOrReturnCtx(e),{code:q.invalid_date}),Y;let t=new Hg,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),J(n,{code:q.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),J(n,{code:q.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):Pg.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:X.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:X.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};E_.create=e=>new E_({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...Z(e)});var D_=class extends Q{_parse(e){if(this._getType(e)!==K.symbol){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.symbol,received:t.parsedType}),Y}return Wg(e.data)}};D_.create=e=>new D_({typeName:$.ZodSymbol,...Z(e)});var O_=class extends Q{_parse(e){if(this._getType(e)!==K.undefined){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.undefined,received:t.parsedType}),Y}return Wg(e.data)}};O_.create=e=>new O_({typeName:$.ZodUndefined,...Z(e)});var k_=class extends Q{_parse(e){if(this._getType(e)!==K.null){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.null,received:t.parsedType}),Y}return Wg(e.data)}};k_.create=e=>new k_({typeName:$.ZodNull,...Z(e)});var A_=class extends Q{constructor(){super(...arguments),this._any=!0}_parse(e){return Wg(e.data)}};A_.create=e=>new A_({typeName:$.ZodAny,...Z(e)});var j_=class extends Q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Wg(e.data)}};j_.create=e=>new j_({typeName:$.ZodUnknown,...Z(e)});var M_=class extends Q{_parse(e){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.never,received:t.parsedType}),Y}};M_.create=e=>new M_({typeName:$.ZodNever,...Z(e)});var N_=class extends Q{_parse(e){if(this._getType(e)!==K.undefined){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.void,received:t.parsedType}),Y}return Wg(e.data)}};N_.create=e=>new N_({typeName:$.ZodVoid,...Z(e)});var P_=class e extends Q{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==K.array)return J(t,{code:q.invalid_type,expected:K.array,received:t.parsedType}),Y;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(J(t,{code:e?q.too_big:q.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(J(t,{code:q.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(J(t,{code:q.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new Yg(t,e,t.path,n)))).then(e=>Hg.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new Yg(t,e,t.path,n)));return Hg.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:X.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:X.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:X.toString(n)}})}nonempty(e){return this.min(1,e)}};P_.create=(e,t)=>new P_({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...Z(t)});function F_(e){if(e instanceof I_){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ev.create(F_(r))}return new I_({...e._def,shape:()=>t})}else if(e instanceof P_)return new P_({...e._def,type:F_(e.element)});else if(e instanceof ev)return ev.create(F_(e.unwrap()));else if(e instanceof tv)return tv.create(F_(e.unwrap()));else if(e instanceof H_)return H_.create(e.items.map(e=>F_(e)));else return e}var I_=class e extends Q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=Pg.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==K.object){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.object,received:t.parsedType}),Y}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof M_&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new Yg(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof M_){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(J(n,{code:q.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new Yg(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>Hg.mergeObjectSync(t,e)):Hg.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return X.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:X.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of Pg.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of Pg.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return F_(this)}partial(t){let n={};for(let e of Pg.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of Pg.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof ev;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Y_(Pg.objectKeys(this.shape))}};I_.create=(e,t)=>new I_({shape:()=>e,unknownKeys:`strip`,catchall:M_.create(),typeName:$.ZodObject,...Z(t)}),I_.strictCreate=(e,t)=>new I_({shape:()=>e,unknownKeys:`strict`,catchall:M_.create(),typeName:$.ZodObject,...Z(t)}),I_.lazycreate=(e,t)=>new I_({shape:e,unknownKeys:`strip`,catchall:M_.create(),typeName:$.ZodObject,...Z(t)});var L_=class extends Q{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new Lg(e.ctx.common.issues));return J(t,{code:q.invalid_union,unionErrors:n}),Y}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new Lg(e));return J(t,{code:q.invalid_union,unionErrors:i}),Y}}get options(){return this._def.options}};L_.create=(e,t)=>new L_({options:e,typeName:$.ZodUnion,...Z(t)});var R_=e=>e instanceof q_?R_(e.schema):e instanceof $_?R_(e.innerType()):e instanceof J_?[e.value]:e instanceof X_?e.options:e instanceof Z_?Pg.objectValues(e.enum):e instanceof nv?R_(e._def.innerType):e instanceof O_?[void 0]:e instanceof k_?[null]:e instanceof ev?[void 0,...R_(e.unwrap())]:e instanceof tv?[null,...R_(e.unwrap())]:e instanceof av||e instanceof sv?R_(e.unwrap()):e instanceof rv?R_(e._def.innerType):[],z_=class e extends Q{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==K.object)return J(t,{code:q.invalid_type,expected:K.object,received:t.parsedType}),Y;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(J(t,{code:q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=R_(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Z(r)})}};function B_(e,t){let n=Ig(e),r=Ig(t);if(e===t)return{valid:!0,data:e};if(n===K.object&&r===K.object){let n=Pg.objectKeys(t),r=Pg.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=B_(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===K.array&&r===K.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=B_(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===K.date&&r===K.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var V_=class extends Q{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Gg(e)||Gg(r))return Y;let i=B_(e.value,r.value);return i.valid?((Kg(e)||Kg(r))&&t.dirty(),{status:t.value,value:i.data}):(J(n,{code:q.invalid_intersection_types}),Y)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};V_.create=(e,t,n)=>new V_({left:e,right:t,typeName:$.ZodIntersection,...Z(n)});var H_=class e extends Q{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==K.array)return J(n,{code:q.invalid_type,expected:K.array,received:n.parsedType}),Y;if(n.data.length<this._def.items.length)return J(n,{code:q.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),Y;!this._def.rest&&n.data.length>this._def.items.length&&(J(n,{code:q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new Yg(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>Hg.mergeArray(t,e)):Hg.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};H_.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new H_({items:e,typeName:$.ZodTuple,rest:null,...Z(t)})};var U_=class e extends Q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==K.object)return J(n,{code:q.invalid_type,expected:K.object,received:n.parsedType}),Y;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new Yg(n,e,n.path,e)),value:a._parse(new Yg(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?Hg.mergeObjectAsync(t,r):Hg.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Q?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...Z(r)}):new e({keyType:x_.create(),valueType:t,typeName:$.ZodRecord,...Z(n)})}},W_=class extends Q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==K.map)return J(n,{code:q.invalid_type,expected:K.map,received:n.parsedType}),Y;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new Yg(n,e,n.path,[a,`key`])),value:i._parse(new Yg(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return Y;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return Y;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};W_.create=(e,t,n)=>new W_({valueType:t,keyType:e,typeName:$.ZodMap,...Z(n)});var G_=class e extends Q{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==K.set)return J(n,{code:q.invalid_type,expected:K.set,received:n.parsedType}),Y;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(J(n,{code:q.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(J(n,{code:q.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return Y;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new Yg(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:X.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:X.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};G_.create=(e,t)=>new G_({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...Z(t)});var K_=class e extends Q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==K.function)return J(t,{code:q.invalid_type,expected:K.function,received:t.parsedType}),Y;function n(e,n){return Vg({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Bg(),Rg].filter(e=>!!e),issueData:{code:q.invalid_arguments,argumentsError:n}})}function r(e,n){return Vg({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Bg(),Rg].filter(e=>!!e),issueData:{code:q.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Q_){let e=this;return Wg(async function(...t){let o=new Lg([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return Wg(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new Lg([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new Lg([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:H_.create(t).rest(j_.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||H_.create([]).rest(j_.create()),returns:n||j_.create(),typeName:$.ZodFunction,...Z(r)})}},q_=class extends Q{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};q_.create=(e,t)=>new q_({getter:e,typeName:$.ZodLazy,...Z(t)});var J_=class extends Q{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return J(t,{received:t.data,code:q.invalid_literal,expected:this._def.value}),Y}return{status:`valid`,value:e.data}}get value(){return this._def.value}};J_.create=(e,t)=>new J_({value:e,typeName:$.ZodLiteral,...Z(t)});function Y_(e,t){return new X_({values:e,typeName:$.ZodEnum,...Z(t)})}var X_=class e extends Q{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return J(t,{expected:Pg.joinValues(n),received:t.parsedType,code:q.invalid_type}),Y}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return J(t,{received:t.data,code:q.invalid_enum_value,options:n}),Y}return Wg(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};X_.create=Y_;var Z_=class extends Q{_parse(e){let t=Pg.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==K.string&&n.parsedType!==K.number){let e=Pg.objectValues(t);return J(n,{expected:Pg.joinValues(e),received:n.parsedType,code:q.invalid_type}),Y}if(this._cache||=new Set(Pg.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=Pg.objectValues(t);return J(n,{received:n.data,code:q.invalid_enum_value,options:e}),Y}return Wg(e.data)}get enum(){return this._def.values}};Z_.create=(e,t)=>new Z_({values:e,typeName:$.ZodNativeEnum,...Z(t)});var Q_=class extends Q{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==K.promise&&t.common.async===!1?(J(t,{code:q.invalid_type,expected:K.promise,received:t.parsedType}),Y):Wg((t.parsedType===K.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Q_.create=(e,t)=>new Q_({type:e,typeName:$.ZodPromise,...Z(t)});var $_=class extends Q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{J(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return Y;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?Y:r.status===`dirty`||t.value===`dirty`?Ug(r.value):r});{if(t.value===`aborted`)return Y;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?Y:r.status===`dirty`||t.value===`dirty`?Ug(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?Y:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?Y:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!qg(e))return Y;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>qg(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):Y);Pg.assertNever(r)}};
vendor: 4,282 bytes, line 48
48$_.create=(e,t,n)=>new $_({schema:e,typeName:$.ZodEffects,effect:t,...Z(n)}),$_.createWithPreprocess=(e,t,n)=>new $_({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...Z(n)});var ev=class extends Q{_parse(e){return this._getType(e)===K.undefined?Wg(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ev.create=(e,t)=>new ev({innerType:e,typeName:$.ZodOptional,...Z(t)});var tv=class extends Q{_parse(e){return this._getType(e)===K.null?Wg(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};tv.create=(e,t)=>new tv({innerType:e,typeName:$.ZodNullable,...Z(t)});var nv=class extends Q{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===K.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};nv.create=(e,t)=>new nv({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...Z(t)});var rv=class extends Q{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Jg(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new Lg(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new Lg(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};rv.create=(e,t)=>new rv({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...Z(t)});var iv=class extends Q{_parse(e){if(this._getType(e)!==K.nan){let t=this._getOrReturnCtx(e);return J(t,{code:q.invalid_type,expected:K.nan,received:t.parsedType}),Y}return{status:`valid`,value:e.data}}};iv.create=e=>new iv({typeName:$.ZodNaN,...Z(e)});var av=class extends Q{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},ov=class e extends Q{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?Y:e.status===`dirty`?(t.dirty(),Ug(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?Y:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},sv=class extends Q{_parse(e){let t=this._def.innerType._parse(e),n=e=>(qg(e)&&(e.value=Object.freeze(e.value)),e);return Jg(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};sv.create=(e,t)=>new sv({innerType:e,typeName:$.ZodReadonly,...Z(t)}),I_.lazycreate;var $;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})($||={});var cv=x_.create;C_.create,iv.create,w_.create,T_.create,E_.create,D_.create,O_.create,k_.create,A_.create,j_.create,M_.create,N_.create,P_.create;var lv=I_.create;I_.strictCreate,L_.create,z_.create,V_.create,H_.create,U_.create,W_.create,G_.create,K_.create,q_.create,J_.create,X_.create,Z_.create,Q_.create,$_.create,ev.create,tv.create,$_.createWithPreprocess,ov.create;var uv=()=>V(()=>
48import(`./unsubscribe-MMgPuxZP.js`),__vite__mapDeps([4,1,5,6,7,8,9])),dv=lv({token:cv().optional()}),fv=M(`/unsubscribe`)({validateSearch:e=>dv.parse(e),head:()=>({meta:[{title:`Unsubscribe | Affordable Roofing`},{name:`description`,content:`Manage your email preferences for Affordable Roofing communications.`},{name:`robots`,content:`noindex,nofollow`}]}),component:N(uv,`component`)}),pv=W[`/underground-drain-cleaning-takoma-park-md`],mv=M(`/underground-drain-cleaning-takoma-park-md`)({head:()=>G(pv),component:N(()=>V(()=>import(`./underground-drain-cleaning-takoma-park-md-B7iJOPXL.js`),__vite__mapDeps([10,1])),`component`)}),hv=W[`/tubular-skylight-installation-takoma-park-md`],gv=M(`/tubular-skylight-installation-takoma-park-md`)({head:()=>G(hv),component:N(()=>V(()=>import(`./tubular-skylight-installation-takoma-park-md-C1IxJLdU.js`),__vite__mapDeps([11,1])),`component`)}),_v=W[`/tpo-roofing-installation-takoma-park-md`],vv=M(`/tpo-roofing-installation-takoma-park-md`)({head:()=>G(_v),component:N(()=>V(()=>import(`./tpo-roofing-installation-takoma-park-md-Cu0n3xQ6.js`),__vite__mapDeps([12,1])),`component`)}),yv=W[`/torch-down-roofing-takoma-park-md`],bv=M(`/torch-down-roofing-takoma-park-md`)({head:()=>G(yv),component:N(()=>V(()=>import(`./torch-down-roofing-takoma-park-md-ZFID8KCB.js`),__vite__mapDeps([13,1])),`component`)}),xv=W[`/tile-roof-repair-takoma-park-md`],Sv=M(`/tile-roof-repair-takoma-park-md`)({head:()=>G(xv),component:N(()=>V(()=>import(`./tile-roof-repair-takoma-park-md-CGJe5i03.js`),__vite__mapDeps([14,1])),`component`)}),Cv=W[`/sun-tunnel-installation-takoma-park-md`],wv=M(`/sun-tunnel-installation-takoma-park-md`)({head:()=>G(Cv),component:N(()=>V(()=>import(`./sun-tunnel-installation-takoma-park-md-DZLbsZSj.js`),__vite__mapDeps([15,1])),`component`)}),Tv=`/storm-damage-roof-repair-takoma-park-md`,Ev=`Storm Damage Roof Repair`,Dv=[{label:`Roof Hail Damage Repair`,url:`/roof-hail-damage-repair-takoma-park-md`,blurb:`Document and repair hail bruising before your insurance claim window closes.`},{label:`Insurance Roof Claims Assistance`,url:`/insurance-roof-claims-assistance-takoma-park-md`,blurb:`We work with all major carriers, meet the adjuster on your roof, and handle the paperwork.`},{label:`Emergency Roof Repair`,url:`/emergency-roof-repair-takoma-park-md`,blurb:`Same-day tarping and patching when a storm has left you with active water or open holes.`}];function Ov(e){let t={"@context":`https://schema.org`,"@type":`Service`,serviceType:e.category,name:`${e.category} in ${E.city}, ${E.stateAbbr}`,provider:{"@type":`RoofingContractor`,name:E.name,telephone:E.phone,email:E.email,address:{"@type":`PostalAddress`,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`}},areaServed:[{"@type":`City`,name:E.city},{"@type":`State`,name:E.state},...ye.map(e=>({"@type":`AdministrativeArea`,name:e}))],hasOfferCatalog:{"@type":`OfferCatalog`,name:`${e.category} Offerings`,itemListElement:e.children.map(e=>({"@type":`Offer`,itemOffered:{"@type":`Service`,name:e.label,url:D(e.url)}}))}};return(0,j.jsxs)(Te,{children:[(0,j.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify(t)}}),(0,j.jsxs)(`section`,{className:`relative isolate overflow-hidden`,children:[(0,j.jsx)(`img`,{src:e.heroImage,alt:e.heroImageAlt,width:1920,height:1080,fetchPriority:`high`,className:`absolute inset-0 -z-10 h-full w-full object-cover`}),(0,j.jsx)(`div`,{className:`absolute inset-0 -z-10 bg-gradient-to-br from-primary/95 via-primary/85 to-primary/70`}),(0,j.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-20 md:py-28 text-primary-foreground`,children:[(0,j.jsxs)(`nav`,{className:`text-xs sm:text-sm text-primary-foreground/80 mb-5`,"aria-label":`Breadcrumb`,children:[(0,j.jsx)(xe,{to:be,className:`hover:text-accent`,children:`Home`}),(0,j.jsx)(`span`,{className:`mx-2`,children:`/`}),(0,j.jsx)(`span`,{className:`text-primary-foreground`,children:e.category})]}),(0,j.jsxs)(`p`,{className:`inline-flex items-center gap-2 rounded-full border border-primary-foreground/30 bg-primary-foreground
48/10 px-4 py-1.5 text-xs sm:text-sm font-medium uppercase tracking-wider backdrop-blur`,children:[(0,j.jsx)(Ce,{className:`h-3.5 w-3.5`}),E.city,`, `,E.stateAbbr]}),(0,j.jsx)(`h1`,{className:`mt-5 text-4xl md:text-5xl lg:text-6xl font-bold leading-tight tracking-tight max-w-4xl`,children:e.h1}),(0,j.jsx)(`p`,{className:`mt-6 text-lg md:text-xl text-primary-foreground/90 max-w-2xl`,children:e.subheadline}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-col sm:flex-row gap-3`,children:[(0,j.jsxs)(Se,{label:`category hero`,className:`inline-flex items-center justify-center gap-2 rounded-md bg-accent px-6 py-4 text-base font-semibold text-accent-foreground shadow-lg shadow-accent/30 transition hover:bg-accent/90`,children:[(0,j.jsx)(Re,{className:`h-5 w-5`}),` Call Now `,E.phone]}),(0,j.jsxs)(xe,{to:`/contact`,className:`inline-flex items-center justify-center gap-2 rounded-md border-2 border-primary-foreground/40 bg-primary-foreground/10 px-6 py-4 text-base font-semibold text-primary-foreground backdrop-blur transition hover:bg-primary-foreground/20`,children:[`Schedule Service `,(0,j.jsx)(gg,{className:`h-4 w-4`})]})]}),(0,j.jsx)(`div`,{className:`mt-10 flex flex-wrap gap-x-6 gap-y-3 text-sm font-medium text-primary-foreground/90`,children:[`Licensed & Insured`,`24/7 Emergency`,`Same-Day Service`,`Free Written Estimates`].map(e=>(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,j.jsx)(bg,{className:`h-4 w-4 text-accent`}),` `,e]},e))})]})]}),(0,j.jsx)(`article`,{className:`bg-background`,children:(0,j.jsxs)(`div`,{className:`mx-auto max-w-4xl px-4 py-16 md:py-20`,children:[(0,j.jsx)(`div`,{className:`prose-content text-foreground space-y-5 text-lg leading-relaxed`,children:e.opening}),(0,j.jsx)(kv,{title:`What ${e.category} Problems Do You Have?`,children:e.problems}),(0,j.jsx)(kv,{title:`Our ${e.category}`,children:e.servicesIntro}),(0,j.jsx)(kv,{title:`${e.category} for ${E.city} Homes & Businesses`,children:e.forCity}),(0,j.jsx)(kv,{title:`Why Choose Affordable Roofing for ${e.category}`,children:e.whyUs}),(0,j.jsxs)(`div`,{className:`mt-12 rounded-xl border-2 border-accent bg-accent/5 p-6 md:p-8`,children:[(0,j.jsx)(`div`,{className:`text-foreground text-lg leading-relaxed`,children:e.finalCta}),(0,j.jsxs)(`div`,{className:`mt-6 flex flex-col sm:flex-row gap-3`,children:[(0,j.jsxs)(Se,{label:`category body`,className:`inline-flex items-center justify-center gap-2 rounded-md bg-accent px-6 py-3 text-base font-semibold text-accent-foreground hover:bg-accent/90`,children:[(0,j.jsx)(Re,{className:`h-5 w-5`}),` Call `,E.phone]}),(0,j.jsx)(xe,{to:`/contact`,className:`inline-flex items-center justify-center gap-2 rounded-md border-2 border-primary bg-background px-6 py-3 text-base font-semibold text-primary hover:bg-primary hover:text-primary-foreground`,children:`Get a Free Estimate`})]})]}),(0,j.jsxs)(`p`,{className:`mt-8 text-base text-muted-foreground`,children:[`Looking for more than `,e.category.toLowerCase(),`? See everything we offer on our`,` `,(0,j.jsx)(xe,{to:be,className:`text-accent font-semibold hover:underline`,children:e.homepageLinkText}),` `,`page.`]})]})}),(0,j.jsx)(`section`,{className:`bg-secondary border-t border-border`,children:(0,j.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-16 md:py-20`,children:[(0,j.jsxs)(`div`,{className:`text-center max-w-3xl mx-auto`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-foreground`,children:[`Every `,e.category,` Service We Offer`]}),(0,j.jsx)(`p`,{className:`mt-3 text-muted-foreground`,children:`Click any service for details, pricing notes, and local examples.`})]}),(0,j.jsx)(`div`,{className:`mt-12 grid gap-5 sm:grid-cols-2 lg:grid-cols-3`,children:e.children.map(e=>(0,j.jsxs)(xe,{to:e.url,className:`group flex flex-col rounded-xl border border-border bg-card p-6 shadow-sm transition hover:-translate-y-1 hover:border-accent hover:shadow-lg`,children:[(0,j.jsx)(`h3`,{className:`text-lg font-bold text-foreground group-hover:text-accent`,children:e.label}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground leading-relaxed flex-1`,children:e.blurb}),(0,j.jsxs)(`span`,{className:`mt-4 inline-flex items-center gap-1 text-sm font-semibold text-accent`,children:[`Learn more about `,e.label,` `,(0,j.jsx)(gg,{className:`h-4 w-4`})]})]},e.url))})]})}),(0,j.jsx)(`section`,{className:`bg-background border-t border-border`,children:(0,j.jsx)(`div`,{className:`mx-auto max-w-7xl px-4 py-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-4 text-sm`,children:[{icon:wg,text:`Licensed & Insured in MD, DC, VA`}
48,{icon:xg,text:`Same-Day & 24/7 Emergency Response`},{icon:Cg,text:`Free Written Estimates · No Trip Fees`},{icon:_g,text:`5-Year Workmanship Warranty`}].map(({icon:e,text:t})=>(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(e,{className:`h-5 w-5 text-accent shrink-0`}),(0,j.jsx)(`span`,{className:`font-medium text-foreground`,children:t})]},t))})}),(0,j.jsx)(`section`,{className:`bg-gradient-to-br from-primary via-primary to-primary/85 text-primary-foreground`,children:(0,j.jsxs)(`div`,{className:`mx-auto max-w-5xl px-4 py-16 md:py-20 text-center`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold`,children:[`Ready to Solve Your `,e.category,` Problem?`]}),(0,j.jsxs)(`p`,{className:`mt-4 text-lg text-primary-foreground/90 max-w-2xl mx-auto`,children:[`Call `,E.phone,` for a free, no-obligation estimate. Same-day response available throughout the DMV.`]}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-col sm:flex-row gap-3 justify-center`,children:[(0,j.jsxs)(Se,{label:`category final cta`,className:`inline-flex items-center justify-center gap-2 rounded-md bg-accent px-8 py-4 text-lg font-bold text-accent-foreground shadow-lg hover:bg-accent/90`,children:[(0,j.jsx)(Re,{className:`h-5 w-5`}),` Call `,E.phone]}),(0,j.jsx)(xe,{to:be,className:`inline-flex items-center justify-center gap-2 rounded-md border-2 border-primary-foreground/40 bg-primary-foreground/10 px-8 py-4 text-lg font-bold backdrop-blur hover:bg-primary-foreground/20`,children:`Back to Home`})]})]})})]})}function kv({title:e,children:t}){return(0,j.jsxs)(`div`,{className:`mt-12`,children:[(0,j.jsx)(`h2`,{className:`text-2xl md:text-3xl font-bold text-foreground border-l-4 border-accent pl-4`,children:e}),(0,j.jsx)(`div`,{className:`mt-5 space-y-4 text-foreground text-base md:text-lg leading-relaxed`,children:t})]})}function Av({to:e,children:t}){return(0,j.jsx)(xe,{to:e,className:`text-accent font-semibold hover:underline underline-offset-2`,children:t})}function jv(e){let t={"@context":`https://schema.org`,"@type":`Service`,serviceType:e.category,name:`${e.category} in ${E.city}, ${E.stateAbbr}`,provider:{"@type":`RoofingContractor`,name:E.name,telephone:E.phone},areaServed:[E.city,E.state,...ye]};return{meta:[{title:e.title},{name:`description`,content:e.description},{property:`og:title`,content:e.title},{property:`og:description`,content:e.description},{property:`og:type`,content:`website`},{property:`og:url`,content:D(e.url)},{property:`og:image`,content:e.image},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:e.image}],links:[{rel:`canonical`,href:D(e.url)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(t)}]}}var Mv=M(`/storm-damage-roof-repair-takoma-park-md`)({head:()=>jv({url:Tv,title:`Storm Damage Roof Repair in Takoma Park MD | 301-495-9274`,description:`Storm and hail damage roof repair in Takoma Park, MD. Insurance claim help, emergency tarping, same-day response across the DMV. Call 301-495-9274 now.`,image:Ie,category:Ev,children:Dv}),component:N(()=>V(()=>import(`./storm-damage-roof-repair-takoma-park-md-BeqOxMeH.js`),__vite__mapDeps([16,1,5,6,7,8,9,17])),`component`)}),Nv=W[`/spray-foam-insulation-takoma-park-md`],Pv=M(`/spray-foam-insulation-takoma-park-md`)({head:()=>G(Nv),component:N(()=>V(()=>import(`./spray-foam-insulation-takoma-park-md-9qkqWqOb.js`),__vite__mapDeps([18,1])),`component`)}),Fv=W[`/solar-skylight-installation-takoma-park-md`],Iv=M(`/solar-skylight-installation-takoma-park-md`)({head:()=>G(Fv),component:N(()=>V(()=>import(`./solar-skylight-installation-takoma-park-md-Dyi--4cy.js`),__vite__mapDeps([19,1])),`component`)}),Lv=W[`/soffit-and-fascia-repair-takoma-park-md`],Rv=M(`/soffit-and-fascia-repair-takoma-park-md`)({head:()=>G(Lv),component:N(()=>V(()=>import(`./soffit-and-fascia-repair-takoma-park-md-B1fAH7Kf.js`),__vite__mapDeps([20,1])),`component`)}),zv=W[`/slate-roof-repair-takoma-park-md`],Bv=M(`/slate-roof-repair-takoma-park-md`)({head:()=>G(zv),component:N(()=>V(()=>import(`./slate-roof-repair-takoma-park-md-D8wMC-ZI.js`),__vite__mapDeps([21,1])),`component`)}),Vv=`/skylight-services-takoma-park-md`,Hv=`Skylight Services`,Uv=[{label:`Skylight Installation`,url:`/skylight-installation-takoma-park-md`,blurb:`New skylights cut into existing roofs, framed and flashed for a watertight seal.`},{label:`Skylight Repair`,url:`/skylight-repair-takoma-park-md`,blurb:`Fix the leak, fog, or draft before it ruins your ceiling drywall.`},{label:`Skylight Replacement`,url:`/skylight-replacement-takoma-park-md`,blurb:`Swap out aged units that have reached the end of their service life.`},{label:`Leaking Skylight Repair`,url:`/leaking-skylight-repair-takoma-park-md`,blurb:`Diagnose whether the leak is glass, flashing, or curb, then fix the right thing.`},{label:`Skylight Flashing Repair`,url:`/skylight-flashing-repair-takoma-park-md`,blurb:`Reseal or replace the metal flashing that causes most skylight leaks.`},{label:`Velux Skylight Installation`,url:`/velux-skylight-installation-takoma-park-md`,blurb:`Certified installs of Velux fixed, vented, and solar-powered units.`},{label:`Flat Roof Skylight Installation`,url:`/flat-roof-skylight-installation-takoma-park-md`,blurb:`Curb-mounted units engineered for the drainage realities of a flat roof.`},{label:`Tubular Skylight Installation`,url:`/tubular-skylight-installation-takoma-park-md`,blurb:`Light closets, hallways, and bathrooms with a small reflective tube.`},{label:`Solar Skylight Installation`,url:`/solar-skylight-installation-takoma-park-md`,blurb:`Vented skylights with solar-powered operators and rain sensors.`},{label:`Electric Skylight Installation`,url:`/electric-skylight-installation-takoma-park-md`,blurb:`Motorized opening and closing on a remote or wall switch.`},{label:`Sun Tunnel Installation`,url:`/sun-tunnel-installation-takoma-park-md`,blurb:`A flexible tube version of a tubular skylight for tighter attic spaces.`},{label:`Skylight Glass Replacement`,url:`/skylight-glass-replacement-takoma-park-md`,blurb:`New tempered or laminated glass when the seal fails or the pane cracks.`},{label:`Energy Efficient Skylight Installation`,url:`/energy-efficient-skylight-installation-takoma-park-md`,blurb:`Low-E coatings and argon-filled units that cut summer heat gain.`},{label:`Commercial Skylight Services`,url:`/commercial-skylight-services-takoma-park-md`,blurb:`Skylight install, repair, and replacement on flat commercial roofs.`},{label:`Residential Skylight Services`,url:`/residential-skylight-services-takoma-park-md`,blurb:`Full skylight care for single-family homes and town houses across the DMV.`}],Wv=M(`/skylight-services-takoma-park-md`)({head:()=>jv({url:Vv,title:`Skylight Services in Takoma Park MD | 301-495-9274`,description:`Skylight installation, repair, replacement, and leak detection in Takoma Park, MD. Velux certified, licensed and insured, same-day service. Call 301-495-9274.`,image:ke,category:Hv,children:Uv}),component:N(()=>V(()=>import(`./skylight-services-takoma-park-md-C_4PcK32.js`),__vite__mapDeps([22,1,23])),`component`)}),Gv=W[`/skylight-replacement-takoma-park-md`],Kv=M(`/skylight-replacement-takoma-park-md`)({head:()=>G(Gv),component:N(()=>V(()=>import(`./skylight-replacement-takoma-park-md-TFbTrCyd.js`),__vite__mapDeps([24,1])
48),`component`)}),qv=W[`/skylight-repair-takoma-park-md`],Jv=M(`/skylight-repair-takoma-park-md`)({head:()=>G(qv),component:N(()=>V(()=>import(`./skylight-repair-takoma-park-md-BIQ8O0qc.js`),__vite__mapDeps([25,1])),`component`)}),Yv=W[`/skylight-installation-takoma-park-md`],Xv=M(`/skylight-installation-takoma-park-md`)({head:()=>G(Yv),component:N(()=>V(()=>import(`./skylight-installation-takoma-park-md-B8lI_MJ7.js`),__vite__mapDeps([26,1])),`component`)}),Zv=W[`/skylight-glass-replacement-takoma-park-md`],Qv=M(`/skylight-glass-replacement-takoma-park-md`)({head:()=>G(Zv),component:N(()=>V(()=>import(`./skylight-glass-replacement-takoma-park-md-Ce8YlTg0.js`),__vite__mapDeps([27,1])),`component`)}),$v=W[`/skylight-flashing-repair-takoma-park-md`],ey=M(`/skylight-flashing-repair-takoma-park-md`)({head:()=>G($v),component:N(()=>V(()=>import(`./skylight-flashing-repair-takoma-park-md-CT19yhW-.js`),__vite__mapDeps([28,1])),`component`)}),ty=W[`/shingle-roof-replacement-takoma-park-md`],ny=M(`/shingle-roof-replacement-takoma-park-md`)({head:()=>
48G(ty),component:N(()=>V(()=>import(`./shingle-roof-replacement-takoma-park-md-CldfrAsl.js`),__vite__mapDeps([29,1])),`component`)}),ry=()=>V(()=>import(`./services--PNrZL_d.js`),__vite__mapDeps([30,1,5,6,7,8,9])),iy=`Roofing Services in ${E.city}, ${E.stateAbbr} | ${E.phone}`,ay=`Roofing services in ${E.city}, ${E.stateAbbr} and the DMV. Roof repair, replacement, flat roofing, gutters, skylights, insulation, storm damage. Call ${E.phone}.`,oy=[...we.flatMap(e=>[{label:e.label,url:e.url},...e.children]),...Ee.flatMap(e=>[{label:e.label,url:e.url},...e.children]),...ve],sy={"@context":`https://schema.org`,"@graph":[{"@type":`CollectionPage`,"@id":D(`/services`),url:D(`/services`),name:iy,description:ay,isPartOf:{"@id":D(`/`)+`#website`},about:{"@type":`LocalBusiness`,name:E.name,telephone:E.phone},mainEntity:{"@type":`ItemList`,numberOfItems:oy.length,itemListElement:oy.map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.label,url:D(e.url)}))}},{"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:D(`/`)},{"@type":`ListItem`,position:2,name:`Services`,item:D(`/services`)}]}]},cy=M(`/services`)({head:()=>({meta:[{title:iy},{name:`description`,content:ay},{property:`og:title`,content:iy},{property:`og:description`,content:ay},{property:`og:url`,content:D(`/services`)}],links:[{rel:`canonical`,href:D(`/services`)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(sy)}]}),component:N(ry,`component`)}),ly=W[`/sagging-gutter-correction-takoma-park-md`],uy=M(`/sagging-gutter-correction-takoma-park-md`)({head:()=>G(ly),component:N(()=>V(()=>import(`./sagging-gutter-correction-takoma-park-md-BmQm9lEN.js`),__vite__mapDeps([31,1])),`component`)}),dy=`Washington, D.C.`,fy=`roofing-washington-dc`,py=Symbol.for(`react.lazy`),my=A.use;function hy(e){return typeof e==`object`&&!!e&&`then`in e}function gy(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===py&&`_payload`in e&&hy(e._payload)}function _y(e){let t=yy(e),n=A.forwardRef((e,n)=>{let{children:r,...i}=e;gy(r)&&typeof my==`function`&&(r=my(r._payload));let a=A.Children.toArray(r),o=a.find(xy);if(o){let e=o.props.children,r=a.map(t=>t===o?A.Children.count(e)>1?A.Children.only(null):A.isValidElement(e)?e.props.children:null:t);return(0,j.jsx)(t,{...i,ref:n,children:A.isValidElement(e)?A.cloneElement(e,void 0,r):null})}return(0,j.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var vy=_y(`Slot`);function yy(e){let t=A.forwardRef((e,t)=>{let{children:n,...r}=e;if(gy(n)&&typeof my==`function`&&(n=my(n._payload)),A.isValidElement(n)){let e=Cy(n),i=Sy(r,n.props);return n.type!==A.Fragment&&(i.ref=t?Be(t,e):e),A.cloneElement(n,i)}return A.Children.count(n)>1?A.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var by=Symbol(`radix.slottable`);function xy(e){return A.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===by}function Sy(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Cy(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wy=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Ty=ze,Ey=(e,t)=>n=>{if(t?.variants==null)return Ty(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=wy(t)||wy(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Ty(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Dy=Ey(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90`,outline:`border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2`,sm:`h-8 rounded-md px-3 text-xs`,lg:`h-10 rounded-md px-8`,icon:`h-9 w-9`}},defaultVariants:{variant:`default`,size:`default`}}),Oy=A.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...i},a)=>(0,j.jsx)(r?vy:`button`,{className:Ve(Dy({variant:t,size:n,className:e})),ref:a,...i}));Oy.displayName=`Button`;function ky({area:e,region:t,slug:n,intro:r,cities:i,neighborhoods:a,additionalContent:o}){return`${n}`,(0,j.jsxs)(Te,{children:[(0,j.jsx)(`section`,{className:`relative overflow-hidden border-b bg-gradient-to-br from-primary/10 via-background to-background`,children:(0,j.jsx)(`div`,{className:`container mx-auto px-4 py-16 md:py-24`,children:(0,j.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,j.jsxs)(`p`,{className:`mb-4 inline-flex items-center gap-2 rounded-full bg-primary/10 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-primary`,children:[(0,j.jsx)(Ce,{className:`h-4 w-4`}),` Serving `,e]}),(0,j.jsxs)(`h1`,{className:`text-4xl font-bold tracking-tight md:text-5xl`,children:[`Roofing Contractor in `,e]}),(0,j.jsx)(`p`,{className:`mt-5 text-lg text-muted-foreground md:text-xl`,children:r}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-wrap items-center gap-3`,children:[(0,j.jsx)(Oy,{asChild:!0,size:`lg`,children:(0,j.jsxs)(Se,{label:`service area hero`,children:[(0,j.jsx)(Re,{className:`mr-2 h-5 w-5`}),` Call `,E.phone]})}),(0,j.jsx)(Oy,{asChild:!0,size:`lg`,variant:`outline`,children:(0,j.jsx)(xe,{to:`/contact`,children:`Request Free Estimate`})})]}),(0,j.jsxs)(`div`,{className:`mt-8 flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground`,children:[(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,j.jsx)(wg,{className:`h-4 w-4 text-primary`}),` Licensed & Insured`]}),(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,j.jsx)(xg,{className:`h-4 w-4 text-primary`}),` 24/7 Emergency`]}),(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,j.jsx)(Tg,{className:`h-4 w-4 text-primary`}),` Veteran & Family Owned`]})]})]})})}),(0,j.jsx)(`section`,{className:`container mx-auto px-4 py-16`,children:(0,j.jsxs)(`div`,{className:`max-w-3xl space-y-4 text-muted-foreground`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl font-bold tracking-tight text-foreground`,children:[`Trusted Roofing Services Across `,e]}),(0,j.jsxs)(`p`,{children:[E.name,` is a veteran and family owned roofing contractor based in`,` `,E.city,`, `,E.stateAbbr,`, proudly serving homeowners and businesses throughout `,e,`. From asphalt shingle replacements to flat roof installations, storm damage repair, and full commercial roofing systems, our local crews deliver quality workmanship backed by written warranties.`]}),a&&(0,j.jsxs)(`p`,{children:[`We regularly work in `,a,`. Whether you own a historic home, a new build, or a commercial property, we tailor every recommendation to your roof and 
48your budget.`]}),(0,j.jsxs)(`p`,{children:[`Call`,` `,(0,j.jsx)(Se,{label:`service area body`,className:`font-semibold text-primary hover:underline`,children:E.phone}),` `,`for same-week service anywhere in `,e,`, or head back to our`,` `,(0,j.jsx)(xe,{to:be,className:`font-semibold text-primary hover:underline`,children:`main roofing services page`}),` `,`to see everything we offer.`]})]})}),(0,j.jsx)(`section`,{className:`border-y bg-muted/30`,children:(0,j.jsxs)(`div`,{className:`container mx-auto px-4 py-16`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl font-bold tracking-tight`,children:[`Cities and Communities We Serve in `,e]}),(0,j.jsxs)(`p`,{className:`mt-3 max-w-3xl text-muted-foreground`,children:[`Our roofing crews respond quickly throughout `,e,`. If you do not see your town listed, call us at`,` `,(0,j.jsx)(Se,{label:`service area body`,className:`font-semibold text-primary hover:underline`,children:E.phone}),` `,`and we likely serve you.`]}),(0,j.jsx)(`ul`,{className:`mt-8 grid gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(e=>(0,j.jsxs)(`li`,{className:`inline-flex items-center gap-2 rounded-lg border bg-card px-4 py-3 text-sm font-medium`,children:[(0,j.jsx)(Ce,{className:`h-4 w-4 text-primary`}),` `,e]},e))})]})}),(0,j.jsxs)(`section`,{className:`container mx-auto px-4 py-16`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl font-bold tracking-tight`,children:[`Roofing Services Offered in `,e]}),(0,j.jsxs)(`p`,{className:`mt-3 max-w-2xl text-muted-foreground`,children:[`Full-service residential and commercial roofing, gutters, skylights, insulation, and building restoration for property owners across `,t,`.`]}),(0,j.jsx)(`div`,{className:`mt-8 grid gap-6 md:grid-cols-2 lg:grid-cols-3`,children:[...we,...Ee].map(t=>(0,j.jsxs)(xe,{to:t.url,className:`group rounded-xl border bg-card p-6 transition hover:border-primary hover:shadow-md`,children:[(0,j.jsx)(Eg,{className:`h-6 w-6 text-primary`}),(0,j.jsx)(`h3`,{className:`mt-4 font-semibold text-foreground group-hover:text-primary`,children:t.label}),(0,j.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[`Professional `,t.label.toLowerCase(),` for `,e,` homes and businesses.`]})]},t.url))})]}),(0,j.jsx)(`section`,{className:`border-y bg-muted/30`,children:(0,j.jsxs)(`div`,{className:`container mx-auto px-4 py-16`,children:[(0,j.jsxs)(`h2`,{className:`text-3xl font-bold tracking-tight`,children:[`Why `,e,` Chooses `,E.name]}),(0,j.jsx)(`div`,{className:`mt-8 grid gap-6 sm:grid-cols-2 lg:grid-cols-4`,children:[{icon:wg,title:`Licensed & Insured`,desc:`Full licensing and liability coverage across MD, DC, and VA.`},{icon:_g,title:`Free Inspections`,desc:`Honest written estimates with photo documentation.`},{icon:vg,title:`Insurance Claims`,desc:`We work with all major carriers on storm damage claims.`},{icon:bg,title:`Workmanship Warranty`,desc:`Every install and repair backed in writing.`}].map(e=>(0,j.jsxs)(`div`,{className:`rounded-xl border bg-card p-6`,children:[(0,j.jsx)(e.icon,{className:`h-8 w-8 text-primary`}),(0,j.jsx)(`h3`,{className:`mt-4 font-semibold`,children:e.title}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.desc})]},e.title))})]})}),o,(0,j.jsx)(`section`,{className:`border-t bg-primary text-primary-foreground`,children:(0,j.jsxs)(`div`,{className:`container mx-auto flex flex-col items-center gap-6 px-4 py-12 text-center md:flex-row md:justify-between md:text-left`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`h2`,{className:`text-2xl font-bold md:text-3xl`,children:[`Need a roofer in `,e,`?`]}),(0,j.jsx)(`p`,{className:`mt-2 opacity-90`,children:`Call now for same-week scheduling and 24/7 emergency response.`})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,j.jsx)(Oy,{asChild:!0,size:`lg`,variant:`secondary`,children:(0,j.jsxs)(Se,{label:`service area final cta`,children:[(0,j.jsx)(Re,{className:`mr-2 h-5 w-5`}),` `,E.phone]})}),(0,j.jsx)(Oy,{asChild:!0,size:`lg`,variant:`outline`,className:`bg-transparent text-primary-foreground border-primary-foreground/40 hover:bg-primary-foreground hover:text-primary`,children:(0,j.jsx)(xe,{to:be,children:`Back to Home`})})]})]})})]})}function Ay({area:e,slug:t,description:n}){let r=`Roofing Contractor in ${e} | ${E.name}`,i=`/${t}`,a={"@context":`https://schema.org`,"@type":`LocalBusiness`,name:E.name,telephone:E.phone,email:E.email,address:{"@type":`PostalAddress`,streetAddress:E.street,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`},areaServed:e,url:D(i)};return{meta:[{title:r},{name:`description`,content:n},{property:`og:title`,content:r},{property:`og:description`,content:n},{property:`og:url`,content:D(i)},{property:`og:type`,content:`website`}],links:[{rel:`canonical`,href:D(i)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(a)}]}}var jy=()=>V(()=>import(`./roofing-washington-dc-CSRwbfej.js`),__vite__mapDeps([32,1])
48),My=`Washington D.C. roofing contractor for row houses, flat roofs, and commercial buildings. Licensed, insured, 24/7 emergency service. Call 301-495-9274.`,Ny=M(`/roofing-washington-dc`)({head:()=>Ay({area:dy,slug:fy,description:My}),component:N(jy,`component`)}),Py=W[`/roofing-tear-off-takoma-park-md`],Fy=M(`/roofing-tear-off-takoma-park-md`)({head:()=>G(Py),component:N(()=>V(()=>import(`./roofing-tear-off-takoma-park-md-C9kdr8al.js`),__vite__mapDeps([33,1])),`component`)}),Iy=`Prince George's County, MD`,Ly=`roofing-prince-georges-county-md`,Ry=()=>V(()=>import(`./roofing-prince-georges-county-md-BXFHUoVP.js`),__vite__mapDeps([34,1])),zy=`Roofing contractor serving Prince George's County, MD. Residential and commercial roof repair, replacement, and storm damage. Call 301-495-9274 today.`,By=M(`/roofing-prince-georges-county-md`)({head:()=>Ay({area:Iy,slug:Ly,description:zy}),component:N(Ry,`component`)}),Vy=`Northern Virginia`,Hy=`roofing-northern-virginia`,Uy=()=>V(()=>import(`./roofing-northern-virginia-vCmRTnbz.js`),__vite__mapDeps([35,1])),Wy=`Northern Virginia roofing contractor serving Arlington, Alexandria, Fairfax, and beyond. Repair, replacement, storm damage. Call 301-495-9274.`,Gy=M(`/roofing-northern-virginia`)({head:()=>Ay({area:Vy,slug:Hy,description:Wy}),component:N(Uy,`component`)}),Ky=`Montgomery County, MD`,qy=`roofing-montgomery-county-md`,Jy=()=>V(()=>import(`./roofing-montgomery-county-md-COxILGTy.js`),__vite__mapDeps([36,1,5,6,7,8,9])),Yy=`Local roofing contractor serving Montgomery County, MD. Repair, replacement, flat and metal roofs. Licensed, insured, 24/7 emergency. Call 301-495-9274.`,Xy=M(`/roofing-montgomery-county-md`)({head:()=>Ay({area:Ky,slug:qy,description:Yy}),component:N(Jy,`component`)}),Zy=`Howard County, MD`,Qy=`roofing-howard-county-md`,$y=()=>V(()=>import(`./roofing-howard-county-md-DdmUTGje.js`),__vite__mapDeps([37,1])),eb=`Howard County MD roofing contractor for repair, replacement, gutters, and skylights. Licensed, insured, veteran owned. Free estimates, call 301-495-9274.`,tb=M(`/roofing-howard-county-md`)({head:()=>Ay({area:Zy,slug:Qy,description:eb}),component:N($y,`component`)}),nb=`Frederick County, MD`,rb=`roofing-frederick-county-md`,ib=()=>V(()=>import(`./roofing-frederick-county-md-Cp0VCVK5.js`),__vite__mapDeps([38,1])),ab=`Frederick County MD roofing contractor for repair, replacement, and storm damage. Veteran and family owned, licensed and insured. Call 301-495-9274.`,ob=M(`/roofing-frederick-county-md`)({head:()=>Ay({area:nb,slug:rb,description:ab}),component:N(ib,`component`)}),sb=W[`/roofing-estimates-takoma-park-md`],cb=M(`/roofing-estimates-takoma-park-md`)({head:()=>G(sb),component:N(()=>V(()=>import(`./roofing-estimates-takoma-park-md-bZoT-Ldo.js`),__vite__mapDeps([39,1])),`component`)}),lb=[{q:`How much does a roof replacement cost in Takoma Park?`,a:`Roof replacement costs vary based on the size of your roof, the materials you choose, and the condition of the decking underneath. Asphalt shingle replacements in the DMV typically range from several thousand to tens of thousands of dollars depending on those factors. The only way to give you an accurate number is to see the roof, and our estimates are always free, written, and no-obligation.`},{q:`Do you charge to come out and give me an estimate?`,a:`No. We never charge a trip fee, and our estimates are always free. We'll inspect your roof, explain what we find, and give you a written quote before any work is discussed, with no pressure to commit on the spot.`},{q:`How fast can you get to my home after a storm?`,a:`For emergency situations like active leaks, storm damage, and exposed areas, we respond 24/7 and aim to be on site the same day you call. For non-emergency repairs and estimates, we typically schedule within a day or two depending on current demand.`},{q:`Will you work directly with my insurance company?`,a:`Yes. We assist with insurance roof claims from start to finish. We document the damage, provide the carrier with the detail they need, and help ensure your claim reflects the full scope of what needs to be repaired or replaced. We work with all major carriers and have done this hundreds of times across Maryland, D.C., and Virginia.`},{q:`How long will my new roof last?`,a:`That depends on the material. Architectural asphalt shingles typically last 25 to 30 years in the DMV climate with proper ventilation and maintenance. Metal roofing can last 40 to 70 years. We'll help you choose the right material for your budget and how long you plan to stay in the home, and we'll be honest if a repair makes more financial sense than a full replacement.`},{q:`What warranty do you offer on your work?`,a:`We back every installation and repair with a 5-year workmanship warranty. That covers defects in how the work was performed, separate from the manufacturer's material warranty that comes with your shingles or roofing system. If something fails because of how we installed it, we come back and fix it at no charge.`}],ub=()=>V(()=>import(`./roofing-contractor-takoma-park-md-6mBQKyA-.js`),__vite__mapDeps([40,1,41,42,8,9,5,6,7,43])),db=`Roofing Contractor in Takoma Park, MD | 301-495-9274`,fb=`Takoma Park, MD roofing contractor serving the DMV for over 15 years. Same-day response, free written estimates, 5-year warranty. Call 301-495-9274 today.`,pb=`https://affordableroofmd.com/roofing-contractor-takoma-park-md`,mb=M(`/roofing-contractor-takoma-park-md`)({head:()=>({meta:[{title:db},{name:`description`,content:fb},{property:`og:title`,content:db},{property:`og:description`,content:fb},{property:`og:type`,content:`website`},{property:`og:url`,content:pb},{property:`og:image`,content:`https://affordableroofmd.lovable.app/__l5e/assets-v1/f388af14-f0b7-44fb-99ff-b38ee32fb23c/social-card.jpg`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:`https://affordableroofmd.lovable.app/__l5e/assets-v1/f388af14-f0b7-44fb-99ff-b38ee32fb23c/social-card.jpg`}],links:[{rel:`canonical`,href:pb}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`RoofingContractor`,name:E.name,telephone:E.phone,email:E.email,url:pb,image:De,address:{"@type":`PostalAddress`,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`},areaServed:ye,priceRange:`$$`,openingHours:`Mo-Su 00:00-23:59`})}
48,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:lb.map(e=>({"@type":`Question`,name:e.q,acceptedAnswer:{"@type":`Answer`,text:e.a}}))})}]}),component:N(ub,`component`)}),hb=W[`/roofing-consultation-takoma-park-md`],gb=M(`/roofing-consultation-takoma-park-md`)({head:()=>G(hb),component:N(()=>V(()=>import(`./roofing-consultation-takoma-park-md-CCtAzdK1.js`),__vite__mapDeps([44,1])),`component`)}),_b=`Carroll County, MD`,vb=`roofing-carroll-county-md`,yb=()=>V(()=>import(`./roofing-carroll-county-md-auM5t2pm.js`),__vite__mapDeps([45,1])),bb=`Roofing contractor serving Carroll County MD. Residential, commercial, and storm damage roofing. Licensed and insured. Free estimates at 301-495-9274.`,xb=M(`/roofing-carroll-county-md`)({head:()=>Ay({area:_b,slug:vb,description:bb}),component:N(yb,`component`)}),Sb=`Baltimore County, MD`,Cb=`roofing-baltimore-county-md`,wb=()=>V(()=>import(`./roofing-baltimore-county-md-BK5frSDp.js`),__vite__mapDeps([46,1])),Tb=`Baltimore County MD roofing contractor. Repair, replacement, flat roofs, gutters, and storm damage. Licensed, insured, veteran owned. Call 301-495-9274.`,Eb=M(`/roofing-baltimore-county-md`)({head:()=>Ay({area:Sb,slug:Cb,description:Tb}),component:N(wb,`component`)}),Db=`Anne Arundel County, MD`,Ob=`roofing-anne-arundel-county-md`,kb=()=>V(()=>import(`./roofing-anne-arundel-county-md-CPbc-EE1.js`),__vite__mapDeps([47,1])),Ab=`Roofing contractor serving Anne Arundel County MD. Storm damage, replacement, flat roofs, and gutters. Licensed, insured, family owned. Call 301-495-9274.`,jb=M(`/roofing-anne-arundel-county-md`)({head:()=>Ay({area:Db,slug:Ob,description:Ab}),component:N(kb,`component`)}),Mb=W[`/roof-waterproofing-takoma-park-md`],Nb=M(`/roof-waterproofing-takoma-park-md`)({head:()=>G(Mb),component:N(()=>V(()=>import(`./roof-waterproofing-takoma-park-md-vsB0OuTd.js`),__vite__mapDeps([48,1])),`component`)}),Pb=W[`/roof-ventilation-installation-takoma-park-md`],Fb=M(`/roof-ventilation-installation-takoma-park-md`)({head:()=>G(Pb),component:N(()=>V(()=>import(`./roof-ventilation-installation-takoma-park-md-DQJF5GSu.js`),__vite__mapDeps([49,1])),`component`)}),Ib=W[`/roof-restoration-takoma-park-md`],Lb=M(`/roof-restoration-takoma-park-md`)({head:()=>G(Ib),component:N(()=>V(()=>import(`./roof-restoration-takoma-park-md-DXhCmRFd.js`),__vite__mapDeps([50,1])),`component`)}),Rb=`/roof-replacement-takoma-park-md`,zb=`Roof Replacement`,Bb=[{label:`Shingle Roof Replacement`,url:`/shingle-roof-replacement-takoma-park-md`,blurb:`Full tear-off and install of new architectural shingles for most DMV homes.`},{label:`Asphalt Shingle Roofing`,url:`/asphalt-shingle-roofing-takoma-park-md`,blurb:`The most common roofing system in the DMV — strong, affordable, and easy to maintain.`},{label:`Roofing Tear-Off`,url:`/roofing-tear-off-takoma-park-md`,blurb:`Complete removal of old shingles down to the deck so the new roof sits on a clean surface.`},{label:`New Roof Installation`,url:`/new-roof-installation-takoma-park-md`,blurb:`Full installs for new construction, additions, and homes with no existing roof system.`}],Vb=M(`/roof-replacement-takoma-park-md`)({head:()=>jv({url:Rb,title:`Roof Replacement in Takoma Park, MD | 301-495-9274`,description:`Full roof replacement in Takoma Park, MD. Shingle, asphalt, and new installs. Free written estimate the same day. Call 301-495-9274 for a fast local quote.`,image:Ne,category:zb,children:Bb}),component:N(()=>V(()=>import(`./roof-replacement-takoma-park-md-MAGSphuV.js`),__vite__mapDeps([51,1,5,6,7,8,9,52])),`component`)}),Hb=`/roof-repair-takoma-park-md`,Ub=`Roof Repair`,Wb=[{label:`Leaking Roof Repair`,url:`/leaking-roof-repair-takoma-park-md`,blurb:`Find and stop active leaks before water reaches your drywall, insulation, or framing.`},{label:`Emergency Roof Repair`,url:`/emergency-roof-repair-takoma-park-md`,blurb:`Same-day tarping and patching when a storm leaves you with open holes or active water.`},{label:`Roof Flashing Repair`,url:`/roof-flashing-repair-takoma-park-md`,blurb:`Reseal flashing around valleys, walls, and penetrations where most leaks actually start.`},{label:`Chimney Flashing Repair`,url:`/chimney-flashing-repair-takoma-park-md`,blurb:`Rebuild step flashing and counter-flashing so rain stops running down your chimney into the attic.`},{label:`Tile Roof Repair`,url:`/tile-roof-repair-takoma-park-md`,blurb:`Replace cracked or slipped clay and concrete tiles without damaging the surrounding field.`},{label:`Slate Roof Repair`,url:`/slate-roof-repair-takoma-park-md`,blurb:`Hand-replace broken slates on historic DMV homes using copper hooks and matched stock.`},{label:`Cedar Shake Roof Repair`,url:`/cedar-shake-roof-repair-takoma-park-md`,blurb:`Swap split, cupped, or rotted shakes and treat the surrounding field to extend its life.`},{label:`Soffit and Fascia Repair`,url:`/soffit-and-fascia-repair-takoma-park-md`,blurb:`Rebuild the wood under your eaves that a long-running leak or bad gutter has chewed through.`}],Gb=M(`/roof-repair-takoma-park-md`)({head:()=>jv({url:Hb,title:`Roof Repair Takoma Park MD | Same-Day Service Available`,de
48scription:`Fast roof repair in Takoma Park, MD. Leaks, flashing, shingles, chimneys, tile, and slate. Same-day service. Free estimates. Call 301-495-9274.`,image:Me,category:Ub,children:Wb}),component:N(()=>V(()=>import(`./roof-repair-takoma-park-md-CHTD7oFq.js`),__vite__mapDeps([53,1,5,6,7,8,9,54])),`component`)}),Kb=W[`/roof-moss-removal-takoma-park-md`],qb=M(`/roof-moss-removal-takoma-park-md`)({head:()=>G(Kb),component:N(()=>V(()=>import(`./roof-moss-removal-takoma-park-md-u5fSz4BU.js`),__vite__mapDeps([55,1])),`component`)}),Jb=W[`/roof-mold-removal-takoma-park-md`],Yb=M(`/roof-mold-removal-takoma-park-md`)({head:()=>G(Jb),component:N(()=>V(()=>import(`./roof-mold-removal-takoma-park-md-WJXjGWnS.js`),__vite__mapDeps([56,1])),`component`)}),Xb=W[`/roof-maintenance-takoma-park-md`],Zb=M(`/roof-maintenance-takoma-park-md`)({head:()=>G(Xb),component:N(()=>V(()=>import(`./roof-maintenance-takoma-park-md-Dg4DBArB.js`),__vite__mapDeps([57,1])),`component`)}),Qb=W[`/roof-hail-damage-repair-takoma-park-md`],$b=M(`/roof-hail-damage-repair-takoma-park-md`)({head:()=>G(Qb),component:N(()=>V(()=>import(`./roof-hail-damage-repair-takoma-park-md-D2W-4SKA.js`),__vite__mapDeps([58,1])),`component`)}),ex=W[`/roof-flashing-repair-takoma-park-md`],tx=M(`/roof-flashing-repair-takoma-park-md`)({head:()=>G(ex),component:N(()=>V(()=>import(`./roof-flashing-repair-takoma-park-md-hBZQ2wdI.js`),__vite__mapDeps([59,1])),`component`)}),nx=W[`/roof-drainage-solutions-takoma-park-md`],rx=M(`/roof-drainage-solutions-takoma-park-md`)({head:()=>G(nx),component:N(()=>V(()=>import(`./roof-drainage-solutions-takoma-park-md-BX8xPdjy.js`),__vite__mapDeps([60,1])),`component`)}),ix=W[`/roof-coating-takoma-park-md`],ax=M(`/roof-coating-takoma-park-md`)({head:()=>G(ix),component:N(()=>V(()=>import(`./roof-coating-takoma-park-md-C5dohZXc.js`),__vite__mapDeps([61,1])),`component`)}),ox=W[`/roof-algae-removal-takoma-park-md`],sx=M(`/roof-algae-removal-takoma-park-md`)({head:()=>G(ox),component:N(()=>V(()=>import(`./roof-algae-removal-takoma-park-md-BQ6OYExl.js`),__vite__mapDeps([62,1])),`component`)}),cx=W[`/ridge-vent-installation-takoma-park-md`],lx=M(`/ridge-vent-installation-takoma-park-md`)({head:()=>G(cx),component:N(()=>V(()=>import(`./ridge-vent-installation-takoma-park-md-BePYhqjp.js`),__vite__mapDeps([63,1])),`component`)}),ux=W[`/residential-skylight-services-takoma-park-md`],dx=M(`/residential-skylight-services-takoma-park-md`)({head:()=>G(ux),component:N(()=>V(()=>import(`./residential-skylight-services-takoma-park-md-dUqLASOp.js`),__vite__mapDeps([64,1])),`component`)}),fx=`/residential-roofing-takoma-park-md`,px=`Residential Roofing`,mx=[{label:`Roof Maintenance`,url:`/roof-maintenance-takoma-park-md`,blurb:`Annual inspection and tune-up that catches small problems before they become big ones.`},{label:`Roof Ventilation Installation`,url:`/roof-ventilation-installation-takoma-park-md`,blurb:`Proper intake and exhaust so your attic stays dry in winter and cool in summer.`},{label:`Ridge Vent Installation`,url:`/ridge-vent-installation-takoma-park-md`,blurb:`Continuous vent along the peak that pulls hot, moist air out of the attic naturally.`},{label:`Roof Drainage Solutions`,url:`/roof-drainage-solutions-takoma-park-md`,blurb:`Custom gutter, downspout, and routing fixes for homes with chronic water problems.`},{label:`Energy Efficient Roofing`,url:`/energy-efficient-roofing-takoma-park-md`,blurb:`Reflective shingles and proper ventilation that lower your summer cooling bill.`},{label:`Cool Roof Installation`,url:`/cool-roof-installation-takoma-park-md`,blurb:`Light-colored, reflective roofing that keeps the attic 20 to 40 degrees cooler in summer.`}],hx=M(`/residential-roofing-takoma-park-md`)({head:()=>jv({url:fx,title:`Residential Roofing in Takoma Park, MD | 301-495-9274`,description:`Residential roofing in Takoma Park, MD. Maintenance, ventilation, drainage, and energy-efficient installs across the DMV. Free estimates. Call 301-495-9274.`,image:Fe,category:px,children:mx}),component:N(()=>V(()=>import(`./residential-roofing-takoma-park-md-C_xdGnqL.js`),__vite__mapDeps([65,1,5,6,7,8,9,66])),`component`)}),gx=W[`/residential-gutter-service-takoma-park-md`],_x=M(`/residential-gutter-service-takoma-park-md`)({head:()=>G(gx),component:N(()=>V(()=>import(`./residential-gutter-service-takoma-park-md-BFXC1orU.js`),__vite__mapDeps([67,1])),`component`)}),vx=W[`/radiant-barrier-installation-takoma-park-md`],yx=M(`/radiant-barrier-installation-takoma-park-md`)({head:()=>G(vx),component:N(()=>V(()=>import(`./radiant-barrier-installation-takoma-park-md-BcUVmQ07.js`),__vite__mapDeps([68,1])),`component`)}),bx=W[`/pvc-roofing-installation-takoma-park-md`],xx=M(`/pvc-roofing-installation-takoma-park-md`)({head:()=>G(bx),component:N(()=>V(()=>import(`./pvc-roofing-installation-takoma-park-md-CuTujqrd.js`),__vite__mapDeps([69,1])),`component`)}),Sx=W[`/open-cell-foam-insulation-takoma-park-md`],Cx=M(`/open-cell-foam-insulation-takoma-park-md`)({head:()=>
48G(Sx),component:N(()=>V(()=>import(`./open-cell-foam-insulation-takoma-park-md-B7bupqN-.js`),__vite__mapDeps([70,1])),`component`)}),wx=W[`/new-roof-installation-takoma-park-md`],Tx=M(`/new-roof-installation-takoma-park-md`)({head:()=>G(wx),component:N(()=>V(()=>import(`./new-roof-installation-takoma-park-md-BBV0mCkV.js`),__vite__mapDeps([71,1])),`component`)}),Ex=W[`/modified-bitumen-roofing-takoma-park-md`],Dx=M(`/modified-bitumen-roofing-takoma-park-md`)({head:()=>G(Ex),component:N(()=>V(()=>import(`./modified-bitumen-roofing-takoma-park-md-CBfwgb7G.js`),__vite__mapDeps([72,1])),`component`)}),Ox=`/metal-roofing-takoma-park-md`,kx=`Metal Roofing`,Ax=[{label:`Roof Replacement`,url:`/roof-replacement-takoma-park-md`,blurb:`Full tear-off and install when your existing roof is ready for an upgrade to metal.`},{label:`Residential Roofing`,url:`/residential-roofing-takoma-park-md`,blurb:`Home roofing services including ventilation, drainage, and energy-efficient options.`},{label:`Commercial Roofing`,url:`/commercial-roofing-takoma-park-md`,blurb:`Standing seam and metal panel systems for commercial buildings across the DMV.`}],jx=`/assets/hero-metal-roofing-DCJ3Orrq.jpg`,Mx=M(`/metal-roofing-takoma-park-md`)({head:()=>jv({url:Ox,title:`Metal Roofing Contractor in Takoma Park MD | 301-495-9274`,description:`Standing seam and metal shingle roofing in Takoma Park, MD. 50+ year lifespan, energy-efficient, DMV-based crews. Free estimates. Call 301-495-9274.`,image:jx,category:kx,children:Ax}),component:N(()=>V(()=>import(`./metal-roofing-takoma-park-md-BdmmLv0p.js`),__vite__mapDeps([73,1,5,6,7,8,9])),`component`)}),Nx=W[`/leaking-skylight-repair-takoma-park-md`],Px=M(`/leaking-skylight-repair-takoma-park-md`)({head:()=>G(Nx),component:N(()=>V(()=>import(`./leaking-skylight-repair-takoma-park-md-hw7bBEaU.js`),__vite__mapDeps([74,1])),`component`)}),Fx=W[`/leaking-roof-repair-takoma-park-md`],Ix=M(`/leaking-roof-repair-takoma-park-md`)({head:()=>G(Fx),component:N(()=>V(()=>import(`./leaking-roof-repair-takoma-park-md-BXhl0o7g.js`),__vite__mapDeps([75,1])),`component`)}),Lx=W[`/insurance-roof-claims-assistance-takoma-park-md`],Rx=M(`/insurance-roof-claims-assistance-takoma-park-md`)({head:()=>G(Lx),component:N(()=>V(()=>import(`./insurance-roof-claims-assistance-takoma-park-md-SvOlTWaA.js`),__vite__mapDeps([76,1])),`component`)}),zx=`/insulation-services-takoma-park-md`,Bx=`Insulation Services`,Vx=[{label:`Attic Insulation`,url:`/attic-insulation-takoma-park-md`,blurb:`Top off or replace attic insulation to stop heat loss and ice dams.`},{label:`Spray Foam Insulation`,url:`/spray-foam-insulation-takoma-park-md`,blurb:`Open and closed-cell foam that seals air leaks while it insulates.`},{label:`Blown-In Insulation`,url:`/blown-in-insulation-takoma-park-md`,blurb:`Loose-fill cellulose or fiberglass dense-packed into attics and walls.`},{label:`Crawl Space Insulation`,url:`/crawl-space-insulation-takoma-park-md`,blurb:`Stop cold floors and moist air from rising up into your living space.`},{label:`Basement Insulation`,url:`/basement-insulation-takoma-park-md`,blurb:`Foam board and spray foam on rim joists and walls to cut heat loss.`},{label:`Wall Insulation`,url:`/wall-insulation-takoma-park-md`,blurb:`Dense-pack insulation for older homes built with empty wall cavities.`},{label:`Fiberglass Insulation`,url:`/fiberglass-insulation-takoma-park-md`,blurb:`Batt and loose-fill fiberglass for attics, walls, and floors.`},{label:`Cellulose Insulation`,url:`/cellulose-insulation-takoma-park-md`,blurb:`Recycled paper insulation that dense-packs into tight cavities.`},{label:`Closed-Cell Foam Insulation`,url:`/closed-cell-foam-insulation-takoma-park-md`,blurb:`Highest R-value per inch and a built-in vapor barrier.`},{label:`Open-Cell Foam Insulation`,url:`/open-cell-foam-insulation-takoma-park-md`,blurb:`Softer, more affordable foam for attic ceilings and interior walls.`},{label:`Radiant Barrier Installation`,url:`/radiant-barrier-installation-takoma-park-md`,blurb:`Reflective foil under the roof deck to keep summer heat out of the attic.`},{label:`Vapor Barrier Installation`,url:`/vapor-barrier-installation-takoma-park-md`,blurb:`Plastic sheeting that blocks moisture from migrating through walls and floors.`}
48,{label:`Crawl Space Vapor Barrier`,url:`/crawl-space-vapor-barrier-takoma-park-md`,blurb:`Sealed ground cover that stops soil moisture from rising into the home.`},{label:`Insulation Removal`,url:`/insulation-removal-takoma-park-md`,blurb:`Safe removal of old, contaminated, or rodent-damaged insulation.`},{label:`Commercial Insulation`,url:`/commercial-insulation-takoma-park-md`,blurb:`Insulation upgrades for offices, retail, and multi-family buildings.`},{label:`Attic Ventilation Installation`,url:`/attic-ventilation-installation-takoma-park-md`,blurb:`Soffit, ridge, and gable vents that work with insulation, not against it.`}],Hx=M(`/insulation-services-takoma-park-md`)({head:()=>jv({url:zx,title:`Insulation Services Takoma Park MD | Fast, Reliable Service`,description:`Attic, spray foam, blown-in, crawl space, and wall insulation in Takoma Park, MD. Cut energy bills year-round. Free estimates. Call 301-495-9274.`,image:je,category:Bx,children:Vx}),component:N(()=>V(()=>import(`./insulation-services-takoma-park-md-d1DEs6Ol.js`),__vite__mapDeps([77,1,78])),`component`)}),Ux=W[`/insulation-removal-takoma-park-md`],Wx=M(`/insulation-removal-takoma-park-md`)({head:()=>G(Ux),component:N(()=>V(()=>import(`./insulation-removal-takoma-park-md-Ctf9ydUU.js`),__vite__mapDeps([79,1])),`component`)}),Gx=W[`/gutter-soffit-repair-takoma-park-md`],Kx=M(`/gutter-soffit-repair-takoma-park-md`)({head:()=>G(Gx),component:N(()=>V(()=>import(`./gutter-soffit-repair-takoma-park-md-DaNKjrFv.js`),__vite__mapDeps([80,1])),`component`)}),qx=`/gutter-services-takoma-park-md`,Jx=`Gutter Services`,Yx=[{label:`Gutter Cleaning`,url:`/gutter-cleaning-takoma-park-md`,blurb:`Full flush of leaves, shingle grit, and roof debris before water backs up under your shingles.`},{label:`Gutter Repair`,url:`/gutter-repair-takoma-park-md`,blurb:`Reseal seams, re-pitch sagging runs, and replace pulled hangers and end caps.`},{label:`Gutter Guard Installation`,url:`/gutter-guard-installation-takoma-park-md`,blurb:`Stop leaves from getting in so you stop climbing the ladder every fall.`},{label:`Downspout Cleaning`,url:`/downspout-cleaning-takoma-park-md`,blurb:`Clear blocked downspouts that push water back up and over your gutters.`},{label:`Gutter Maintenance`,url:`/gutter-maintenance-takoma-park-md`,blurb:`Scheduled cleaning and inspection plans for homeowners who want to set it and forget it.`},{label:`Gutter Inspection`,url:`/gutter-inspection-takoma-park-md`,blurb:`Hands-on check of pitch, hangers, seams, and water flow before you commit to repair or replacement.`},{label:`Gutter Replacement`,url:`/gutter-replacement-takoma-park-md`,blurb:`New seamless aluminum or copper gutters when patching is just throwing money at the problem.`},{label:`Sagging Gutter Correction`,url:`/sagging-gutter-correction-takoma-park-md`,blurb:`Re-hang and re-pitch gutters that have pulled away from the fascia.`},{label:`Gutter Leak Detection`,url:`/gutter-leak-detection-takoma-park-md`,blurb:`Find the exact seam or hole behind the drip you keep seeing on your siding.`},{label:`Gutter Downspout Rerouting`,url:`/gutter-downspout-rerouting-takoma-park-md`,blurb:`Redirect water away from foundations, walkways, and flower beds.`},{label:`Commercial Gutter Service`,url:`/commercial-gutter-service-takoma-park-md`,blurb:`Service plans for property managers, HOAs, and businesses across the DMV.`},{label:`Residential Gutter Service`,url:`/residential-gutter-service-takoma-park-md`,blurb:`Standard homeowner gutter work, from one-time cleanings to full replacements.`},{label:`Gutter Soffit Repair`,url:`/gutter-soffit-repair-takoma-park-md`,blurb:`Repair the soffit boards that water-damaged gutters chew through over time.`},{label:`Box Gutter Repair`,url:`/box-gutter-repair-takoma-park-md`,blurb:`Specialty repair for the built-in box gutters on older D.C. and Maryland homes.`},{label:`Underground Drain Cleaning`,url:`/underground-drain-cleaning-takoma-park-md`,blurb:`Clear the buried drain lines that carry water from your downspouts out to the yard.`}],Xx=M(`/gutter-services-takoma-park-md`)({head:()=>jv({url:qx,title:`Gutter Services Contractor in Takoma Park MD | 301-495-9274`,description:`Gutter cleaning, repair, replacement, and guard installation in Takoma Park, MD. Same-day service, licensed and insured, free estimates. Call 301-495-9274.`,image:Oe,category:Jx,children:Yx}),component:N(()=>V(()=>import(`./gutter-services-takoma-park-md-CKRlV9Z3.js`),__vite__mapDeps([81,1,82])),`component`)}),Zx=W[`/gutter-replacement-takoma-park-md`],Qx=M(`/gutter-replacement-takoma-park-md`)({head:()=>G(Zx),component:N(()=>V(()=>import(`./gutter-replacement-takoma-park-md-D_-ca3Yn.js`),__vite__mapDeps([83,1])),`component`)}),$x=W[`/gutter-repair-takoma-park-md`],eS=M(`/gutter-repair-takoma-park-md`)({head:()=>G($x),component:N(()=>V(()=>import(`./gutter-repair-takoma-park-md-B23wLaWN.js`),__vite__mapDeps([84,1])),`component`)}),tS=W[`/gutter-maintenance-takoma-park-md`],nS=M(`/gutter-maintenance-takoma-park-md`)({head:()=>
48G(tS),component:N(()=>V(()=>import(`./gutter-maintenance-takoma-park-md-B3RRxYvp.js`),__vite__mapDeps([85,1])),`component`)}),rS=W[`/gutter-leak-detection-takoma-park-md`],iS=M(`/gutter-leak-detection-takoma-park-md`)({head:()=>G(rS),component:N(()=>V(()=>import(`./gutter-leak-detection-takoma-park-md-CxaLNJrG.js`),__vite__mapDeps([86,1])),`component`)}),aS=W[`/gutter-inspection-takoma-park-md`],oS=M(`/gutter-inspection-takoma-park-md`)({head:()=>G(aS),component:N(()=>V(()=>import(`./gutter-inspection-takoma-park-md-CpBkloW3.js`),__vite__mapDeps([87,1])),`component`)}),sS=W[`/gutter-guard-installation-takoma-park-md`],cS=M(`/gutter-guard-installation-takoma-park-md`)({head:()=>G(sS),component:N(()=>V(()=>import(`./gutter-guard-installation-takoma-park-md-mZBOD9HG.js`),__vite__mapDeps([88,1])),`component`)}),lS=W[`/gutter-downspout-rerouting-takoma-park-md`],uS=M(`/gutter-downspout-rerouting-takoma-park-md`)({head:()=>G(lS),component:N(()=>V(()=>import(`./gutter-downspout-rerouting-takoma-park-md-CuT5yD1e.js`),__vite__mapDeps([89,1])),`component`)}),dS=W[`/gutter-cleaning-takoma-park-md`],fS=M(`/gutter-cleaning-takoma-park-md`)({head:()=>G(dS),component:N(()=>V(()=>import(`./gutter-cleaning-takoma-park-md-D7ga93FK.js`),__vite__mapDeps([90,1])),`component`)}),pS=W[`/graffiti-removal-takoma-park-md`],mS=M(`/graffiti-removal-takoma-park-md`)({head:()=>G(pS),component:N(()=>V(()=>import(`./graffiti-removal-takoma-park-md-CzpHPdeY.js`),__vite__mapDeps([91,1])),`component`)}),hS=`/flat-roofing-takoma-park-md`,gS=`Flat Roofing`,_S=[{label:`Flat Roof Repair`,url:`/flat-roof-repair-takoma-park-md`,blurb:`Patch blisters, splits, and seam failures before the next rain finds the same spot.`},{label:`Flat Roof Installation`,url:`/flat-roof-installation-takoma-park-md`,blurb:`Full tear-off and install of single-ply or built-up systems for homes and businesses.`},{label:`TPO Roofing Installation`,url:`/tpo-roofing-installation-takoma-park-md`,blurb:`Heat-welded white membrane that reflects sun and lasts 20+ years on commercial buildings.`},{label:`EPDM Roofing Installation`,url:`/epdm-roofing-installation-takoma-park-md`,blurb:`Black rubber roofing that holds up to DMV freeze-thaw cycles and lasts 25 to 30 years.`},{label:`PVC Roofing Installation`,url:`/pvc-roofing-installation-takoma-park-md`,blurb:`Chemical-resistant membrane ideal for restaurants and buildings with rooftop grease exhaust.`},{label:`Modified Bitumen Roofing`,url:`/modified-bitumen-roofing-takoma-park-md`,blurb:`Multi-layer asphalt system common on older row houses and small commercial buildings.`},{label:`Torch Down Roofing`,url:`/torch-down-roofing-takoma-park-md`,blurb:`Heat-fused modified bitumen that creates a fully sealed surface even on tricky details.`}],vS=M(`/flat-roofing-takoma-park-md`)({head:()=>jv({url:hS,title:`Flat Roofing Contractor in Takoma Park MD | 301-495-9274`,description:`Flat roof repair and installation in Takoma Park, MD. TPO, EPDM, PVC, and modified bitumen. Free estimates, same-day service. Call 301-495-9274 today.`,image:Pe,category:gS,children:_S}),component:N(()=>V(()=>import(`./flat-roofing-takoma-park-md-BAbp5HT-.js`),__vite__mapDeps([92,1,5,6,7,8,9,93])),`component`)}),yS=W[`/flat-roof-skylight-installation-takoma-park-md`],bS=M(`/flat-roof-skylight-installation-takoma-park-md`)({head:()=>G(yS),component:N(()=>V(()=>import(`./flat-roof-skylight-installation-takoma-park-md-dm2A-D-w.js`),__vite__mapDeps([94,1])),`component`)}),xS=W[`/flat-roof-repair-takoma-park-md`],SS=M(`/flat-roof-repair-takoma-park-md`)({head:()=>G(xS),component:N(()=>V(()=>import(`./flat-roof-repair-takoma-park-md-YYby0B_W.js`),__vite__mapDeps([95,1])),`component`)}),CS=W[`/flat-roof-installation-takoma-park-md`],wS=M(`/flat-roof-installation-takoma-park-md`)({head:()=>G(CS),component:N(()=>V(()=>import(`./flat-roof-installation-takoma-park-md-BIqBn4ia.js`),__vite__mapDeps([96,1])),`component`)}),TS=W[`/fiberglass-insulation-takoma-park-md`],ES=M(`/fiberglass-insulation-takoma-park-md`)({head:()=>G(TS),component:N(()=>V(()=>import(`./fiberglass-insulation-takoma-park-md-DrngMjp1.js`),__vite__mapDeps([97,1])),`component`)}),DS=W[`/epdm-roofing-installation-takoma-park-md`],OS=M(`/epdm-roofing-installation-takoma-park-md`)({head:()=>G(DS),component:N(()=>V(()=>import(`./epdm-roofing-installation-takoma-park-md-DTiLF1ri.js`),__vite__mapDeps([98,1])),`component`)}),kS=W[`/energy-efficient-skylight-installation-takoma-park-md`],AS=M(`/energy-efficient-skylight-installation-takoma-park-md`)({head:()=>G(kS),component:N(()=>V(()=>import(`./energy-efficient-skylight-installation-takoma-park-md-BkNYz_kf.js`),__vite__mapDeps([99,1])),`component`)}),jS=W[`/energy-efficient-roofing-takoma-park-md`],MS=M(`/energy-efficient-roofing-takoma-park-md`)({head:()=>G(jS),component:N(()=>V(()=>import(`./energy-efficient-roofing-takoma-park-md-CbHZLvAs.js`),__vite__mapDeps([100,
481])),`component`)}),NS=W[`/emergency-roof-repair-takoma-park-md`],PS=M(`/emergency-roof-repair-takoma-park-md`)({head:()=>G(NS),component:N(()=>V(()=>import(`./emergency-roof-repair-takoma-park-md-B19-sPX6.js`),__vite__mapDeps([101,1])),`component`)}),FS=`/emergency-roof-repair`,IS={...W[`/emergency-roof-repair-takoma-park-md`],url:FS},LS=M(`/emergency-roof-repair`)({head:()=>G(IS),component:N(()=>V(()=>import(`./emergency-roof-repair-CfQwRHeh.js`),__vite__mapDeps([102,1])),`component`)}),RS=W[`/electric-skylight-installation-takoma-park-md`],zS=M(`/electric-skylight-installation-takoma-park-md`)({head:()=>G(RS),component:N(()=>V(()=>import(`./electric-skylight-installation-takoma-park-md-hGU7iVr4.js`),__vite__mapDeps([103,1])),`component`)}),BS=W[`/downspout-cleaning-takoma-park-md`],VS=M(`/downspout-cleaning-takoma-park-md`)({head:()=>G(BS),component:N(()=>V(()=>import(`./downspout-cleaning-takoma-park-md-BCytdbPy.js`),__vite__mapDeps([104,1])),`component`)}),HS=W[`/crawl-space-vapor-barrier-takoma-park-md`],US=M(`/crawl-space-vapor-barrier-takoma-park-md`)({head:()=>G(HS),component:N(()=>V(()=>import(`./crawl-space-vapor-barrier-takoma-park-md-C46ulUr4.js`),__vite__mapDeps([105,1])),`component`)}),WS=W[`/crawl-space-insulation-takoma-park-md`],GS=M(`/crawl-space-insulation-takoma-park-md`)({head:()=>G(WS),component:N(()=>V(()=>import(`./crawl-space-insulation-takoma-park-md-Bu9LNvDU.js`),__vite__mapDeps([106,1])),`component`)}),KS=W[`/cool-roof-installation-takoma-park-md`],qS=M(`/cool-roof-installation-takoma-park-md`)({head:()=>G(KS),component:N(()=>V(()=>import(`./cool-roof-installation-takoma-park-md-CoK4OJf5.js`),__vite__mapDeps([107,1])),`component`)}),JS=()=>V(()=>import(`./contact-9tFZaZoG.js`),__vite__mapDeps([108,1,41,42,8,9,109,5,6,7])),YS=`Contact ${E.name} | ${E.city} ${E.stateAbbr} Roofer`,XS=`Contact ${E.name} for roofing in ${E.city}, ${E.stateAbbr} and the DMV. Call ${E.phone} for same-day service. Licensed, insured, veteran owned.`,ZS={"@context":`https://schema.org`,"@type":`ContactPage`,url:D(`/contact`),mainEntity:{"@type":`LocalBusiness`,name:E.name,telephone:E.phone,email:E.email,address:{"@type":`PostalAddress`,streetAddress:E.street,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`},areaServed:ye,openingHoursSpecification:[{"@type":`OpeningHoursSpecification`,dayOfWeek:[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`],opens:`07:00`,closes:`14:00`}]}},QS=M(`/contact`)({head:()=>({meta:[{title:YS},{name:`description`,content:XS},{property:`og:title`,content:YS},{property:`og:description`,content:XS},{property:`og:url`,content:D(`/contact`)},{property:`og:type`,content:`website`}],links:[{rel:`canonical`,href:D(`/contact`)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(ZS)}]}),component:N(JS,`component`)}),$S=W[`/commercial-skylight-services-takoma-park-md`],eC=M(`/commercial-skylight-services-takoma-park-md`)({head:()=>G($S),component:N(()=>V(()=>import(`./commercial-skylight-services-takoma-park-md-CV0hM-6P.js`),__vite__mapDeps([110,1])),`component`)}),tC=`/commercial-roofing-takoma-park-md`,nC=`Commercial Roofing`,rC=[{label:`Flat Roofing`,url:`/flat-roofing-takoma-park-md`,blurb:`Full flat roof systems — repair, install, and membrane replacement on commercial buildings.`},{label:`TPO Roofing Installation`,url:`/tpo-roofing-installation-takoma-park-md`,blurb:`Reflective heat-welded white membrane, the most common new commercial system in the DMV.`},{label:`EPDM Roofing Installation`,url:`/epdm-roofing-installation-takoma-park-md`,blurb:`Durable rubber roofing that handles freeze-thaw cycles and lasts 25 to 30 years.`},{label:`Commercial Insulation`,url:`/commercial-insulation-takoma-park-md`,blurb:`Rigid board, spray foam, and tapered systems that cut energy costs and improve drainage.`},{label:`Commercial Gutter Service`,url:`/commercial-gutter-service-takoma-park-md`,blurb:`Maintenance and repair plans for property managers, HOAs, and multi-tenant buildings.`},{label:`Commercial Skylight Services`,url:`/commercial-skylight-services-takoma-park-md`,blurb:`Install, repair, and reseal skylights on commercial flat and low-slope roofs.`}],iC=`/assets/hero-commercial-roofing-A8Eu8VxA.jpg`,aC=M(`/commercial-roofing-takoma-park-md`)({head:()=>jv({url:tC,title:`Commercial Roofing in Takoma Park, MD | 301-495-9274`,description:`Commercial roofing in Takoma Park, MD. TPO, EPDM, flat roof repair, and full building service plans across the DMV. Free estimates. Call 301-495-9274.`,image:iC,category:nC,children:rC}),component:N(()=>V(()=>import(`./commercial-roofing-takoma-park-md-CsyhNfTr.js`),__vite__mapDeps([111,1,5,6,7,8,9])),`component`)}),oC=W[`/commercial-insulation-takoma-park-md`],sC=M(`/commercial-insulation-takoma-park-md`)({head:()=>G(oC),component:N(()=>V(()=>import(`./commercial-insulation-takoma-park-md-BDE_-Osu.js`),__vite__mapDeps([112,1])),`component`)}),cC=W[`/commercial-gutter-service-takoma-park-md`],lC=M(`/commercial-gutter-service-takoma-park-md`)({head:()=>G(cC),component:N(()=>V(()=>import(`./commercial-gutter-service-takoma-park-md-D0d9qp8V.js`),__vite__mapDeps([113,1])),`component`)}),uC=W[`/closed-cell-foam-insulation-takoma-park-md`],dC=M(`/closed-cell-foam-insulation-takoma-park-md`)({head:()=>G(uC),component:N(()=>V(()=>import(`./closed-cell-foam-insulation-takoma-park-md-D2ui5a9G.js`),__vite__mapDeps([114,1])),`component`)}),fC=W[`/chimney-flashing-repair-takoma-park-md`],pC=M(`/chimney-flashing-repair-takoma-park-md`)({head:()=>G(fC),component:N(()=>V(()=>import(`./chimney-flashing-repair-takoma-park-md-Bha7fKfw.js`),__vite__mapDeps([115,1])),`component`)}),mC=W[`/cellulose-insulation-takoma-park-md`],hC=M(`/cellulose-insulation-takoma-park-md`)({head:()=>G(mC),component:N(()=>V(()=>import(`./cellulose-insulation-takoma-park-md-3Zy3vWP6.js`),__vite__mapDeps([116,1])),`component`)}),gC=W[`/cedar-shake-roof-repair-takoma-park-md`],_C=M(`/cedar-shake-roof-repair-takoma-park-md`)({head:()=>G(gC),component:N(()=>V(()=>import(`./cedar-shake-roof-repair-takoma-park-md-err59DE5.js`),__vite__mapDeps([117,1])),`component`)}
48),vC=`/building-restoration-takoma-park-md`,yC=`Building Restoration`,bC=[{label:`Roof Restoration`,url:`/roof-restoration-takoma-park-md`,blurb:`Clean, repair, and recoat a tired roof so it lasts another ten to fifteen years.`},{label:`Building Cleaning`,url:`/building-cleaning-takoma-park-md`,blurb:`Soft and pressure washing for brick, stone, stucco, and siding.`},{label:`Graffiti Removal`,url:`/graffiti-removal-takoma-park-md`,blurb:`Safe removal from brick and painted surfaces without damaging the substrate.`},{label:`Roof Coating`,url:`/roof-coating-takoma-park-md`,blurb:`Reflective elastomeric and silicone coatings that seal and cool an aging flat roof.`},{label:`Roof Waterproofing`,url:`/roof-waterproofing-takoma-park-md`,blurb:`Seal seams, penetrations, and parapets that have started letting water through.`},{label:`Roof Mold Removal`,url:`/roof-mold-removal-takoma-park-md`,blurb:`Treat and remove mold that has taken hold in shaded, humid roof areas.`},{label:`Roof Algae Removal`,url:`/roof-algae-removal-takoma-park-md`,blurb:`Clear the dark streaks that look like dirt but are actually living algae.`},{label:`Roof Moss Removal`,url:`/roof-moss-removal-takoma-park-md`,blurb:`Remove moss that lifts shingles and traps moisture against the deck.`}],xC=M(`/building-restoration-takoma-park-md`)({head:()=>jv({url:vC,title:`Building Restoration in Takoma Park MD | 301-495-9274`,description:`Roof restoration, coating, waterproofing, and exterior cleaning in Takoma Park, MD. Licensed, insured, free estimates. Call 301-495-9274 today.`,image:Ae,category:yC,children:bC}),component:N(()=>V(()=>import(`./building-restoration-takoma-park-md-cqS1l9Vv.js`),__vite__mapDeps([118,1,5,6,7,8,9,119])),`component`)}),SC=W[`/building-cleaning-takoma-park-md`],CC=M(`/building-cleaning-takoma-park-md`)({head:()=>G(SC),component:N(()=>V(()=>import(`./building-cleaning-takoma-park-md-C2CyCSMh.js`),__vite__mapDeps([120,1])),`component`)}),wC=W[`/box-gutter-repair-takoma-park-md`],TC=M(`/box-gutter-repair-takoma-park-md`)({head:()=>G(wC),component:N(()=>V(()=>import(`./box-gutter-repair-takoma-park-md-D1-2docU.js`),__vite__mapDeps([121,1])),`component`)}),EC=W[`/blown-in-insulation-takoma-park-md`],DC=M(`/blown-in-insulation-takoma-park-md`)({head:()=>G(EC),component:N(()=>V(()=>import(`./blown-in-insulation-takoma-park-md-CrBjx15o.js`),__vite__mapDeps([122,1])),`component`)}),OC=[{slug:`maryland-veteran-owned-roofing-emergency-tarp-inspection`,url:`/blog/maryland-veteran-owned-roofing-emergency-tarp-inspection`,title:`Maryland Veteran-Owned Roofing: Same-Day Emergency Tarp and Inspection Services`,metaTitle:`Same-Day Emergency Roof Tarping in Maryland | 301-495-9274`,metaDescription:`Veteran-owned same-day emergency roof tarping and inspections across Maryland. Stop leaks fast, document damage, and protect your insurance claim.`,excerpt:`Storms don't wait. Learn how same-day emergency tarping and a veteran-led 21-point inspection protect your Maryland home and your insurance claim.`,hero:`/assets/blog-emergency-tarp-BjFEAeu7.jpg`,heroAlt:`Blue emergency roof tarp secured over storm-damaged shingles on a Maryland home`,datePublished:`2026-07-21`,dateModified:`2026-07-21`,author:`Affordable Roofing`},{slug:`reputable-maryland-roofing-storm-damage-estimates-alternatives`,url:`/blog/reputable-maryland-roofing-storm-damage-estimates-alternatives`,title:`Maryland Roofing Storm Damage Estimates: Finding Reputable, On-Site Contractors`,metaTitle:`Maryland Storm Damage Roof Estimates | 301-495-9274`,metaDescription:`Reputable on-site storm damage roof estimates across Maryland. Skip drone-only quotes and out-of-state storm chasers. Veteran-owned, insurance-ready reports.`,excerpt:`Why an on-site, physical roof inspection beats a drone flyover for Maryland storm damage claims, and how to spot reputable local contractors over storm chasers.`,hero:`/assets/blog-storm-damage-estimate-BZ9II_u0.jpg`,heroAlt:`Maryland roofing contractor inspecting storm-damaged asphalt shingles on a residential roof`,datePublished:`2026-07-25`,dateModified:`2026-07-25`,author:`Affordable Roofing`}],kC=e=>OC.find(t=>t.slug===e),AC=()=>V(()=>import(`./blog-DfBBIpcY.js`),__vite__mapDeps([123,1,5,6,7,8,9])),jC=`/blog`,MC=`Roofing Blog | Affordable Roofing Maryland`,NC=`Roofing guides, storm response tips, and insurance claim advice from a veteran-owned Maryland roofing contractor serving Takoma Park and the DMV.`,PC=M(`/blog`)({head:()=>{let e={"@context":`https://schema.org`,"@type":`Blog`,name:`Affordable Roofing Blog`,url:D(jC),blogPost:OC.map(e=>({"@type":`BlogPosting`,headline:e.title,url:D(e.url),datePublished:e.datePublished,dateModified:e.dateModified,author:{"@type":`Organization`,name:e.author}}))};return{meta:[{title:MC},{name:`description`,content:NC},{property:`og:title`,content:MC},{property:`og:description`,content:NC},{property:`og:type`,content:`website`},{property:`og:url`,content:D(jC)},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:D(jC)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(e)}]}},component:N(AC,`component`)}),FC=W[`/basement-insulation-takoma-park-md`],IC=M(`/basement-insulation-takoma-park-md`)({head:()=>G(FC),component:N(()=>V(()=>import(`./basement-insulation-takoma-park-md-CVYZvNNI.js`),__vite__mapDeps([124,1])),`component`)}),LC=M(`/auth`)({head:()=>({meta:[{title:`Admin Sign In | Affordable Roofing`},{name:`description`,content:`Secure sign in for the Affordable Roofing admin dashboard.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Admin Sign In | Affordable Roofing`},{property:`og:description`,content:`Secure sign in for the Affordable Roofing admin dashboard.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}]}),component:N(()=>V(()=>import(`./auth-BejXKFY5.js`),__vite__mapDeps([125,1,109,42,9,126])),`component`)}),RC=W[`/attic-ventilation-installation-takoma-park-md`],zC=M(`/attic-ventilation-installation-takoma-park-md`)({head:()=>G(RC),component:N(()=>V(()=>import(`./attic-ventilation-installation-takoma-park-md-BD_S4P1s.js`),__vite__mapDeps([127,1])),`component`)}),BC=W[`/attic-insulation-takoma-park-md`],VC=M(`/attic-insulation-takoma-park-md`)({head:()=>G(BC),component:N(()=>V(()=>import(`./attic-insulation-takoma-park-md-CIpbo7cq.js`),__vite__mapDeps([128,1])),`component`)}),HC=W[`/asphalt-shingle-roofing-takoma-park-md`],UC=M(`/asphalt-shingle-roofing-takoma-park-md`)({head:()=>G(HC),component:N(()=>V(()=>import(`./asphalt-shingle-roofing-takoma-park-md-ClVAfWeh.js`),__vite__mapDeps([129,1])),`component`)}),WC=()=>V(()=>import(`./about-C46uEVYH.js`),__vite__mapDeps([130,1,5,6,7,8,9])),GC=`About Affordable Roofing | Takoma Park MD Roofing Contractor`,KC=`Meet the team at Affordable Roofing. Veteran and family owned roofing contractor serving Takoma Park, MD and the DMV. Call 301-495-9274.`,qC={"@context":`https://schema.org`,"@type":`LocalBusiness`,name:E.name,telephone:E.phone,email:E.email,address:{"@type":`PostalAddress`,addressLocality:E.city,addressRegion:E.stateAbbr,postalCode:E.zip,addressCountry:`US`},areaServed:ye,url:D(`/about`),openingHoursSpecification:[{"@type":`OpeningHoursSpecification`,dayOfWeek:[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`],opens:`07:00`,closes:`14:00`}]},JC=M(`/about`)({head:()=>({meta:[{title:GC},{name:`description`,content:KC},{property:`og:title`,content:GC},{property:`og:description`,content:KC},{property:`og:url`,content:D(`/about`)},{property:`og:type`,content:`website`}],links:[{rel:`canonical`,href:D(`/about`)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(qC)}]}),component:N(WC,`component`)}),YC=M(`/_authenticated`)({beforeLoad:async()=>{let{data:e,error:t}=await lm.auth.getUser();if(t||!e.user)throw bt({to:`/auth`});return{user:e.user}},component:N(()=>V(()=>import(`./route-BXfiXc84.js`),__vite__mapDeps([131,1])),`component`)}),XC=M(`/`)({beforeLoad:()=>{throw bt({to:`/roofing-contractor-takoma-park-md`})}}),ZC=kC(`reputable-maryland-roofing-storm-damage-estimates-alternatives`),QC=[{q:`Can I just use a drone estimate to submit my Maryland storm damage insurance claim?`,a:`Relying on drone-only or satellite estimates is highly risky for insurance claims. Insurance adjusters require clear, detailed proof of damage to approve payouts. Because drones cannot feel the roof deck to identify rotted wood or spot micro-fissures in asphalt shingles, virtual estimates often lead to underpaid claims, denied payouts, or unex
48pected out-of-pocket costs during repairs.`},{q:`What are the signs that a storm chaser is trying to scam me after a Maryland storm?`,a:`Watch out for out-of-state license plates or phone numbers, lack of a permanent physical office in Maryland, and high-pressure sales tactics. Red flags include knocking on your door immediately after a storm offering a free roof, demanding full payment or the entire insurance check upfront, or pushing you to sign an Assignment of Benefits contract on the spot.`},{q:`What must be included in a professional, reputable on-site roofing estimate?`,a:`A reputable estimate should never be a single bulk price scribbled on a notepad. It must include a photographic evidence portfolio showing close-up damage, detailed material line items specifying brands and underlayment, notes assessing the wooden roof deck and structural health, clearly separated labor and disposal costs, and explicit notes on local Maryland building code compliance.`},{q:`How does Maryland's weather cause hidden roof damage that requires an on-site inspection?`,a:`Maryland weather is diverse and harsh, ranging from heavy snow loads to high winds and microbursts. These weather patterns cause hidden structural damage. Severe hail can bruise underlayment and fracture wood decking beneath the surface, while microbursts can break sealant strips under shingles that otherwise look perfectly flat. Only a physical, boots-on-the-roof inspection can detect these issues.`},{q:`Does Affordable Roofing provide assistance with my insurance claim?`,a:`Yes, Affordable Roofing provides full insurance claims assistance. This includes delivering comprehensive physical on-site inspections, providing detailed photographic documentation of the damage, and meeting directly with your insurance adjusters to ensure your roof repairs are accurately assessed and covered.`},{q:`Which Maryland areas do you cover for storm damage inspections?`,a:`Affordable Roofing primarily serves Montgomery County, Howard County, and Prince George's County, including nearby Maryland communities such as Potomac, Silver Spring, Bethesda, Rockville, Bowie, and Columbia.`},{q:`Why is a physical inspection of the roof deck so important after a storm?`,a:`The roof deck is the wooden support layer beneath your shingles. If your roof has a hidden leak from a storm, water can quickly rot or soften the plywood. A physical inspector must climb onto the roof to feel for these soft spots. Discovering rotted decking after a project starts leads to unexpected change orders and thousands of dollars in extra costs.`},{q:`How do local Maryland roofing contractors differ from out-of-state companies?`,a:`Local Maryland contractors live and work in the community, relying on face-to-face trust and their local reputation. They will never pressure you to sign contracts before you receive a detailed, written estimate and speak with your insurance company. Unlike storm chasers, they maintain permanent offices in Maryland and remain available long after the job is completed.`}],$C=M(`/blog/reputable-maryland-roofing-storm-damage-estimates-alternatives`)({head:()=>{let e={"@context":`https://schema.org`,"@type":`BlogPosting`,headline:ZC.title,description:ZC.metaDescription,image:[ZC.hero],datePublished:ZC.datePublished,dateModified:ZC.dateModified,author:{"@type":`Organization`,name:ZC.author},publisher:{"@type":`Organization`,name:E.name,telephone:E.phone},mainEntityOfPage:{"@type":`WebPage`,"@id":D(ZC.url)}},t={"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:D(`/`)},{"@type":`ListItem`,position:2,name:`Blog`,item:D(`/blog`)},{"@type":`ListItem`,position:3,name:ZC.title,item:D(ZC.url)}]},n={"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:QC.map(e=>({"@type":`Question`,name:e.q,acceptedAnswer:{"@type":`Answer`,text:e.a}}))};return{meta:[{title:ZC.metaTitle},{name:`description`,content:ZC.metaDescription},{property:`og:title`,content:ZC.metaTitle},{property:`og:description`,content:ZC.metaDescription},{property:`og:type`,content:`article`},{property:`og:url`,content:D(ZC.url)},{property:`og:image`,content:ZC.hero},{property:`article:published_time`,content:ZC.datePublished},{property:`article:modified_time`,content:ZC.dateModified},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:ZC.hero}],links:[{rel:`canonical`,href:D(ZC.url)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(e)},{type:`application/ld+json`,children:JSON.stringify(t)},{type:`application/ld+json`,children:JSON.stringify(n)}]}},component:N(()=>V(()=>import(`./blog.reputable-maryland-roofing-storm-damage-estimates-alternatives-DXwzTRDf.js`),__vite__mapDeps([132,1,5,6,7,8,9])),`component`)}),ew=kC(`maryland-veteran-owned-roofing-emergency-tarp-inspection`),tw=[{q:`What is the very first thing I should do if my roof gets damaged in a storm?`,a:`Keep your family safe and stay off the ladder. Do not climb onto the roof, as storm-damaged structures are highly unstable. From the ground, take clear photos of any interior damage, move your valuables and furniture away from active leaks, place plastic bins under drips, and locate your insurance policy information.`},{q:`How quickly can Affordable Roofing secure a leaking roof after storm damage?`,a:`Affordable Roofing offers fast, same-day emergency tarping services to block downpours and stabilize your home immediately, preventing mold and woo
48d rot before we perform a more lasting repair.`},{q:`Why is same-day emergency tarping so important?`,a:`Water moves fast once your roof line is breached, trickling down rafters and soaking insulation. Mold starts growing in less than 48 hours, and your interior drywall and electrical systems can fail quickly. Same-day tarping stops this active destruction and redirects water to your gutters, buying you time to work with your insurance adjuster.`},{q:`How do you secure the emergency tarp to my roof so it does not blow away?`,a:`We never hammer nails directly through the plastic tarp, as this creates leaks. Instead, our crew wraps the edges of thick, UV-resistant tarps around sturdy wooden furring strips. We then screw these wood blocks directly into your roof deck to create a tight, windproof seal.`},{q:`What areas do you inspect during your 21-point roof inspection?`,a:`Our comprehensive 21-point physical inspection covers decking integrity (checking for rot or soft spots), shingle and underlayment condition (looking for wind-lifted tabs or creasing), flashing and penetrations (inspecting chimney flashings and vent boots), and the soffit, fascia, and gutter systems.`},{q:`Why should I choose a veteran-owned roofing contractor like Affordable Roofing?`,a:`We operate with military discipline, transparency, and operational order. Unlike out-of-state storm chasers who use high-pressure sales scripts and demand you sign a massive contract immediately, we focus on stabilizing your home first, performing an objective inspection, and providing clear documentation that stands up to insurance scrutiny.`},{q:`How does your inspection report help me with my insurance claim?`,a:`Insurance companies require indisputable proof of physical storm damage to process claims. Affordable Roofing compiles highly detailed reports featuring high-resolution photos of the damage and newly installed tarps, wind and hail damage assessments that match regional weather data, and a comprehensive material and labor scope to eliminate back-and-forth delays.`},{q:`Can I sign a full replacement contract right after the storm hits?`,a:`You should avoid signing a massive replacement contract with a pushy salesperson before your insurance adjuster has even driven by your property. Doing so is a financial trap that can leave you holding a bill for thousands of dollars. Secure the roof first, prove the damage second, and never let a salesman rush you.`}],nw=M(`/blog/maryland-veteran-owned-roofing-emergency-tarp-inspection`)({head:()=>{let e={"@context":`https://schema.org`,"@type":`BlogPosting`,headline:ew.title,description:ew.metaDescription,image:[ew.hero],datePublished:ew.datePublished,dateModified:ew.dateModified,author:{"@type":`Organization`,name:ew.author},publisher:{"@type":`Organization`,name:E.name,telephone:E.phone},mainEntityOfPage:{"@type":`WebPage`,"@id":D(ew.url)}},t={"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:D(`/`)},{"@type":`ListItem`,position:2,name:`Blog`,item:D(`/blog`)},{"@type":`ListItem`,position:3,name:ew.title,item:D(ew.url)}]},n={"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:tw.map(e=>({"@type":`Question`,name:e.q,acceptedAnswer:{"@type":`Answer`,text:e.a}}))};return{meta:[{title:ew.metaTitle},{name:`description`,content:ew.metaDescription},{property:`og:title`,content:ew.metaTitle},{property:`og:description`,content:ew.metaDescription},{property:`og:type`,content:`article`},{property:`og:url`,content:D(ew.url)},{property:`og:image`,content:ew.hero},{property:`article:published_time`,content:ew.datePublished},{property:`article:modified_time`,content:ew.dateModified},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:ew.hero}],links:[{rel:`canonical`,href:D(ew.url)}],scripts:[{type:`application/ld+json`,children:JSON.stringify(e)},{type:`application/ld+json`,children:JSON.stringify(t)},{type:`application/ld+json`,children:JSON.stringify(n)}]}},component:N(()=>V(()=>import(`./blog.maryland-veteran-owned-roofing-emergency-tarp-inspection-Cw07ASsQ.js`),__vite__mapDeps([133,1,5,6,7,8,9])),`component`)}),rw=M(`/_authenticated/admin`)({head:()=>({meta:[{title:`Call Tracking Dashboard | Affordable Roofing`},{name:`description`,content:`Internal dashboard showing phone call button clicks across the Affordable Roofing website.`},{name:`robots`,content:`noindex, nofollow`},{property:`og:title`,content:`Call Tracking Dashboard | Affordable Roofing`},{property:`og:description`,content:`Internal dashboard showing phone call button clicks across the website.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}]}),component:N(()=>V(()=>import(`./admin-EUWtNDlb.js`),__vite__mapDeps([134,1,42,8,126])),`component`)}),iw=kg.update({id:`/wall-insulation-takoma-park-md`,path:`/wall-insulation-takoma-park-md`,getParentRoute:()=>H}),aw=jg.update({id:`/velux-skylight-installation-takoma-park-md`,path:`/velux-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),ow=Ng.update({id:`/vapor-barrier-installation-takoma-park-md`,path:`/vapor-barrier-installation-takoma-park-md`,getParentRoute:()=>H}),sw=fv.update({id:`/unsubscribe`,path:`/unsubscribe`,getParentRoute:()=>H}),cw=mv.update({id:`/underground-drain-cleaning-takoma-park-md`,path:`/underground-drain-cleaning-takoma-park-md`,getParentRoute:()=>H}),lw=gv.update({id:`/tubular-skylight-installation-takoma-park-md`,path:`/tubular-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),uw=vv.update({id:`/tpo-roofing-installation-takoma-park-md`,path:`/tpo-roofing-installation-takoma-park-md`,getParentRoute:()=>H}),dw=bv.update({id:`/torch-down-roofing-takoma-park-md`,path:`/torch-down-roofing-takoma-park-md`,getParentRoute:()=>H}),fw=Sv.update({id:`/tile-roof-repair-takoma-park-md`,path:`/tile-roof-repair-takoma-park-md`,getParentRoute:()=>H}),pw=wv.update({id:`/sun-tunnel-installation-takoma-park-md`,path:`/sun-tunnel-installation-takoma-park-md`,getParentRoute:()=>H}),mw=Mv.update({id:`/storm-damage-roof-repair-takoma-park-md`,path:`/storm-damage-roof-repair-takoma-park-md`,getParentRoute:()=>H}),hw=Pv.update({id:`/spray-foam-insulation-takoma-park-md`,path:`/spray-foam-insulation-takoma-park-md`,getParentRoute:()=>H}),gw=Iv.update({id:`/solar-skylight-installation-takoma-park-md`,path:`/solar-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),_w=Rv.update({id:`/soffit-and-fascia-repair-takoma-park-md`,path:`/soffit-and-fascia-repair-takoma-park-md`,getParentRoute:()=>H}),vw=Bv.update({id:`/slate-roof-repair-takoma-park-md`,path:`/slate-roof-repair-takoma-park-md`,getParentRoute:()=>H}),yw=Wv.update({id:`/skylight-services-takoma-park-md`,path:`/skylight-services-takoma-park-md`,getParentRoute:()=>H}),bw=Kv.update({id:`/skylight-replacement-takoma-park-md`,path:`/skylight-replacement-takoma-park-md`,getParentRoute:()=>H}),xw=Jv.update({id:`/skylight-repair-takoma-park-md`,path:`/skylight-repair-takoma-park-md`,getParentRoute:()=>H}),Sw=Xv.update({id:`/skylight-installation-takoma-park-md`,path:`/skylight-installation-takoma-park-md`,getParentRoute:()=>H}),Cw=Qv.update({id:`/skylight-glass-replacement-takoma-park-md`,path:`/skylight-glass-replacement-takoma-park-md`,getParentRoute:()=>H}),ww=ey.update({id:`/skylight-flashing-repair-takoma-park-md`,path:`/skylight-flashing-repair-takoma-park-md`,getParentRoute:()=>H}),Tw=ny.update({id:`/shingle-roof-replacement-takoma-park-md`,path:`/shingle-roof-replacement-takoma-park-md`,getParentRoute:()=>H}),Ew=cy.update({id:`/services`,path:`/services`,getParentRoute:()=>H}),Dw=uy.update({id:`/sagging-gutter-correction-takoma-park-md`,path:`/sagging-gutter-correction-takoma-park-md`,getParentRoute:()=>H}),Ow=Ny.update({id:`/roofing-washington-dc`,path:`/roofing-washington-dc`,getParentRoute:()=>H}),kw=Fy.update({id:`/roofing-tear-off-takoma-park-md`,path:`/roofing-tear-off-takoma-park-md`,getParentRoute:()=>H}),Aw=By.update({id:`/roofing-prince-georges-county-md`,path:`/roofing-prince-georges-county-md`,getParentRoute:()=>H}),jw=Gy.update({id:`/roofing-northern-virginia`,path:`/roofing-northern-virginia`,getParentRoute:()=>H}),Mw=Xy.update({id:`/roofing-montgomery-county-md`,path:`/roofing-montgomery-county-md`,getParentRoute:()=>H}),Nw=tb.update({id:`/roofing-howard-county-md`,path:`/roofing-howard-county-md`,getParentRoute:()=>H}),Pw=ob.update({id:`/roofing-frederick-county-md`,path:`/roofing-frederick-county-md`,getParentRoute:()=>H}),Fw=cb.update({id:`/roofing-estimates-takoma-park-md`,path:`/roofing-estimates-takoma-park-md`,getParentRoute:()=>H}),Iw=mb.update({id:`/roofing-contractor-takoma-park-md`,path:`/roofing-contractor-takoma-park-md`,getParentRoute:()=>H}),Lw=gb.update({id:`/roofing-consultation-takoma-park-md`,path:`/roofing-consultation-takoma-park-md`,getParentRoute:()=>H}),Rw=xb.update({id:`/roofing-carroll-county-md`,path:`/roofing-carroll-county-md`,getParentRoute:()=>H}),zw=Eb.update({id:`/roofing-baltimore-county-md`,path:`/roofing-baltimore-county-md`,getParentRoute:()=>H}),Bw=jb.update({id:`/roofing-anne-arundel-county-md`,path:`/roofing-anne-arundel-county-md`,getParentRoute:()=>H}),Vw=Nb.update({id:`/roof-waterproofing-takoma-park-md`,path:`/roof-waterproofing-takoma-park-md`,getParentRoute:()=>H}),Hw=Fb.update({id:`/roof-ventilation-installation-takoma-park-md`,path:`/roof-ventilation-installation-takoma-park-md`,getParentRoute:()=>H}),Uw=Lb.update({id:`/roof-restoration-takoma-park-md`,path:`/roof-restoration-takoma-park-md`,getParentRoute:()=>H}),Ww=Vb.update({id:`/roof-replacement-takoma-park-md`,path:`/roof-replacement-takoma-park-md`,getParentRoute:()=>H}),Gw=Gb.update({id:`/roof-repair-takoma-park-md`,path:`/roof-repair-takoma-park-md`,getParentRoute:()=>H}),Kw=qb.update({id:`/roof-moss-removal-takoma-park-md`,path:`/roof-moss-removal-takoma-park-md`,getParentRoute:()=>H}),qw=Yb.update({id:`/roof-mold-removal-takoma-park-md`,path:`/roof-mold-removal-takoma-park-md`,getParentRoute:()=>H}),Jw=Zb.update({id:`/roof-maintenance-takoma-park-md`,path:`/roof-maintenance-takoma-park-md`,getParentRoute:()=>H}),Yw=$b.update({id:`/roof-hail-damage-repair-takoma-park-md`,path:`/roof-hail-damage-repair-takoma-park-md`,getParentRoute:()=>H}),Xw=tx.update({id:`/roof-flashing-repair-takoma-park-md`,path:`/roof-flashing-repair-takoma-park-md`,getParentRoute:()=>H}),Zw=rx.update({id:`/roof-drainage-solutions-takoma-park-md`,path:`/roof-drainage-solutions-takoma-park-md`,getParentRoute:()=>H}),Qw=ax.update({id:`/roof-coating-takoma-park-md`,path:`/roof-coating-takoma-park-md`,getParentRoute:()=>H}),$w=sx.update({id:`/roof-algae-removal-takoma-park-md`,path:`/roof-algae-removal-takoma-park-md`,getParentRoute:()=>H}),eT=lx.update({id:`/ridge-vent-installation-takoma-park-md`,path:`/ridge-vent-installation-takoma-park-md`,getParentRoute:()=>H}),tT=dx.update({id:`/residential-skylight-services-takoma-park-md`,path:`/residential-skylight-services-takoma-park-md`,getParentRoute:()=>H}),nT=hx.update({id:`/residential-roofing-takoma-park-md`,path:`/residential-roofing-takoma-park-md`,getParentRoute:()=>H}),rT=_x.update({id:`/residential-gutter-service-takoma-park-md`,path:`/residential-gutter-service-takoma-park-md`,getParentRoute:()=>H}),iT=yx.update({id:`/radiant-barrier-installation-takoma-park-md`,path:`/radiant-barrier-installation-takoma-park-md`,getParentRoute:()=>H}),aT=xx.update({id:`/pvc-roofing-installation-takoma-park-md`,path:`/pvc-roofing-installation-takoma-park-md`,getParentRoute:()=>H}),oT=Cx.update({id:`/open-cell-foam-insulation-takoma-park-md`,path:`/open-cell-foam-insulation-takoma-park-md`,getParentRoute:()=>H}),sT=Tx.update({id:`/new-roof-installation-takoma-park-md`,path:`/new-roof-installation-takoma-park-md`,getParentRoute:()=>H}),cT=Dx.update({id:`/modified-bitumen-roofing-takoma-park-md`,path:`/modified-bitumen-roofing-takoma-park-md`,getParentRoute:()=>H}),lT=Mx.update({id:`/metal-roofing-takoma-park-md`,path:`/metal-roofing-takoma-park-md`,getParentRoute:()=>H}),uT=Px.update({id:`/leaking-skylight-repair-takoma-park-md`,path:`/leaking-skylight-repair-takoma-park-md`,getParentRoute:()=>H}),dT=Ix.update({id:`/leaking-roof-repair-takoma-park-md`,path:`/leaking-roof-repair-takoma-park-md`,getParentRoute:()=>H}),fT=Rx.update({id:`/insurance-roof-claims-assistance-takoma-park-md`,path:`/insurance-roof-claims-assistance-takoma-park-md`,getParentRoute:()=>H}),pT=Hx.update({id:`/insulation-services-takoma-park-md`,path:`/insulation-services-takoma-park-md`,getParentRoute:()=>H}),mT=Wx.update({id:`/insulation-removal-takoma-park-md`,path:`/insulation-removal-takoma-park-md`,getParentRoute:()=>H}),hT=Kx.update({id:`/gutter-soffit-repair-takoma-park-md`,path:`/gutter-soffit-repair-takoma-park-md`,getParentRoute:()=>H}),gT=Xx.update({id:`/gutter-services-takoma-park-md`,path:`/gutter-services-takoma-park-md`,getParentRoute:()=>H}),_T=Qx.update({id:`/gutter-replacement-takoma-park-md`,path:`/gutter-replacement-takoma-park-md`,getParentRoute:()=>H}),vT=eS.update({id:`/gutter-repair-takoma-park-md`,path:`/gutter-repair-takoma-park-md`,getParentRoute:()=>H}),yT=nS.update({id:`/gutter-maintenance-takoma-park-md`,path:`/gutter-maintenance-takoma-park-md`,getParentRoute:()=>H}),bT=iS.update({id:`/gutter-leak-detection-takoma-park-md`,path:`/gutter-leak-detection-takoma-park-md`,getParentRoute:()=>H}),xT=oS.update({id:`/gutter-inspection-takoma-park-md`,path:`/gutter-inspection-takoma-park-md`,getParentRoute:()=>H}),ST=cS.update({id:`/gutter-guard-installation-takoma-park-md`,path:`/gutter-guard-installation-takoma-park-md`,getParentRoute:()=>H}),CT=uS.update({id:`/gutter-downspout-rerouting-takoma-park-md`,path:`/gutter-downspout-rerouting-takoma-park-md`,getParentRoute:()=>H}),wT=fS.update({id:`/gutter-cleaning-takoma-park-md`,path:`/gutter-cleaning-takoma-park-md`,getParentRoute:()=>H}),TT=mS.update({id:`/graffiti-removal-takoma-park-md`,path:`/graffiti-removal-takoma-park-md`,getParentRoute:()=>H}),ET=vS.update({id:`/flat-roofing-takoma-park-md`,path:`/flat-roofing-takoma-park-md`,getParentRoute:()=>H}),DT=bS.update({id:`/flat-roof-skylight-installation-takoma-park-md`,path:`/flat-roof-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),OT=SS.update({id:`/flat-roof-repair-takoma-park-md`,path:`/flat-roof-repair-takoma-park-md`,getParentRoute:()=>H}),kT=wS.update({id:`/flat-roof-installation-takoma-park-md`,path:`/flat-roof-installation-takoma-park-md`,getParentRoute:()=>H}),AT=ES.update({id:`/fiberglass-insulation-takoma-park-md`,path:`/fiberglass-insulation-takoma-park-md`,getParentRoute:()=>H}),jT=OS.update({id:`/epdm-roofing-installation-takoma-park-md`,path:`/epdm-roofing-installation-takoma-park-md`,getParentRoute:()=>H}
48),MT=AS.update({id:`/energy-efficient-skylight-installation-takoma-park-md`,path:`/energy-efficient-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),NT=MS.update({id:`/energy-efficient-roofing-takoma-park-md`,path:`/energy-efficient-roofing-takoma-park-md`,getParentRoute:()=>H}),PT=PS.update({id:`/emergency-roof-repair-takoma-park-md`,path:`/emergency-roof-repair-takoma-park-md`,getParentRoute:()=>H}),FT=LS.update({id:`/emergency-roof-repair`,path:`/emergency-roof-repair`,getParentRoute:()=>H}),IT=zS.update({id:`/electric-skylight-installation-takoma-park-md`,path:`/electric-skylight-installation-takoma-park-md`,getParentRoute:()=>H}),LT=VS.update({id:`/downspout-cleaning-takoma-park-md`,path:`/downspout-cleaning-takoma-park-md`,getParentRoute:()=>H}),RT=US.update({id:`/crawl-space-vapor-barrier-takoma-park-md`,path:`/crawl-space-vapor-barrier-takoma-park-md`,getParentRoute:()=>H}),zT=GS.update({id:`/crawl-space-insulation-takoma-park-md`,path:`/crawl-space-insulation-takoma-park-md`,getParentRoute:()=>H}),BT=qS.update({id:`/cool-roof-installation-takoma-park-md`,path:`/cool-roof-installation-takoma-park-md`,getParentRoute:()=>H}),VT=QS.update({id:`/contact`,path:`/contact`,getParentRoute:()=>H}),HT=eC.update({id:`/commercial-skylight-services-takoma-park-md`,path:`/commercial-skylight-services-takoma-park-md`,getParentRoute:()=>H}),UT=aC.update({id:`/commercial-roofing-takoma-park-md`,path:`/commercial-roofing-takoma-park-md`,getParentRoute:()=>H}),WT=sC.update({id:`/commercial-insulation-takoma-park-md`,path:`/commercial-insulation-takoma-park-md`,getParentRoute:()=>H}),GT=lC.update({id:`/commercial-gutter-service-takoma-park-md`,path:`/commercial-gutter-service-takoma-park-md`,getParentRoute:()=>H}),KT=dC.update({id:`/closed-cell-foam-insulation-takoma-park-md`,path:`/closed-cell-foam-insulation-takoma-park-md`,getParentRoute:()=>H}),qT=pC.update({id:`/chimney-flashing-repair-takoma-park-md`,path:`/chimney-flashing-repair-takoma-park-md`,getParentRoute:()=>H}),JT=hC.update({id:`/cellulose-insulation-takoma-park-md`,path:`/cellulose-insulation-takoma-park-md`,getParentRoute:()=>H}),YT=_C.update({id:`/cedar-shake-roof-repair-takoma-park-md`,path:`/cedar-shake-roof-repair-takoma-park-md`,getParentRoute:()=>H}),XT=xC.update({id:`/building-restoration-takoma-park-md`,path:`/building-restoration-takoma-park-md`,getParentRoute:()=>H}),ZT=CC.update({id:`/building-cleaning-takoma-park-md`,path:`/building-cleaning-takoma-park-md`,getParentRoute:()=>H}),QT=TC.update({id:`/box-gutter-repair-takoma-park-md`,path:`/box-gutter-repair-takoma-park-md`,getParentRoute:()=>H}),$T=DC.update({id:`/blown-in-insulation-takoma-park-md`,path:`/blown-in-insulation-takoma-park-md`,getParentRoute:()=>H}),eE=PC.update({id:`/blog`,path:`/blog`,getParentRoute:()=>H}),tE=IC.update({id:`/basement-insulation-takoma-park-md`,path:`/basement-insulation-takoma-park-md`,getParentRoute:()=>H}),nE=LC.update({id:`/auth`,path:`/auth`,getParentRoute:()=>H}),rE=zC.update({id:`/attic-ventilation-installation-takoma-park-md`,path:`/attic-ventilation-installation-takoma-park-md`,getParentRoute:()=>H}),iE=VC.update({id:`/attic-insulation-takoma-park-md`,path:`/attic-insulation-takoma-park-md`,getParentRoute:()=>H}),aE=UC.update({id:`/asphalt-shingle-roofing-takoma-park-md`,path:`/asphalt-shingle-roofing-takoma-park-md`,getParentRoute:()=>H}),oE=JC.update({id:`/about`,path:`/about`,getParentRoute:()=>H}),sE=YC.update({id:`/_authenticated`,getParentRoute:()=>H}),cE=XC.update({id:`/`,path:`/`,getParentRoute:()=>H}),lE=$C.update({id:`/reputable-maryland-roofing-storm-damage-estimates-alternatives`,path:`/reputable-maryland-roofing-storm-damage-estimates-alternatives`,getParentRoute:()=>eE}),uE=nw.update({id:`/maryland-veteran-owned-roofing-emergency-tarp-inspection`,path:`/maryland-veteran-owned-roofing-emergency-tarp-inspection`,getParentRoute:()=>eE}),dE={AuthenticatedAdminRoute:rw.update({id:`/admin`,path:`/admin`,getParentRoute:()=>sE})},fE=sE._addFileChildren(dE),pE={BlogMarylandVeteranOwnedRoofingEmergencyTarpInspectionRoute:uE,BlogReputableMarylandRoofingStormDamageEstimatesAlternativesRoute:lE},mE={IndexRoute:cE,AuthenticatedRouteRoute:fE,AboutRoute:oE,AsphaltShingleRoofingTakomaParkMdRoute:aE,AtticInsulationTakomaParkMdRoute:iE,AtticVentilationInstallationTakomaParkMdRoute:rE,AuthRoute:nE,BasementInsulationTakomaParkMdRoute:tE,BlogRoute:eE._addFileChildren(pE),BlownInInsulationTakomaParkMdRoute:$T,BoxGutterRepairTakomaParkMdRoute:QT,BuildingCleaningTakomaParkMdRoute:ZT,BuildingRestorationTakomaParkMdRoute:XT,CedarShakeRoofRepairTakomaParkMdRoute:YT,CelluloseInsulationTakomaParkMdRoute:JT,ChimneyFlashingRepairTakomaParkMdRoute:qT,ClosedCellFoamInsulationTakomaParkMdRoute:KT,CommercialGutterServiceTakomaParkMdRoute:GT,CommercialInsulationTakomaParkMdRoute:WT,CommercialRoofingTakomaParkMdRoute:UT,CommercialSkylightServicesTakomaParkMdRoute:HT,ContactRoute:VT,CoolRoofInstallationTakomaParkMdRoute:BT,CrawlSpaceInsulationTakomaParkMdRoute:zT,CrawlSpaceVaporBarrierTakomaParkMdRoute:RT,DownspoutCleaningTakomaParkMdRoute:LT,ElectricSkylightInstallationTakomaParkMdRoute:IT,EmergencyRoofRepairRoute:FT,EmergencyRoofRepairTakomaParkMdRoute:PT,EnergyEfficientRoofingTakomaParkMdRoute:NT,EnergyEfficientSkylightInstallationTakomaParkMdRoute:MT,EpdmRoofingInstallationTakomaParkMdRoute:jT,FiberglassInsulationTakomaParkMdRoute:AT,FlatRoofInstallationTakomaParkMdRoute:kT,FlatRoofRepairTakomaParkMdRoute:OT,FlatRoofSkylightInstallationTakomaParkMdRoute:DT,FlatRoofingTakomaParkMdRoute:ET,GraffitiRemovalTakomaParkMdRoute:TT,GutterCleaningTakomaParkMdRoute:wT,GutterDownspoutReroutingTakomaParkMdRoute:CT,GutterGuardInstallationTakomaParkMdRoute:ST,GutterInspectionTakomaParkMdRoute:xT,GutterLeakDetectionTakomaParkMdRoute:bT,GutterMaintenanceTakomaParkMdRoute:yT,GutterRepairTakomaParkMdRoute:vT,GutterReplacementTakomaParkMdRoute:_T,GutterServicesTakomaParkMdRoute:gT,GutterSoffitRepairTakomaParkMdRoute:hT,InsulationRemovalTakomaParkMdRoute:mT,InsulationServicesTakomaParkMdRoute:pT,InsuranceRoofClaimsAssistanceTakomaParkMdRoute:fT,LeakingRoofRepairTakomaParkMdRoute:dT,LeakingSkylightRepairTakomaParkMdRoute:uT,MetalRoofingTakomaParkMdRoute:lT,ModifiedBitumenRoofingTakomaParkMdRoute:cT,NewRoofInstallationTakomaParkMdRoute:sT,OpenCellFoamInsulationTakomaParkMdRoute:oT,PvcRoofingInstallationTakomaParkMdRoute:aT,RadiantBarrierInstallationTakomaParkMdRoute:iT,ResidentialGutterServiceTakomaParkMdRoute:rT,ResidentialRoofingTakomaParkMdRoute:nT,ResidentialSkylightServicesTakomaParkMdRoute:tT,RidgeVentInstallationTakomaParkMdRoute:eT,RoofAlgaeRemovalTakomaParkMdRoute:$w,RoofCoatingTakomaParkMdRoute:Qw,RoofDrainageSolutionsTakomaParkMdRoute:Zw,RoofFlashingRepairTakomaParkMdRoute:Xw,RoofHailDamageRepairTakomaParkMdRoute:Yw,RoofMaintenanceTakomaParkMdRoute:Jw,RoofMoldRemovalTakomaParkMdRoute:qw,RoofMossRemovalTakomaParkMdRoute:Kw,RoofRepairTakomaParkMdRoute:Gw,RoofReplacementTakomaParkMdRoute:Ww,RoofRestorationTakomaParkMdRoute:Uw,RoofVentilationInstallationTakomaParkMdRoute:Hw,RoofWaterproofingTakomaParkMdRoute:Vw,RoofingAnneArundelCountyMdRoute:Bw,RoofingBaltimoreCountyMdRoute:zw,RoofingCarrollCountyMdRoute:Rw,RoofingConsultationTakomaParkMdRoute:Lw,RoofingContractorTakomaParkMdRoute:Iw,RoofingEstimatesTakomaParkMdRoute:Fw,RoofingFrederickCountyMdRoute:Pw,RoofingHowardCountyMdRoute:Nw,RoofingMontgomeryCountyMdRoute:Mw,RoofingNorthernVirginiaRoute:jw,RoofingPrinceGeorgesCountyMdRoute:Aw,RoofingTearOffTakomaParkMdRoute:kw,RoofingWashingtonDcRoute:Ow,SaggingGutterCorrectionTakomaParkMdRoute:Dw,ServicesRoute:Ew,ShingleRoofReplacementTakomaParkMdRoute:Tw,SkylightFlashingRepairTakomaParkMdRoute:ww,SkylightGlassReplacementTakomaParkMdRoute:Cw,SkylightInstallationTakomaParkMdRoute:Sw,SkylightRepairTakomaParkMdRoute:xw,SkylightReplacementTakomaParkMdRoute:bw,SkylightServicesTakomaParkMdRoute:yw,SlateRoofRepairTakomaParkMdRoute:vw,SoffitAndFasciaRepairTakomaParkMdRoute:_w,SolarSkylightInstallationTakomaParkMdRoute:gw,SprayFoamInsulationTakomaParkMdRoute:hw,StormDamageRoofRepairTakomaParkMdRoute:mw,SunTunnelInstallationTakomaParkMdRoute:pw,TileRoofRepairTakomaParkMdRoute:fw,TorchDownRoofingTakomaParkMdRoute:dw,TpoRoofingInstallationTakomaParkMdRoute:uw,TubularSkylightInstallationTakomaParkMdRoute:lw,UndergroundDrainCleaningTakomaParkMdRoute:cw,UnsubscribeRoute:sw,VaporBarrierInstallationTakomaParkMdRoute:ow,VeluxSkylightInstallationTakomaParkMdRoute:aw,WallInsulationTakomaParkMdRoute:iw},hE=H._addFileChildren(mE),gE=()=>nc({routeTree:hE,context:{queryClient:new ph},scrollRestoration:!0,defaultPreloadStaleTime:0});async function _E(){let e=await gE(),t;if(fm){let n=await fm.getOptions();n.serializationAdapters=n.serializationAdapters??[],window.__TSS_START_OPTIONS__=n,t=n.seri
48alizationAdapters,e.options.defaultSsr=n.defaultSsr}else t=[],window.__TSS_START_OPTIONS__={serializationAdapters:t};return t.push(Qo),e.options.serializationAdapters&&t.push(...e.options.serializationAdapters),e.update({basepath:``,serializationAdapters:t}),e.stores.matchesId.get().length||await ts(e),e}async function vE(){let e=await _E();return window.$_TSR?.h(),e}var yE;function bE(){return yE||=vE(),(0,j.jsx)(rs,{promise:yE,children:e=>(0,j.jsx)(ac,{router:e})})}var xE=Ge();(0,A.startTransition)(()=>{(0,xE.hydrateRoot)(document,(0,j.jsx)(A.StrictMode,{children:(0,j.jsx)(bE,{})}))});export{Jx as $,_g as $n,Zy as $t,BS as A,Ev as An,et as Ar,Xb as At,yS as B,lv as Bn,Pb as Bt,nC as C,Vv as Cn,bc as Cr,ux as Ct,KS as D,Nv as Dn,Zo as Dr,nx as Dt,$S as E,Fv as En,Fs as Er,ix as Et,kS as F,yv as Fn,Hb as Ft,dS as G,Eg as Gn,Cb as Gt,_S as H,Mg as Hn,Db as Ht,DS as I,_v as In,zb as It,aS as J,Cg as Jn,hb as Jt,lS as K,Tg as Kn,_b as Kt,TS as L,hv as Ln,Bb as Lt,IS as M,Tv as Mn,Kb as Mt,NS as N,Cv as Nn,Ub as Nt,WS as O,Ov as On,xt as Or,ex as Ot,jS as P,xv as Pn,Wb as Pt,Zx as Q,vg as Qn,rb as Qt,CS as R,pv as Rn,Rb as Rt,iC as S,Uv as Sn,vc as Sr,fx as St,tC as T,Lv as Tn,Zs as Tr,ox as Tt,hS as U,Ag as Un,Ob as Ut,gS as V,cv as Vn,Mb as Vt,pS as W,Dg as Wn,Sb as Wt,tS as X,xg as Xn,sb as Xt,rS as Y,Sg as Yn,lb as Yt,$x as Z,bg as Zn,nb as Zt,mC as _,Zv as _n,gm as _r,bx as _t,HC as a,Iy as an,nh as ar,Vx as at,cC as b,Gv as bn,lm as br,px as bt,FC as c,ky as cn,Wm as cr,Fx as ct,wC as d,_y as dn,Lm as dr,kx as dt,Qy as en,gg as er,Yx as et,SC as f,dy as fn,wm as fr,Ax as ft,gC as g,$v as gn,Sm as gr,Sx as gt,vC as h,ty as hn,Hm as hr,wx as ht,ZC as i,Hy as in,hh as ir,Bx as it,RS as j,Dv as jn,Je as jr,Jb as jt,HS as k,Av as kn,St as kr,Qb as kt,OC as l,Oy as ln,xm as lr,Nx as lt,bC as m,ly as mn,Mm as mr,Ex as mt,ew as n,qy as nn,W as nr,Gx as nt,BC as o,Ly as on,Jm as or,zx as ot,yC as p,fy as pn,Cm as pr,Ox as pt,sS as q,wg as qn,vb as qt,QC as r,Vy as rn,Fh as rr,Ux as rt,RC as s,Py as sn,Gm as sr,Lx as st,tw as t,Ky as tn,hg as tr,qx as tt,EC as u,Ey as un,ym as ur,jx as ut,fC as v,Yv as vn,mm as vr,vx as vt,rC as w,zv as wn,mc as wr,cx as wt,oC as x,Hv as xn,_c as xr,mx as xt,uC as y,qv as yn,pm as yr,gx as yt,xS as z,fv as zn,Ib as zt};

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.