@metron-labs/quote-react 0.1.50 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
- import{a as Ua,b as G}from"./chunk-SQE76S5B.js";var ym=Ua(at=>{"use strict";function Ec(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,i=e[r];if(0<dl(i,t))e[r]=t,e[a]=i,a=r;else break e}}function Da(e){return e.length===0?null:e[0]}function fl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,i=e.length,n=i>>>1;r<n;){var o=2*(r+1)-1,l=e[o],c=o+1,p=e[c];if(0>dl(l,a))c<i&&0>dl(p,l)?(e[r]=p,e[c]=a,r=c):(e[r]=l,e[o]=a,r=o);else if(c<i&&0>dl(p,a))e[r]=p,e[c]=a,r=c;else break e}}return t}function dl(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}at.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(pm=performance,at.unstable_now=function(){return pm.now()}):(Sc=Date,dm=Sc.now(),at.unstable_now=function(){return Sc.now()-dm});var pm,Sc,dm,$a=[],vr=[],Iw=1,da=null,Ot=3,Mc=!1,Zn=!1,Kn=!1,Tc=!1,gm=typeof setTimeout=="function"?setTimeout:null,hm=typeof clearTimeout=="function"?clearTimeout:null,mm=typeof setImmediate<"u"?setImmediate:null;function ml(e){for(var t=Da(vr);t!==null;){if(t.callback===null)fl(vr);else if(t.startTime<=e)fl(vr),t.sortIndex=t.expirationTime,Ec($a,t);else break;t=Da(vr)}}function zc(e){if(Kn=!1,ml(e),!Zn)if(Da($a)!==null)Zn=!0,Ri||(Ri=!0,Ai());else{var t=Da(vr);t!==null&&Ac(zc,t.startTime-e)}}var Ri=!1,Pn=-1,bm=5,vm=-1;function wm(){return Tc?!0:!(at.unstable_now()-vm<bm)}function Cc(){if(Tc=!1,Ri){var e=at.unstable_now();vm=e;var t=!0;try{e:{Zn=!1,Kn&&(Kn=!1,hm(Pn),Pn=-1),Mc=!0;var a=Ot;try{t:{for(ml(e),da=Da($a);da!==null&&!(da.expirationTime>e&&wm());){var r=da.callback;if(typeof r=="function"){da.callback=null,Ot=da.priorityLevel;var i=r(da.expirationTime<=e);if(e=at.unstable_now(),typeof i=="function"){da.callback=i,ml(e),t=!0;break t}da===Da($a)&&fl($a),ml(e)}else fl($a);da=Da($a)}if(da!==null)t=!0;else{var n=Da(vr);n!==null&&Ac(zc,n.startTime-e),t=!1}}break e}finally{da=null,Ot=a,Mc=!1}t=void 0}}finally{t?Ai():Ri=!1}}}var Ai;typeof mm=="function"?Ai=function(){mm(Cc)}:typeof MessageChannel<"u"?(qc=new MessageChannel,fm=qc.port2,qc.port1.onmessage=Cc,Ai=function(){fm.postMessage(null)}):Ai=function(){gm(Cc,0)};var qc,fm;function Ac(e,t){Pn=gm(function(){e(at.unstable_now())},t)}at.unstable_IdlePriority=5;at.unstable_ImmediatePriority=1;at.unstable_LowPriority=4;at.unstable_NormalPriority=3;at.unstable_Profiling=null;at.unstable_UserBlockingPriority=2;at.unstable_cancelCallback=function(e){e.callback=null};at.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"):bm=0<e?Math.floor(1e3/e):5};at.unstable_getCurrentPriorityLevel=function(){return Ot};at.unstable_next=function(e){switch(Ot){case 1:case 2:case 3:var t=3;break;default:t=Ot}var a=Ot;Ot=t;try{return e()}finally{Ot=a}};at.unstable_requestPaint=function(){Tc=!0};at.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=Ot;Ot=e;try{return t()}finally{Ot=a}};at.unstable_scheduleCallback=function(e,t,a){var r=at.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=a+i,e={id:Iw++,callback:t,priorityLevel:e,startTime:a,expirationTime:i,sortIndex:-1},a>r?(e.sortIndex=a,Ec(vr,e),Da($a)===null&&e===Da(vr)&&(Kn?(hm(Pn),Pn=-1):Kn=!0,Ac(zc,a-r))):(e.sortIndex=i,Ec($a,e),Zn||Mc||(Zn=!0,Ri||(Ri=!0,Ai()))),e};at.unstable_shouldYield=wm;at.unstable_wrapCallback=function(e){var t=Ot;return function(){var a=Ot;Ot=t;try{return e.apply(this,arguments)}finally{Ot=a}}}});var xm=Ua((vx,_m)=>{"use strict";_m.exports=ym()});var Rm=Ua(me=>{"use strict";var Dc=Symbol.for("react.transitional.element"),Fw=Symbol.for("react.portal"),Ww=Symbol.for("react.fragment"),e0=Symbol.for("react.strict_mode"),t0=Symbol.for("react.profiler"),a0=Symbol.for("react.consumer"),r0=Symbol.for("react.context"),i0=Symbol.for("react.forward_ref"),n0=Symbol.for("react.suspense"),o0=Symbol.for("react.memo"),qm=Symbol.for("react.lazy"),l0=Symbol.for("react.activity"),km=Symbol.iterator;function s0(e){return e===null||typeof e!="object"?null:(e=km&&e[km]||e["@@iterator"],typeof e=="function"?e:null)}var Em={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Mm=Object.assign,Tm={};function Di(e,t,a){this.props=e,this.context=t,this.refs=Tm,this.updater=a||Em}Di.prototype.isReactComponent={};Di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function zm(){}zm.prototype=Di.prototype;function Oc(e,t,a){this.props=e,this.context=t,this.refs=Tm,this.updater=a||Em}var Bc=Oc.prototype=new zm;Bc.constructor=Oc;Mm(Bc,Di.prototype);Bc.isPureReactComponent=!0;var Nm=Array.isArray;function Uc(){}var Fe={H:null,A:null,T:null,S:null},Am=Object.prototype.hasOwnProperty;function Lc(e,t,a){var r=a.ref;return{$$typeof:Dc,type:e,key:t,ref:r!==void 0?r:null,props:a}}function c0(e,t){return Lc(e.type,t,e.props)}function Hc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Dc}function u0(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var Sm=/\/+/g;function Rc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?u0(""+e.key):t.toString(36)}function p0(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Uc,Uc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ui(e,t,a,r,i){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(n){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Dc:case Fw:o=!0;break;case qm:return o=e._init,Ui(o(e._payload),t,a,r,i)}}if(o)return i=i(e),o=r===""?"."+Rc(e,0):r,Nm(i)?(a="",o!=null&&(a=o.replace(Sm,"$&/")+"/"),Ui(i,t,a,"",function(p){return p})):i!=null&&(Hc(i)&&(i=c0(i,a+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(Sm,"$&/")+"/")+o)),t.push(i)),1;o=0;var l=r===""?".":r+":";if(Nm(e))for(var c=0;c<e.length;c++)r=e[c],n=l+Rc(r,c),o+=Ui(r,t,a,n,i);else if(c=s0(e),typeof c=="function")for(e=c.call(e),c=0;!(r=e.next()).done;)r=r.value,n=l+Rc(r,c++),o+=Ui(r,t,a,n,i);else if(n==="object"){if(typeof e.then=="function")return Ui(p0(e),t,a,r,i);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return o}function gl(e,t,a){if(e==null)return e;var r=[],i=0;return Ui(e,r,"","",function(n){return t.call(a,n,i++)}),r}function d0(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Cm=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!==null&&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)},m0={map:gl,forEach:function(e,t,a){gl(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return gl(e,function(){t++}),t},toArray:function(e){return gl(e,function(t){return t})||[]},only:function(e){if(!Hc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};me.Activity=l0;me.Children=m0;me.Component=Di;me.Fragment=Ww;me.Profiler=t0;me.PureComponent=Oc;me.StrictMode=e0;me.Suspense=n0;me.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Fe;me.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Fe.H.useMemoCache(e)}};me.cache=function(e){return function(){return e.apply(null,arguments)}};me.cacheSignal=function(){return null};me.cloneElement=function(e,t,a){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=Mm({},e.props),i=e.key;if(t!=null)for(n in t.key!==void 0&&(i=""+t.key),t)!Am.call(t,n)||n==="key"||n==="__self"||n==="__source"||n==="ref"&&t.ref===void 0||(r[n]=t[n]);var n=arguments.length-2;if(n===1)r.children=a;else if(1<n){for(var o=Array(n),l=0;l<n;l++)o[l]=arguments[l+2];r.children=o}return Lc(e.type,i,r)};me.createContext=function(e){return e={$$typeof:r0,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:a0,_context:e},e};me.createElement=function(e,t,a){var r,i={},n=null;if(t!=null)for(r in t.key!==void 0&&(n=""+t.key),t)Am.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=a;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];i.children=l}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return Lc(e,n,i)};me.createRef=function(){return{current:null}};me.forwardRef=function(e){return{$$typeof:i0,render:e}};me.isValidElement=Hc;me.lazy=function(e){return{$$typeof:qm,_payload:{_status:-1,_result:e},_init:d0}};me.memo=function(e,t){return{$$typeof:o0,type:e,compare:t===void 0?null:t}};me.startTransition=function(e){var t=Fe.T,a={};Fe.T=a;try{var r=e(),i=Fe.S;i!==null&&i(a,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(Uc,Cm)}catch(n){Cm(n)}finally{t!==null&&a.types!==null&&(t.types=a.types),Fe.T=t}};me.unstable_useCacheRefresh=function(){return Fe.H.useCacheRefresh()};me.use=function(e){return Fe.H.use(e)};me.useActionState=function(e,t,a){return Fe.H.useActionState(e,t,a)};me.useCallback=function(e,t){return Fe.H.useCallback(e,t)};me.useContext=function(e){return Fe.H.useContext(e)};me.useDebugValue=function(){};me.useDeferredValue=function(e,t){return Fe.H.useDeferredValue(e,t)};me.useEffect=function(e,t){return Fe.H.useEffect(e,t)};me.useEffectEvent=function(e){return Fe.H.useEffectEvent(e)};me.useId=function(){return Fe.H.useId()};me.useImperativeHandle=function(e,t,a){return Fe.H.useImperativeHandle(e,t,a)};me.useInsertionEffect=function(e,t){return Fe.H.useInsertionEffect(e,t)};me.useLayoutEffect=function(e,t){return Fe.H.useLayoutEffect(e,t)};me.useMemo=function(e,t){return Fe.H.useMemo(e,t)};me.useOptimistic=function(e,t){return Fe.H.useOptimistic(e,t)};me.useReducer=function(e,t,a){return Fe.H.useReducer(e,t,a)};me.useRef=function(e){return Fe.H.useRef(e)};me.useState=function(e){return Fe.H.useState(e)};me.useSyncExternalStore=function(e,t,a){return Fe.H.useSyncExternalStore(e,t,a)};me.useTransition=function(){return Fe.H.useTransition()};me.version="19.2.3"});var Xe=Ua((yx,Um)=>{"use strict";Um.exports=Rm()});var Om=Ua(Lt=>{"use strict";var f0=Xe();function Dm(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 wr(){}var Bt={d:{f:wr,r:function(){throw Error(Dm(522))},D:wr,C:wr,L:wr,m:wr,X:wr,S:wr,M:wr},p:0,findDOMNode:null},g0=Symbol.for("react.portal");function h0(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:g0,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}var Jn=f0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function hl(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Bt;Lt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Dm(299));return h0(e,t,null,a)};Lt.flushSync=function(e){var t=Jn.T,a=Bt.p;try{if(Jn.T=null,Bt.p=2,e)return e()}finally{Jn.T=t,Bt.p=a,Bt.d.f()}};Lt.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Bt.d.C(e,t))};Lt.prefetchDNS=function(e){typeof e=="string"&&Bt.d.D(e)};Lt.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var a=t.as,r=hl(a,t.crossOrigin),i=typeof t.integrity=="string"?t.integrity:void 0,n=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;a==="style"?Bt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:n}):a==="script"&&Bt.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:n,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Lt.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var a=hl(t.as,t.crossOrigin);Bt.d.M(e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Bt.d.M(e)};Lt.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var a=t.as,r=hl(a,t.crossOrigin);Bt.d.L(e,a,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Lt.preloadModule=function(e,t){if(typeof e=="string")if(t){var a=hl(t.as,t.crossOrigin);Bt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Bt.d.m(e)};Lt.requestFormReset=function(e){Bt.d.r(e)};Lt.unstable_batchedUpdates=function(e,t){return e(t)};Lt.useFormState=function(e,t,a){return Jn.H.useFormState(e,t,a)};Lt.useFormStatus=function(){return Jn.H.useHostTransitionStatus()};Lt.version="19.2.3"});var Hm=Ua((xx,Lm)=>{"use strict";function Bm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Bm)}catch(e){console.error(e)}}Bm(),Lm.exports=Om()});var Fb=Ua(Qs=>{"use strict";var _t=xm(),dg=Xe(),b0=Hm();function B(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 mg(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Bo(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function fg(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 gg(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 jm(e){if(Bo(e)!==e)throw Error(B(188))}function v0(e){var t=e.alternate;if(!t){if(t=Bo(e),t===null)throw Error(B(188));return t!==e?null:e}for(var a=e,r=t;;){var i=a.return;if(i===null)break;var n=i.alternate;if(n===null){if(r=i.return,r!==null){a=r;continue}break}if(i.child===n.child){for(n=i.child;n;){if(n===a)return jm(i),e;if(n===r)return jm(i),t;n=n.sibling}throw Error(B(188))}if(a.return!==r.return)a=i,r=n;else{for(var o=!1,l=i.child;l;){if(l===a){o=!0,a=i,r=n;break}if(l===r){o=!0,r=i,a=n;break}l=l.sibling}if(!o){for(l=n.child;l;){if(l===a){o=!0,a=n,r=i;break}if(l===r){o=!0,r=n,a=i;break}l=l.sibling}if(!o)throw Error(B(189))}}if(a.alternate!==r)throw Error(B(190))}if(a.tag!==3)throw Error(B(188));return a.stateNode.current===a?e:t}function hg(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=hg(e),t!==null)return t;e=e.sibling}return null}var tt=Object.assign,w0=Symbol.for("react.element"),bl=Symbol.for("react.transitional.element"),io=Symbol.for("react.portal"),Qi=Symbol.for("react.fragment"),bg=Symbol.for("react.strict_mode"),wu=Symbol.for("react.profiler"),vg=Symbol.for("react.consumer"),er=Symbol.for("react.context"),fp=Symbol.for("react.forward_ref"),yu=Symbol.for("react.suspense"),_u=Symbol.for("react.suspense_list"),gp=Symbol.for("react.memo"),yr=Symbol.for("react.lazy"),xu=Symbol.for("react.activity"),y0=Symbol.for("react.memo_cache_sentinel"),Qm=Symbol.iterator;function In(e){return e===null||typeof e!="object"?null:(e=Qm&&e[Qm]||e["@@iterator"],typeof e=="function"?e:null)}var _0=Symbol.for("react.client.reference");function ku(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===_0?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qi:return"Fragment";case wu:return"Profiler";case bg:return"StrictMode";case yu:return"Suspense";case _u:return"SuspenseList";case xu:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case io:return"Portal";case er:return e.displayName||"Context";case vg:return(e._context.displayName||"Context")+".Consumer";case fp:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case gp:return t=e.displayName||null,t!==null?t:ku(e.type)||"Memo";case yr:t=e._payload,e=e._init;try{return ku(e(t))}catch{}}return null}var no=Array.isArray,le=dg.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Oe=b0.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ri={pending:!1,data:null,method:null,action:null},Nu=[],Gi=-1;function ja(e){return{current:e}}function Ct(e){0>Gi||(e.current=Nu[Gi],Nu[Gi]=null,Gi--)}function Ie(e,t){Gi++,Nu[Gi]=e.current,e.current=t}var Ha=ja(null),ko=ja(null),zr=ja(null),Jl=ja(null);function Il(e,t){switch(Ie(zr,t),Ie(ko,e),Ie(Ha,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Pf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Pf(t),e=Lb(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Ct(Ha),Ie(Ha,e)}function ln(){Ct(Ha),Ct(ko),Ct(zr)}function Su(e){e.memoizedState!==null&&Ie(Jl,e);var t=Ha.current,a=Lb(t,e.type);t!==a&&(Ie(ko,e),Ie(Ha,a))}function Fl(e){ko.current===e&&(Ct(Ha),Ct(ko)),Jl.current===e&&(Ct(Jl),Uo._currentValue=ri)}var jc,Gm;function Wr(e){if(jc===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);jc=t&&t[1]||"",Gm=-1<a.stack.indexOf(`
1
+ import{a as Ua,b as G}from"./chunk-SQE76S5B.js";var ym=Ua(at=>{"use strict";function Ec(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,i=e[r];if(0<dl(i,t))e[r]=t,e[a]=i,a=r;else break e}}function Da(e){return e.length===0?null:e[0]}function fl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,i=e.length,n=i>>>1;r<n;){var o=2*(r+1)-1,l=e[o],c=o+1,p=e[c];if(0>dl(l,a))c<i&&0>dl(p,l)?(e[r]=p,e[c]=a,r=c):(e[r]=l,e[o]=a,r=o);else if(c<i&&0>dl(p,a))e[r]=p,e[c]=a,r=c;else break e}}return t}function dl(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}at.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(pm=performance,at.unstable_now=function(){return pm.now()}):(Sc=Date,dm=Sc.now(),at.unstable_now=function(){return Sc.now()-dm});var pm,Sc,dm,$a=[],wr=[],Iv=1,da=null,Ot=3,Mc=!1,Zn=!1,Kn=!1,Tc=!1,hm=typeof setTimeout=="function"?setTimeout:null,gm=typeof clearTimeout=="function"?clearTimeout:null,mm=typeof setImmediate<"u"?setImmediate:null;function ml(e){for(var t=Da(wr);t!==null;){if(t.callback===null)fl(wr);else if(t.startTime<=e)fl(wr),t.sortIndex=t.expirationTime,Ec($a,t);else break;t=Da(wr)}}function zc(e){if(Kn=!1,ml(e),!Zn)if(Da($a)!==null)Zn=!0,Ri||(Ri=!0,Ai());else{var t=Da(wr);t!==null&&Ac(zc,t.startTime-e)}}var Ri=!1,Pn=-1,bm=5,wm=-1;function vm(){return Tc?!0:!(at.unstable_now()-wm<bm)}function Cc(){if(Tc=!1,Ri){var e=at.unstable_now();wm=e;var t=!0;try{e:{Zn=!1,Kn&&(Kn=!1,gm(Pn),Pn=-1),Mc=!0;var a=Ot;try{t:{for(ml(e),da=Da($a);da!==null&&!(da.expirationTime>e&&vm());){var r=da.callback;if(typeof r=="function"){da.callback=null,Ot=da.priorityLevel;var i=r(da.expirationTime<=e);if(e=at.unstable_now(),typeof i=="function"){da.callback=i,ml(e),t=!0;break t}da===Da($a)&&fl($a),ml(e)}else fl($a);da=Da($a)}if(da!==null)t=!0;else{var n=Da(wr);n!==null&&Ac(zc,n.startTime-e),t=!1}}break e}finally{da=null,Ot=a,Mc=!1}t=void 0}}finally{t?Ai():Ri=!1}}}var Ai;typeof mm=="function"?Ai=function(){mm(Cc)}:typeof MessageChannel<"u"?(qc=new MessageChannel,fm=qc.port2,qc.port1.onmessage=Cc,Ai=function(){fm.postMessage(null)}):Ai=function(){hm(Cc,0)};var qc,fm;function Ac(e,t){Pn=hm(function(){e(at.unstable_now())},t)}at.unstable_IdlePriority=5;at.unstable_ImmediatePriority=1;at.unstable_LowPriority=4;at.unstable_NormalPriority=3;at.unstable_Profiling=null;at.unstable_UserBlockingPriority=2;at.unstable_cancelCallback=function(e){e.callback=null};at.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"):bm=0<e?Math.floor(1e3/e):5};at.unstable_getCurrentPriorityLevel=function(){return Ot};at.unstable_next=function(e){switch(Ot){case 1:case 2:case 3:var t=3;break;default:t=Ot}var a=Ot;Ot=t;try{return e()}finally{Ot=a}};at.unstable_requestPaint=function(){Tc=!0};at.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=Ot;Ot=e;try{return t()}finally{Ot=a}};at.unstable_scheduleCallback=function(e,t,a){var r=at.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=a+i,e={id:Iv++,callback:t,priorityLevel:e,startTime:a,expirationTime:i,sortIndex:-1},a>r?(e.sortIndex=a,Ec(wr,e),Da($a)===null&&e===Da(wr)&&(Kn?(gm(Pn),Pn=-1):Kn=!0,Ac(zc,a-r))):(e.sortIndex=i,Ec($a,e),Zn||Mc||(Zn=!0,Ri||(Ri=!0,Ai()))),e};at.unstable_shouldYield=vm;at.unstable_wrapCallback=function(e){var t=Ot;return function(){var a=Ot;Ot=t;try{return e.apply(this,arguments)}finally{Ot=a}}}});var xm=Ua((wx,_m)=>{"use strict";_m.exports=ym()});var Rm=Ua(me=>{"use strict";var Dc=Symbol.for("react.transitional.element"),Fv=Symbol.for("react.portal"),Wv=Symbol.for("react.fragment"),e0=Symbol.for("react.strict_mode"),t0=Symbol.for("react.profiler"),a0=Symbol.for("react.consumer"),r0=Symbol.for("react.context"),i0=Symbol.for("react.forward_ref"),n0=Symbol.for("react.suspense"),o0=Symbol.for("react.memo"),qm=Symbol.for("react.lazy"),l0=Symbol.for("react.activity"),km=Symbol.iterator;function s0(e){return e===null||typeof e!="object"?null:(e=km&&e[km]||e["@@iterator"],typeof e=="function"?e:null)}var Em={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Mm=Object.assign,Tm={};function Di(e,t,a){this.props=e,this.context=t,this.refs=Tm,this.updater=a||Em}Di.prototype.isReactComponent={};Di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function zm(){}zm.prototype=Di.prototype;function Oc(e,t,a){this.props=e,this.context=t,this.refs=Tm,this.updater=a||Em}var Bc=Oc.prototype=new zm;Bc.constructor=Oc;Mm(Bc,Di.prototype);Bc.isPureReactComponent=!0;var Nm=Array.isArray;function Uc(){}var Fe={H:null,A:null,T:null,S:null},Am=Object.prototype.hasOwnProperty;function Lc(e,t,a){var r=a.ref;return{$$typeof:Dc,type:e,key:t,ref:r!==void 0?r:null,props:a}}function c0(e,t){return Lc(e.type,t,e.props)}function Hc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Dc}function u0(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var Sm=/\/+/g;function Rc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?u0(""+e.key):t.toString(36)}function p0(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Uc,Uc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ui(e,t,a,r,i){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(n){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Dc:case Fv:o=!0;break;case qm:return o=e._init,Ui(o(e._payload),t,a,r,i)}}if(o)return i=i(e),o=r===""?"."+Rc(e,0):r,Nm(i)?(a="",o!=null&&(a=o.replace(Sm,"$&/")+"/"),Ui(i,t,a,"",function(p){return p})):i!=null&&(Hc(i)&&(i=c0(i,a+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(Sm,"$&/")+"/")+o)),t.push(i)),1;o=0;var l=r===""?".":r+":";if(Nm(e))for(var c=0;c<e.length;c++)r=e[c],n=l+Rc(r,c),o+=Ui(r,t,a,n,i);else if(c=s0(e),typeof c=="function")for(e=c.call(e),c=0;!(r=e.next()).done;)r=r.value,n=l+Rc(r,c++),o+=Ui(r,t,a,n,i);else if(n==="object"){if(typeof e.then=="function")return Ui(p0(e),t,a,r,i);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return o}function hl(e,t,a){if(e==null)return e;var r=[],i=0;return Ui(e,r,"","",function(n){return t.call(a,n,i++)}),r}function d0(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Cm=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!==null&&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)},m0={map:hl,forEach:function(e,t,a){hl(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return hl(e,function(){t++}),t},toArray:function(e){return hl(e,function(t){return t})||[]},only:function(e){if(!Hc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};me.Activity=l0;me.Children=m0;me.Component=Di;me.Fragment=Wv;me.Profiler=t0;me.PureComponent=Oc;me.StrictMode=e0;me.Suspense=n0;me.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Fe;me.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Fe.H.useMemoCache(e)}};me.cache=function(e){return function(){return e.apply(null,arguments)}};me.cacheSignal=function(){return null};me.cloneElement=function(e,t,a){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=Mm({},e.props),i=e.key;if(t!=null)for(n in t.key!==void 0&&(i=""+t.key),t)!Am.call(t,n)||n==="key"||n==="__self"||n==="__source"||n==="ref"&&t.ref===void 0||(r[n]=t[n]);var n=arguments.length-2;if(n===1)r.children=a;else if(1<n){for(var o=Array(n),l=0;l<n;l++)o[l]=arguments[l+2];r.children=o}return Lc(e.type,i,r)};me.createContext=function(e){return e={$$typeof:r0,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:a0,_context:e},e};me.createElement=function(e,t,a){var r,i={},n=null;if(t!=null)for(r in t.key!==void 0&&(n=""+t.key),t)Am.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=a;else if(1<o){for(var l=Array(o),c=0;c<o;c++)l[c]=arguments[c+2];i.children=l}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return Lc(e,n,i)};me.createRef=function(){return{current:null}};me.forwardRef=function(e){return{$$typeof:i0,render:e}};me.isValidElement=Hc;me.lazy=function(e){return{$$typeof:qm,_payload:{_status:-1,_result:e},_init:d0}};me.memo=function(e,t){return{$$typeof:o0,type:e,compare:t===void 0?null:t}};me.startTransition=function(e){var t=Fe.T,a={};Fe.T=a;try{var r=e(),i=Fe.S;i!==null&&i(a,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(Uc,Cm)}catch(n){Cm(n)}finally{t!==null&&a.types!==null&&(t.types=a.types),Fe.T=t}};me.unstable_useCacheRefresh=function(){return Fe.H.useCacheRefresh()};me.use=function(e){return Fe.H.use(e)};me.useActionState=function(e,t,a){return Fe.H.useActionState(e,t,a)};me.useCallback=function(e,t){return Fe.H.useCallback(e,t)};me.useContext=function(e){return Fe.H.useContext(e)};me.useDebugValue=function(){};me.useDeferredValue=function(e,t){return Fe.H.useDeferredValue(e,t)};me.useEffect=function(e,t){return Fe.H.useEffect(e,t)};me.useEffectEvent=function(e){return Fe.H.useEffectEvent(e)};me.useId=function(){return Fe.H.useId()};me.useImperativeHandle=function(e,t,a){return Fe.H.useImperativeHandle(e,t,a)};me.useInsertionEffect=function(e,t){return Fe.H.useInsertionEffect(e,t)};me.useLayoutEffect=function(e,t){return Fe.H.useLayoutEffect(e,t)};me.useMemo=function(e,t){return Fe.H.useMemo(e,t)};me.useOptimistic=function(e,t){return Fe.H.useOptimistic(e,t)};me.useReducer=function(e,t,a){return Fe.H.useReducer(e,t,a)};me.useRef=function(e){return Fe.H.useRef(e)};me.useState=function(e){return Fe.H.useState(e)};me.useSyncExternalStore=function(e,t,a){return Fe.H.useSyncExternalStore(e,t,a)};me.useTransition=function(){return Fe.H.useTransition()};me.version="19.2.3"});var Xe=Ua((yx,Um)=>{"use strict";Um.exports=Rm()});var Om=Ua(Lt=>{"use strict";var f0=Xe();function Dm(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 vr(){}var Bt={d:{f:vr,r:function(){throw Error(Dm(522))},D:vr,C:vr,L:vr,m:vr,X:vr,S:vr,M:vr},p:0,findDOMNode:null},h0=Symbol.for("react.portal");function g0(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:h0,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}var Jn=f0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function gl(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Bt;Lt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Dm(299));return g0(e,t,null,a)};Lt.flushSync=function(e){var t=Jn.T,a=Bt.p;try{if(Jn.T=null,Bt.p=2,e)return e()}finally{Jn.T=t,Bt.p=a,Bt.d.f()}};Lt.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,Bt.d.C(e,t))};Lt.prefetchDNS=function(e){typeof e=="string"&&Bt.d.D(e)};Lt.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var a=t.as,r=gl(a,t.crossOrigin),i=typeof t.integrity=="string"?t.integrity:void 0,n=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;a==="style"?Bt.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:n}):a==="script"&&Bt.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:n,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Lt.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var a=gl(t.as,t.crossOrigin);Bt.d.M(e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&Bt.d.M(e)};Lt.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var a=t.as,r=gl(a,t.crossOrigin);Bt.d.L(e,a,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Lt.preloadModule=function(e,t){if(typeof e=="string")if(t){var a=gl(t.as,t.crossOrigin);Bt.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else Bt.d.m(e)};Lt.requestFormReset=function(e){Bt.d.r(e)};Lt.unstable_batchedUpdates=function(e,t){return e(t)};Lt.useFormState=function(e,t,a){return Jn.H.useFormState(e,t,a)};Lt.useFormStatus=function(){return Jn.H.useHostTransitionStatus()};Lt.version="19.2.3"});var Hm=Ua((xx,Lm)=>{"use strict";function Bm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Bm)}catch(e){console.error(e)}}Bm(),Lm.exports=Om()});var Fb=Ua(Qs=>{"use strict";var _t=xm(),dh=Xe(),b0=Hm();function B(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 mh(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Bo(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function fh(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 hh(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 jm(e){if(Bo(e)!==e)throw Error(B(188))}function w0(e){var t=e.alternate;if(!t){if(t=Bo(e),t===null)throw Error(B(188));return t!==e?null:e}for(var a=e,r=t;;){var i=a.return;if(i===null)break;var n=i.alternate;if(n===null){if(r=i.return,r!==null){a=r;continue}break}if(i.child===n.child){for(n=i.child;n;){if(n===a)return jm(i),e;if(n===r)return jm(i),t;n=n.sibling}throw Error(B(188))}if(a.return!==r.return)a=i,r=n;else{for(var o=!1,l=i.child;l;){if(l===a){o=!0,a=i,r=n;break}if(l===r){o=!0,r=i,a=n;break}l=l.sibling}if(!o){for(l=n.child;l;){if(l===a){o=!0,a=n,r=i;break}if(l===r){o=!0,r=n,a=i;break}l=l.sibling}if(!o)throw Error(B(189))}}if(a.alternate!==r)throw Error(B(190))}if(a.tag!==3)throw Error(B(188));return a.stateNode.current===a?e:t}function gh(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=gh(e),t!==null)return t;e=e.sibling}return null}var tt=Object.assign,v0=Symbol.for("react.element"),bl=Symbol.for("react.transitional.element"),io=Symbol.for("react.portal"),Qi=Symbol.for("react.fragment"),bh=Symbol.for("react.strict_mode"),vu=Symbol.for("react.profiler"),wh=Symbol.for("react.consumer"),er=Symbol.for("react.context"),fp=Symbol.for("react.forward_ref"),yu=Symbol.for("react.suspense"),_u=Symbol.for("react.suspense_list"),hp=Symbol.for("react.memo"),yr=Symbol.for("react.lazy"),xu=Symbol.for("react.activity"),y0=Symbol.for("react.memo_cache_sentinel"),Qm=Symbol.iterator;function In(e){return e===null||typeof e!="object"?null:(e=Qm&&e[Qm]||e["@@iterator"],typeof e=="function"?e:null)}var _0=Symbol.for("react.client.reference");function ku(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===_0?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qi:return"Fragment";case vu:return"Profiler";case bh:return"StrictMode";case yu:return"Suspense";case _u:return"SuspenseList";case xu:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case io:return"Portal";case er:return e.displayName||"Context";case wh:return(e._context.displayName||"Context")+".Consumer";case fp:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case hp:return t=e.displayName||null,t!==null?t:ku(e.type)||"Memo";case yr:t=e._payload,e=e._init;try{return ku(e(t))}catch{}}return null}var no=Array.isArray,le=dh.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Oe=b0.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ri={pending:!1,data:null,method:null,action:null},Nu=[],Gi=-1;function ja(e){return{current:e}}function Ct(e){0>Gi||(e.current=Nu[Gi],Nu[Gi]=null,Gi--)}function Ie(e,t){Gi++,Nu[Gi]=e.current,e.current=t}var Ha=ja(null),ko=ja(null),zr=ja(null),Jl=ja(null);function Il(e,t){switch(Ie(zr,t),Ie(ko,e),Ie(Ha,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Pf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Pf(t),e=Lb(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Ct(Ha),Ie(Ha,e)}function ln(){Ct(Ha),Ct(ko),Ct(zr)}function Su(e){e.memoizedState!==null&&Ie(Jl,e);var t=Ha.current,a=Lb(t,e.type);t!==a&&(Ie(ko,e),Ie(Ha,a))}function Fl(e){ko.current===e&&(Ct(Ha),Ct(ko)),Jl.current===e&&(Ct(Jl),Uo._currentValue=ri)}var jc,Gm;function Wr(e){if(jc===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);jc=t&&t[1]||"",Gm=-1<a.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+jc+e+Gm}var Qc=!1;function Gc(e,t){if(!e||Qc)return"";Qc=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var h=function(){throw Error()};if(Object.defineProperty(h.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(h,[])}catch(b){var m=b}Reflect.construct(e,[],h)}else{try{h.call()}catch(b){m=b}e.call(h.prototype)}}else{try{throw Error()}catch(b){m=b}(h=e())&&typeof h.catch=="function"&&h.catch(function(){})}}catch(b){if(b&&m&&typeof b.stack=="string")return[b.stack,m.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 n=r.DetermineComponentFrameRoot(),o=n[0],l=n[1];if(o&&l){var c=o.split(`
3
+ `+jc+e+Gm}var Qc=!1;function Gc(e,t){if(!e||Qc)return"";Qc=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var g=function(){throw Error()};if(Object.defineProperty(g.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(g,[])}catch(b){var m=b}Reflect.construct(e,[],g)}else{try{g.call()}catch(b){m=b}e.call(g.prototype)}}else{try{throw Error()}catch(b){m=b}(g=e())&&typeof g.catch=="function"&&g.catch(function(){})}}catch(b){if(b&&m&&typeof b.stack=="string")return[b.stack,m.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 n=r.DetermineComponentFrameRoot(),o=n[0],l=n[1];if(o&&l){var c=o.split(`
4
4
  `),p=l.split(`
5
5
  `);for(i=r=0;r<c.length&&!c[r].includes("DetermineComponentFrameRoot");)r++;for(;i<p.length&&!p[i].includes("DetermineComponentFrameRoot");)i++;if(r===c.length||i===p.length)for(r=c.length-1,i=p.length-1;1<=r&&0<=i&&c[r]!==p[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==p[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==p[i]){var d=`
6
6
  `+c[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=i);break}}}finally{Qc=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Wr(a):""}function x0(e,t){switch(e.tag){case 26:case 27:case 5:return Wr(e.type);case 16:return Wr("Lazy");case 13:return e.child!==t&&t!==null?Wr("Suspense Fallback"):Wr("Suspense");case 19:return Wr("SuspenseList");case 0:case 15:return Gc(e.type,!1);case 11:return Gc(e.type.render,!1);case 1:return Gc(e.type,!0);case 31:return Wr("Activity");default:return""}}function Ym(e){try{var t="",a=null;do t+=x0(e,a),a=e,e=e.return;while(e);return t}catch(r){return`
7
7
  Error generating stack: `+r.message+`
8
- `+r.stack}}var Cu=Object.prototype.hasOwnProperty,hp=_t.unstable_scheduleCallback,Yc=_t.unstable_cancelCallback,k0=_t.unstable_shouldYield,N0=_t.unstable_requestPaint,na=_t.unstable_now,S0=_t.unstable_getCurrentPriorityLevel,wg=_t.unstable_ImmediatePriority,yg=_t.unstable_UserBlockingPriority,Wl=_t.unstable_NormalPriority,C0=_t.unstable_LowPriority,_g=_t.unstable_IdlePriority,q0=_t.log,E0=_t.unstable_setDisableYieldValue,Lo=null,oa=null;function Cr(e){if(typeof q0=="function"&&E0(e),oa&&typeof oa.setStrictMode=="function")try{oa.setStrictMode(Lo,e)}catch{}}var la=Math.clz32?Math.clz32:z0,M0=Math.log,T0=Math.LN2;function z0(e){return e>>>=0,e===0?32:31-(M0(e)/T0|0)|0}var vl=256,wl=262144,yl=4194304;function ei(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 Ss(e,t,a){var r=e.pendingLanes;if(r===0)return 0;var i=0,n=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~n,r!==0?i=ei(r):(o&=l,o!==0?i=ei(o):a||(a=l&~e,a!==0&&(i=ei(a))))):(l=r&~n,l!==0?i=ei(l):o!==0?i=ei(o):a||(a=r&~e,a!==0&&(i=ei(a)))),i===0?0:t!==0&&t!==i&&(t&n)===0&&(n=i&-i,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:i}function Ho(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function A0(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 xg(){var e=yl;return yl<<=1,(yl&62914560)===0&&(yl=4194304),e}function Xc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function jo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function R0(e,t,a,r,i,n){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var l=e.entanglements,c=e.expirationTimes,p=e.hiddenUpdates;for(a=o&~a;0<a;){var d=31-la(a),h=1<<d;l[d]=0,c[d]=-1;var m=p[d];if(m!==null)for(p[d]=null,d=0;d<m.length;d++){var b=m[d];b!==null&&(b.lane&=-536870913)}a&=~h}r!==0&&kg(e,r,0),n!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=n&~(o&~t))}function kg(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-la(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|a&261930}function Ng(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-la(a),i=1<<r;i&t|e[r]&t&&(e[r]|=t),a&=~i}}function Sg(e,t){var a=t&-t;return a=(a&42)!==0?1:bp(a),(a&(e.suspendedLanes|t))!==0?0:a}function bp(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 vp(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Cg(){var e=Oe.p;return e!==0?e:(e=window.event,e===void 0?32:Pb(e.type))}function Xm(e,t){var a=Oe.p;try{return Oe.p=e,t()}finally{Oe.p=a}}var Xr=Math.random().toString(36).slice(2),Tt="__reactFiber$"+Xr,Pt="__reactProps$"+Xr,vn="__reactContainer$"+Xr,qu="__reactEvents$"+Xr,U0="__reactListeners$"+Xr,D0="__reactHandles$"+Xr,Vm="__reactResources$"+Xr,Qo="__reactMarker$"+Xr;function wp(e){delete e[Tt],delete e[Pt],delete e[qu],delete e[U0],delete e[D0]}function Yi(e){var t=e[Tt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[vn]||a[Tt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=eg(e);e!==null;){if(a=e[Tt])return a;e=eg(e)}return t}e=a,a=e.parentNode}return null}function wn(e){if(e=e[Tt]||e[vn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function oo(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(B(33))}function Wi(e){var t=e[Vm];return t||(t=e[Vm]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function St(e){e[Qo]=!0}var qg=new Set,Eg={};function mi(e,t){sn(e,t),sn(e+"Capture",t)}function sn(e,t){for(Eg[e]=t,e=0;e<t.length;e++)qg.add(t[e])}var O0=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]*$"),$m={},Zm={};function B0(e){return Cu.call(Zm,e)?!0:Cu.call($m,e)?!1:O0.test(e)?Zm[e]=!0:($m[e]=!0,!1)}function Dl(e,t,a){if(B0(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){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,""+a)}}function _l(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function Za(e,t,a,r){if(r===null)e.removeAttribute(a);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+r)}}function fa(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function L0(e,t,a){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){a=""+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Eu(e){if(!e._valueTracker){var t=Mg(e)?"checked":"value";e._valueTracker=L0(e,t,""+e[t])}}function Tg(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=Mg(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function es(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var H0=/[\n"\\]/g;function ba(e){return e.replace(H0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Mu(e,t,a,r,i,n,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+fa(t)):e.value!==""+fa(t)&&(e.value=""+fa(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Tu(e,o,fa(t)):a!=null?Tu(e,o,fa(a)):r!=null&&e.removeAttribute("value"),i==null&&n!=null&&(e.defaultChecked=!!n),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+fa(l):e.removeAttribute("name")}function zg(e,t,a,r,i,n,o,l){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(e.type=n),t!=null||a!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){Eu(e);return}a=a!=null?""+fa(a):"",t=t!=null?""+fa(t):a,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??i,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),Eu(e)}function Tu(e,t,a){t==="number"&&es(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function en(e,t,a,r){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&r&&(e[a].defaultSelected=!0)}else{for(a=""+fa(a),t=null,i=0;i<e.length;i++){if(e[i].value===a){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Ag(e,t,a){if(t!=null&&(t=""+fa(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+fa(a):""}function Rg(e,t,a,r){if(t==null){if(r!=null){if(a!=null)throw Error(B(92));if(no(r)){if(1<r.length)throw Error(B(93));r=r[0]}a=r}a==null&&(a=""),t=a}a=fa(t),e.defaultValue=a,r=e.textContent,r===a&&r!==""&&r!==null&&(e.value=r),Eu(e)}function cn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var j0=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 Km(e,t,a){var r=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,a):typeof a!="number"||a===0||j0.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Ug(e,t,a){if(t!=null&&typeof t!="object")throw Error(B(62));if(e=e.style,a!=null){for(var r in a)!a.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)&&a[i]!==r&&Km(e,i,r)}else for(var n in t)t.hasOwnProperty(n)&&Km(e,n,t[n])}function yp(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 Q0=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"]]),G0=/^[\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 Ol(e){return G0.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function tr(){}var zu=null;function _p(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Xi=null,tn=null;function Pm(e){var t=wn(e);if(t&&(e=t.stateNode)){var a=e[Pt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Mu(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+ba(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var i=r[Pt]||null;if(!i)throw Error(B(90));Mu(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<a.length;t++)r=a[t],r.form===e.form&&Tg(r)}break e;case"textarea":Ag(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&en(e,!!a.multiple,t,!1)}}}var Vc=!1;function Dg(e,t,a){if(Vc)return e(t,a);Vc=!0;try{var r=e(t);return r}finally{if(Vc=!1,(Xi!==null||tn!==null)&&(Bs(),Xi&&(t=Xi,e=tn,tn=Xi=null,Pm(t),e)))for(t=0;t<e.length;t++)Pm(e[t])}}function No(e,t){var a=e.stateNode;if(a===null)return null;var r=a[Pt]||null;if(r===null)return null;a=r[t];e: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 e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(B(231,t,typeof a));return a}var or=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Au=!1;if(or)try{Oi={},Object.defineProperty(Oi,"passive",{get:function(){Au=!0}}),window.addEventListener("test",Oi,Oi),window.removeEventListener("test",Oi,Oi)}catch{Au=!1}var Oi,qr=null,xp=null,Bl=null;function Og(){if(Bl)return Bl;var e,t=xp,a=t.length,r,i="value"in qr?qr.value:qr.textContent,n=i.length;for(e=0;e<a&&t[e]===i[e];e++);var o=a-e;for(r=1;r<=o&&t[a-r]===i[n-r];r++);return Bl=i.slice(e,1<r?1-r:void 0)}function Ll(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 xl(){return!0}function Jm(){return!1}function Jt(e){function t(a,r,i,n,o){this._reactName=a,this._targetInst=i,this.type=r,this.nativeEvent=n,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(a=e[l],this[l]=a?a(n):n[l]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?xl:Jm,this.isPropagationStopped=Jm,this}return tt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=xl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=xl)},persist:function(){},isPersistent:xl}),t}var fi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Cs=Jt(fi),Go=tt({},fi,{view:0,detail:0}),Y0=Jt(Go),$c,Zc,Fn,qs=tt({},Go,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:kp,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!==Fn&&(Fn&&e.type==="mousemove"?($c=e.screenX-Fn.screenX,Zc=e.screenY-Fn.screenY):Zc=$c=0,Fn=e),$c)},movementY:function(e){return"movementY"in e?e.movementY:Zc}}),Im=Jt(qs),X0=tt({},qs,{dataTransfer:0}),V0=Jt(X0),$0=tt({},Go,{relatedTarget:0}),Kc=Jt($0),Z0=tt({},fi,{animationName:0,elapsedTime:0,pseudoElement:0}),K0=Jt(Z0),P0=tt({},fi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),J0=Jt(P0),I0=tt({},fi,{data:0}),Fm=Jt(I0),F0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},W0={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"},ey={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ty(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ey[e])?!!t[e]:!1}function kp(){return ty}var ay=tt({},Go,{key:function(e){if(e.key){var t=F0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ll(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?W0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:kp,charCode:function(e){return e.type==="keypress"?Ll(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ll(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),ry=Jt(ay),iy=tt({},qs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Wm=Jt(iy),ny=tt({},Go,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:kp}),oy=Jt(ny),ly=tt({},fi,{propertyName:0,elapsedTime:0,pseudoElement:0}),sy=Jt(ly),cy=tt({},qs,{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}),uy=Jt(cy),py=tt({},fi,{newState:0,oldState:0}),dy=Jt(py),my=[9,13,27,32],Np=or&&"CompositionEvent"in window,co=null;or&&"documentMode"in document&&(co=document.documentMode);var fy=or&&"TextEvent"in window&&!co,Bg=or&&(!Np||co&&8<co&&11>=co),ef=" ",tf=!1;function Lg(e,t){switch(e){case"keyup":return my.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vi=!1;function gy(e,t){switch(e){case"compositionend":return Hg(t);case"keypress":return t.which!==32?null:(tf=!0,ef);case"textInput":return e=t.data,e===ef&&tf?null:e;default:return null}}function hy(e,t){if(Vi)return e==="compositionend"||!Np&&Lg(e,t)?(e=Og(),Bl=xp=qr=null,Vi=!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 Bg&&t.locale!=="ko"?null:t.data;default:return null}}var by={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 af(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!by[e.type]:t==="textarea"}function jg(e,t,a,r){Xi?tn?tn.push(r):tn=[r]:Xi=r,t=vs(t,"onChange"),0<t.length&&(a=new Cs("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var uo=null,So=null;function vy(e){Db(e,0)}function Es(e){var t=oo(e);if(Tg(t))return e}function rf(e,t){if(e==="change")return t}var Qg=!1;or&&(or?(Nl="oninput"in document,Nl||(Pc=document.createElement("div"),Pc.setAttribute("oninput","return;"),Nl=typeof Pc.oninput=="function"),kl=Nl):kl=!1,Qg=kl&&(!document.documentMode||9<document.documentMode));var kl,Nl,Pc;function nf(){uo&&(uo.detachEvent("onpropertychange",Gg),So=uo=null)}function Gg(e){if(e.propertyName==="value"&&Es(So)){var t=[];jg(t,So,e,_p(e)),Dg(vy,t)}}function wy(e,t,a){e==="focusin"?(nf(),uo=t,So=a,uo.attachEvent("onpropertychange",Gg)):e==="focusout"&&nf()}function yy(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Es(So)}function _y(e,t){if(e==="click")return Es(t)}function xy(e,t){if(e==="input"||e==="change")return Es(t)}function ky(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ca=typeof Object.is=="function"?Object.is:ky;function Co(e,t){if(ca(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var i=a[r];if(!Cu.call(t,i)||!ca(e[i],t[i]))return!1}return!0}function of(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function lf(e,t){var a=of(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=of(a)}}function Yg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Yg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xg(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=es(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=es(e.document)}return t}function Sp(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 Ny=or&&"documentMode"in document&&11>=document.documentMode,$i=null,Ru=null,po=null,Uu=!1;function sf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Uu||$i==null||$i!==es(r)||(r=$i,"selectionStart"in r&&Sp(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}),po&&Co(po,r)||(po=r,r=vs(Ru,"onSelect"),0<r.length&&(t=new Cs("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=$i)))}function Fr(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Zi={animationend:Fr("Animation","AnimationEnd"),animationiteration:Fr("Animation","AnimationIteration"),animationstart:Fr("Animation","AnimationStart"),transitionrun:Fr("Transition","TransitionRun"),transitionstart:Fr("Transition","TransitionStart"),transitioncancel:Fr("Transition","TransitionCancel"),transitionend:Fr("Transition","TransitionEnd")},Jc={},Vg={};or&&(Vg=document.createElement("div").style,"AnimationEvent"in window||(delete Zi.animationend.animation,delete Zi.animationiteration.animation,delete Zi.animationstart.animation),"TransitionEvent"in window||delete Zi.transitionend.transition);function gi(e){if(Jc[e])return Jc[e];if(!Zi[e])return e;var t=Zi[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Vg)return Jc[e]=t[a];return e}var $g=gi("animationend"),Zg=gi("animationiteration"),Kg=gi("animationstart"),Sy=gi("transitionrun"),Cy=gi("transitionstart"),qy=gi("transitioncancel"),Pg=gi("transitionend"),Jg=new Map,Du="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(" ");Du.push("scrollEnd");function Aa(e,t){Jg.set(e,t),mi(t,[e])}var ts=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!==null&&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)},ma=[],Ki=0,Cp=0;function Ms(){for(var e=Ki,t=Cp=Ki=0;t<e;){var a=ma[t];ma[t++]=null;var r=ma[t];ma[t++]=null;var i=ma[t];ma[t++]=null;var n=ma[t];if(ma[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}n!==0&&Ig(a,i,n)}}function Ts(e,t,a,r){ma[Ki++]=e,ma[Ki++]=t,ma[Ki++]=a,ma[Ki++]=r,Cp|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function qp(e,t,a,r){return Ts(e,t,a,r),as(e)}function hi(e,t){return Ts(e,null,null,t),as(e)}function Ig(e,t,a){e.lanes|=a;var r=e.alternate;r!==null&&(r.lanes|=a);for(var i=!1,n=e.return;n!==null;)n.childLanes|=a,r=n.alternate,r!==null&&(r.childLanes|=a),n.tag===22&&(e=n.stateNode,e===null||e._visibility&1||(i=!0)),e=n,n=n.return;return e.tag===3?(n=e.stateNode,i&&t!==null&&(i=31-la(a),e=n.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=a|536870912),n):null}function as(e){if(50<_o)throw _o=0,ap=null,Error(B(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Pi={};function Ey(e,t,a,r){this.tag=e,this.key=a,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 ra(e,t,a,r){return new Ey(e,t,a,r)}function Ep(e){return e=e.prototype,!(!e||!e.isReactComponent)}function rr(e,t){var a=e.alternate;return a===null?(a=ra(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Fg(e,t){e.flags&=65011714;var a=e.alternate;return a===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=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Hl(e,t,a,r,i,n){var o=0;if(r=e,typeof e=="function")Ep(e)&&(o=1);else if(typeof e=="string")o=z1(e,a,Ha.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case xu:return e=ra(31,a,t,i),e.elementType=xu,e.lanes=n,e;case Qi:return ii(a.children,i,n,t);case bg:o=8,i|=24;break;case wu:return e=ra(12,a,t,i|2),e.elementType=wu,e.lanes=n,e;case yu:return e=ra(13,a,t,i),e.elementType=yu,e.lanes=n,e;case _u:return e=ra(19,a,t,i),e.elementType=_u,e.lanes=n,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case er:o=10;break e;case vg:o=9;break e;case fp:o=11;break e;case gp:o=14;break e;case yr:o=16,r=null;break e}o=29,a=Error(B(130,e===null?"null":typeof e,"")),r=null}return t=ra(o,a,t,i),t.elementType=e,t.type=r,t.lanes=n,t}function ii(e,t,a,r){return e=ra(7,e,r,t),e.lanes=a,e}function Ic(e,t,a){return e=ra(6,e,null,t),e.lanes=a,e}function Wg(e){var t=ra(18,null,null,0);return t.stateNode=e,t}function Fc(e,t,a){return t=ra(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var cf=new WeakMap;function va(e,t){if(typeof e=="object"&&e!==null){var a=cf.get(e);return a!==void 0?a:(t={value:e,source:t,stack:Ym(t)},cf.set(e,t),t)}return{value:e,source:t,stack:Ym(t)}}var Ji=[],Ii=0,rs=null,qo=0,ga=[],ha=0,jr=null,Oa=1,Ba="";function Fa(e,t){Ji[Ii++]=qo,Ji[Ii++]=rs,rs=e,qo=t}function eh(e,t,a){ga[ha++]=Oa,ga[ha++]=Ba,ga[ha++]=jr,jr=e;var r=Oa;e=Ba;var i=32-la(r)-1;r&=~(1<<i),a+=1;var n=32-la(t)+i;if(30<n){var o=i-i%5;n=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Oa=1<<32-la(t)+i|a<<i|r,Ba=n+e}else Oa=1<<n|a<<i|r,Ba=e}function Mp(e){e.return!==null&&(Fa(e,1),eh(e,1,0))}function Tp(e){for(;e===rs;)rs=Ji[--Ii],Ji[Ii]=null,qo=Ji[--Ii],Ji[Ii]=null;for(;e===jr;)jr=ga[--ha],ga[ha]=null,Ba=ga[--ha],ga[ha]=null,Oa=ga[--ha],ga[ha]=null}function th(e,t){ga[ha++]=Oa,ga[ha++]=Ba,ga[ha++]=jr,Oa=t.id,Ba=t.overflow,jr=e}var zt=null,et=null,Te=!1,Ar=null,wa=!1,Ou=Error(B(519));function Qr(e){var t=Error(B(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Eo(va(t,e)),Ou}function uf(e){var t=e.stateNode,a=e.type,r=e.memoizedProps;switch(t[Tt]=e,t[Pt]=r,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<Ao.length;a++)Ce(Ao[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),zg(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Rg(t,r.value,r.defaultValue,r.children)}a=r.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||r.suppressHydrationWarning===!0||Bb(t.textContent,a)?(r.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),r.onScroll!=null&&Ce("scroll",t),r.onScrollEnd!=null&&Ce("scrollend",t),r.onClick!=null&&(t.onclick=tr),t=!0):t=!1,t||Qr(e,!0)}function pf(e){for(zt=e.return;zt;)switch(zt.tag){case 5:case 31:case 13:wa=!1;return;case 27:case 3:wa=!0;return;default:zt=zt.return}}function Bi(e){if(e!==zt)return!1;if(!Te)return pf(e),Te=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||lp(e.type,e.memoizedProps)),a=!a),a&&et&&Qr(e),pf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));et=Wf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));et=Wf(e)}else t===27?(t=et,Vr(e.type)?(e=pp,pp=null,et=e):et=t):et=zt?_a(e.stateNode.nextSibling):null;return!0}function si(){et=zt=null,Te=!1}function Wc(){var e=Ar;return e!==null&&(Zt===null?Zt=e:Zt.push.apply(Zt,e),Ar=null),e}function Eo(e){Ar===null?Ar=[e]:Ar.push(e)}var Bu=ja(null),bi=null,ar=null;function xr(e,t,a){Ie(Bu,t._currentValue),t._currentValue=a}function ir(e){e._currentValue=Bu.current,Ct(Bu)}function Lu(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Hu(e,t,a,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var n=i.dependencies;if(n!==null){var o=i.child;n=n.firstContext;e:for(;n!==null;){var l=n;n=i;for(var c=0;c<t.length;c++)if(l.context===t[c]){n.lanes|=a,l=n.alternate,l!==null&&(l.lanes|=a),Lu(n.return,a,e),r||(o=null);break e}n=l.next}}else if(i.tag===18){if(o=i.return,o===null)throw Error(B(341));o.lanes|=a,n=o.alternate,n!==null&&(n.lanes|=a),Lu(o,a,e),o=null}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}}function yn(e,t,a,r){e=null;for(var i=t,n=!1;i!==null;){if(!n){if((i.flags&524288)!==0)n=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var o=i.alternate;if(o===null)throw Error(B(387));if(o=o.memoizedProps,o!==null){var l=i.type;ca(i.pendingProps.value,o.value)||(e!==null?e.push(l):e=[l])}}else if(i===Jl.current){if(o=i.alternate,o===null)throw Error(B(387));o.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(Uo):e=[Uo])}i=i.return}e!==null&&Hu(t,e,a,r),t.flags|=262144}function is(e){for(e=e.firstContext;e!==null;){if(!ca(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ci(e){bi=e,ar=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function At(e){return ah(bi,e)}function Sl(e,t){return bi===null&&ci(e),ah(e,t)}function ah(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ar===null){if(e===null)throw Error(B(308));ar=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ar=ar.next=t;return a}var My=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Ty=_t.unstable_scheduleCallback,zy=_t.unstable_NormalPriority,gt={$$typeof:er,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function zp(){return{controller:new My,data:new Map,refCount:0}}function Yo(e){e.refCount--,e.refCount===0&&Ty(zy,function(){e.controller.abort()})}var mo=null,ju=0,un=0,an=null;function Ay(e,t){if(mo===null){var a=mo=[];ju=0,un=ad(),an={status:"pending",value:void 0,then:function(r){a.push(r)}}}return ju++,t.then(df,df),t}function df(){if(--ju===0&&mo!==null){an!==null&&(an.status="fulfilled");var e=mo;mo=null,un=0,an=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ry(e,t){var a=[],r={status:"pending",value:null,reason:null,then:function(i){a.push(i)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var i=0;i<a.length;i++)(0,a[i])(t)},function(i){for(r.status="rejected",r.reason=i,i=0;i<a.length;i++)(0,a[i])(void 0)}),r}var mf=le.S;le.S=function(e,t){hb=na(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Ay(e,t),mf!==null&&mf(e,t)};var ni=ja(null);function Ap(){var e=ni.current;return e!==null?e:Ke.pooledCache}function jl(e,t){t===null?Ie(ni,ni.current):Ie(ni,t.pool)}function rh(){var e=Ap();return e===null?null:{parent:gt._currentValue,pool:e}}var _n=Error(B(460)),Rp=Error(B(474)),zs=Error(B(542)),ns={then:function(){}};function ff(e){return e=e.status,e==="fulfilled"||e==="rejected"}function ih(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(tr,tr),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,hf(e),e;default:if(typeof t.status=="string")t.then(tr,tr);else{if(e=Ke,e!==null&&100<e.shellSuspendCounter)throw Error(B(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=r}},function(r){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,hf(e),e}throw oi=t,_n}}function ti(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(oi=a,_n):a}}var oi=null;function gf(){if(oi===null)throw Error(B(459));var e=oi;return oi=null,e}function hf(e){if(e===_n||e===zs)throw Error(B(483))}var rn=null,Mo=0;function Cl(e){var t=Mo;return Mo+=1,rn===null&&(rn=[]),ih(rn,e,t)}function Wn(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ql(e,t){throw t.$$typeof===w0?Error(B(525)):(e=Object.prototype.toString.call(t),Error(B(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function nh(e){function t(f,u){if(e){var v=f.deletions;v===null?(f.deletions=[u],f.flags|=16):v.push(u)}}function a(f,u){if(!e)return null;for(;u!==null;)t(f,u),u=u.sibling;return null}function r(f){for(var u=new Map;f!==null;)f.key!==null?u.set(f.key,f):u.set(f.index,f),f=f.sibling;return u}function i(f,u){return f=rr(f,u),f.index=0,f.sibling=null,f}function n(f,u,v){return f.index=v,e?(v=f.alternate,v!==null?(v=v.index,v<u?(f.flags|=67108866,u):v):(f.flags|=67108866,u)):(f.flags|=1048576,u)}function o(f){return e&&f.alternate===null&&(f.flags|=67108866),f}function l(f,u,v,w){return u===null||u.tag!==6?(u=Ic(v,f.mode,w),u.return=f,u):(u=i(u,v),u.return=f,u)}function c(f,u,v,w){var S=v.type;return S===Qi?d(f,u,v.props.children,w,v.key):u!==null&&(u.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===yr&&ti(S)===u.type)?(u=i(u,v.props),Wn(u,v),u.return=f,u):(u=Hl(v.type,v.key,v.props,null,f.mode,w),Wn(u,v),u.return=f,u)}function p(f,u,v,w){return u===null||u.tag!==4||u.stateNode.containerInfo!==v.containerInfo||u.stateNode.implementation!==v.implementation?(u=Fc(v,f.mode,w),u.return=f,u):(u=i(u,v.children||[]),u.return=f,u)}function d(f,u,v,w,S){return u===null||u.tag!==7?(u=ii(v,f.mode,w,S),u.return=f,u):(u=i(u,v),u.return=f,u)}function h(f,u,v){if(typeof u=="string"&&u!==""||typeof u=="number"||typeof u=="bigint")return u=Ic(""+u,f.mode,v),u.return=f,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case bl:return v=Hl(u.type,u.key,u.props,null,f.mode,v),Wn(v,u),v.return=f,v;case io:return u=Fc(u,f.mode,v),u.return=f,u;case yr:return u=ti(u),h(f,u,v)}if(no(u)||In(u))return u=ii(u,f.mode,v,null),u.return=f,u;if(typeof u.then=="function")return h(f,Cl(u),v);if(u.$$typeof===er)return h(f,Sl(f,u),v);ql(f,u)}return null}function m(f,u,v,w){var S=u!==null?u.key:null;if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return S!==null?null:l(f,u,""+v,w);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case bl:return v.key===S?c(f,u,v,w):null;case io:return v.key===S?p(f,u,v,w):null;case yr:return v=ti(v),m(f,u,v,w)}if(no(v)||In(v))return S!==null?null:d(f,u,v,w,null);if(typeof v.then=="function")return m(f,u,Cl(v),w);if(v.$$typeof===er)return m(f,u,Sl(f,v),w);ql(f,v)}return null}function b(f,u,v,w,S){if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return f=f.get(v)||null,l(u,f,""+w,S);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case bl:return f=f.get(w.key===null?v:w.key)||null,c(u,f,w,S);case io:return f=f.get(w.key===null?v:w.key)||null,p(u,f,w,S);case yr:return w=ti(w),b(f,u,v,w,S)}if(no(w)||In(w))return f=f.get(v)||null,d(u,f,w,S,null);if(typeof w.then=="function")return b(f,u,v,Cl(w),S);if(w.$$typeof===er)return b(f,u,v,Sl(u,w),S);ql(u,w)}return null}function y(f,u,v,w){for(var S=null,R=null,z=u,A=u=0,Q=null;z!==null&&A<v.length;A++){z.index>A?(Q=z,z=null):Q=z.sibling;var K=m(f,z,v[A],w);if(K===null){z===null&&(z=Q);break}e&&z&&K.alternate===null&&t(f,z),u=n(K,u,A),R===null?S=K:R.sibling=K,R=K,z=Q}if(A===v.length)return a(f,z),Te&&Fa(f,A),S;if(z===null){for(;A<v.length;A++)z=h(f,v[A],w),z!==null&&(u=n(z,u,A),R===null?S=z:R.sibling=z,R=z);return Te&&Fa(f,A),S}for(z=r(z);A<v.length;A++)Q=b(z,f,A,v[A],w),Q!==null&&(e&&Q.alternate!==null&&z.delete(Q.key===null?A:Q.key),u=n(Q,u,A),R===null?S=Q:R.sibling=Q,R=Q);return e&&z.forEach(function(fe){return t(f,fe)}),Te&&Fa(f,A),S}function T(f,u,v,w){if(v==null)throw Error(B(151));for(var S=null,R=null,z=u,A=u=0,Q=null,K=v.next();z!==null&&!K.done;A++,K=v.next()){z.index>A?(Q=z,z=null):Q=z.sibling;var fe=m(f,z,K.value,w);if(fe===null){z===null&&(z=Q);break}e&&z&&fe.alternate===null&&t(f,z),u=n(fe,u,A),R===null?S=fe:R.sibling=fe,R=fe,z=Q}if(K.done)return a(f,z),Te&&Fa(f,A),S;if(z===null){for(;!K.done;A++,K=v.next())K=h(f,K.value,w),K!==null&&(u=n(K,u,A),R===null?S=K:R.sibling=K,R=K);return Te&&Fa(f,A),S}for(z=r(z);!K.done;A++,K=v.next())K=b(z,f,A,K.value,w),K!==null&&(e&&K.alternate!==null&&z.delete(K.key===null?A:K.key),u=n(K,u,A),R===null?S=K:R.sibling=K,R=K);return e&&z.forEach(function(Ue){return t(f,Ue)}),Te&&Fa(f,A),S}function D(f,u,v,w){if(typeof v=="object"&&v!==null&&v.type===Qi&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case bl:e:{for(var S=v.key;u!==null;){if(u.key===S){if(S=v.type,S===Qi){if(u.tag===7){a(f,u.sibling),w=i(u,v.props.children),w.return=f,f=w;break e}}else if(u.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===yr&&ti(S)===u.type){a(f,u.sibling),w=i(u,v.props),Wn(w,v),w.return=f,f=w;break e}a(f,u);break}else t(f,u);u=u.sibling}v.type===Qi?(w=ii(v.props.children,f.mode,w,v.key),w.return=f,f=w):(w=Hl(v.type,v.key,v.props,null,f.mode,w),Wn(w,v),w.return=f,f=w)}return o(f);case io:e:{for(S=v.key;u!==null;){if(u.key===S)if(u.tag===4&&u.stateNode.containerInfo===v.containerInfo&&u.stateNode.implementation===v.implementation){a(f,u.sibling),w=i(u,v.children||[]),w.return=f,f=w;break e}else{a(f,u);break}else t(f,u);u=u.sibling}w=Fc(v,f.mode,w),w.return=f,f=w}return o(f);case yr:return v=ti(v),D(f,u,v,w)}if(no(v))return y(f,u,v,w);if(In(v)){if(S=In(v),typeof S!="function")throw Error(B(150));return v=S.call(v),T(f,u,v,w)}if(typeof v.then=="function")return D(f,u,Cl(v),w);if(v.$$typeof===er)return D(f,u,Sl(f,v),w);ql(f,v)}return typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint"?(v=""+v,u!==null&&u.tag===6?(a(f,u.sibling),w=i(u,v),w.return=f,f=w):(a(f,u),w=Ic(v,f.mode,w),w.return=f,f=w),o(f)):a(f,u)}return function(f,u,v,w){try{Mo=0;var S=D(f,u,v,w);return rn=null,S}catch(z){if(z===_n||z===zs)throw z;var R=ra(29,z,null,f.mode);return R.lanes=w,R.return=f,R}}}var ui=nh(!0),oh=nh(!1),_r=!1;function Up(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Qu(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 Rr(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ur(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(De&2)!==0){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=as(e),Ig(e,null,a),t}return Ts(e,r,t,a),as(e)}function fo(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Ng(e,a)}}function eu(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var i=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};n===null?i=n=o:n=n.next=o,a=a.next}while(a!==null);n===null?i=n=t:n=n.next=t}else i=n=t;a={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:n,shared:r.shared,callbacks:r.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Gu=!1;function go(){if(Gu){var e=an;if(e!==null)throw e}}function ho(e,t,a,r){Gu=!1;var i=e.updateQueue;_r=!1;var n=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,p=c.next;c.next=null,o===null?n=p:o.next=p,o=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=p:l.next=p,d.lastBaseUpdate=c))}if(n!==null){var h=i.baseState;o=0,d=p=c=null,l=n;do{var m=l.lane&-536870913,b=m!==l.lane;if(b?(Me&m)===m:(r&m)===m){m!==0&&m===un&&(Gu=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var y=e,T=l;m=t;var D=a;switch(T.tag){case 1:if(y=T.payload,typeof y=="function"){h=y.call(D,h,m);break e}h=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=T.payload,m=typeof y=="function"?y.call(D,h,m):y,m==null)break e;h=tt({},h,m);break e;case 2:_r=!0}}m=l.callback,m!==null&&(e.flags|=64,b&&(e.flags|=8192),b=i.callbacks,b===null?i.callbacks=[m]:b.push(m))}else b={lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(p=d=b,c=h):d=d.next=b,o|=m;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;b=l,l=b.next,b.next=null,i.lastBaseUpdate=b,i.shared.pending=null}}while(!0);d===null&&(c=h),i.baseState=c,i.firstBaseUpdate=p,i.lastBaseUpdate=d,n===null&&(i.shared.lanes=0),Yr|=o,e.lanes=o,e.memoizedState=h}}function lh(e,t){if(typeof e!="function")throw Error(B(191,e));e.call(t)}function sh(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)lh(a[e],t)}var pn=ja(null),os=ja(0);function bf(e,t){e=ur,Ie(os,e),Ie(pn,t),ur=e|t.baseLanes}function Yu(){Ie(os,ur),Ie(pn,pn.current)}function Dp(){ur=os.current,Ct(pn),Ct(os)}var ua=ja(null),ya=null;function kr(e){var t=e.alternate;Ie(ct,ct.current&1),Ie(ua,e),ya===null&&(t===null||pn.current!==null||t.memoizedState!==null)&&(ya=e)}function Xu(e){Ie(ct,ct.current),Ie(ua,e),ya===null&&(ya=e)}function ch(e){e.tag===22?(Ie(ct,ct.current),Ie(ua,e),ya===null&&(ya=e)):Nr(e)}function Nr(){Ie(ct,ct.current),Ie(ua,ua.current)}function aa(e){Ct(ua),ya===e&&(ya=null),Ct(ct)}var ct=ja(0);function ls(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||cp(a)||up(a)))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)!==0)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 lr=0,ge=null,$e=null,mt=null,ss=!1,nn=!1,pi=!1,cs=0,To=0,on=null,Uy=0;function nt(){throw Error(B(321))}function Op(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!ca(e[a],t[a]))return!1;return!0}function Bp(e,t,a,r,i,n){return lr=n,ge=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,le.H=e===null||e.memoizedState===null?jh:Kp,pi=!1,n=a(r,i),pi=!1,nn&&(n=ph(t,a,r,i)),uh(e),n}function uh(e){le.H=zo;var t=$e!==null&&$e.next!==null;if(lr=0,mt=$e=ge=null,ss=!1,To=0,on=null,t)throw Error(B(300));e===null||ht||(e=e.dependencies,e!==null&&is(e)&&(ht=!0))}function ph(e,t,a,r){ge=e;var i=0;do{if(nn&&(on=null),To=0,nn=!1,25<=i)throw Error(B(301));if(i+=1,mt=$e=null,e.updateQueue!=null){var n=e.updateQueue;n.lastEffect=null,n.events=null,n.stores=null,n.memoCache!=null&&(n.memoCache.index=0)}le.H=Qh,n=t(a,r)}while(nn);return n}function Dy(){var e=le.H,t=e.useState()[0];return t=typeof t.then=="function"?Xo(t):t,e=e.useState()[0],($e!==null?$e.memoizedState:null)!==e&&(ge.flags|=1024),t}function Lp(){var e=cs!==0;return cs=0,e}function Hp(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function jp(e){if(ss){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ss=!1}lr=0,mt=$e=ge=null,nn=!1,To=cs=0,on=null}function Ht(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return mt===null?ge.memoizedState=mt=e:mt=mt.next=e,mt}function ut(){if($e===null){var e=ge.alternate;e=e!==null?e.memoizedState:null}else e=$e.next;var t=mt===null?ge.memoizedState:mt.next;if(t!==null)mt=t,$e=e;else{if(e===null)throw ge.alternate===null?Error(B(467)):Error(B(310));$e=e,e={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},mt===null?ge.memoizedState=mt=e:mt=mt.next=e}return mt}function As(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xo(e){var t=To;return To+=1,on===null&&(on=[]),e=ih(on,e,t),t=ge,(mt===null?t.memoizedState:mt.next)===null&&(t=t.alternate,le.H=t===null||t.memoizedState===null?jh:Kp),e}function Rs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xo(e);if(e.$$typeof===er)return At(e)}throw Error(B(438,String(e)))}function Qp(e){var t=null,a=ge.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var r=ge.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=As(),ge.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),r=0;r<e;r++)a[r]=y0;return t.index++,a}function sr(e,t){return typeof t=="function"?t(e):t}function Ql(e){var t=ut();return Gp(t,$e,e)}function Gp(e,t,a){var r=e.queue;if(r===null)throw Error(B(311));r.lastRenderedReducer=a;var i=e.baseQueue,n=r.pending;if(n!==null){if(i!==null){var o=i.next;i.next=n.next,n.next=o}t.baseQueue=i=n,r.pending=null}if(n=e.baseState,i===null)e.memoizedState=n;else{t=i.next;var l=o=null,c=null,p=t,d=!1;do{var h=p.lane&-536870913;if(h!==p.lane?(Me&h)===h:(lr&h)===h){var m=p.revertLane;if(m===0)c!==null&&(c=c.next={lane:0,revertLane:0,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),h===un&&(d=!0);else if((lr&m)===m){p=p.next,m===un&&(d=!0);continue}else h={lane:0,revertLane:p.revertLane,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=h,o=n):c=c.next=h,ge.lanes|=m,Yr|=m;h=p.action,pi&&a(n,h),n=p.hasEagerState?p.eagerState:a(n,h)}else m={lane:h,revertLane:p.revertLane,gesture:p.gesture,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=m,o=n):c=c.next=m,ge.lanes|=h,Yr|=h;p=p.next}while(p!==null&&p!==t);if(c===null?o=n:c.next=l,!ca(n,e.memoizedState)&&(ht=!0,d&&(a=an,a!==null)))throw a;e.memoizedState=n,e.baseState=o,e.baseQueue=c,r.lastRenderedState=n}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function tu(e){var t=ut(),a=t.queue;if(a===null)throw Error(B(311));a.lastRenderedReducer=e;var r=a.dispatch,i=a.pending,n=t.memoizedState;if(i!==null){a.pending=null;var o=i=i.next;do n=e(n,o.action),o=o.next;while(o!==i);ca(n,t.memoizedState)||(ht=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function dh(e,t,a){var r=ge,i=ut(),n=Te;if(n){if(a===void 0)throw Error(B(407));a=a()}else a=t();var o=!ca(($e||i).memoizedState,a);if(o&&(i.memoizedState=a,ht=!0),i=i.queue,Yp(gh.bind(null,r,i,e),[e]),i.getSnapshot!==t||o||mt!==null&&mt.memoizedState.tag&1){if(r.flags|=2048,dn(9,{destroy:void 0},fh.bind(null,r,i,a,t),null),Ke===null)throw Error(B(349));n||(lr&127)!==0||mh(r,t,a)}return a}function mh(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ge.updateQueue,t===null?(t=As(),ge.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function fh(e,t,a,r){t.value=a,t.getSnapshot=r,hh(t)&&bh(e)}function gh(e,t,a){return a(function(){hh(t)&&bh(e)})}function hh(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!ca(e,a)}catch{return!0}}function bh(e){var t=hi(e,2);t!==null&&Kt(t,e,2)}function Vu(e){var t=Ht();if(typeof e=="function"){var a=e;if(e=a(),pi){Cr(!0);try{a()}finally{Cr(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:e},t}function vh(e,t,a,r){return e.baseState=a,Gp(e,$e,typeof r=="function"?r:sr)}function Oy(e,t,a,r,i){if(Ds(e))throw Error(B(485));if(e=t.action,e!==null){var n={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(o){n.listeners.push(o)}};le.T!==null?a(!0):n.isTransition=!1,r(n),a=t.pending,a===null?(n.next=t.pending=n,wh(t,n)):(n.next=a.next,t.pending=a.next=n)}}function wh(e,t){var a=t.action,r=t.payload,i=e.state;if(t.isTransition){var n=le.T,o={};le.T=o;try{var l=a(i,r),c=le.S;c!==null&&c(o,l),vf(e,t,l)}catch(p){$u(e,t,p)}finally{n!==null&&o.types!==null&&(n.types=o.types),le.T=n}}else try{n=a(i,r),vf(e,t,n)}catch(p){$u(e,t,p)}}function vf(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(r){wf(e,t,r)},function(r){return $u(e,t,r)}):wf(e,t,a)}function wf(e,t,a){t.status="fulfilled",t.value=a,yh(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,wh(e,a)))}function $u(e,t,a){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=a,yh(t),t=t.next;while(t!==r)}e.action=null}function yh(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function _h(e,t){return t}function yf(e,t){if(Te){var a=Ke.formState;if(a!==null){e:{var r=ge;if(Te){if(et){t:{for(var i=et,n=wa;i.nodeType!==8;){if(!n){i=null;break t}if(i=_a(i.nextSibling),i===null){i=null;break t}}n=i.data,i=n==="F!"||n==="F"?i:null}if(i){et=_a(i.nextSibling),r=i.data==="F!";break e}}Qr(r)}r=!1}r&&(t=a[0])}}return a=Ht(),a.memoizedState=a.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_h,lastRenderedState:t},a.queue=r,a=Bh.bind(null,ge,r),r.dispatch=a,r=Vu(!1),n=Zp.bind(null,ge,!1,r.queue),r=Ht(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,a=Oy.bind(null,ge,i,n,a),i.dispatch=a,r.memoizedState=e,[t,a,!1]}function _f(e){var t=ut();return xh(t,$e,e)}function xh(e,t,a){if(t=Gp(e,t,_h)[0],e=Ql(sr)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Xo(t)}catch(o){throw o===_n?zs:o}else r=t;t=ut();var i=t.queue,n=i.dispatch;return a!==t.memoizedState&&(ge.flags|=2048,dn(9,{destroy:void 0},By.bind(null,i,a),null)),[r,n,e]}function By(e,t){e.action=t}function xf(e){var t=ut(),a=$e;if(a!==null)return xh(t,a,e);ut(),t=t.memoizedState,a=ut();var r=a.queue.dispatch;return a.memoizedState=e,[t,r,!1]}function dn(e,t,a,r){return e={tag:e,create:a,deps:r,inst:t,next:null},t=ge.updateQueue,t===null&&(t=As(),ge.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e),e}function kh(){return ut().memoizedState}function Gl(e,t,a,r){var i=Ht();ge.flags|=e,i.memoizedState=dn(1|t,{destroy:void 0},a,r===void 0?null:r)}function Us(e,t,a,r){var i=ut();r=r===void 0?null:r;var n=i.memoizedState.inst;$e!==null&&r!==null&&Op(r,$e.memoizedState.deps)?i.memoizedState=dn(t,n,a,r):(ge.flags|=e,i.memoizedState=dn(1|t,n,a,r))}function kf(e,t){Gl(8390656,8,e,t)}function Yp(e,t){Us(2048,8,e,t)}function Ly(e){ge.flags|=4;var t=ge.updateQueue;if(t===null)t=As(),ge.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Nh(e){var t=ut().memoizedState;return Ly({ref:t,nextImpl:e}),function(){if((De&2)!==0)throw Error(B(440));return t.impl.apply(void 0,arguments)}}function Sh(e,t){return Us(4,2,e,t)}function Ch(e,t){return Us(4,4,e,t)}function qh(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Eh(e,t,a){a=a!=null?a.concat([e]):null,Us(4,4,qh.bind(null,t,e),a)}function Xp(){}function Mh(e,t){var a=ut();t=t===void 0?null:t;var r=a.memoizedState;return t!==null&&Op(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function Th(e,t){var a=ut();t=t===void 0?null:t;var r=a.memoizedState;if(t!==null&&Op(t,r[1]))return r[0];if(r=e(),pi){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r}function Vp(e,t,a){return a===void 0||(lr&1073741824)!==0&&(Me&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=vb(),ge.lanes|=e,Yr|=e,a)}function zh(e,t,a,r){return ca(a,t)?a:pn.current!==null?(e=Vp(e,a,r),ca(e,t)||(ht=!0),e):(lr&42)===0||(lr&1073741824)!==0&&(Me&261930)===0?(ht=!0,e.memoizedState=a):(e=vb(),ge.lanes|=e,Yr|=e,t)}function Ah(e,t,a,r,i){var n=Oe.p;Oe.p=n!==0&&8>n?n:8;var o=le.T,l={};le.T=l,Zp(e,!1,t,a);try{var c=i(),p=le.S;if(p!==null&&p(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=Ry(c,r);bo(e,t,d,sa(e))}else bo(e,t,r,sa(e))}catch(h){bo(e,t,{then:function(){},status:"rejected",reason:h},sa())}finally{Oe.p=n,o!==null&&l.types!==null&&(o.types=l.types),le.T=o}}function Hy(){}function Zu(e,t,a,r){if(e.tag!==5)throw Error(B(476));var i=Rh(e).queue;Ah(e,i,t,ri,a===null?Hy:function(){return Uh(e),a(r)})}function Rh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ri,baseState:ri,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:ri},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Uh(e){var t=Rh(e);t.next===null&&(t=e.alternate.memoizedState),bo(e,t.next.queue,{},sa())}function $p(){return At(Uo)}function Dh(){return ut().memoizedState}function Oh(){return ut().memoizedState}function jy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=sa();e=Rr(a);var r=Ur(t,e,a);r!==null&&(Kt(r,t,a),fo(r,t,a)),t={cache:zp()},e.payload=t;return}t=t.return}}function Qy(e,t,a){var r=sa();a={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ds(e)?Lh(t,a):(a=qp(e,t,a,r),a!==null&&(Kt(a,e,r),Hh(a,t,r)))}function Bh(e,t,a){var r=sa();bo(e,t,a,r)}function bo(e,t,a,r){var i={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ds(e))Lh(t,i);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,l=n(o,a);if(i.hasEagerState=!0,i.eagerState=l,ca(l,o))return Ts(e,t,i,0),Ke===null&&Ms(),!1}catch{}if(a=qp(e,t,i,r),a!==null)return Kt(a,e,r),Hh(a,t,r),!0}return!1}function Zp(e,t,a,r){if(r={lane:2,revertLane:ad(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ds(e)){if(t)throw Error(B(479))}else t=qp(e,a,r,2),t!==null&&Kt(t,e,2)}function Ds(e){var t=e.alternate;return e===ge||t!==null&&t===ge}function Lh(e,t){nn=ss=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Hh(e,t,a){if((a&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Ng(e,a)}}var zo={readContext:At,use:Rs,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useLayoutEffect:nt,useInsertionEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useSyncExternalStore:nt,useId:nt,useHostTransitionStatus:nt,useFormState:nt,useActionState:nt,useOptimistic:nt,useMemoCache:nt,useCacheRefresh:nt};zo.useEffectEvent=nt;var jh={readContext:At,use:Rs,useCallback:function(e,t){return Ht().memoizedState=[e,t===void 0?null:t],e},useContext:At,useEffect:kf,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Gl(4194308,4,qh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Gl(4194308,4,e,t)},useInsertionEffect:function(e,t){Gl(4,2,e,t)},useMemo:function(e,t){var a=Ht();t=t===void 0?null:t;var r=e();if(pi){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r},useReducer:function(e,t,a){var r=Ht();if(a!==void 0){var i=a(t);if(pi){Cr(!0);try{a(t)}finally{Cr(!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=Qy.bind(null,ge,e),[r.memoizedState,e]},useRef:function(e){var t=Ht();return e={current:e},t.memoizedState=e},useState:function(e){e=Vu(e);var t=e.queue,a=Bh.bind(null,ge,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Xp,useDeferredValue:function(e,t){var a=Ht();return Vp(a,e,t)},useTransition:function(){var e=Vu(!1);return e=Ah.bind(null,ge,e.queue,!0,!1),Ht().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var r=ge,i=Ht();if(Te){if(a===void 0)throw Error(B(407));a=a()}else{if(a=t(),Ke===null)throw Error(B(349));(Me&127)!==0||mh(r,t,a)}i.memoizedState=a;var n={value:a,getSnapshot:t};return i.queue=n,kf(gh.bind(null,r,n,e),[e]),r.flags|=2048,dn(9,{destroy:void 0},fh.bind(null,r,n,a,t),null),a},useId:function(){var e=Ht(),t=Ke.identifierPrefix;if(Te){var a=Ba,r=Oa;a=(r&~(1<<32-la(r)-1)).toString(32)+a,t="_"+t+"R_"+a,a=cs++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Uy++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:$p,useFormState:yf,useActionState:yf,useOptimistic:function(e){var t=Ht();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Zp.bind(null,ge,!0,a),a.dispatch=t,[e,t]},useMemoCache:Qp,useCacheRefresh:function(){return Ht().memoizedState=jy.bind(null,ge)},useEffectEvent:function(e){var t=Ht(),a={impl:e};return t.memoizedState=a,function(){if((De&2)!==0)throw Error(B(440));return a.impl.apply(void 0,arguments)}}},Kp={readContext:At,use:Rs,useCallback:Mh,useContext:At,useEffect:Yp,useImperativeHandle:Eh,useInsertionEffect:Sh,useLayoutEffect:Ch,useMemo:Th,useReducer:Ql,useRef:kh,useState:function(){return Ql(sr)},useDebugValue:Xp,useDeferredValue:function(e,t){var a=ut();return zh(a,$e.memoizedState,e,t)},useTransition:function(){var e=Ql(sr)[0],t=ut().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:dh,useId:Dh,useHostTransitionStatus:$p,useFormState:_f,useActionState:_f,useOptimistic:function(e,t){var a=ut();return vh(a,$e,e,t)},useMemoCache:Qp,useCacheRefresh:Oh};Kp.useEffectEvent=Nh;var Qh={readContext:At,use:Rs,useCallback:Mh,useContext:At,useEffect:Yp,useImperativeHandle:Eh,useInsertionEffect:Sh,useLayoutEffect:Ch,useMemo:Th,useReducer:tu,useRef:kh,useState:function(){return tu(sr)},useDebugValue:Xp,useDeferredValue:function(e,t){var a=ut();return $e===null?Vp(a,e,t):zh(a,$e.memoizedState,e,t)},useTransition:function(){var e=tu(sr)[0],t=ut().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:dh,useId:Dh,useHostTransitionStatus:$p,useFormState:xf,useActionState:xf,useOptimistic:function(e,t){var a=ut();return $e!==null?vh(a,$e,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Qp,useCacheRefresh:Oh};Qh.useEffectEvent=Nh;function au(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:tt({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Ku={enqueueSetState:function(e,t,a){e=e._reactInternals;var r=sa(),i=Rr(r);i.payload=t,a!=null&&(i.callback=a),t=Ur(e,i,r),t!==null&&(Kt(t,e,r),fo(t,e,r))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=sa(),i=Rr(r);i.tag=1,i.payload=t,a!=null&&(i.callback=a),t=Ur(e,i,r),t!==null&&(Kt(t,e,r),fo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=sa(),r=Rr(a);r.tag=2,t!=null&&(r.callback=t),t=Ur(e,r,a),t!==null&&(Kt(t,e,a),fo(t,e,a))}};function Nf(e,t,a,r,i,n,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,o):t.prototype&&t.prototype.isPureReactComponent?!Co(a,r)||!Co(i,n):!0}function Sf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Ku.enqueueReplaceState(t,t.state,null)}function di(e,t){var a=t;if("ref"in t){a={};for(var r in t)r!=="ref"&&(a[r]=t[r])}if(e=e.defaultProps){a===t&&(a=tt({},a));for(var i in e)a[i]===void 0&&(a[i]=e[i])}return a}function Gh(e){ts(e)}function Yh(e){console.error(e)}function Xh(e){ts(e)}function us(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function Cf(e,t,a){try{var r=e.onCaughtError;r(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function Pu(e,t,a){return a=Rr(a),a.tag=3,a.payload={element:null},a.callback=function(){us(e,t)},a}function Vh(e){return e=Rr(e),e.tag=3,e}function $h(e,t,a,r){var i=a.type.getDerivedStateFromError;if(typeof i=="function"){var n=r.value;e.payload=function(){return i(n)},e.callback=function(){Cf(t,a,r)}}var o=a.stateNode;o!==null&&typeof o.componentDidCatch=="function"&&(e.callback=function(){Cf(t,a,r),typeof i!="function"&&(Dr===null?Dr=new Set([this]):Dr.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Gy(e,t,a,r,i){if(a.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=a.alternate,t!==null&&yn(t,a,i,!0),a=ua.current,a!==null){switch(a.tag){case 31:case 13:return ya===null?gs():a.alternate===null&&ot===0&&(ot=3),a.flags&=-257,a.flags|=65536,a.lanes=i,r===ns?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([r]):t.add(r),mu(e,r,i)),!1;case 22:return a.flags|=65536,r===ns?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([r]):a.add(r)),mu(e,r,i)),!1}throw Error(B(435,a.tag))}return mu(e,r,i),gs(),!1}if(Te)return t=ua.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Ou&&(e=Error(B(422),{cause:r}),Eo(va(e,a)))):(r!==Ou&&(t=Error(B(423),{cause:r}),Eo(va(t,a))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=va(r,a),i=Pu(e.stateNode,r,i),eu(e,i),ot!==4&&(ot=2)),!1;var n=Error(B(520),{cause:r});if(n=va(n,a),yo===null?yo=[n]:yo.push(n),ot!==4&&(ot=2),t===null)return!0;r=va(r,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=i&-i,a.lanes|=e,e=Pu(a.stateNode,r,e),eu(a,e),!1;case 1:if(t=a.type,n=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||n!==null&&typeof n.componentDidCatch=="function"&&(Dr===null||!Dr.has(n))))return a.flags|=65536,i&=-i,a.lanes|=i,i=Vh(i),$h(i,e,a,r),eu(a,i),!1}a=a.return}while(a!==null);return!1}var Pp=Error(B(461)),ht=!1;function Mt(e,t,a,r){t.child=e===null?oh(t,null,a,r):ui(t,e.child,a,r)}function qf(e,t,a,r,i){a=a.render;var n=t.ref;if("ref"in r){var o={};for(var l in r)l!=="ref"&&(o[l]=r[l])}else o=r;return ci(t),r=Bp(e,t,a,o,n,i),l=Lp(),e!==null&&!ht?(Hp(e,t,i),cr(e,t,i)):(Te&&l&&Mp(t),t.flags|=1,Mt(e,t,r,i),t.child)}function Ef(e,t,a,r,i){if(e===null){var n=a.type;return typeof n=="function"&&!Ep(n)&&n.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=n,Zh(e,t,n,r,i)):(e=Hl(a.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,!Jp(e,i)){var o=n.memoizedProps;if(a=a.compare,a=a!==null?a:Co,a(o,r)&&e.ref===t.ref)return cr(e,t,i)}return t.flags|=1,e=rr(n,r),e.ref=t.ref,e.return=t,t.child=e}function Zh(e,t,a,r,i){if(e!==null){var n=e.memoizedProps;if(Co(n,r)&&e.ref===t.ref)if(ht=!1,t.pendingProps=r=n,Jp(e,i))(e.flags&131072)!==0&&(ht=!0);else return t.lanes=e.lanes,cr(e,t,i)}return Ju(e,t,a,r,i)}function Kh(e,t,a,r){var i=r.children,n=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(n=n!==null?n.baseLanes|a:a,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~n}else r=0,t.child=null;return Mf(e,t,n,a,r)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&jl(t,n!==null?n.cachePool:null),n!==null?bf(t,n):Yu(),ch(t);else return r=t.lanes=536870912,Mf(e,t,n!==null?n.baseLanes|a:a,a,r)}else n!==null?(jl(t,n.cachePool),bf(t,n),Nr(t),t.memoizedState=null):(e!==null&&jl(t,null),Yu(),Nr(t));return Mt(e,t,i,a),t.child}function lo(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Mf(e,t,a,r,i){var n=Ap();return n=n===null?null:{parent:gt._currentValue,pool:n},t.memoizedState={baseLanes:a,cachePool:n},e!==null&&jl(t,null),Yu(),ch(t),e!==null&&yn(e,t,r,!0),t.childLanes=i,null}function Yl(e,t){return t=ps({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Tf(e,t,a){return ui(t,e.child,null,a),e=Yl(t,t.pendingProps),e.flags|=2,aa(t),t.memoizedState=null,e}function Yy(e,t,a){var r=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(r.mode==="hidden")return e=Yl(t,r),t.lanes=536870912,lo(null,e);if(Xu(t),(e=et)?(e=jb(e,wa),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Oa,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Wg(e),a.return=t,t.child=a,zt=t,et=null)):e=null,e===null)throw Qr(t);return t.lanes=536870912,null}return Yl(t,r)}var n=e.memoizedState;if(n!==null){var o=n.dehydrated;if(Xu(t),i)if(t.flags&256)t.flags&=-257,t=Tf(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(B(558));else if(ht||yn(e,t,a,!1),i=(a&e.childLanes)!==0,ht||i){if(r=Ke,r!==null&&(o=Sg(r,a),o!==0&&o!==n.retryLane))throw n.retryLane=o,hi(e,o),Kt(r,e,o),Pp;gs(),t=Tf(e,t,a)}else e=n.treeContext,et=_a(o.nextSibling),zt=t,Te=!0,Ar=null,wa=!1,e!==null&&th(t,e),t=Yl(t,r),t.flags|=4096;return t}return e=rr(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Xl(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(B(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Ju(e,t,a,r,i){return ci(t),a=Bp(e,t,a,r,void 0,i),r=Lp(),e!==null&&!ht?(Hp(e,t,i),cr(e,t,i)):(Te&&r&&Mp(t),t.flags|=1,Mt(e,t,a,i),t.child)}function zf(e,t,a,r,i,n){return ci(t),t.updateQueue=null,a=ph(t,r,a,i),uh(e),r=Lp(),e!==null&&!ht?(Hp(e,t,n),cr(e,t,n)):(Te&&r&&Mp(t),t.flags|=1,Mt(e,t,a,n),t.child)}function Af(e,t,a,r,i){if(ci(t),t.stateNode===null){var n=Pi,o=a.contextType;typeof o=="object"&&o!==null&&(n=At(o)),n=new a(r,n),t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Ku,t.stateNode=n,n._reactInternals=t,n=t.stateNode,n.props=r,n.state=t.memoizedState,n.refs={},Up(t),o=a.contextType,n.context=typeof o=="object"&&o!==null?At(o):Pi,n.state=t.memoizedState,o=a.getDerivedStateFromProps,typeof o=="function"&&(au(t,a,o,r),n.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(o=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),o!==n.state&&Ku.enqueueReplaceState(n,n.state,null),ho(t,r,n,i),go(),n.state=t.memoizedState),typeof n.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){n=t.stateNode;var l=t.memoizedProps,c=di(a,l);n.props=c;var p=n.context,d=a.contextType;o=Pi,typeof d=="object"&&d!==null&&(o=At(d));var h=a.getDerivedStateFromProps;d=typeof h=="function"||typeof n.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(l||p!==o)&&Sf(t,n,r,o),_r=!1;var m=t.memoizedState;n.state=m,ho(t,r,n,i),go(),p=t.memoizedState,l||m!==p||_r?(typeof h=="function"&&(au(t,a,h,r),p=t.memoizedState),(c=_r||Nf(t,a,c,r,m,p,o))?(d||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount()),typeof n.componentDidMount=="function"&&(t.flags|=4194308)):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=p),n.props=r,n.state=p,n.context=o,r=c):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{n=t.stateNode,Qu(e,t),o=t.memoizedProps,d=di(a,o),n.props=d,h=t.pendingProps,m=n.context,p=a.contextType,c=Pi,typeof p=="object"&&p!==null&&(c=At(p)),l=a.getDerivedStateFromProps,(p=typeof l=="function"||typeof n.getSnapshotBeforeUpdate=="function")||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(o!==h||m!==c)&&Sf(t,n,r,c),_r=!1,m=t.memoizedState,n.state=m,ho(t,r,n,i),go();var b=t.memoizedState;o!==h||m!==b||_r||e!==null&&e.dependencies!==null&&is(e.dependencies)?(typeof l=="function"&&(au(t,a,l,r),b=t.memoizedState),(d=_r||Nf(t,a,d,r,m,b,c)||e!==null&&e.dependencies!==null&&is(e.dependencies))?(p||typeof n.UNSAFE_componentWillUpdate!="function"&&typeof n.componentWillUpdate!="function"||(typeof n.componentWillUpdate=="function"&&n.componentWillUpdate(r,b,c),typeof n.UNSAFE_componentWillUpdate=="function"&&n.UNSAFE_componentWillUpdate(r,b,c)),typeof n.componentDidUpdate=="function"&&(t.flags|=4),typeof n.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof n.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=b),n.props=r,n.state=b,n.context=c,r=d):(typeof n.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return n=r,Xl(e,t),r=(t.flags&128)!==0,n||r?(n=t.stateNode,a=r&&typeof a.getDerivedStateFromError!="function"?null:n.render(),t.flags|=1,e!==null&&r?(t.child=ui(t,e.child,null,i),t.child=ui(t,null,a,i)):Mt(e,t,a,i),t.memoizedState=n.state,e=t.child):e=cr(e,t,i),e}function Rf(e,t,a,r){return si(),t.flags|=256,Mt(e,t,a,r),t.child}var ru={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function iu(e){return{baseLanes:e,cachePool:rh()}}function nu(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ia),e}function Ph(e,t,a){var r=t.pendingProps,i=!1,n=(t.flags&128)!==0,o;if((o=n)||(o=e!==null&&e.memoizedState===null?!1:(ct.current&2)!==0),o&&(i=!0,t.flags&=-129),o=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(i?kr(t):Nr(t),(e=et)?(e=jb(e,wa),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Oa,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Wg(e),a.return=t,t.child=a,zt=t,et=null)):e=null,e===null)throw Qr(t);return up(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,i?(Nr(t),i=t.mode,l=ps({mode:"hidden",children:l},i),r=ii(r,i,a,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=iu(a),r.childLanes=nu(e,o,a),t.memoizedState=ru,lo(null,r)):(kr(t),Iu(t,l))}var c=e.memoizedState;if(c!==null&&(l=c.dehydrated,l!==null)){if(n)t.flags&256?(kr(t),t.flags&=-257,t=ou(e,t,a)):t.memoizedState!==null?(Nr(t),t.child=e.child,t.flags|=128,t=null):(Nr(t),l=r.fallback,i=t.mode,r=ps({mode:"visible",children:r.children},i),l=ii(l,i,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,ui(t,e.child,null,a),r=t.child,r.memoizedState=iu(a),r.childLanes=nu(e,o,a),t.memoizedState=ru,t=lo(null,r));else if(kr(t),up(l)){if(o=l.nextSibling&&l.nextSibling.dataset,o)var p=o.dgst;o=p,r=Error(B(419)),r.stack="",r.digest=o,Eo({value:r,source:null,stack:null}),t=ou(e,t,a)}else if(ht||yn(e,t,a,!1),o=(a&e.childLanes)!==0,ht||o){if(o=Ke,o!==null&&(r=Sg(o,a),r!==0&&r!==c.retryLane))throw c.retryLane=r,hi(e,r),Kt(o,e,r),Pp;cp(l)||gs(),t=ou(e,t,a)}else cp(l)?(t.flags|=192,t.child=e.child,t=null):(e=c.treeContext,et=_a(l.nextSibling),zt=t,Te=!0,Ar=null,wa=!1,e!==null&&th(t,e),t=Iu(t,r.children),t.flags|=4096);return t}return i?(Nr(t),l=r.fallback,i=t.mode,c=e.child,p=c.sibling,r=rr(c,{mode:"hidden",children:r.children}),r.subtreeFlags=c.subtreeFlags&65011712,p!==null?l=rr(p,l):(l=ii(l,i,a,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,lo(null,r),r=t.child,l=e.child.memoizedState,l===null?l=iu(a):(i=l.cachePool,i!==null?(c=gt._currentValue,i=i.parent!==c?{parent:c,pool:c}:i):i=rh(),l={baseLanes:l.baseLanes|a,cachePool:i}),r.memoizedState=l,r.childLanes=nu(e,o,a),t.memoizedState=ru,lo(e.child,r)):(kr(t),a=e.child,e=a.sibling,a=rr(a,{mode:"visible",children:r.children}),a.return=t,a.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a)}function Iu(e,t){return t=ps({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ps(e,t){return e=ra(22,e,null,t),e.lanes=0,e}function ou(e,t,a){return ui(t,e.child,null,a),e=Iu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Uf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Lu(e.return,t,a)}function lu(e,t,a,r,i,n){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:i,treeForkCount:n}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=a,o.tailMode=i,o.treeForkCount=n)}function Jh(e,t,a){var r=t.pendingProps,i=r.revealOrder,n=r.tail;r=r.children;var o=ct.current,l=(o&2)!==0;if(l?(o=o&1|2,t.flags|=128):o&=1,Ie(ct,o),Mt(e,t,r,a),r=Te?qo:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Uf(e,a,t);else if(e.tag===19)Uf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case"forwards":for(a=t.child,i=null;a!==null;)e=a.alternate,e!==null&&ls(e)===null&&(i=a),a=a.sibling;a=i,a===null?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),lu(t,!1,i,a,n,r);break;case"backwards":case"unstable_legacy-backwards":for(a=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ls(e)===null){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}lu(t,!0,a,null,n,r);break;case"together":lu(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function cr(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(yn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(B(153));if(t.child!==null){for(e=t.child,a=rr(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=rr(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Jp(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&is(e)))}function Xy(e,t,a){switch(t.tag){case 3:Il(t,t.stateNode.containerInfo),xr(t,gt,e.memoizedState.cache),si();break;case 27:case 5:Su(t);break;case 4:Il(t,t.stateNode.containerInfo);break;case 10:xr(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Xu(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(kr(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Ph(e,t,a):(kr(t),e=cr(e,t,a),e!==null?e.sibling:null);kr(t);break;case 19:var i=(e.flags&128)!==0;if(r=(a&t.childLanes)!==0,r||(yn(e,t,a,!1),r=(a&t.childLanes)!==0),i){if(r)return Jh(e,t,a);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ie(ct,ct.current),r)break;return null;case 22:return t.lanes=0,Kh(e,t,a,t.pendingProps);case 24:xr(t,gt,e.memoizedState.cache)}return cr(e,t,a)}function Ih(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)ht=!0;else{if(!Jp(e,a)&&(t.flags&128)===0)return ht=!1,Xy(e,t,a);ht=(e.flags&131072)!==0}else ht=!1,Te&&(t.flags&1048576)!==0&&eh(t,qo,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=ti(t.elementType),t.type=e,typeof e=="function")Ep(e)?(r=di(e,r),t.tag=1,t=Af(null,t,e,r,a)):(t.tag=0,t=Ju(null,t,e,r,a));else{if(e!=null){var i=e.$$typeof;if(i===fp){t.tag=11,t=qf(null,t,e,r,a);break e}else if(i===gp){t.tag=14,t=Ef(null,t,e,r,a);break e}}throw t=ku(e)||e,Error(B(306,t,""))}}return t;case 0:return Ju(e,t,t.type,t.pendingProps,a);case 1:return r=t.type,i=di(r,t.pendingProps),Af(e,t,r,i,a);case 3:e:{if(Il(t,t.stateNode.containerInfo),e===null)throw Error(B(387));r=t.pendingProps;var n=t.memoizedState;i=n.element,Qu(e,t),ho(t,r,null,a);var o=t.memoizedState;if(r=o.cache,xr(t,gt,r),r!==n.cache&&Hu(t,[gt],a,!0),go(),r=o.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){t=Rf(e,t,r,a);break e}else if(r!==i){i=va(Error(B(424)),t),Eo(i),t=Rf(e,t,r,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,et=_a(e.firstChild),zt=t,Te=!0,Ar=null,wa=!0,a=oh(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(si(),r===i){t=cr(e,t,a);break e}Mt(e,t,r,a)}t=t.child}return t;case 26:return Xl(e,t),e===null?(a=ag(t.type,null,t.pendingProps,null))?t.memoizedState=a:Te||(a=t.type,e=t.pendingProps,r=ws(zr.current).createElement(a),r[Tt]=t,r[Pt]=e,Rt(r,a,e),St(r),t.stateNode=r):t.memoizedState=ag(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Su(t),e===null&&Te&&(r=t.stateNode=Qb(t.type,t.pendingProps,zr.current),zt=t,wa=!0,i=et,Vr(t.type)?(pp=i,et=_a(r.firstChild)):et=i),Mt(e,t,t.pendingProps.children,a),Xl(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((i=r=et)&&(r=v1(r,t.type,t.pendingProps,wa),r!==null?(t.stateNode=r,zt=t,et=_a(r.firstChild),wa=!1,i=!0):i=!1),i||Qr(t)),Su(t),i=t.type,n=t.pendingProps,o=e!==null?e.memoizedProps:null,r=n.children,lp(i,n)?r=null:o!==null&&lp(i,o)&&(t.flags|=32),t.memoizedState!==null&&(i=Bp(e,t,Dy,null,null,a),Uo._currentValue=i),Xl(e,t),Mt(e,t,r,a),t.child;case 6:return e===null&&Te&&((e=a=et)&&(a=w1(a,t.pendingProps,wa),a!==null?(t.stateNode=a,zt=t,et=null,e=!0):e=!1),e||Qr(t)),null;case 13:return Ph(e,t,a);case 4:return Il(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ui(t,null,r,a):Mt(e,t,r,a),t.child;case 11:return qf(e,t,t.type,t.pendingProps,a);case 7:return Mt(e,t,t.pendingProps,a),t.child;case 8:return Mt(e,t,t.pendingProps.children,a),t.child;case 12:return Mt(e,t,t.pendingProps.children,a),t.child;case 10:return r=t.pendingProps,xr(t,t.type,r.value),Mt(e,t,r.children,a),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,ci(t),i=At(i),r=r(i),t.flags|=1,Mt(e,t,r,a),t.child;case 14:return Ef(e,t,t.type,t.pendingProps,a);case 15:return Zh(e,t,t.type,t.pendingProps,a);case 19:return Jh(e,t,a);case 31:return Yy(e,t,a);case 22:return Kh(e,t,a,t.pendingProps);case 24:return ci(t),r=At(gt),e===null?(i=Ap(),i===null&&(i=Ke,n=zp(),i.pooledCache=n,n.refCount++,n!==null&&(i.pooledCacheLanes|=a),i=n),t.memoizedState={parent:r,cache:i},Up(t),xr(t,gt,i)):((e.lanes&a)!==0&&(Qu(e,t),ho(t,null,null,a),go()),i=e.memoizedState,n=t.memoizedState,i.parent!==r?(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),xr(t,gt,r)):(r=n.cache,xr(t,gt,r),r!==i.cache&&Hu(t,[gt],a,!0))),Mt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(B(156,t.tag))}function Ka(e){e.flags|=4}function su(e,t,a,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(_b())e.flags|=8192;else throw oi=ns,Rp}else e.flags&=-16777217}function Df(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Xb(t))if(_b())e.flags|=8192;else throw oi=ns,Rp}function El(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?xg():536870912,e.lanes|=t,mn|=t)}function eo(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function We(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var i=e.child;i!==null;)a|=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;)a|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Vy(e,t,a){var r=t.pendingProps;switch(Tp(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return We(t),null;case 1:return We(t),null;case 3:return a=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ir(gt),ln(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Bi(t)?Ka(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Wc())),We(t),null;case 26:var i=t.type,n=t.memoizedState;return e===null?(Ka(t),n!==null?(We(t),Df(t,n)):(We(t),su(t,i,null,r,a))):n?n!==e.memoizedState?(Ka(t),We(t),Df(t,n)):(We(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&Ka(t),We(t),su(t,i,e,r,a)),null;case 27:if(Fl(t),a=zr.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return We(t),null}e=Ha.current,Bi(t)?uf(t,e):(e=Qb(i,r,a),t.stateNode=e,Ka(t))}return We(t),null;case 5:if(Fl(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return We(t),null}if(n=Ha.current,Bi(t))uf(t,n);else{var o=ws(zr.current);switch(n){case 1:n=o.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:n=o.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":n=o.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":n=o.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":n=o.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof r.is=="string"?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?n.multiple=!0:r.size&&(n.size=r.size);break;default:n=typeof r.is=="string"?o.createElement(i,{is:r.is}):o.createElement(i)}}n[Tt]=t,n[Pt]=r;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)n.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=n;e:switch(Rt(n,i,r),i){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Ka(t)}}return We(t),su(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(B(166));if(e=zr.current,Bi(t)){if(e=t.stateNode,a=t.memoizedProps,r=null,i=zt,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Tt]=t,e=!!(e.nodeValue===a||r!==null&&r.suppressHydrationWarning===!0||Bb(e.nodeValue,a)),e||Qr(t,!0)}else e=ws(e).createTextNode(r),e[Tt]=t,t.stateNode=e}return We(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(r=Bi(t),a!==null){if(e===null){if(!r)throw Error(B(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(557));e[Tt]=t}else si(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;We(t),e=!1}else a=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(aa(t),t):(aa(t),null);if((t.flags&128)!==0)throw Error(B(558))}return We(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Bi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(B(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(B(317));i[Tt]=t}else si(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;We(t),i=!1}else i=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(aa(t),t):(aa(t),null)}return aa(t),(t.flags&128)!==0?(t.lanes=a,t):(a=r!==null,e=e!==null&&e.memoizedState!==null,a&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),n=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(n=r.memoizedState.cachePool.pool),n!==i&&(r.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),El(t,t.updateQueue),We(t),null);case 4:return ln(),e===null&&rd(t.stateNode.containerInfo),We(t),null;case 10:return ir(t.type),We(t),null;case 19:if(Ct(ct),r=t.memoizedState,r===null)return We(t),null;if(i=(t.flags&128)!==0,n=r.rendering,n===null)if(i)eo(r,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(n=ls(e),n!==null){for(t.flags|=128,eo(r,!1),e=n.updateQueue,t.updateQueue=e,El(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Fg(a,e),a=a.sibling;return Ie(ct,ct.current&1|2),Te&&Fa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&na()>ms&&(t.flags|=128,i=!0,eo(r,!1),t.lanes=4194304)}else{if(!i)if(e=ls(n),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,El(t,e),eo(r,!0),r.tail===null&&r.tailMode==="hidden"&&!n.alternate&&!Te)return We(t),null}else 2*na()-r.renderingStartTime>ms&&a!==536870912&&(t.flags|=128,i=!0,eo(r,!1),t.lanes=4194304);r.isBackwards?(n.sibling=t.child,t.child=n):(e=r.last,e!==null?e.sibling=n:t.child=n,r.last=n)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=na(),e.sibling=null,a=ct.current,Ie(ct,i?a&1|2:a&1),Te&&Fa(t,r.treeForkCount),e):(We(t),null);case 22:case 23:return aa(t),Dp(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(a&536870912)!==0&&(t.flags&128)===0&&(We(t),t.subtreeFlags&6&&(t.flags|=8192)):We(t),a=t.updateQueue,a!==null&&El(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==a&&(t.flags|=2048),e!==null&&Ct(ni),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ir(gt),We(t),null;case 25:return null;case 30:return null}throw Error(B(156,t.tag))}function $y(e,t){switch(Tp(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ir(gt),ln(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Fl(t),null;case 31:if(t.memoizedState!==null){if(aa(t),t.alternate===null)throw Error(B(340));si()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(aa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(B(340));si()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ct(ct),null;case 4:return ln(),null;case 10:return ir(t.type),null;case 22:case 23:return aa(t),Dp(),e!==null&&Ct(ni),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ir(gt),null;case 25:return null;default:return null}}function Fh(e,t){switch(Tp(t),t.tag){case 3:ir(gt),ln();break;case 26:case 27:case 5:Fl(t);break;case 4:ln();break;case 31:t.memoizedState!==null&&aa(t);break;case 13:aa(t);break;case 19:Ct(ct);break;case 10:ir(t.type);break;case 22:case 23:aa(t),Dp(),e!==null&&Ct(ni);break;case 24:ir(gt)}}function Vo(e,t){try{var a=t.updateQueue,r=a!==null?a.lastEffect:null;if(r!==null){var i=r.next;a=i;do{if((a.tag&e)===e){r=void 0;var n=a.create,o=a.inst;r=n(),o.destroy=r}a=a.next}while(a!==i)}}catch(l){Qe(t,t.return,l)}}function Gr(e,t,a){try{var r=t.updateQueue,i=r!==null?r.lastEffect:null;if(i!==null){var n=i.next;r=n;do{if((r.tag&e)===e){var o=r.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,i=t;var c=a,p=l;try{p()}catch(d){Qe(i,c,d)}}}r=r.next}while(r!==n)}}catch(d){Qe(t,t.return,d)}}function Wh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{sh(t,a)}catch(r){Qe(e,e.return,r)}}}function eb(e,t,a){a.props=di(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(r){Qe(e,t,r)}}function vo(e,t){try{var a=e.ref;if(a!==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 a=="function"?e.refCleanup=a(r):a.current=r}}catch(i){Qe(e,t,i)}}function La(e,t){var a=e.ref,r=e.refCleanup;if(a!==null)if(typeof r=="function")try{r()}catch(i){Qe(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){Qe(e,t,i)}else a.current=null}function tb(e){var t=e.type,a=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&r.focus();break e;case"img":a.src?r.src=a.src:a.srcSet&&(r.srcset=a.srcSet)}}catch(i){Qe(e,e.return,i)}}function cu(e,t,a){try{var r=e.stateNode;d1(r,e.type,a,t),r[Pt]=t}catch(i){Qe(e,e.return,i)}}function ab(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Vr(e.type)||e.tag===4}function uu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ab(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&&Vr(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Fu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=tr));else if(r!==4&&(r===27&&Vr(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Fu(e,t,a),e=e.sibling;e!==null;)Fu(e,t,a),e=e.sibling}function ds(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(r===27&&Vr(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(ds(e,t,a),e=e.sibling;e!==null;)ds(e,t,a),e=e.sibling}function rb(e){var t=e.stateNode,a=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Rt(t,r,a),t[Tt]=e,t[Pt]=a}catch(n){Qe(e,e.return,n)}}var Wa=!1,ft=!1,pu=!1,Of=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function Zy(e,t){if(e=e.containerInfo,np=ks,e=Xg(e),Sp(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var i=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var o=0,l=-1,c=-1,p=0,d=0,h=e,m=null;t:for(;;){for(var b;h!==a||i!==0&&h.nodeType!==3||(l=o+i),h!==n||r!==0&&h.nodeType!==3||(c=o+r),h.nodeType===3&&(o+=h.nodeValue.length),(b=h.firstChild)!==null;)m=h,h=b;for(;;){if(h===e)break t;if(m===a&&++p===i&&(l=o),m===n&&++d===r&&(c=o),(b=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=b}a=l===-1||c===-1?null:{start:l,end:c}}else a=null}a=a||{start:0,end:0}}else a=null;for(op={focusedElem:e,selectionRange:a},ks=!1,Nt=t;Nt!==null;)if(t=Nt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Nt=e;else for(;Nt!==null;){switch(t=Nt,n=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)i=e[a],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&n!==null){e=void 0,a=t,i=n.memoizedProps,n=n.memoizedState,r=a.stateNode;try{var y=di(a.type,i);e=r.getSnapshotBeforeUpdate(y,n),r.__reactInternalSnapshotBeforeUpdate=e}catch(T){Qe(a,a.return,T)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)sp(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":sp(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(B(163))}if(e=t.sibling,e!==null){e.return=t.return,Nt=e;break}Nt=t.return}}function ib(e,t,a){var r=a.flags;switch(a.tag){case 0:case 11:case 15:Ja(e,a),r&4&&Vo(5,a);break;case 1:if(Ja(e,a),r&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(o){Qe(a,a.return,o)}else{var i=di(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(o){Qe(a,a.return,o)}}r&64&&Wh(a),r&512&&vo(a,a.return);break;case 3:if(Ja(e,a),r&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{sh(e,t)}catch(o){Qe(a,a.return,o)}}break;case 27:t===null&&r&4&&rb(a);case 26:case 5:Ja(e,a),t===null&&r&4&&tb(a),r&512&&vo(a,a.return);break;case 12:Ja(e,a);break;case 31:Ja(e,a),r&4&&lb(e,a);break;case 13:Ja(e,a),r&4&&sb(e,a),r&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=a1.bind(null,a),y1(e,a))));break;case 22:if(r=a.memoizedState!==null||Wa,!r){t=t!==null&&t.memoizedState!==null||ft,i=Wa;var n=ft;Wa=r,(ft=t)&&!n?Ia(e,a,(a.subtreeFlags&8772)!==0):Ja(e,a),Wa=i,ft=n}break;case 30:break;default:Ja(e,a)}}function nb(e){var t=e.alternate;t!==null&&(e.alternate=null,nb(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&wp(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 rt=null,$t=!1;function Pa(e,t,a){for(a=a.child;a!==null;)ob(e,t,a),a=a.sibling}function ob(e,t,a){if(oa&&typeof oa.onCommitFiberUnmount=="function")try{oa.onCommitFiberUnmount(Lo,a)}catch{}switch(a.tag){case 26:ft||La(a,t),Pa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:ft||La(a,t);var r=rt,i=$t;Vr(a.type)&&(rt=a.stateNode,$t=!1),Pa(e,t,a),xo(a.stateNode),rt=r,$t=i;break;case 5:ft||La(a,t);case 6:if(r=rt,i=$t,rt=null,Pa(e,t,a),rt=r,$t=i,rt!==null)if($t)try{(rt.nodeType===9?rt.body:rt.nodeName==="HTML"?rt.ownerDocument.body:rt).removeChild(a.stateNode)}catch(n){Qe(a,t,n)}else try{rt.removeChild(a.stateNode)}catch(n){Qe(a,t,n)}break;case 18:rt!==null&&($t?(e=rt,If(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),bn(e)):If(rt,a.stateNode));break;case 4:r=rt,i=$t,rt=a.stateNode.containerInfo,$t=!0,Pa(e,t,a),rt=r,$t=i;break;case 0:case 11:case 14:case 15:Gr(2,a,t),ft||Gr(4,a,t),Pa(e,t,a);break;case 1:ft||(La(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"&&eb(a,t,r)),Pa(e,t,a);break;case 21:Pa(e,t,a);break;case 22:ft=(r=ft)||a.memoizedState!==null,Pa(e,t,a),ft=r;break;default:Pa(e,t,a)}}function lb(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{bn(e)}catch(a){Qe(t,t.return,a)}}}function sb(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{bn(e)}catch(a){Qe(t,t.return,a)}}function Ky(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Of),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Of),t;default:throw Error(B(435,e.tag))}}function Ml(e,t){var a=Ky(e);t.forEach(function(r){if(!a.has(r)){a.add(r);var i=r1.bind(null,e,r);r.then(i,i)}})}function Xt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var i=a[r],n=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 27:if(Vr(l.type)){rt=l.stateNode,$t=!1;break e}break;case 5:rt=l.stateNode,$t=!1;break e;case 3:case 4:rt=l.stateNode.containerInfo,$t=!0;break e}l=l.return}if(rt===null)throw Error(B(160));ob(n,o,i),rt=null,$t=!1,n=i.alternate,n!==null&&(n.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)cb(t,e),t=t.sibling}var za=null;function cb(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Xt(t,e),Vt(e),r&4&&(Gr(3,e,e.return),Vo(3,e),Gr(5,e,e.return));break;case 1:Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),r&64&&Wa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?r:a.concat(r))));break;case 26:var i=za;if(Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),r&4){var n=a!==null?a.memoizedState:null;if(r=e.memoizedState,a===null)if(r===null)if(e.stateNode===null){e:{r=e.type,a=e.memoizedProps,i=i.ownerDocument||i;t:switch(r){case"title":n=i.getElementsByTagName("title")[0],(!n||n[Qo]||n[Tt]||n.namespaceURI==="http://www.w3.org/2000/svg"||n.hasAttribute("itemprop"))&&(n=i.createElement(r),i.head.insertBefore(n,i.querySelector("head > title"))),Rt(n,r,a),n[Tt]=e,St(n),r=n;break e;case"link":var o=ig("link","href",i).get(r+(a.href||""));if(o){for(var l=0;l<o.length;l++)if(n=o[l],n.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&n.getAttribute("rel")===(a.rel==null?null:a.rel)&&n.getAttribute("title")===(a.title==null?null:a.title)&&n.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){o.splice(l,1);break t}}n=i.createElement(r),Rt(n,r,a),i.head.appendChild(n);break;case"meta":if(o=ig("meta","content",i).get(r+(a.content||""))){for(l=0;l<o.length;l++)if(n=o[l],n.getAttribute("content")===(a.content==null?null:""+a.content)&&n.getAttribute("name")===(a.name==null?null:a.name)&&n.getAttribute("property")===(a.property==null?null:a.property)&&n.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&n.getAttribute("charset")===(a.charSet==null?null:a.charSet)){o.splice(l,1);break t}}n=i.createElement(r),Rt(n,r,a),i.head.appendChild(n);break;default:throw Error(B(468,r))}n[Tt]=e,St(n),r=n}e.stateNode=r}else ng(i,e.type,e.stateNode);else e.stateNode=rg(i,r,e.memoizedProps);else n!==r?(n===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):n.count--,r===null?ng(i,e.type,e.stateNode):rg(i,r,e.memoizedProps)):r===null&&e.stateNode!==null&&cu(e,e.memoizedProps,a.memoizedProps)}break;case 27:Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),a!==null&&r&4&&cu(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),e.flags&32){i=e.stateNode;try{cn(i,"")}catch(y){Qe(e,e.return,y)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,cu(e,i,a!==null?a.memoizedProps:i)),r&1024&&(pu=!0);break;case 6:if(Xt(t,e),Vt(e),r&4){if(e.stateNode===null)throw Error(B(162));r=e.memoizedProps,a=e.stateNode;try{a.nodeValue=r}catch(y){Qe(e,e.return,y)}}break;case 3:if(Zl=null,i=za,za=ys(t.containerInfo),Xt(t,e),za=i,Vt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{bn(t.containerInfo)}catch(y){Qe(e,e.return,y)}pu&&(pu=!1,ub(e));break;case 4:r=za,za=ys(e.stateNode.containerInfo),Xt(t,e),Vt(e),za=r;break;case 12:Xt(t,e),Vt(e);break;case 31:Xt(t,e),Vt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 13:Xt(t,e),Vt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Os=na()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 22:i=e.memoizedState!==null;var c=a!==null&&a.memoizedState!==null,p=Wa,d=ft;if(Wa=p||i,ft=d||c,Xt(t,e),ft=d,Wa=p,Vt(e),r&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(a===null||c||Wa||ft||ai(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){c=a=t;try{if(n=c.stateNode,i)o=n.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{l=c.stateNode;var h=c.memoizedProps.style,m=h!=null&&h.hasOwnProperty("display")?h.display:null;l.style.display=m==null||typeof m=="boolean"?"":(""+m).trim()}}catch(y){Qe(c,c.return,y)}}}else if(t.tag===6){if(a===null){c=t;try{c.stateNode.nodeValue=i?"":c.memoizedProps}catch(y){Qe(c,c.return,y)}}}else if(t.tag===18){if(a===null){c=t;try{var b=c.stateNode;i?Ff(b,!0):Ff(c.stateNode,!1)}catch(y){Qe(c,c.return,y)}}}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 e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(a=r.retryQueue,a!==null&&(r.retryQueue=null,Ml(e,a))));break;case 19:Xt(t,e),Vt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 30:break;case 21:break;default:Xt(t,e),Vt(e)}}function Vt(e){var t=e.flags;if(t&2){try{for(var a,r=e.return;r!==null;){if(ab(r)){a=r;break}r=r.return}if(a==null)throw Error(B(160));switch(a.tag){case 27:var i=a.stateNode,n=uu(e);ds(e,n,i);break;case 5:var o=a.stateNode;a.flags&32&&(cn(o,""),a.flags&=-33);var l=uu(e);ds(e,l,o);break;case 3:case 4:var c=a.stateNode.containerInfo,p=uu(e);Fu(e,p,c);break;default:throw Error(B(161))}}catch(d){Qe(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ub(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ub(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ib(e,t.alternate,t),t=t.sibling}function ai(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Gr(4,t,t.return),ai(t);break;case 1:La(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&eb(t,t.return,a),ai(t);break;case 27:xo(t.stateNode);case 26:case 5:La(t,t.return),ai(t);break;case 22:t.memoizedState===null&&ai(t);break;case 30:ai(t);break;default:ai(t)}e=e.sibling}}function Ia(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,i=e,n=t,o=n.flags;switch(n.tag){case 0:case 11:case 15:Ia(i,n,a),Vo(4,n);break;case 1:if(Ia(i,n,a),r=n,i=r.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(p){Qe(r,r.return,p)}if(r=n,i=r.updateQueue,i!==null){var l=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)lh(c[i],l)}catch(p){Qe(r,r.return,p)}}a&&o&64&&Wh(n),vo(n,n.return);break;case 27:rb(n);case 26:case 5:Ia(i,n,a),a&&r===null&&o&4&&tb(n),vo(n,n.return);break;case 12:Ia(i,n,a);break;case 31:Ia(i,n,a),a&&o&4&&lb(i,n);break;case 13:Ia(i,n,a),a&&o&4&&sb(i,n);break;case 22:n.memoizedState===null&&Ia(i,n,a),vo(n,n.return);break;case 30:break;default:Ia(i,n,a)}t=t.sibling}}function Ip(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Yo(a))}function Fp(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yo(e))}function Ta(e,t,a,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)pb(e,t,a,r),t=t.sibling}function pb(e,t,a,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Ta(e,t,a,r),i&2048&&Vo(9,t);break;case 1:Ta(e,t,a,r);break;case 3:Ta(e,t,a,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yo(e)));break;case 12:if(i&2048){Ta(e,t,a,r),e=t.stateNode;try{var n=t.memoizedProps,o=n.id,l=n.onPostCommit;typeof l=="function"&&l(o,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(c){Qe(t,t.return,c)}}else Ta(e,t,a,r);break;case 31:Ta(e,t,a,r);break;case 13:Ta(e,t,a,r);break;case 23:break;case 22:n=t.stateNode,o=t.alternate,t.memoizedState!==null?n._visibility&2?Ta(e,t,a,r):wo(e,t):n._visibility&2?Ta(e,t,a,r):(n._visibility|=2,Hi(e,t,a,r,(t.subtreeFlags&10256)!==0||!1)),i&2048&&Ip(o,t);break;case 24:Ta(e,t,a,r),i&2048&&Fp(t.alternate,t);break;default:Ta(e,t,a,r)}}function Hi(e,t,a,r,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var n=e,o=t,l=a,c=r,p=o.flags;switch(o.tag){case 0:case 11:case 15:Hi(n,o,l,c,i),Vo(8,o);break;case 23:break;case 22:var d=o.stateNode;o.memoizedState!==null?d._visibility&2?Hi(n,o,l,c,i):wo(n,o):(d._visibility|=2,Hi(n,o,l,c,i)),i&&p&2048&&Ip(o.alternate,o);break;case 24:Hi(n,o,l,c,i),i&&p&2048&&Fp(o.alternate,o);break;default:Hi(n,o,l,c,i)}t=t.sibling}}function wo(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,r=t,i=r.flags;switch(r.tag){case 22:wo(a,r),i&2048&&Ip(r.alternate,r);break;case 24:wo(a,r),i&2048&&Fp(r.alternate,r);break;default:wo(a,r)}t=t.sibling}}var so=8192;function Li(e,t,a){if(e.subtreeFlags&so)for(e=e.child;e!==null;)db(e,t,a),e=e.sibling}function db(e,t,a){switch(e.tag){case 26:Li(e,t,a),e.flags&so&&e.memoizedState!==null&&A1(a,za,e.memoizedState,e.memoizedProps);break;case 5:Li(e,t,a);break;case 3:case 4:var r=za;za=ys(e.stateNode.containerInfo),Li(e,t,a),za=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=so,so=16777216,Li(e,t,a),so=r):Li(e,t,a));break;default:Li(e,t,a)}}function mb(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 to(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];Nt=r,gb(r,e)}mb(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fb(e),e=e.sibling}function fb(e){switch(e.tag){case 0:case 11:case 15:to(e),e.flags&2048&&Gr(9,e,e.return);break;case 3:to(e);break;case 12:to(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Vl(e)):to(e);break;default:to(e)}}function Vl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];Nt=r,gb(r,e)}mb(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Gr(8,t,t.return),Vl(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Vl(t));break;default:Vl(t)}e=e.sibling}}function gb(e,t){for(;Nt!==null;){var a=Nt;switch(a.tag){case 0:case 11:case 15:Gr(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var r=a.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Yo(a.memoizedState.cache)}if(r=a.child,r!==null)r.return=a,Nt=r;else e:for(a=e;Nt!==null;){r=Nt;var i=r.sibling,n=r.return;if(nb(r),r===a){Nt=null;break e}if(i!==null){i.return=n,Nt=i;break e}Nt=n}}}var Py={getCacheForType:function(e){var t=At(gt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return At(gt).controller.signal}},Jy=typeof WeakMap=="function"?WeakMap:Map,De=0,Ke=null,qe=null,Me=0,je=0,ta=null,Er=!1,xn=!1,Wp=!1,ur=0,ot=0,Yr=0,li=0,ed=0,ia=0,mn=0,yo=null,Zt=null,Wu=!1,Os=0,hb=0,ms=1/0,fs=null,Dr=null,yt=0,Or=null,fn=null,nr=0,ep=0,tp=null,bb=null,_o=0,ap=null;function sa(){return(De&2)!==0&&Me!==0?Me&-Me:le.T!==null?ad():Cg()}function vb(){if(ia===0)if((Me&536870912)===0||Te){var e=wl;wl<<=1,(wl&3932160)===0&&(wl=262144),ia=e}else ia=536870912;return e=ua.current,e!==null&&(e.flags|=32),ia}function Kt(e,t,a){(e===Ke&&(je===2||je===9)||e.cancelPendingCommit!==null)&&(gn(e,0),Mr(e,Me,ia,!1)),jo(e,a),((De&2)===0||e!==Ke)&&(e===Ke&&((De&2)===0&&(li|=a),ot===4&&Mr(e,Me,ia,!1)),Qa(e))}function wb(e,t,a){if((De&6)!==0)throw Error(B(327));var r=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Ho(e,t),i=r?Wy(e,t):du(e,t,!0),n=r;do{if(i===0){xn&&!r&&Mr(e,t,0,!1);break}else{if(a=e.current.alternate,n&&!Iy(a)){i=du(e,t,!1),n=!1;continue}if(i===2){if(n=t,e.errorRecoveryDisabledLanes&n)var o=0;else o=e.pendingLanes&-536870913,o=o!==0?o:o&536870912?536870912:0;if(o!==0){t=o;e:{var l=e;i=yo;var c=l.current.memoizedState.isDehydrated;if(c&&(gn(l,o).flags|=256),o=du(l,o,!1),o!==2){if(Wp&&!c){l.errorRecoveryDisabledLanes|=n,li|=n,i=4;break e}n=Zt,Zt=i,n!==null&&(Zt===null?Zt=n:Zt.push.apply(Zt,n))}i=o}if(n=!1,i!==2)continue}}if(i===1){gn(e,0),Mr(e,t,0,!0);break}e:{switch(r=e,n=i,n){case 0:case 1:throw Error(B(345));case 4:if((t&4194048)!==t)break;case 6:Mr(r,t,ia,!Er);break e;case 2:Zt=null;break;case 3:case 5:break;default:throw Error(B(329))}if((t&62914560)===t&&(i=Os+300-na(),10<i)){if(Mr(r,t,ia,!Er),Ss(r,0,!0)!==0)break e;nr=t,r.timeoutHandle=Hb(Bf.bind(null,r,a,Zt,fs,Wu,t,ia,li,mn,Er,n,"Throttled",-0,0),i);break e}Bf(r,a,Zt,fs,Wu,t,ia,li,mn,Er,n,null,-0,0)}}break}while(!0);Qa(e)}function Bf(e,t,a,r,i,n,o,l,c,p,d,h,m,b){if(e.timeoutHandle=-1,h=t.subtreeFlags,h&8192||(h&16785408)===16785408){h={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:tr},db(t,n,h);var y=(n&62914560)===n?Os-na():(n&4194048)===n?hb-na():0;if(y=R1(h,y),y!==null){nr=n,e.cancelPendingCommit=y(Hf.bind(null,e,t,n,a,r,i,o,l,c,d,h,null,m,b)),Mr(e,n,o,!p);return}}Hf(e,t,n,a,r,i,o,l,c)}function Iy(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var r=0;r<a.length;r++){var i=a[r],n=i.getSnapshot;i=i.value;try{if(!ca(n(),i))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;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 Mr(e,t,a,r){t&=~ed,t&=~li,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var n=31-la(i),o=1<<n;r[n]=-1,i&=~o}a!==0&&kg(e,a,t)}function Bs(){return(De&6)===0?($o(0,!1),!1):!0}function td(){if(qe!==null){if(je===0)var e=qe.return;else e=qe,ar=bi=null,jp(e),rn=null,Mo=0,e=qe;for(;e!==null;)Fh(e.alternate,e),e=e.return;qe=null}}function gn(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,g1(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),nr=0,td(),Ke=e,qe=a=rr(e.current,null),Me=t,je=0,ta=null,Er=!1,xn=Ho(e,t),Wp=!1,mn=ia=ed=li=Yr=ot=0,Zt=yo=null,Wu=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-la(r),n=1<<i;t|=e[i],r&=~n}return ur=t,Ms(),a}function yb(e,t){ge=null,le.H=zo,t===_n||t===zs?(t=gf(),je=3):t===Rp?(t=gf(),je=4):je=t===Pp?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ta=t,qe===null&&(ot=1,us(e,va(t,e.current)))}function _b(){var e=ua.current;return e===null?!0:(Me&4194048)===Me?ya===null:(Me&62914560)===Me||(Me&536870912)!==0?e===ya:!1}function xb(){var e=le.H;return le.H=zo,e===null?zo:e}function kb(){var e=le.A;return le.A=Py,e}function gs(){ot=4,Er||(Me&4194048)!==Me&&ua.current!==null||(xn=!0),(Yr&134217727)===0&&(li&134217727)===0||Ke===null||Mr(Ke,Me,ia,!1)}function du(e,t,a){var r=De;De|=2;var i=xb(),n=kb();(Ke!==e||Me!==t)&&(fs=null,gn(e,t)),t=!1;var o=ot;e:do try{if(je!==0&&qe!==null){var l=qe,c=ta;switch(je){case 8:td(),o=6;break e;case 3:case 2:case 9:case 6:ua.current===null&&(t=!0);var p=je;if(je=0,ta=null,Fi(e,l,c,p),a&&xn){o=0;break e}break;default:p=je,je=0,ta=null,Fi(e,l,c,p)}}Fy(),o=ot;break}catch(d){yb(e,d)}while(!0);return t&&e.shellSuspendCounter++,ar=bi=null,De=r,le.H=i,le.A=n,qe===null&&(Ke=null,Me=0,Ms()),o}function Fy(){for(;qe!==null;)Nb(qe)}function Wy(e,t){var a=De;De|=2;var r=xb(),i=kb();Ke!==e||Me!==t?(fs=null,ms=na()+500,gn(e,t)):xn=Ho(e,t);e:do try{if(je!==0&&qe!==null){t=qe;var n=ta;t:switch(je){case 1:je=0,ta=null,Fi(e,t,n,1);break;case 2:case 9:if(ff(n)){je=0,ta=null,Lf(t);break}t=function(){je!==2&&je!==9||Ke!==e||(je=7),Qa(e)},n.then(t,t);break e;case 3:je=7;break e;case 4:je=5;break e;case 7:ff(n)?(je=0,ta=null,Lf(t)):(je=0,ta=null,Fi(e,t,n,7));break;case 5:var o=null;switch(qe.tag){case 26:o=qe.memoizedState;case 5:case 27:var l=qe;if(o?Xb(o):l.stateNode.complete){je=0,ta=null;var c=l.sibling;if(c!==null)qe=c;else{var p=l.return;p!==null?(qe=p,Ls(p)):qe=null}break t}}je=0,ta=null,Fi(e,t,n,5);break;case 6:je=0,ta=null,Fi(e,t,n,6);break;case 8:td(),ot=6;break e;default:throw Error(B(462))}}e1();break}catch(d){yb(e,d)}while(!0);return ar=bi=null,le.H=r,le.A=i,De=a,qe!==null?0:(Ke=null,Me=0,Ms(),ot)}function e1(){for(;qe!==null&&!k0();)Nb(qe)}function Nb(e){var t=Ih(e.alternate,e,ur);e.memoizedProps=e.pendingProps,t===null?Ls(e):qe=t}function Lf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=zf(a,t,t.pendingProps,t.type,void 0,Me);break;case 11:t=zf(a,t,t.pendingProps,t.type.render,t.ref,Me);break;case 5:jp(t);default:Fh(a,t),t=qe=Fg(t,ur),t=Ih(a,t,ur)}e.memoizedProps=e.pendingProps,t===null?Ls(e):qe=t}function Fi(e,t,a,r){ar=bi=null,jp(t),rn=null,Mo=0;var i=t.return;try{if(Gy(e,i,t,a,Me)){ot=1,us(e,va(a,e.current)),qe=null;return}}catch(n){if(i!==null)throw qe=i,n;ot=1,us(e,va(a,e.current)),qe=null;return}t.flags&32768?(Te||r===1?e=!0:xn||(Me&536870912)!==0?e=!1:(Er=e=!0,(r===2||r===9||r===3||r===6)&&(r=ua.current,r!==null&&r.tag===13&&(r.flags|=16384))),Sb(t,e)):Ls(t)}function Ls(e){var t=e;do{if((t.flags&32768)!==0){Sb(t,Er);return}e=t.return;var a=Vy(t.alternate,t,ur);if(a!==null){qe=a;return}if(t=t.sibling,t!==null){qe=t;return}qe=t=e}while(t!==null);ot===0&&(ot=5)}function Sb(e,t){do{var a=$y(e.alternate,e);if(a!==null){a.flags&=32767,qe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){qe=e;return}qe=e=a}while(e!==null);ot=6,qe=null}function Hf(e,t,a,r,i,n,o,l,c){e.cancelPendingCommit=null;do Hs();while(yt!==0);if((De&6)!==0)throw Error(B(327));if(t!==null){if(t===e.current)throw Error(B(177));if(n=t.lanes|t.childLanes,n|=Cp,R0(e,a,n,o,l,c),e===Ke&&(qe=Ke=null,Me=0),fn=t,Or=e,nr=a,ep=n,tp=i,bb=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,i1(Wl,function(){return Tb(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=le.T,le.T=null,i=Oe.p,Oe.p=2,o=De,De|=4;try{Zy(e,t,a)}finally{De=o,Oe.p=i,le.T=r}}yt=1,Cb(),qb(),Eb()}}function Cb(){if(yt===1){yt=0;var e=Or,t=fn,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=le.T,le.T=null;var r=Oe.p;Oe.p=2;var i=De;De|=4;try{cb(t,e);var n=op,o=Xg(e.containerInfo),l=n.focusedElem,c=n.selectionRange;if(o!==l&&l&&l.ownerDocument&&Yg(l.ownerDocument.documentElement,l)){if(c!==null&&Sp(l)){var p=c.start,d=c.end;if(d===void 0&&(d=p),"selectionStart"in l)l.selectionStart=p,l.selectionEnd=Math.min(d,l.value.length);else{var h=l.ownerDocument||document,m=h&&h.defaultView||window;if(m.getSelection){var b=m.getSelection(),y=l.textContent.length,T=Math.min(c.start,y),D=c.end===void 0?T:Math.min(c.end,y);!b.extend&&T>D&&(o=D,D=T,T=o);var f=lf(l,T),u=lf(l,D);if(f&&u&&(b.rangeCount!==1||b.anchorNode!==f.node||b.anchorOffset!==f.offset||b.focusNode!==u.node||b.focusOffset!==u.offset)){var v=h.createRange();v.setStart(f.node,f.offset),b.removeAllRanges(),T>D?(b.addRange(v),b.extend(u.node,u.offset)):(v.setEnd(u.node,u.offset),b.addRange(v))}}}}for(h=[],b=l;b=b.parentNode;)b.nodeType===1&&h.push({element:b,left:b.scrollLeft,top:b.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<h.length;l++){var w=h[l];w.element.scrollLeft=w.left,w.element.scrollTop=w.top}}ks=!!np,op=np=null}finally{De=i,Oe.p=r,le.T=a}}e.current=t,yt=2}}function qb(){if(yt===2){yt=0;var e=Or,t=fn,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=le.T,le.T=null;var r=Oe.p;Oe.p=2;var i=De;De|=4;try{ib(e,t.alternate,t)}finally{De=i,Oe.p=r,le.T=a}}yt=3}}function Eb(){if(yt===4||yt===3){yt=0,N0();var e=Or,t=fn,a=nr,r=bb;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?yt=5:(yt=0,fn=Or=null,Mb(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(Dr=null),vp(a),t=t.stateNode,oa&&typeof oa.onCommitFiberRoot=="function")try{oa.onCommitFiberRoot(Lo,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=le.T,i=Oe.p,Oe.p=2,le.T=null;try{for(var n=e.onRecoverableError,o=0;o<r.length;o++){var l=r[o];n(l.value,{componentStack:l.stack})}}finally{le.T=t,Oe.p=i}}(nr&3)!==0&&Hs(),Qa(e),i=e.pendingLanes,(a&261930)!==0&&(i&42)!==0?e===ap?_o++:(_o=0,ap=e):_o=0,$o(0,!1)}}function Mb(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yo(t)))}function Hs(){return Cb(),qb(),Eb(),Tb()}function Tb(){if(yt!==5)return!1;var e=Or,t=ep;ep=0;var a=vp(nr),r=le.T,i=Oe.p;try{Oe.p=32>a?32:a,le.T=null,a=tp,tp=null;var n=Or,o=nr;if(yt=0,fn=Or=null,nr=0,(De&6)!==0)throw Error(B(331));var l=De;if(De|=4,fb(n.current),pb(n,n.current,o,a),De=l,$o(0,!1),oa&&typeof oa.onPostCommitFiberRoot=="function")try{oa.onPostCommitFiberRoot(Lo,n)}catch{}return!0}finally{Oe.p=i,le.T=r,Mb(e,t)}}function jf(e,t,a){t=va(a,t),t=Pu(e.stateNode,t,2),e=Ur(e,t,2),e!==null&&(jo(e,2),Qa(e))}function Qe(e,t,a){if(e.tag===3)jf(e,e,a);else for(;t!==null;){if(t.tag===3){jf(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Dr===null||!Dr.has(r))){e=va(a,e),a=Vh(2),r=Ur(t,a,2),r!==null&&($h(a,r,t,e),jo(r,2),Qa(r));break}}t=t.return}}function mu(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Jy;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(a)||(Wp=!0,i.add(a),e=t1.bind(null,e,t,a),t.then(e,e))}function t1(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ke===e&&(Me&a)===a&&(ot===4||ot===3&&(Me&62914560)===Me&&300>na()-Os?(De&2)===0&&gn(e,0):ed|=a,mn===Me&&(mn=0)),Qa(e)}function zb(e,t){t===0&&(t=xg()),e=hi(e,t),e!==null&&(jo(e,t),Qa(e))}function a1(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),zb(e,a)}function r1(e,t){var a=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(B(314))}r!==null&&r.delete(t),zb(e,a)}function i1(e,t){return hp(e,t)}var hs=null,ji=null,rp=!1,bs=!1,fu=!1,Tr=0;function Qa(e){e!==ji&&e.next===null&&(ji===null?hs=ji=e:ji=ji.next=e),bs=!0,rp||(rp=!0,o1())}function $o(e,t){if(!fu&&bs){fu=!0;do for(var a=!1,r=hs;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var n=0;else{var o=r.suspendedLanes,l=r.pingedLanes;n=(1<<31-la(42|e)+1)-1,n&=i&~(o&~l),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(a=!0,Qf(r,n))}else n=Me,n=Ss(r,r===Ke?n:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(n&3)===0||Ho(r,n)||(a=!0,Qf(r,n));r=r.next}while(a);fu=!1}}function n1(){Ab()}function Ab(){bs=rp=!1;var e=0;Tr!==0&&f1()&&(e=Tr);for(var t=na(),a=null,r=hs;r!==null;){var i=r.next,n=Rb(r,t);n===0?(r.next=null,a===null?hs=i:a.next=i,i===null&&(ji=a)):(a=r,(e!==0||(n&3)!==0)&&(bs=!0)),r=i}yt!==0&&yt!==5||$o(e,!1),Tr!==0&&(Tr=0)}function Rb(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,n=e.pendingLanes&-62914561;0<n;){var o=31-la(n),l=1<<o,c=i[o];c===-1?((l&a)===0||(l&r)!==0)&&(i[o]=A0(l,t)):c<=t&&(e.expiredLanes|=l),n&=~l}if(t=Ke,a=Me,a=Ss(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,a===0||e===t&&(je===2||je===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Yc(r),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Ho(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(r!==null&&Yc(r),vp(a)){case 2:case 8:a=yg;break;case 32:a=Wl;break;case 268435456:a=_g;break;default:a=Wl}return r=Ub.bind(null,e),a=hp(a,r),e.callbackPriority=t,e.callbackNode=a,t}return r!==null&&r!==null&&Yc(r),e.callbackPriority=2,e.callbackNode=null,2}function Ub(e,t){if(yt!==0&&yt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Hs()&&e.callbackNode!==a)return null;var r=Me;return r=Ss(e,e===Ke?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(wb(e,r,t),Rb(e,na()),e.callbackNode!=null&&e.callbackNode===a?Ub.bind(null,e):null)}function Qf(e,t){if(Hs())return null;wb(e,t,!0)}function o1(){h1(function(){(De&6)!==0?hp(wg,n1):Ab()})}function ad(){if(Tr===0){var e=un;e===0&&(e=vl,vl<<=1,(vl&261888)===0&&(vl=256)),Tr=e}return Tr}function Gf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ol(""+e)}function Yf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function l1(e,t,a,r,i){if(t==="submit"&&a&&a.stateNode===i){var n=Gf((i[Pt]||null).action),o=r.submitter;o&&(t=(t=o[Pt]||null)?Gf(t.formAction):o.getAttribute("formAction"),t!==null&&(n=t,o=null));var l=new Cs("action","action",null,r,i);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Tr!==0){var c=o?Yf(i,o):new FormData(i);Zu(a,{pending:!0,data:c,method:i.method,action:n},null,c)}}else typeof n=="function"&&(l.preventDefault(),c=o?Yf(i,o):new FormData(i),Zu(a,{pending:!0,data:c,method:i.method,action:n},n,c))},currentTarget:i}]})}}for(Tl=0;Tl<Du.length;Tl++)zl=Du[Tl],Xf=zl.toLowerCase(),Vf=zl[0].toUpperCase()+zl.slice(1),Aa(Xf,"on"+Vf);var zl,Xf,Vf,Tl;Aa($g,"onAnimationEnd");Aa(Zg,"onAnimationIteration");Aa(Kg,"onAnimationStart");Aa("dblclick","onDoubleClick");Aa("focusin","onFocus");Aa("focusout","onBlur");Aa(Sy,"onTransitionRun");Aa(Cy,"onTransitionStart");Aa(qy,"onTransitionCancel");Aa(Pg,"onTransitionEnd");sn("onMouseEnter",["mouseout","mouseover"]);sn("onMouseLeave",["mouseout","mouseover"]);sn("onPointerEnter",["pointerout","pointerover"]);sn("onPointerLeave",["pointerout","pointerover"]);mi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));mi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));mi("onBeforeInput",["compositionend","keypress","textInput","paste"]);mi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));mi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));mi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ao="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(" "),s1=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ao));function Db(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],i=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,p=l.currentTarget;if(l=l.listener,c!==n&&i.isPropagationStopped())break e;n=l,i.currentTarget=p;try{n(i)}catch(d){ts(d)}i.currentTarget=null,n=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,p=l.currentTarget,l=l.listener,c!==n&&i.isPropagationStopped())break e;n=l,i.currentTarget=p;try{n(i)}catch(d){ts(d)}i.currentTarget=null,n=c}}}}function Ce(e,t){var a=t[qu];a===void 0&&(a=t[qu]=new Set);var r=e+"__bubble";a.has(r)||(Ob(t,e,2,!1),a.add(r))}function gu(e,t,a){var r=0;t&&(r|=4),Ob(a,e,r,t)}var Al="_reactListening"+Math.random().toString(36).slice(2);function rd(e){if(!e[Al]){e[Al]=!0,qg.forEach(function(a){a!=="selectionchange"&&(s1.has(a)||gu(a,!1,e),gu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Al]||(t[Al]=!0,gu("selectionchange",!1,t))}}function Ob(e,t,a,r){switch(Pb(t)){case 2:var i=O1;break;case 8:i=B1;break;default:i=ld}a=i.bind(null,t,a,e),i=void 0,!Au||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):i!==void 0?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function hu(e,t,a,r,i){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;l!==null;){if(o=Yi(l),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=n=o;continue e}l=l.parentNode}}r=r.return}Dg(function(){var p=n,d=_p(a),h=[];e:{var m=Jg.get(e);if(m!==void 0){var b=Cs,y=e;switch(e){case"keypress":if(Ll(a)===0)break e;case"keydown":case"keyup":b=ry;break;case"focusin":y="focus",b=Kc;break;case"focusout":y="blur",b=Kc;break;case"beforeblur":case"afterblur":b=Kc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":b=Im;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":b=V0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":b=oy;break;case $g:case Zg:case Kg:b=K0;break;case Pg:b=sy;break;case"scroll":case"scrollend":b=Y0;break;case"wheel":b=uy;break;case"copy":case"cut":case"paste":b=J0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":b=Wm;break;case"toggle":case"beforetoggle":b=dy}var T=(t&4)!==0,D=!T&&(e==="scroll"||e==="scrollend"),f=T?m!==null?m+"Capture":null:m;T=[];for(var u=p,v;u!==null;){var w=u;if(v=w.stateNode,w=w.tag,w!==5&&w!==26&&w!==27||v===null||f===null||(w=No(u,f),w!=null&&T.push(Ro(u,w,v))),D)break;u=u.return}0<T.length&&(m=new b(m,y,null,a,d),h.push({event:m,listeners:T}))}}if((t&7)===0){e:{if(m=e==="mouseover"||e==="pointerover",b=e==="mouseout"||e==="pointerout",m&&a!==zu&&(y=a.relatedTarget||a.fromElement)&&(Yi(y)||y[vn]))break e;if((b||m)&&(m=d.window===d?d:(m=d.ownerDocument)?m.defaultView||m.parentWindow:window,b?(y=a.relatedTarget||a.toElement,b=p,y=y?Yi(y):null,y!==null&&(D=Bo(y),T=y.tag,y!==D||T!==5&&T!==27&&T!==6)&&(y=null)):(b=null,y=p),b!==y)){if(T=Im,w="onMouseLeave",f="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(T=Wm,w="onPointerLeave",f="onPointerEnter",u="pointer"),D=b==null?m:oo(b),v=y==null?m:oo(y),m=new T(w,u+"leave",b,a,d),m.target=D,m.relatedTarget=v,w=null,Yi(d)===p&&(T=new T(f,u+"enter",y,a,d),T.target=v,T.relatedTarget=D,w=T),D=w,b&&y)t:{for(T=c1,f=b,u=y,v=0,w=f;w;w=T(w))v++;w=0;for(var S=u;S;S=T(S))w++;for(;0<v-w;)f=T(f),v--;for(;0<w-v;)u=T(u),w--;for(;v--;){if(f===u||u!==null&&f===u.alternate){T=f;break t}f=T(f),u=T(u)}T=null}else T=null;b!==null&&$f(h,m,b,T,!1),y!==null&&D!==null&&$f(h,D,y,T,!0)}}e:{if(m=p?oo(p):window,b=m.nodeName&&m.nodeName.toLowerCase(),b==="select"||b==="input"&&m.type==="file")var R=rf;else if(af(m))if(Qg)R=xy;else{R=yy;var z=wy}else b=m.nodeName,!b||b.toLowerCase()!=="input"||m.type!=="checkbox"&&m.type!=="radio"?p&&yp(p.elementType)&&(R=rf):R=_y;if(R&&(R=R(e,p))){jg(h,R,a,d);break e}z&&z(e,m,p),e==="focusout"&&p&&m.type==="number"&&p.memoizedProps.value!=null&&Tu(m,"number",m.value)}switch(z=p?oo(p):window,e){case"focusin":(af(z)||z.contentEditable==="true")&&($i=z,Ru=p,po=null);break;case"focusout":po=Ru=$i=null;break;case"mousedown":Uu=!0;break;case"contextmenu":case"mouseup":case"dragend":Uu=!1,sf(h,a,d);break;case"selectionchange":if(Ny)break;case"keydown":case"keyup":sf(h,a,d)}var A;if(Np)e:{switch(e){case"compositionstart":var Q="onCompositionStart";break e;case"compositionend":Q="onCompositionEnd";break e;case"compositionupdate":Q="onCompositionUpdate";break e}Q=void 0}else Vi?Lg(e,a)&&(Q="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Q="onCompositionStart");Q&&(Bg&&a.locale!=="ko"&&(Vi||Q!=="onCompositionStart"?Q==="onCompositionEnd"&&Vi&&(A=Og()):(qr=d,xp="value"in qr?qr.value:qr.textContent,Vi=!0)),z=vs(p,Q),0<z.length&&(Q=new Fm(Q,e,null,a,d),h.push({event:Q,listeners:z}),A?Q.data=A:(A=Hg(a),A!==null&&(Q.data=A)))),(A=fy?gy(e,a):hy(e,a))&&(Q=vs(p,"onBeforeInput"),0<Q.length&&(z=new Fm("onBeforeInput","beforeinput",null,a,d),h.push({event:z,listeners:Q}),z.data=A)),l1(h,e,p,a,d)}Db(h,t)})}function Ro(e,t,a){return{instance:e,listener:t,currentTarget:a}}function vs(e,t){for(var a=t+"Capture",r=[];e!==null;){var i=e,n=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||n===null||(i=No(e,a),i!=null&&r.unshift(Ro(e,i,n)),i=No(e,t),i!=null&&r.push(Ro(e,i,n))),e.tag===3)return r;e=e.return}return[]}function c1(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function $f(e,t,a,r,i){for(var n=t._reactName,o=[];a!==null&&a!==r;){var l=a,c=l.alternate,p=l.stateNode;if(l=l.tag,c!==null&&c===r)break;l!==5&&l!==26&&l!==27||p===null||(c=p,i?(p=No(a,n),p!=null&&o.unshift(Ro(a,p,c))):i||(p=No(a,n),p!=null&&o.push(Ro(a,p,c)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var u1=/\r\n?/g,p1=/\u0000|\uFFFD/g;function Zf(e){return(typeof e=="string"?e:""+e).replace(u1,`
9
- `).replace(p1,"")}function Bb(e,t){return t=Zf(t),Zf(e)===t}function Ve(e,t,a,r,i,n){switch(a){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cn(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cn(e,""+r);break;case"className":_l(e,"class",r);break;case"tabIndex":_l(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":_l(e,a,r);break;case"style":Ug(e,r,n);break;case"data":if(t!=="object"){_l(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ol(""+r),e.setAttribute(a,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(a,"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 n=="function"&&(a==="formAction"?(t!=="input"&&Ve(e,t,"name",i.name,i,null),Ve(e,t,"formEncType",i.formEncType,i,null),Ve(e,t,"formMethod",i.formMethod,i,null),Ve(e,t,"formTarget",i.formTarget,i,null)):(Ve(e,t,"encType",i.encType,i,null),Ve(e,t,"method",i.method,i,null),Ve(e,t,"target",i.target,i,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ol(""+r),e.setAttribute(a,r);break;case"onClick":r!=null&&(e.onclick=tr);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(i.children!=null)throw Error(B(60));e.innerHTML=a}}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}a=Ol(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);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(a,""+r):e.removeAttribute(a);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(a,""):e.removeAttribute(a);break;case"capture":case"download":r===!0?e.setAttribute(a,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,r):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(a,r):e.removeAttribute(a);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(a):e.setAttribute(a,r);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),Dl(e,"popover",r);break;case"xlinkActuate":Za(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Za(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Za(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Za(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Za(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Za(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Za(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Za(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Za(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Dl(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Q0.get(a)||a,Dl(e,a,r))}}function ip(e,t,a,r,i,n){switch(a){case"style":Ug(e,r,n);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(i.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"children":typeof r=="string"?cn(e,r):(typeof r=="number"||typeof r=="bigint")&&cn(e,""+r);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"onClick":r!=null&&(e.onclick=tr);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eg.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(i=a.endsWith("Capture"),t=a.slice(2,i?a.length-7:void 0),n=e[Pt]||null,n=n!=null?n[a]:null,typeof n=="function"&&e.removeEventListener(t,n,i),typeof r=="function")){typeof n!="function"&&n!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,r,i);break e}a in e?e[a]=r:r===!0?e.setAttribute(a,""):Dl(e,a,r)}}}function Rt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var r=!1,i=!1,n;for(n in a)if(a.hasOwnProperty(n)){var o=a[n];if(o!=null)switch(n){case"src":r=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Ve(e,t,n,o,a,null)}}i&&Ve(e,t,"srcSet",a.srcSet,a,null),r&&Ve(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var l=n=o=i=null,c=null,p=null;for(r in a)if(a.hasOwnProperty(r)){var d=a[r];if(d!=null)switch(r){case"name":i=d;break;case"type":o=d;break;case"checked":c=d;break;case"defaultChecked":p=d;break;case"value":n=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(B(137,t));break;default:Ve(e,t,r,d,a,null)}}zg(e,n,l,c,p,o,i,!1);return;case"select":Ce("invalid",e),r=o=n=null;for(i in a)if(a.hasOwnProperty(i)&&(l=a[i],l!=null))switch(i){case"value":n=l;break;case"defaultValue":o=l;break;case"multiple":r=l;default:Ve(e,t,i,l,a,null)}t=n,a=o,e.multiple=!!r,t!=null?en(e,!!r,t,!1):a!=null&&en(e,!!r,a,!0);return;case"textarea":Ce("invalid",e),n=i=r=null;for(o in a)if(a.hasOwnProperty(o)&&(l=a[o],l!=null))switch(o){case"value":r=l;break;case"defaultValue":i=l;break;case"children":n=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(B(91));break;default:Ve(e,t,o,l,a,null)}Rg(e,r,i,n);return;case"option":for(c in a)a.hasOwnProperty(c)&&(r=a[c],r!=null)&&(c==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Ve(e,t,c,r,a,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(r=0;r<Ao.length;r++)Ce(Ao[r],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("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(p in a)if(a.hasOwnProperty(p)&&(r=a[p],r!=null))switch(p){case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Ve(e,t,p,r,a,null)}return;default:if(yp(t)){for(d in a)a.hasOwnProperty(d)&&(r=a[d],r!==void 0&&ip(e,t,d,r,a,void 0));return}}for(l in a)a.hasOwnProperty(l)&&(r=a[l],r!=null&&Ve(e,t,l,r,a,null))}function d1(e,t,a,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,n=null,o=null,l=null,c=null,p=null,d=null;for(b in a){var h=a[b];if(a.hasOwnProperty(b)&&h!=null)switch(b){case"checked":break;case"value":break;case"defaultValue":c=h;default:r.hasOwnProperty(b)||Ve(e,t,b,null,r,h)}}for(var m in r){var b=r[m];if(h=a[m],r.hasOwnProperty(m)&&(b!=null||h!=null))switch(m){case"type":n=b;break;case"name":i=b;break;case"checked":p=b;break;case"defaultChecked":d=b;break;case"value":o=b;break;case"defaultValue":l=b;break;case"children":case"dangerouslySetInnerHTML":if(b!=null)throw Error(B(137,t));break;default:b!==h&&Ve(e,t,m,b,r,h)}}Mu(e,o,l,c,p,d,n,i);return;case"select":b=o=l=m=null;for(n in a)if(c=a[n],a.hasOwnProperty(n)&&c!=null)switch(n){case"value":break;case"multiple":b=c;default:r.hasOwnProperty(n)||Ve(e,t,n,null,r,c)}for(i in r)if(n=r[i],c=a[i],r.hasOwnProperty(i)&&(n!=null||c!=null))switch(i){case"value":m=n;break;case"defaultValue":l=n;break;case"multiple":o=n;default:n!==c&&Ve(e,t,i,n,r,c)}t=l,a=o,r=b,m!=null?en(e,!!a,m,!1):!!r!=!!a&&(t!=null?en(e,!!a,t,!0):en(e,!!a,a?[]:"",!1));return;case"textarea":b=m=null;for(l in a)if(i=a[l],a.hasOwnProperty(l)&&i!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:Ve(e,t,l,null,r,i)}for(o in r)if(i=r[o],n=a[o],r.hasOwnProperty(o)&&(i!=null||n!=null))switch(o){case"value":m=i;break;case"defaultValue":b=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(B(91));break;default:i!==n&&Ve(e,t,o,i,r,n)}Ag(e,m,b);return;case"option":for(var y in a)m=a[y],a.hasOwnProperty(y)&&m!=null&&!r.hasOwnProperty(y)&&(y==="selected"?e.selected=!1:Ve(e,t,y,null,r,m));for(c in r)m=r[c],b=a[c],r.hasOwnProperty(c)&&m!==b&&(m!=null||b!=null)&&(c==="selected"?e.selected=m&&typeof m!="function"&&typeof m!="symbol":Ve(e,t,c,m,r,b));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 T in a)m=a[T],a.hasOwnProperty(T)&&m!=null&&!r.hasOwnProperty(T)&&Ve(e,t,T,null,r,m);for(p in r)if(m=r[p],b=a[p],r.hasOwnProperty(p)&&m!==b&&(m!=null||b!=null))switch(p){case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(B(137,t));break;default:Ve(e,t,p,m,r,b)}return;default:if(yp(t)){for(var D in a)m=a[D],a.hasOwnProperty(D)&&m!==void 0&&!r.hasOwnProperty(D)&&ip(e,t,D,void 0,r,m);for(d in r)m=r[d],b=a[d],!r.hasOwnProperty(d)||m===b||m===void 0&&b===void 0||ip(e,t,d,m,r,b);return}}for(var f in a)m=a[f],a.hasOwnProperty(f)&&m!=null&&!r.hasOwnProperty(f)&&Ve(e,t,f,null,r,m);for(h in r)m=r[h],b=a[h],!r.hasOwnProperty(h)||m===b||m==null&&b==null||Ve(e,t,h,m,r,b)}function Kf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function m1(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),r=0;r<a.length;r++){var i=a[r],n=i.transferSize,o=i.initiatorType,l=i.duration;if(n&&l&&Kf(o)){for(o=0,l=i.responseEnd,r+=1;r<a.length;r++){var c=a[r],p=c.startTime;if(p>l)break;var d=c.transferSize,h=c.initiatorType;d&&Kf(h)&&(c=c.responseEnd,o+=d*(c<l?1:(l-p)/(c-p)))}if(--r,t+=8*(n+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 np=null,op=null;function ws(e){return e.nodeType===9?e:e.ownerDocument}function Pf(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 Lb(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 lp(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 bu=null;function f1(){var e=window.event;return e&&e.type==="popstate"?e===bu?!1:(bu=e,!0):(bu=null,!1)}var Hb=typeof setTimeout=="function"?setTimeout:void 0,g1=typeof clearTimeout=="function"?clearTimeout:void 0,Jf=typeof Promise=="function"?Promise:void 0,h1=typeof queueMicrotask=="function"?queueMicrotask:typeof Jf<"u"?function(e){return Jf.resolve(null).then(e).catch(b1)}:Hb;function b1(e){setTimeout(function(){throw e})}function Vr(e){return e==="head"}function If(e,t){var a=t,r=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&i.nodeType===8)if(a=i.data,a==="/$"||a==="/&"){if(r===0){e.removeChild(i),bn(t);return}r--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")r++;else if(a==="html")xo(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,xo(a);for(var n=a.firstChild;n;){var o=n.nextSibling,l=n.nodeName;n[Qo]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&n.rel.toLowerCase()==="stylesheet"||a.removeChild(n),n=o}}else a==="body"&&xo(e.ownerDocument.body);a=i}while(a);bn(t)}function Ff(e,t){var a=e;e=0;do{var r=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=r}while(a)}function sp(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":sp(a),wp(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function v1(e,t,a,r){for(;e.nodeType===1;){var i=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Qo])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(n=e.getAttribute("rel"),n==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(n!==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(n=e.getAttribute("src"),(n!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&n&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var n=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===n)return e}else return e;if(e=_a(e.nextSibling),e===null)break}return null}function w1(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=_a(e.nextSibling),e===null))return null;return e}function jb(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=_a(e.nextSibling),e===null))return null;return e}function cp(e){return e.data==="$?"||e.data==="$~"}function up(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function y1(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var r=function(){t(),a.removeEventListener("DOMContentLoaded",r)};a.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function _a(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 pp=null;function Wf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return _a(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function eg(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Qb(e,t,a){switch(t=ws(a),e){case"html":if(e=t.documentElement,!e)throw Error(B(452));return e;case"head":if(e=t.head,!e)throw Error(B(453));return e;case"body":if(e=t.body,!e)throw Error(B(454));return e;default:throw Error(B(451))}}function xo(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);wp(e)}var xa=new Map,tg=new Set;function ys(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var pr=Oe.d;Oe.d={f:_1,r:x1,D:k1,C:N1,L:S1,m:C1,X:E1,S:q1,M:M1};function _1(){var e=pr.f(),t=Bs();return e||t}function x1(e){var t=wn(e);t!==null&&t.tag===5&&t.type==="form"?Uh(t):pr.r(e)}var kn=typeof document>"u"?null:document;function Gb(e,t,a){var r=kn;if(r&&typeof t=="string"&&t){var i=ba(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),tg.has(i)||(tg.add(i),e={rel:e,crossOrigin:a,href:t},r.querySelector(i)===null&&(t=r.createElement("link"),Rt(t,"link",e),St(t),r.head.appendChild(t)))}}function k1(e){pr.D(e),Gb("dns-prefetch",e,null)}function N1(e,t){pr.C(e,t),Gb("preconnect",e,t)}function S1(e,t,a){pr.L(e,t,a);var r=kn;if(r&&e&&t){var i='link[rel="preload"][as="'+ba(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+ba(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+ba(a.imageSizes)+'"]')):i+='[href="'+ba(e)+'"]';var n=i;switch(t){case"style":n=hn(e);break;case"script":n=Nn(e)}xa.has(n)||(e=tt({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),xa.set(n,e),r.querySelector(i)!==null||t==="style"&&r.querySelector(Zo(n))||t==="script"&&r.querySelector(Ko(n))||(t=r.createElement("link"),Rt(t,"link",e),St(t),r.head.appendChild(t)))}}function C1(e,t){pr.m(e,t);var a=kn;if(a&&e){var r=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ba(r)+'"][href="'+ba(e)+'"]',n=i;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Nn(e)}if(!xa.has(n)&&(e=tt({rel:"modulepreload",href:e},t),xa.set(n,e),a.querySelector(i)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ko(n)))return}r=a.createElement("link"),Rt(r,"link",e),St(r),a.head.appendChild(r)}}}function q1(e,t,a){pr.S(e,t,a);var r=kn;if(r&&e){var i=Wi(r).hoistableStyles,n=hn(e);t=t||"default";var o=i.get(n);if(!o){var l={loading:0,preload:null};if(o=r.querySelector(Zo(n)))l.loading=5;else{e=tt({rel:"stylesheet",href:e,"data-precedence":t},a),(a=xa.get(n))&&id(e,a);var c=o=r.createElement("link");St(c),Rt(c,"link",e),c._p=new Promise(function(p,d){c.onload=p,c.onerror=d}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,$l(o,t,r)}o={type:"stylesheet",instance:o,count:1,state:l},i.set(n,o)}}}function E1(e,t){pr.X(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,i=Nn(e),n=r.get(i);n||(n=a.querySelector(Ko(i)),n||(e=tt({src:e,async:!0},t),(t=xa.get(i))&&nd(e,t),n=a.createElement("script"),St(n),Rt(n,"link",e),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},r.set(i,n))}}function M1(e,t){pr.M(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,i=Nn(e),n=r.get(i);n||(n=a.querySelector(Ko(i)),n||(e=tt({src:e,async:!0,type:"module"},t),(t=xa.get(i))&&nd(e,t),n=a.createElement("script"),St(n),Rt(n,"link",e),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},r.set(i,n))}}function ag(e,t,a,r){var i=(i=zr.current)?ys(i):null;if(!i)throw Error(B(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=hn(a.href),a=Wi(i).hoistableStyles,r=a.get(t),r||(r={type:"style",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=hn(a.href);var n=Wi(i).hoistableStyles,o=n.get(e);if(o||(i=i.ownerDocument||i,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(e,o),(n=i.querySelector(Zo(e)))&&!n._p&&(o.instance=n,o.state.loading=5),xa.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},xa.set(e,a),n||T1(i,e,a,o.state))),t&&r===null)throw Error(B(528,""));return o}if(t&&r!==null)throw Error(B(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Nn(a),a=Wi(i).hoistableScripts,r=a.get(t),r||(r={type:"script",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(B(444,e))}}function hn(e){return'href="'+ba(e)+'"'}function Zo(e){return'link[rel="stylesheet"]['+e+"]"}function Yb(e){return tt({},e,{"data-precedence":e.precedence,precedence:null})}function T1(e,t,a,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}),Rt(t,"link",a),St(t),e.head.appendChild(t))}function Nn(e){return'[src="'+ba(e)+'"]'}function Ko(e){return"script[async]"+e}function rg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ba(a.href)+'"]');if(r)return t.instance=r,St(r),r;var i=tt({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),St(r),Rt(r,"style",i),$l(r,a.precedence,e),t.instance=r;case"stylesheet":i=hn(a.href);var n=e.querySelector(Zo(i));if(n)return t.state.loading|=4,t.instance=n,St(n),n;r=Yb(a),(i=xa.get(i))&&id(r,i),n=(e.ownerDocument||e).createElement("link"),St(n);var o=n;return o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Rt(n,"link",r),t.state.loading|=4,$l(n,a.precedence,e),t.instance=n;case"script":return n=Nn(a.src),(i=e.querySelector(Ko(n)))?(t.instance=i,St(i),i):(r=a,(i=xa.get(n))&&(r=tt({},a),nd(r,i)),e=e.ownerDocument||e,i=e.createElement("script"),St(i),Rt(i,"link",r),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(B(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,$l(r,a.precedence,e));return t.instance}function $l(e,t,a){for(var r=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=r.length?r[r.length-1]:null,n=i,o=0;o<r.length;o++){var l=r[o];if(l.dataset.precedence===t)n=l;else if(n!==i)break}n?n.parentNode.insertBefore(e,n.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function id(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function nd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Zl=null;function ig(e,t,a){if(Zl===null){var r=new Map,i=Zl=new Map;i.set(a,r)}else i=Zl,r=i.get(a),r||(r=new Map,i.set(a,r));if(r.has(e))return r;for(r.set(e,null),a=a.getElementsByTagName(e),i=0;i<a.length;i++){var n=a[i];if(!(n[Qo]||n[Tt]||e==="link"&&n.getAttribute("rel")==="stylesheet")&&n.namespaceURI!=="http://www.w3.org/2000/svg"){var o=n.getAttribute(t)||"";o=e+o;var l=r.get(o);l?l.push(n):r.set(o,[n])}}return r}function ng(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function z1(e,t,a){if(a===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;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!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 Xb(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function A1(e,t,a,r){if(a.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=hn(r.href),n=t.querySelector(Zo(i));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=_s.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=n,St(n);return}n=t.ownerDocument||t,r=Yb(r),(i=xa.get(i))&&id(r,i),n=n.createElement("link"),St(n);var o=n;o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Rt(n,"link",r),a.instance=n}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=_s.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var vu=0;function R1(e,t){return e.stylesheets&&e.count===0&&Kl(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var r=setTimeout(function(){if(e.stylesheets&&Kl(e,e.stylesheets),e.unsuspend){var n=e.unsuspend;e.unsuspend=null,n()}},6e4+t);0<e.imgBytes&&vu===0&&(vu=62500*m1());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Kl(e,e.stylesheets),e.unsuspend)){var n=e.unsuspend;e.unsuspend=null,n()}},(e.imgBytes>vu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function _s(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Kl(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var xs=null;function Kl(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,xs=new Map,t.forEach(U1,e),xs=null,_s.call(e))}function U1(e,t){if(!(t.state.loading&4)){var a=xs.get(e);if(a)var r=a.get(null);else{a=new Map,xs.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n<i.length;n++){var o=i[n];(o.nodeName==="LINK"||o.getAttribute("media")!=="not all")&&(a.set(o.dataset.precedence,o),r=o)}r&&a.set(null,r)}i=t.instance,o=i.getAttribute("data-precedence"),n=a.get(o)||r,n===r&&a.set(null,i),a.set(o,i),this.count++,r=_s.bind(this),i.addEventListener("load",r),i.addEventListener("error",r),n?n.parentNode.insertBefore(i,n.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Uo={$$typeof:er,Provider:null,Consumer:null,_currentValue:ri,_currentValue2:ri,_threadCount:0};function D1(e,t,a,r,i,n,o,l,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=Xc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xc(0),this.hiddenUpdates=Xc(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=n,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function Vb(e,t,a,r,i,n,o,l,c,p,d,h){return e=new D1(e,t,a,o,c,p,d,h,l),t=1,n===!0&&(t|=24),n=ra(3,null,null,t),e.current=n,n.stateNode=e,t=zp(),t.refCount++,e.pooledCache=t,t.refCount++,n.memoizedState={element:r,isDehydrated:a,cache:t},Up(n),e}function $b(e){return e?(e=Pi,e):Pi}function Zb(e,t,a,r,i,n){i=$b(i),r.context===null?r.context=i:r.pendingContext=i,r=Rr(t),r.payload={element:a},n=n===void 0?null:n,n!==null&&(r.callback=n),a=Ur(e,r,t),a!==null&&(Kt(a,e,t),fo(a,e,t))}function og(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function od(e,t){og(e,t),(e=e.alternate)&&og(e,t)}function Kb(e){if(e.tag===13||e.tag===31){var t=hi(e,67108864);t!==null&&Kt(t,e,67108864),od(e,67108864)}}function lg(e){if(e.tag===13||e.tag===31){var t=sa();t=bp(t);var a=hi(e,t);a!==null&&Kt(a,e,t),od(e,t)}}var ks=!0;function O1(e,t,a,r){var i=le.T;le.T=null;var n=Oe.p;try{Oe.p=2,ld(e,t,a,r)}finally{Oe.p=n,le.T=i}}function B1(e,t,a,r){var i=le.T;le.T=null;var n=Oe.p;try{Oe.p=8,ld(e,t,a,r)}finally{Oe.p=n,le.T=i}}function ld(e,t,a,r){if(ks){var i=dp(r);if(i===null)hu(e,t,r,Ns,a),sg(e,r);else if(H1(i,e,t,a,r))r.stopPropagation();else if(sg(e,r),t&4&&-1<L1.indexOf(e)){for(;i!==null;){var n=wn(i);if(n!==null)switch(n.tag){case 3:if(n=n.stateNode,n.current.memoizedState.isDehydrated){var o=ei(n.pendingLanes);if(o!==0){var l=n;for(l.pendingLanes|=2,l.entangledLanes|=2;o;){var c=1<<31-la(o);l.entanglements[1]|=c,o&=~c}Qa(n),(De&6)===0&&(ms=na()+500,$o(0,!1))}}break;case 31:case 13:l=hi(n,2),l!==null&&Kt(l,n,2),Bs(),od(n,2)}if(n=dp(r),n===null&&hu(e,t,r,Ns,a),n===i)break;i=n}i!==null&&r.stopPropagation()}else hu(e,t,r,null,a)}}function dp(e){return e=_p(e),sd(e)}var Ns=null;function sd(e){if(Ns=null,e=Yi(e),e!==null){var t=Bo(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=fg(t),e!==null)return e;e=null}else if(a===31){if(e=gg(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ns=e,null}function Pb(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(S0()){case wg:return 2;case yg:return 8;case Wl:case C0:return 32;case _g:return 268435456;default:return 32}default:return 32}}var mp=!1,Br=null,Lr=null,Hr=null,Do=new Map,Oo=new Map,Sr=[],L1="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 sg(e,t){switch(e){case"focusin":case"focusout":Br=null;break;case"dragenter":case"dragleave":Lr=null;break;case"mouseover":case"mouseout":Hr=null;break;case"pointerover":case"pointerout":Do.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Oo.delete(t.pointerId)}}function ao(e,t,a,r,i,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[i]},t!==null&&(t=wn(t),t!==null&&Kb(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function H1(e,t,a,r,i){switch(t){case"focusin":return Br=ao(Br,e,t,a,r,i),!0;case"dragenter":return Lr=ao(Lr,e,t,a,r,i),!0;case"mouseover":return Hr=ao(Hr,e,t,a,r,i),!0;case"pointerover":var n=i.pointerId;return Do.set(n,ao(Do.get(n)||null,e,t,a,r,i)),!0;case"gotpointercapture":return n=i.pointerId,Oo.set(n,ao(Oo.get(n)||null,e,t,a,r,i)),!0}return!1}function Jb(e){var t=Yi(e.target);if(t!==null){var a=Bo(t);if(a!==null){if(t=a.tag,t===13){if(t=fg(a),t!==null){e.blockedOn=t,Xm(e.priority,function(){lg(a)});return}}else if(t===31){if(t=gg(a),t!==null){e.blockedOn=t,Xm(e.priority,function(){lg(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Pl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=dp(e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);zu=r,a.target.dispatchEvent(r),zu=null}else return t=wn(a),t!==null&&Kb(t),e.blockedOn=a,!1;t.shift()}return!0}function cg(e,t,a){Pl(e)&&a.delete(t)}function j1(){mp=!1,Br!==null&&Pl(Br)&&(Br=null),Lr!==null&&Pl(Lr)&&(Lr=null),Hr!==null&&Pl(Hr)&&(Hr=null),Do.forEach(cg),Oo.forEach(cg)}function Rl(e,t){e.blockedOn===t&&(e.blockedOn=null,mp||(mp=!0,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,j1)))}var Ul=null;function ug(e){Ul!==e&&(Ul=e,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,function(){Ul===e&&(Ul=null);for(var t=0;t<e.length;t+=3){var a=e[t],r=e[t+1],i=e[t+2];if(typeof r!="function"){if(sd(r||a)===null)continue;break}var n=wn(a);n!==null&&(e.splice(t,3),t-=3,Zu(n,{pending:!0,data:i,method:a.method,action:r},r,i))}}))}function bn(e){function t(c){return Rl(c,e)}Br!==null&&Rl(Br,e),Lr!==null&&Rl(Lr,e),Hr!==null&&Rl(Hr,e),Do.forEach(t),Oo.forEach(t);for(var a=0;a<Sr.length;a++){var r=Sr[a];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Sr.length&&(a=Sr[0],a.blockedOn===null);)Jb(a),a.blockedOn===null&&Sr.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(r=0;r<a.length;r+=3){var i=a[r],n=a[r+1],o=i[Pt]||null;if(typeof n=="function")o||ug(a);else if(o){var l=null;if(n&&n.hasAttribute("formAction")){if(i=n,o=n[Pt]||null)l=o.formAction;else if(sd(i)!==null)continue}else l=o.action;typeof l=="function"?a[r+1]=l:(a.splice(r,3),r-=3),ug(a)}}}function Ib(){function e(n){n.canIntercept&&n.info==="react-transition"&&n.intercept({handler:function(){return new Promise(function(o){return i=o})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),r||setTimeout(a,20)}function a(){if(!r&&!navigation.transition){var n=navigation.currentEntry;n&&n.url!=null&&navigation.navigate(n.url,{state:n.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(a,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function cd(e){this._internalRoot=e}js.prototype.render=cd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(B(409));var a=t.current,r=sa();Zb(a,r,e,t,null,null)};js.prototype.unmount=cd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Zb(e.current,2,null,e,null,null),Bs(),t[vn]=null}};function js(e){this._internalRoot=e}js.prototype.unstable_scheduleHydration=function(e){if(e){var t=Cg();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Sr.length&&t!==0&&t<Sr[a].priority;a++);Sr.splice(a,0,e),a===0&&Jb(e)}};var pg=dg.version;if(pg!=="19.2.3")throw Error(B(527,pg,"19.2.3"));Oe.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(B(188)):(e=Object.keys(e).join(","),Error(B(268,e)));return e=v0(t),e=e!==null?hg(e):null,e=e===null?null:e.stateNode,e};var Q1={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:le,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(ro=__REACT_DEVTOOLS_GLOBAL_HOOK__,!ro.isDisabled&&ro.supportsFiber))try{Lo=ro.inject(Q1),oa=ro}catch{}var ro;Qs.createRoot=function(e,t){if(!mg(e))throw Error(B(299));var a=!1,r="",i=Gh,n=Yh,o=Xh;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(n=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Vb(e,1,!1,null,null,a,r,null,i,n,o,Ib),e[vn]=t.current,rd(e),new cd(t)};Qs.hydrateRoot=function(e,t,a){if(!mg(e))throw Error(B(299));var r=!1,i="",n=Gh,o=Yh,l=Xh,c=null;return a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(i=a.identifierPrefix),a.onUncaughtError!==void 0&&(n=a.onUncaughtError),a.onCaughtError!==void 0&&(o=a.onCaughtError),a.onRecoverableError!==void 0&&(l=a.onRecoverableError),a.formState!==void 0&&(c=a.formState)),t=Vb(e,1,!0,t,a??null,r,i,c,n,o,l,Ib),t.context=$b(null),a=t.current,r=sa(),r=bp(r),i=Rr(r),i.callback=null,Ur(a,i,r),a=r,t.current.lanes=a,jo(t,a),Qa(t),e[vn]=t.current,rd(e),new js(t)};Qs.version="19.2.3"});var tv=Ua((Nx,ev)=>{"use strict";function Wb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Wb)}catch(e){console.error(e)}}Wb(),ev.exports=Fb()});var $v=Ua(Vs=>{"use strict";var P1=Symbol.for("react.transitional.element"),J1=Symbol.for("react.fragment");function Vv(e,t,a){var r=null;if(a!==void 0&&(r=""+a),t.key!==void 0&&(r=""+t.key),"key"in t){a={};for(var i in t)i!=="key"&&(a[i]=t[i])}else a=t;return t=a.ref,{$$typeof:P1,type:e,key:r,ref:t!==void 0?t:null,props:a}}Vs.Fragment=J1;Vs.jsx=Vv;Vs.jsxs=Vv});var ee=Ua((Ik,Zv)=>{"use strict";Zv.exports=$v()});var jw=G(tv());var av=`/* Every rule is scoped to .app-wrapper, the root of each widget, so nothing here styles
8
+ `+r.stack}}var Cu=Object.prototype.hasOwnProperty,gp=_t.unstable_scheduleCallback,Yc=_t.unstable_cancelCallback,k0=_t.unstable_shouldYield,N0=_t.unstable_requestPaint,na=_t.unstable_now,S0=_t.unstable_getCurrentPriorityLevel,vh=_t.unstable_ImmediatePriority,yh=_t.unstable_UserBlockingPriority,Wl=_t.unstable_NormalPriority,C0=_t.unstable_LowPriority,_h=_t.unstable_IdlePriority,q0=_t.log,E0=_t.unstable_setDisableYieldValue,Lo=null,oa=null;function Cr(e){if(typeof q0=="function"&&E0(e),oa&&typeof oa.setStrictMode=="function")try{oa.setStrictMode(Lo,e)}catch{}}var la=Math.clz32?Math.clz32:z0,M0=Math.log,T0=Math.LN2;function z0(e){return e>>>=0,e===0?32:31-(M0(e)/T0|0)|0}var wl=256,vl=262144,yl=4194304;function ei(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 Ss(e,t,a){var r=e.pendingLanes;if(r===0)return 0;var i=0,n=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~n,r!==0?i=ei(r):(o&=l,o!==0?i=ei(o):a||(a=l&~e,a!==0&&(i=ei(a))))):(l=r&~n,l!==0?i=ei(l):o!==0?i=ei(o):a||(a=r&~e,a!==0&&(i=ei(a)))),i===0?0:t!==0&&t!==i&&(t&n)===0&&(n=i&-i,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:i}function Ho(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function A0(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 xh(){var e=yl;return yl<<=1,(yl&62914560)===0&&(yl=4194304),e}function Xc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function jo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function R0(e,t,a,r,i,n){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var l=e.entanglements,c=e.expirationTimes,p=e.hiddenUpdates;for(a=o&~a;0<a;){var d=31-la(a),g=1<<d;l[d]=0,c[d]=-1;var m=p[d];if(m!==null)for(p[d]=null,d=0;d<m.length;d++){var b=m[d];b!==null&&(b.lane&=-536870913)}a&=~g}r!==0&&kh(e,r,0),n!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=n&~(o&~t))}function kh(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-la(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|a&261930}function Nh(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-la(a),i=1<<r;i&t|e[r]&t&&(e[r]|=t),a&=~i}}function Sh(e,t){var a=t&-t;return a=(a&42)!==0?1:bp(a),(a&(e.suspendedLanes|t))!==0?0:a}function bp(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 wp(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ch(){var e=Oe.p;return e!==0?e:(e=window.event,e===void 0?32:Pb(e.type))}function Xm(e,t){var a=Oe.p;try{return Oe.p=e,t()}finally{Oe.p=a}}var Xr=Math.random().toString(36).slice(2),Tt="__reactFiber$"+Xr,Pt="__reactProps$"+Xr,wn="__reactContainer$"+Xr,qu="__reactEvents$"+Xr,U0="__reactListeners$"+Xr,D0="__reactHandles$"+Xr,Vm="__reactResources$"+Xr,Qo="__reactMarker$"+Xr;function vp(e){delete e[Tt],delete e[Pt],delete e[qu],delete e[U0],delete e[D0]}function Yi(e){var t=e[Tt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[wn]||a[Tt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=eh(e);e!==null;){if(a=e[Tt])return a;e=eh(e)}return t}e=a,a=e.parentNode}return null}function vn(e){if(e=e[Tt]||e[wn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function oo(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(B(33))}function Wi(e){var t=e[Vm];return t||(t=e[Vm]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function St(e){e[Qo]=!0}var qh=new Set,Eh={};function mi(e,t){sn(e,t),sn(e+"Capture",t)}function sn(e,t){for(Eh[e]=t,e=0;e<t.length;e++)qh.add(t[e])}var O0=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]*$"),$m={},Zm={};function B0(e){return Cu.call(Zm,e)?!0:Cu.call($m,e)?!1:O0.test(e)?Zm[e]=!0:($m[e]=!0,!1)}function Dl(e,t,a){if(B0(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){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,""+a)}}function _l(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function Za(e,t,a,r){if(r===null)e.removeAttribute(a);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+r)}}function fa(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function L0(e,t,a){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){a=""+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Eu(e){if(!e._valueTracker){var t=Mh(e)?"checked":"value";e._valueTracker=L0(e,t,""+e[t])}}function Th(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=Mh(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function es(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var H0=/[\n"\\]/g;function ba(e){return e.replace(H0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Mu(e,t,a,r,i,n,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+fa(t)):e.value!==""+fa(t)&&(e.value=""+fa(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Tu(e,o,fa(t)):a!=null?Tu(e,o,fa(a)):r!=null&&e.removeAttribute("value"),i==null&&n!=null&&(e.defaultChecked=!!n),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+fa(l):e.removeAttribute("name")}function zh(e,t,a,r,i,n,o,l){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(e.type=n),t!=null||a!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){Eu(e);return}a=a!=null?""+fa(a):"",t=t!=null?""+fa(t):a,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??i,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),Eu(e)}function Tu(e,t,a){t==="number"&&es(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function en(e,t,a,r){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&r&&(e[a].defaultSelected=!0)}else{for(a=""+fa(a),t=null,i=0;i<e.length;i++){if(e[i].value===a){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Ah(e,t,a){if(t!=null&&(t=""+fa(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+fa(a):""}function Rh(e,t,a,r){if(t==null){if(r!=null){if(a!=null)throw Error(B(92));if(no(r)){if(1<r.length)throw Error(B(93));r=r[0]}a=r}a==null&&(a=""),t=a}a=fa(t),e.defaultValue=a,r=e.textContent,r===a&&r!==""&&r!==null&&(e.value=r),Eu(e)}function cn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var j0=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 Km(e,t,a){var r=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,a):typeof a!="number"||a===0||j0.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Uh(e,t,a){if(t!=null&&typeof t!="object")throw Error(B(62));if(e=e.style,a!=null){for(var r in a)!a.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)&&a[i]!==r&&Km(e,i,r)}else for(var n in t)t.hasOwnProperty(n)&&Km(e,n,t[n])}function yp(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 Q0=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"]]),G0=/^[\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 Ol(e){return G0.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function tr(){}var zu=null;function _p(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Xi=null,tn=null;function Pm(e){var t=vn(e);if(t&&(e=t.stateNode)){var a=e[Pt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Mu(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+ba(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var i=r[Pt]||null;if(!i)throw Error(B(90));Mu(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<a.length;t++)r=a[t],r.form===e.form&&Th(r)}break e;case"textarea":Ah(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&en(e,!!a.multiple,t,!1)}}}var Vc=!1;function Dh(e,t,a){if(Vc)return e(t,a);Vc=!0;try{var r=e(t);return r}finally{if(Vc=!1,(Xi!==null||tn!==null)&&(Bs(),Xi&&(t=Xi,e=tn,tn=Xi=null,Pm(t),e)))for(t=0;t<e.length;t++)Pm(e[t])}}function No(e,t){var a=e.stateNode;if(a===null)return null;var r=a[Pt]||null;if(r===null)return null;a=r[t];e: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 e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(B(231,t,typeof a));return a}var or=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Au=!1;if(or)try{Oi={},Object.defineProperty(Oi,"passive",{get:function(){Au=!0}}),window.addEventListener("test",Oi,Oi),window.removeEventListener("test",Oi,Oi)}catch{Au=!1}var Oi,qr=null,xp=null,Bl=null;function Oh(){if(Bl)return Bl;var e,t=xp,a=t.length,r,i="value"in qr?qr.value:qr.textContent,n=i.length;for(e=0;e<a&&t[e]===i[e];e++);var o=a-e;for(r=1;r<=o&&t[a-r]===i[n-r];r++);return Bl=i.slice(e,1<r?1-r:void 0)}function Ll(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 xl(){return!0}function Jm(){return!1}function Jt(e){function t(a,r,i,n,o){this._reactName=a,this._targetInst=i,this.type=r,this.nativeEvent=n,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(a=e[l],this[l]=a?a(n):n[l]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?xl:Jm,this.isPropagationStopped=Jm,this}return tt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=xl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=xl)},persist:function(){},isPersistent:xl}),t}var fi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Cs=Jt(fi),Go=tt({},fi,{view:0,detail:0}),Y0=Jt(Go),$c,Zc,Fn,qs=tt({},Go,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:kp,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!==Fn&&(Fn&&e.type==="mousemove"?($c=e.screenX-Fn.screenX,Zc=e.screenY-Fn.screenY):Zc=$c=0,Fn=e),$c)},movementY:function(e){return"movementY"in e?e.movementY:Zc}}),Im=Jt(qs),X0=tt({},qs,{dataTransfer:0}),V0=Jt(X0),$0=tt({},Go,{relatedTarget:0}),Kc=Jt($0),Z0=tt({},fi,{animationName:0,elapsedTime:0,pseudoElement:0}),K0=Jt(Z0),P0=tt({},fi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),J0=Jt(P0),I0=tt({},fi,{data:0}),Fm=Jt(I0),F0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},W0={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"},ey={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ty(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ey[e])?!!t[e]:!1}function kp(){return ty}var ay=tt({},Go,{key:function(e){if(e.key){var t=F0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ll(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?W0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:kp,charCode:function(e){return e.type==="keypress"?Ll(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ll(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),ry=Jt(ay),iy=tt({},qs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Wm=Jt(iy),ny=tt({},Go,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:kp}),oy=Jt(ny),ly=tt({},fi,{propertyName:0,elapsedTime:0,pseudoElement:0}),sy=Jt(ly),cy=tt({},qs,{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}),uy=Jt(cy),py=tt({},fi,{newState:0,oldState:0}),dy=Jt(py),my=[9,13,27,32],Np=or&&"CompositionEvent"in window,co=null;or&&"documentMode"in document&&(co=document.documentMode);var fy=or&&"TextEvent"in window&&!co,Bh=or&&(!Np||co&&8<co&&11>=co),ef=" ",tf=!1;function Lh(e,t){switch(e){case"keyup":return my.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vi=!1;function hy(e,t){switch(e){case"compositionend":return Hh(t);case"keypress":return t.which!==32?null:(tf=!0,ef);case"textInput":return e=t.data,e===ef&&tf?null:e;default:return null}}function gy(e,t){if(Vi)return e==="compositionend"||!Np&&Lh(e,t)?(e=Oh(),Bl=xp=qr=null,Vi=!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 Bh&&t.locale!=="ko"?null:t.data;default:return null}}var by={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 af(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!by[e.type]:t==="textarea"}function jh(e,t,a,r){Xi?tn?tn.push(r):tn=[r]:Xi=r,t=ws(t,"onChange"),0<t.length&&(a=new Cs("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var uo=null,So=null;function wy(e){Db(e,0)}function Es(e){var t=oo(e);if(Th(t))return e}function rf(e,t){if(e==="change")return t}var Qh=!1;or&&(or?(Nl="oninput"in document,Nl||(Pc=document.createElement("div"),Pc.setAttribute("oninput","return;"),Nl=typeof Pc.oninput=="function"),kl=Nl):kl=!1,Qh=kl&&(!document.documentMode||9<document.documentMode));var kl,Nl,Pc;function nf(){uo&&(uo.detachEvent("onpropertychange",Gh),So=uo=null)}function Gh(e){if(e.propertyName==="value"&&Es(So)){var t=[];jh(t,So,e,_p(e)),Dh(wy,t)}}function vy(e,t,a){e==="focusin"?(nf(),uo=t,So=a,uo.attachEvent("onpropertychange",Gh)):e==="focusout"&&nf()}function yy(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Es(So)}function _y(e,t){if(e==="click")return Es(t)}function xy(e,t){if(e==="input"||e==="change")return Es(t)}function ky(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ca=typeof Object.is=="function"?Object.is:ky;function Co(e,t){if(ca(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var i=a[r];if(!Cu.call(t,i)||!ca(e[i],t[i]))return!1}return!0}function of(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function lf(e,t){var a=of(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=of(a)}}function Yh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Yh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Xh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=es(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=es(e.document)}return t}function Sp(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 Ny=or&&"documentMode"in document&&11>=document.documentMode,$i=null,Ru=null,po=null,Uu=!1;function sf(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Uu||$i==null||$i!==es(r)||(r=$i,"selectionStart"in r&&Sp(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}),po&&Co(po,r)||(po=r,r=ws(Ru,"onSelect"),0<r.length&&(t=new Cs("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=$i)))}function Fr(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Zi={animationend:Fr("Animation","AnimationEnd"),animationiteration:Fr("Animation","AnimationIteration"),animationstart:Fr("Animation","AnimationStart"),transitionrun:Fr("Transition","TransitionRun"),transitionstart:Fr("Transition","TransitionStart"),transitioncancel:Fr("Transition","TransitionCancel"),transitionend:Fr("Transition","TransitionEnd")},Jc={},Vh={};or&&(Vh=document.createElement("div").style,"AnimationEvent"in window||(delete Zi.animationend.animation,delete Zi.animationiteration.animation,delete Zi.animationstart.animation),"TransitionEvent"in window||delete Zi.transitionend.transition);function hi(e){if(Jc[e])return Jc[e];if(!Zi[e])return e;var t=Zi[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Vh)return Jc[e]=t[a];return e}var $h=hi("animationend"),Zh=hi("animationiteration"),Kh=hi("animationstart"),Sy=hi("transitionrun"),Cy=hi("transitionstart"),qy=hi("transitioncancel"),Ph=hi("transitionend"),Jh=new Map,Du="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(" ");Du.push("scrollEnd");function Aa(e,t){Jh.set(e,t),mi(t,[e])}var ts=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!==null&&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)},ma=[],Ki=0,Cp=0;function Ms(){for(var e=Ki,t=Cp=Ki=0;t<e;){var a=ma[t];ma[t++]=null;var r=ma[t];ma[t++]=null;var i=ma[t];ma[t++]=null;var n=ma[t];if(ma[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}n!==0&&Ih(a,i,n)}}function Ts(e,t,a,r){ma[Ki++]=e,ma[Ki++]=t,ma[Ki++]=a,ma[Ki++]=r,Cp|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function qp(e,t,a,r){return Ts(e,t,a,r),as(e)}function gi(e,t){return Ts(e,null,null,t),as(e)}function Ih(e,t,a){e.lanes|=a;var r=e.alternate;r!==null&&(r.lanes|=a);for(var i=!1,n=e.return;n!==null;)n.childLanes|=a,r=n.alternate,r!==null&&(r.childLanes|=a),n.tag===22&&(e=n.stateNode,e===null||e._visibility&1||(i=!0)),e=n,n=n.return;return e.tag===3?(n=e.stateNode,i&&t!==null&&(i=31-la(a),e=n.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=a|536870912),n):null}function as(e){if(50<_o)throw _o=0,ap=null,Error(B(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Pi={};function Ey(e,t,a,r){this.tag=e,this.key=a,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 ra(e,t,a,r){return new Ey(e,t,a,r)}function Ep(e){return e=e.prototype,!(!e||!e.isReactComponent)}function rr(e,t){var a=e.alternate;return a===null?(a=ra(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Fh(e,t){e.flags&=65011714;var a=e.alternate;return a===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=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Hl(e,t,a,r,i,n){var o=0;if(r=e,typeof e=="function")Ep(e)&&(o=1);else if(typeof e=="string")o=z1(e,a,Ha.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case xu:return e=ra(31,a,t,i),e.elementType=xu,e.lanes=n,e;case Qi:return ii(a.children,i,n,t);case bh:o=8,i|=24;break;case vu:return e=ra(12,a,t,i|2),e.elementType=vu,e.lanes=n,e;case yu:return e=ra(13,a,t,i),e.elementType=yu,e.lanes=n,e;case _u:return e=ra(19,a,t,i),e.elementType=_u,e.lanes=n,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case er:o=10;break e;case wh:o=9;break e;case fp:o=11;break e;case hp:o=14;break e;case yr:o=16,r=null;break e}o=29,a=Error(B(130,e===null?"null":typeof e,"")),r=null}return t=ra(o,a,t,i),t.elementType=e,t.type=r,t.lanes=n,t}function ii(e,t,a,r){return e=ra(7,e,r,t),e.lanes=a,e}function Ic(e,t,a){return e=ra(6,e,null,t),e.lanes=a,e}function Wh(e){var t=ra(18,null,null,0);return t.stateNode=e,t}function Fc(e,t,a){return t=ra(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var cf=new WeakMap;function wa(e,t){if(typeof e=="object"&&e!==null){var a=cf.get(e);return a!==void 0?a:(t={value:e,source:t,stack:Ym(t)},cf.set(e,t),t)}return{value:e,source:t,stack:Ym(t)}}var Ji=[],Ii=0,rs=null,qo=0,ha=[],ga=0,jr=null,Oa=1,Ba="";function Fa(e,t){Ji[Ii++]=qo,Ji[Ii++]=rs,rs=e,qo=t}function eg(e,t,a){ha[ga++]=Oa,ha[ga++]=Ba,ha[ga++]=jr,jr=e;var r=Oa;e=Ba;var i=32-la(r)-1;r&=~(1<<i),a+=1;var n=32-la(t)+i;if(30<n){var o=i-i%5;n=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Oa=1<<32-la(t)+i|a<<i|r,Ba=n+e}else Oa=1<<n|a<<i|r,Ba=e}function Mp(e){e.return!==null&&(Fa(e,1),eg(e,1,0))}function Tp(e){for(;e===rs;)rs=Ji[--Ii],Ji[Ii]=null,qo=Ji[--Ii],Ji[Ii]=null;for(;e===jr;)jr=ha[--ga],ha[ga]=null,Ba=ha[--ga],ha[ga]=null,Oa=ha[--ga],ha[ga]=null}function tg(e,t){ha[ga++]=Oa,ha[ga++]=Ba,ha[ga++]=jr,Oa=t.id,Ba=t.overflow,jr=e}var zt=null,et=null,Te=!1,Ar=null,va=!1,Ou=Error(B(519));function Qr(e){var t=Error(B(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Eo(wa(t,e)),Ou}function uf(e){var t=e.stateNode,a=e.type,r=e.memoizedProps;switch(t[Tt]=e,t[Pt]=r,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<Ao.length;a++)Ce(Ao[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),zh(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Rh(t,r.value,r.defaultValue,r.children)}a=r.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||r.suppressHydrationWarning===!0||Bb(t.textContent,a)?(r.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),r.onScroll!=null&&Ce("scroll",t),r.onScrollEnd!=null&&Ce("scrollend",t),r.onClick!=null&&(t.onclick=tr),t=!0):t=!1,t||Qr(e,!0)}function pf(e){for(zt=e.return;zt;)switch(zt.tag){case 5:case 31:case 13:va=!1;return;case 27:case 3:va=!0;return;default:zt=zt.return}}function Bi(e){if(e!==zt)return!1;if(!Te)return pf(e),Te=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||lp(e.type,e.memoizedProps)),a=!a),a&&et&&Qr(e),pf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));et=Wf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));et=Wf(e)}else t===27?(t=et,Vr(e.type)?(e=pp,pp=null,et=e):et=t):et=zt?_a(e.stateNode.nextSibling):null;return!0}function si(){et=zt=null,Te=!1}function Wc(){var e=Ar;return e!==null&&(Zt===null?Zt=e:Zt.push.apply(Zt,e),Ar=null),e}function Eo(e){Ar===null?Ar=[e]:Ar.push(e)}var Bu=ja(null),bi=null,ar=null;function xr(e,t,a){Ie(Bu,t._currentValue),t._currentValue=a}function ir(e){e._currentValue=Bu.current,Ct(Bu)}function Lu(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Hu(e,t,a,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var n=i.dependencies;if(n!==null){var o=i.child;n=n.firstContext;e:for(;n!==null;){var l=n;n=i;for(var c=0;c<t.length;c++)if(l.context===t[c]){n.lanes|=a,l=n.alternate,l!==null&&(l.lanes|=a),Lu(n.return,a,e),r||(o=null);break e}n=l.next}}else if(i.tag===18){if(o=i.return,o===null)throw Error(B(341));o.lanes|=a,n=o.alternate,n!==null&&(n.lanes|=a),Lu(o,a,e),o=null}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}}function yn(e,t,a,r){e=null;for(var i=t,n=!1;i!==null;){if(!n){if((i.flags&524288)!==0)n=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var o=i.alternate;if(o===null)throw Error(B(387));if(o=o.memoizedProps,o!==null){var l=i.type;ca(i.pendingProps.value,o.value)||(e!==null?e.push(l):e=[l])}}else if(i===Jl.current){if(o=i.alternate,o===null)throw Error(B(387));o.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(Uo):e=[Uo])}i=i.return}e!==null&&Hu(t,e,a,r),t.flags|=262144}function is(e){for(e=e.firstContext;e!==null;){if(!ca(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ci(e){bi=e,ar=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function At(e){return ag(bi,e)}function Sl(e,t){return bi===null&&ci(e),ag(e,t)}function ag(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ar===null){if(e===null)throw Error(B(308));ar=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ar=ar.next=t;return a}var My=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Ty=_t.unstable_scheduleCallback,zy=_t.unstable_NormalPriority,ht={$$typeof:er,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function zp(){return{controller:new My,data:new Map,refCount:0}}function Yo(e){e.refCount--,e.refCount===0&&Ty(zy,function(){e.controller.abort()})}var mo=null,ju=0,un=0,an=null;function Ay(e,t){if(mo===null){var a=mo=[];ju=0,un=ad(),an={status:"pending",value:void 0,then:function(r){a.push(r)}}}return ju++,t.then(df,df),t}function df(){if(--ju===0&&mo!==null){an!==null&&(an.status="fulfilled");var e=mo;mo=null,un=0,an=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ry(e,t){var a=[],r={status:"pending",value:null,reason:null,then:function(i){a.push(i)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var i=0;i<a.length;i++)(0,a[i])(t)},function(i){for(r.status="rejected",r.reason=i,i=0;i<a.length;i++)(0,a[i])(void 0)}),r}var mf=le.S;le.S=function(e,t){gb=na(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Ay(e,t),mf!==null&&mf(e,t)};var ni=ja(null);function Ap(){var e=ni.current;return e!==null?e:Ke.pooledCache}function jl(e,t){t===null?Ie(ni,ni.current):Ie(ni,t.pool)}function rg(){var e=Ap();return e===null?null:{parent:ht._currentValue,pool:e}}var _n=Error(B(460)),Rp=Error(B(474)),zs=Error(B(542)),ns={then:function(){}};function ff(e){return e=e.status,e==="fulfilled"||e==="rejected"}function ig(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(tr,tr),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,gf(e),e;default:if(typeof t.status=="string")t.then(tr,tr);else{if(e=Ke,e!==null&&100<e.shellSuspendCounter)throw Error(B(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=r}},function(r){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,gf(e),e}throw oi=t,_n}}function ti(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(oi=a,_n):a}}var oi=null;function hf(){if(oi===null)throw Error(B(459));var e=oi;return oi=null,e}function gf(e){if(e===_n||e===zs)throw Error(B(483))}var rn=null,Mo=0;function Cl(e){var t=Mo;return Mo+=1,rn===null&&(rn=[]),ig(rn,e,t)}function Wn(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ql(e,t){throw t.$$typeof===v0?Error(B(525)):(e=Object.prototype.toString.call(t),Error(B(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ng(e){function t(f,u){if(e){var w=f.deletions;w===null?(f.deletions=[u],f.flags|=16):w.push(u)}}function a(f,u){if(!e)return null;for(;u!==null;)t(f,u),u=u.sibling;return null}function r(f){for(var u=new Map;f!==null;)f.key!==null?u.set(f.key,f):u.set(f.index,f),f=f.sibling;return u}function i(f,u){return f=rr(f,u),f.index=0,f.sibling=null,f}function n(f,u,w){return f.index=w,e?(w=f.alternate,w!==null?(w=w.index,w<u?(f.flags|=67108866,u):w):(f.flags|=67108866,u)):(f.flags|=1048576,u)}function o(f){return e&&f.alternate===null&&(f.flags|=67108866),f}function l(f,u,w,v){return u===null||u.tag!==6?(u=Ic(w,f.mode,v),u.return=f,u):(u=i(u,w),u.return=f,u)}function c(f,u,w,v){var S=w.type;return S===Qi?d(f,u,w.props.children,v,w.key):u!==null&&(u.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===yr&&ti(S)===u.type)?(u=i(u,w.props),Wn(u,w),u.return=f,u):(u=Hl(w.type,w.key,w.props,null,f.mode,v),Wn(u,w),u.return=f,u)}function p(f,u,w,v){return u===null||u.tag!==4||u.stateNode.containerInfo!==w.containerInfo||u.stateNode.implementation!==w.implementation?(u=Fc(w,f.mode,v),u.return=f,u):(u=i(u,w.children||[]),u.return=f,u)}function d(f,u,w,v,S){return u===null||u.tag!==7?(u=ii(w,f.mode,v,S),u.return=f,u):(u=i(u,w),u.return=f,u)}function g(f,u,w){if(typeof u=="string"&&u!==""||typeof u=="number"||typeof u=="bigint")return u=Ic(""+u,f.mode,w),u.return=f,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case bl:return w=Hl(u.type,u.key,u.props,null,f.mode,w),Wn(w,u),w.return=f,w;case io:return u=Fc(u,f.mode,w),u.return=f,u;case yr:return u=ti(u),g(f,u,w)}if(no(u)||In(u))return u=ii(u,f.mode,w,null),u.return=f,u;if(typeof u.then=="function")return g(f,Cl(u),w);if(u.$$typeof===er)return g(f,Sl(f,u),w);ql(f,u)}return null}function m(f,u,w,v){var S=u!==null?u.key:null;if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return S!==null?null:l(f,u,""+w,v);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case bl:return w.key===S?c(f,u,w,v):null;case io:return w.key===S?p(f,u,w,v):null;case yr:return w=ti(w),m(f,u,w,v)}if(no(w)||In(w))return S!==null?null:d(f,u,w,v,null);if(typeof w.then=="function")return m(f,u,Cl(w),v);if(w.$$typeof===er)return m(f,u,Sl(f,w),v);ql(f,w)}return null}function b(f,u,w,v,S){if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return f=f.get(w)||null,l(u,f,""+v,S);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case bl:return f=f.get(v.key===null?w:v.key)||null,c(u,f,v,S);case io:return f=f.get(v.key===null?w:v.key)||null,p(u,f,v,S);case yr:return v=ti(v),b(f,u,w,v,S)}if(no(v)||In(v))return f=f.get(w)||null,d(u,f,v,S,null);if(typeof v.then=="function")return b(f,u,w,Cl(v),S);if(v.$$typeof===er)return b(f,u,w,Sl(u,v),S);ql(u,v)}return null}function y(f,u,w,v){for(var S=null,R=null,z=u,A=u=0,Q=null;z!==null&&A<w.length;A++){z.index>A?(Q=z,z=null):Q=z.sibling;var K=m(f,z,w[A],v);if(K===null){z===null&&(z=Q);break}e&&z&&K.alternate===null&&t(f,z),u=n(K,u,A),R===null?S=K:R.sibling=K,R=K,z=Q}if(A===w.length)return a(f,z),Te&&Fa(f,A),S;if(z===null){for(;A<w.length;A++)z=g(f,w[A],v),z!==null&&(u=n(z,u,A),R===null?S=z:R.sibling=z,R=z);return Te&&Fa(f,A),S}for(z=r(z);A<w.length;A++)Q=b(z,f,A,w[A],v),Q!==null&&(e&&Q.alternate!==null&&z.delete(Q.key===null?A:Q.key),u=n(Q,u,A),R===null?S=Q:R.sibling=Q,R=Q);return e&&z.forEach(function(fe){return t(f,fe)}),Te&&Fa(f,A),S}function T(f,u,w,v){if(w==null)throw Error(B(151));for(var S=null,R=null,z=u,A=u=0,Q=null,K=w.next();z!==null&&!K.done;A++,K=w.next()){z.index>A?(Q=z,z=null):Q=z.sibling;var fe=m(f,z,K.value,v);if(fe===null){z===null&&(z=Q);break}e&&z&&fe.alternate===null&&t(f,z),u=n(fe,u,A),R===null?S=fe:R.sibling=fe,R=fe,z=Q}if(K.done)return a(f,z),Te&&Fa(f,A),S;if(z===null){for(;!K.done;A++,K=w.next())K=g(f,K.value,v),K!==null&&(u=n(K,u,A),R===null?S=K:R.sibling=K,R=K);return Te&&Fa(f,A),S}for(z=r(z);!K.done;A++,K=w.next())K=b(z,f,A,K.value,v),K!==null&&(e&&K.alternate!==null&&z.delete(K.key===null?A:K.key),u=n(K,u,A),R===null?S=K:R.sibling=K,R=K);return e&&z.forEach(function(Ue){return t(f,Ue)}),Te&&Fa(f,A),S}function D(f,u,w,v){if(typeof w=="object"&&w!==null&&w.type===Qi&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case bl:e:{for(var S=w.key;u!==null;){if(u.key===S){if(S=w.type,S===Qi){if(u.tag===7){a(f,u.sibling),v=i(u,w.props.children),v.return=f,f=v;break e}}else if(u.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===yr&&ti(S)===u.type){a(f,u.sibling),v=i(u,w.props),Wn(v,w),v.return=f,f=v;break e}a(f,u);break}else t(f,u);u=u.sibling}w.type===Qi?(v=ii(w.props.children,f.mode,v,w.key),v.return=f,f=v):(v=Hl(w.type,w.key,w.props,null,f.mode,v),Wn(v,w),v.return=f,f=v)}return o(f);case io:e:{for(S=w.key;u!==null;){if(u.key===S)if(u.tag===4&&u.stateNode.containerInfo===w.containerInfo&&u.stateNode.implementation===w.implementation){a(f,u.sibling),v=i(u,w.children||[]),v.return=f,f=v;break e}else{a(f,u);break}else t(f,u);u=u.sibling}v=Fc(w,f.mode,v),v.return=f,f=v}return o(f);case yr:return w=ti(w),D(f,u,w,v)}if(no(w))return y(f,u,w,v);if(In(w)){if(S=In(w),typeof S!="function")throw Error(B(150));return w=S.call(w),T(f,u,w,v)}if(typeof w.then=="function")return D(f,u,Cl(w),v);if(w.$$typeof===er)return D(f,u,Sl(f,w),v);ql(f,w)}return typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint"?(w=""+w,u!==null&&u.tag===6?(a(f,u.sibling),v=i(u,w),v.return=f,f=v):(a(f,u),v=Ic(w,f.mode,v),v.return=f,f=v),o(f)):a(f,u)}return function(f,u,w,v){try{Mo=0;var S=D(f,u,w,v);return rn=null,S}catch(z){if(z===_n||z===zs)throw z;var R=ra(29,z,null,f.mode);return R.lanes=v,R.return=f,R}}}var ui=ng(!0),og=ng(!1),_r=!1;function Up(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Qu(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 Rr(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ur(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(De&2)!==0){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=as(e),Ih(e,null,a),t}return Ts(e,r,t,a),as(e)}function fo(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Nh(e,a)}}function eu(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var i=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};n===null?i=n=o:n=n.next=o,a=a.next}while(a!==null);n===null?i=n=t:n=n.next=t}else i=n=t;a={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:n,shared:r.shared,callbacks:r.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Gu=!1;function ho(){if(Gu){var e=an;if(e!==null)throw e}}function go(e,t,a,r){Gu=!1;var i=e.updateQueue;_r=!1;var n=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,p=c.next;c.next=null,o===null?n=p:o.next=p,o=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=p:l.next=p,d.lastBaseUpdate=c))}if(n!==null){var g=i.baseState;o=0,d=p=c=null,l=n;do{var m=l.lane&-536870913,b=m!==l.lane;if(b?(Me&m)===m:(r&m)===m){m!==0&&m===un&&(Gu=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var y=e,T=l;m=t;var D=a;switch(T.tag){case 1:if(y=T.payload,typeof y=="function"){g=y.call(D,g,m);break e}g=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=T.payload,m=typeof y=="function"?y.call(D,g,m):y,m==null)break e;g=tt({},g,m);break e;case 2:_r=!0}}m=l.callback,m!==null&&(e.flags|=64,b&&(e.flags|=8192),b=i.callbacks,b===null?i.callbacks=[m]:b.push(m))}else b={lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(p=d=b,c=g):d=d.next=b,o|=m;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;b=l,l=b.next,b.next=null,i.lastBaseUpdate=b,i.shared.pending=null}}while(!0);d===null&&(c=g),i.baseState=c,i.firstBaseUpdate=p,i.lastBaseUpdate=d,n===null&&(i.shared.lanes=0),Yr|=o,e.lanes=o,e.memoizedState=g}}function lg(e,t){if(typeof e!="function")throw Error(B(191,e));e.call(t)}function sg(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)lg(a[e],t)}var pn=ja(null),os=ja(0);function bf(e,t){e=ur,Ie(os,e),Ie(pn,t),ur=e|t.baseLanes}function Yu(){Ie(os,ur),Ie(pn,pn.current)}function Dp(){ur=os.current,Ct(pn),Ct(os)}var ua=ja(null),ya=null;function kr(e){var t=e.alternate;Ie(ct,ct.current&1),Ie(ua,e),ya===null&&(t===null||pn.current!==null||t.memoizedState!==null)&&(ya=e)}function Xu(e){Ie(ct,ct.current),Ie(ua,e),ya===null&&(ya=e)}function cg(e){e.tag===22?(Ie(ct,ct.current),Ie(ua,e),ya===null&&(ya=e)):Nr(e)}function Nr(){Ie(ct,ct.current),Ie(ua,ua.current)}function aa(e){Ct(ua),ya===e&&(ya=null),Ct(ct)}var ct=ja(0);function ls(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||cp(a)||up(a)))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)!==0)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 lr=0,he=null,$e=null,mt=null,ss=!1,nn=!1,pi=!1,cs=0,To=0,on=null,Uy=0;function nt(){throw Error(B(321))}function Op(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!ca(e[a],t[a]))return!1;return!0}function Bp(e,t,a,r,i,n){return lr=n,he=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,le.H=e===null||e.memoizedState===null?jg:Kp,pi=!1,n=a(r,i),pi=!1,nn&&(n=pg(t,a,r,i)),ug(e),n}function ug(e){le.H=zo;var t=$e!==null&&$e.next!==null;if(lr=0,mt=$e=he=null,ss=!1,To=0,on=null,t)throw Error(B(300));e===null||gt||(e=e.dependencies,e!==null&&is(e)&&(gt=!0))}function pg(e,t,a,r){he=e;var i=0;do{if(nn&&(on=null),To=0,nn=!1,25<=i)throw Error(B(301));if(i+=1,mt=$e=null,e.updateQueue!=null){var n=e.updateQueue;n.lastEffect=null,n.events=null,n.stores=null,n.memoCache!=null&&(n.memoCache.index=0)}le.H=Qg,n=t(a,r)}while(nn);return n}function Dy(){var e=le.H,t=e.useState()[0];return t=typeof t.then=="function"?Xo(t):t,e=e.useState()[0],($e!==null?$e.memoizedState:null)!==e&&(he.flags|=1024),t}function Lp(){var e=cs!==0;return cs=0,e}function Hp(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function jp(e){if(ss){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ss=!1}lr=0,mt=$e=he=null,nn=!1,To=cs=0,on=null}function Ht(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return mt===null?he.memoizedState=mt=e:mt=mt.next=e,mt}function ut(){if($e===null){var e=he.alternate;e=e!==null?e.memoizedState:null}else e=$e.next;var t=mt===null?he.memoizedState:mt.next;if(t!==null)mt=t,$e=e;else{if(e===null)throw he.alternate===null?Error(B(467)):Error(B(310));$e=e,e={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},mt===null?he.memoizedState=mt=e:mt=mt.next=e}return mt}function As(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xo(e){var t=To;return To+=1,on===null&&(on=[]),e=ig(on,e,t),t=he,(mt===null?t.memoizedState:mt.next)===null&&(t=t.alternate,le.H=t===null||t.memoizedState===null?jg:Kp),e}function Rs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xo(e);if(e.$$typeof===er)return At(e)}throw Error(B(438,String(e)))}function Qp(e){var t=null,a=he.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var r=he.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=As(),he.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),r=0;r<e;r++)a[r]=y0;return t.index++,a}function sr(e,t){return typeof t=="function"?t(e):t}function Ql(e){var t=ut();return Gp(t,$e,e)}function Gp(e,t,a){var r=e.queue;if(r===null)throw Error(B(311));r.lastRenderedReducer=a;var i=e.baseQueue,n=r.pending;if(n!==null){if(i!==null){var o=i.next;i.next=n.next,n.next=o}t.baseQueue=i=n,r.pending=null}if(n=e.baseState,i===null)e.memoizedState=n;else{t=i.next;var l=o=null,c=null,p=t,d=!1;do{var g=p.lane&-536870913;if(g!==p.lane?(Me&g)===g:(lr&g)===g){var m=p.revertLane;if(m===0)c!==null&&(c=c.next={lane:0,revertLane:0,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),g===un&&(d=!0);else if((lr&m)===m){p=p.next,m===un&&(d=!0);continue}else g={lane:0,revertLane:p.revertLane,gesture:null,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=g,o=n):c=c.next=g,he.lanes|=m,Yr|=m;g=p.action,pi&&a(n,g),n=p.hasEagerState?p.eagerState:a(n,g)}else m={lane:g,revertLane:p.revertLane,gesture:p.gesture,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null},c===null?(l=c=m,o=n):c=c.next=m,he.lanes|=g,Yr|=g;p=p.next}while(p!==null&&p!==t);if(c===null?o=n:c.next=l,!ca(n,e.memoizedState)&&(gt=!0,d&&(a=an,a!==null)))throw a;e.memoizedState=n,e.baseState=o,e.baseQueue=c,r.lastRenderedState=n}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function tu(e){var t=ut(),a=t.queue;if(a===null)throw Error(B(311));a.lastRenderedReducer=e;var r=a.dispatch,i=a.pending,n=t.memoizedState;if(i!==null){a.pending=null;var o=i=i.next;do n=e(n,o.action),o=o.next;while(o!==i);ca(n,t.memoizedState)||(gt=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function dg(e,t,a){var r=he,i=ut(),n=Te;if(n){if(a===void 0)throw Error(B(407));a=a()}else a=t();var o=!ca(($e||i).memoizedState,a);if(o&&(i.memoizedState=a,gt=!0),i=i.queue,Yp(hg.bind(null,r,i,e),[e]),i.getSnapshot!==t||o||mt!==null&&mt.memoizedState.tag&1){if(r.flags|=2048,dn(9,{destroy:void 0},fg.bind(null,r,i,a,t),null),Ke===null)throw Error(B(349));n||(lr&127)!==0||mg(r,t,a)}return a}function mg(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=he.updateQueue,t===null?(t=As(),he.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function fg(e,t,a,r){t.value=a,t.getSnapshot=r,gg(t)&&bg(e)}function hg(e,t,a){return a(function(){gg(t)&&bg(e)})}function gg(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!ca(e,a)}catch{return!0}}function bg(e){var t=gi(e,2);t!==null&&Kt(t,e,2)}function Vu(e){var t=Ht();if(typeof e=="function"){var a=e;if(e=a(),pi){Cr(!0);try{a()}finally{Cr(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:e},t}function wg(e,t,a,r){return e.baseState=a,Gp(e,$e,typeof r=="function"?r:sr)}function Oy(e,t,a,r,i){if(Ds(e))throw Error(B(485));if(e=t.action,e!==null){var n={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(o){n.listeners.push(o)}};le.T!==null?a(!0):n.isTransition=!1,r(n),a=t.pending,a===null?(n.next=t.pending=n,vg(t,n)):(n.next=a.next,t.pending=a.next=n)}}function vg(e,t){var a=t.action,r=t.payload,i=e.state;if(t.isTransition){var n=le.T,o={};le.T=o;try{var l=a(i,r),c=le.S;c!==null&&c(o,l),wf(e,t,l)}catch(p){$u(e,t,p)}finally{n!==null&&o.types!==null&&(n.types=o.types),le.T=n}}else try{n=a(i,r),wf(e,t,n)}catch(p){$u(e,t,p)}}function wf(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(r){vf(e,t,r)},function(r){return $u(e,t,r)}):vf(e,t,a)}function vf(e,t,a){t.status="fulfilled",t.value=a,yg(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,vg(e,a)))}function $u(e,t,a){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=a,yg(t),t=t.next;while(t!==r)}e.action=null}function yg(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function _g(e,t){return t}function yf(e,t){if(Te){var a=Ke.formState;if(a!==null){e:{var r=he;if(Te){if(et){t:{for(var i=et,n=va;i.nodeType!==8;){if(!n){i=null;break t}if(i=_a(i.nextSibling),i===null){i=null;break t}}n=i.data,i=n==="F!"||n==="F"?i:null}if(i){et=_a(i.nextSibling),r=i.data==="F!";break e}}Qr(r)}r=!1}r&&(t=a[0])}}return a=Ht(),a.memoizedState=a.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_g,lastRenderedState:t},a.queue=r,a=Bg.bind(null,he,r),r.dispatch=a,r=Vu(!1),n=Zp.bind(null,he,!1,r.queue),r=Ht(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,a=Oy.bind(null,he,i,n,a),i.dispatch=a,r.memoizedState=e,[t,a,!1]}function _f(e){var t=ut();return xg(t,$e,e)}function xg(e,t,a){if(t=Gp(e,t,_g)[0],e=Ql(sr)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Xo(t)}catch(o){throw o===_n?zs:o}else r=t;t=ut();var i=t.queue,n=i.dispatch;return a!==t.memoizedState&&(he.flags|=2048,dn(9,{destroy:void 0},By.bind(null,i,a),null)),[r,n,e]}function By(e,t){e.action=t}function xf(e){var t=ut(),a=$e;if(a!==null)return xg(t,a,e);ut(),t=t.memoizedState,a=ut();var r=a.queue.dispatch;return a.memoizedState=e,[t,r,!1]}function dn(e,t,a,r){return e={tag:e,create:a,deps:r,inst:t,next:null},t=he.updateQueue,t===null&&(t=As(),he.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e),e}function kg(){return ut().memoizedState}function Gl(e,t,a,r){var i=Ht();he.flags|=e,i.memoizedState=dn(1|t,{destroy:void 0},a,r===void 0?null:r)}function Us(e,t,a,r){var i=ut();r=r===void 0?null:r;var n=i.memoizedState.inst;$e!==null&&r!==null&&Op(r,$e.memoizedState.deps)?i.memoizedState=dn(t,n,a,r):(he.flags|=e,i.memoizedState=dn(1|t,n,a,r))}function kf(e,t){Gl(8390656,8,e,t)}function Yp(e,t){Us(2048,8,e,t)}function Ly(e){he.flags|=4;var t=he.updateQueue;if(t===null)t=As(),he.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Ng(e){var t=ut().memoizedState;return Ly({ref:t,nextImpl:e}),function(){if((De&2)!==0)throw Error(B(440));return t.impl.apply(void 0,arguments)}}function Sg(e,t){return Us(4,2,e,t)}function Cg(e,t){return Us(4,4,e,t)}function qg(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Eg(e,t,a){a=a!=null?a.concat([e]):null,Us(4,4,qg.bind(null,t,e),a)}function Xp(){}function Mg(e,t){var a=ut();t=t===void 0?null:t;var r=a.memoizedState;return t!==null&&Op(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function Tg(e,t){var a=ut();t=t===void 0?null:t;var r=a.memoizedState;if(t!==null&&Op(t,r[1]))return r[0];if(r=e(),pi){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r}function Vp(e,t,a){return a===void 0||(lr&1073741824)!==0&&(Me&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=wb(),he.lanes|=e,Yr|=e,a)}function zg(e,t,a,r){return ca(a,t)?a:pn.current!==null?(e=Vp(e,a,r),ca(e,t)||(gt=!0),e):(lr&42)===0||(lr&1073741824)!==0&&(Me&261930)===0?(gt=!0,e.memoizedState=a):(e=wb(),he.lanes|=e,Yr|=e,t)}function Ag(e,t,a,r,i){var n=Oe.p;Oe.p=n!==0&&8>n?n:8;var o=le.T,l={};le.T=l,Zp(e,!1,t,a);try{var c=i(),p=le.S;if(p!==null&&p(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=Ry(c,r);bo(e,t,d,sa(e))}else bo(e,t,r,sa(e))}catch(g){bo(e,t,{then:function(){},status:"rejected",reason:g},sa())}finally{Oe.p=n,o!==null&&l.types!==null&&(o.types=l.types),le.T=o}}function Hy(){}function Zu(e,t,a,r){if(e.tag!==5)throw Error(B(476));var i=Rg(e).queue;Ag(e,i,t,ri,a===null?Hy:function(){return Ug(e),a(r)})}function Rg(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ri,baseState:ri,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:ri},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sr,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ug(e){var t=Rg(e);t.next===null&&(t=e.alternate.memoizedState),bo(e,t.next.queue,{},sa())}function $p(){return At(Uo)}function Dg(){return ut().memoizedState}function Og(){return ut().memoizedState}function jy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=sa();e=Rr(a);var r=Ur(t,e,a);r!==null&&(Kt(r,t,a),fo(r,t,a)),t={cache:zp()},e.payload=t;return}t=t.return}}function Qy(e,t,a){var r=sa();a={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ds(e)?Lg(t,a):(a=qp(e,t,a,r),a!==null&&(Kt(a,e,r),Hg(a,t,r)))}function Bg(e,t,a){var r=sa();bo(e,t,a,r)}function bo(e,t,a,r){var i={lane:r,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ds(e))Lg(t,i);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,l=n(o,a);if(i.hasEagerState=!0,i.eagerState=l,ca(l,o))return Ts(e,t,i,0),Ke===null&&Ms(),!1}catch{}if(a=qp(e,t,i,r),a!==null)return Kt(a,e,r),Hg(a,t,r),!0}return!1}function Zp(e,t,a,r){if(r={lane:2,revertLane:ad(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ds(e)){if(t)throw Error(B(479))}else t=qp(e,a,r,2),t!==null&&Kt(t,e,2)}function Ds(e){var t=e.alternate;return e===he||t!==null&&t===he}function Lg(e,t){nn=ss=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Hg(e,t,a){if((a&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Nh(e,a)}}var zo={readContext:At,use:Rs,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useLayoutEffect:nt,useInsertionEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useSyncExternalStore:nt,useId:nt,useHostTransitionStatus:nt,useFormState:nt,useActionState:nt,useOptimistic:nt,useMemoCache:nt,useCacheRefresh:nt};zo.useEffectEvent=nt;var jg={readContext:At,use:Rs,useCallback:function(e,t){return Ht().memoizedState=[e,t===void 0?null:t],e},useContext:At,useEffect:kf,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Gl(4194308,4,qg.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Gl(4194308,4,e,t)},useInsertionEffect:function(e,t){Gl(4,2,e,t)},useMemo:function(e,t){var a=Ht();t=t===void 0?null:t;var r=e();if(pi){Cr(!0);try{e()}finally{Cr(!1)}}return a.memoizedState=[r,t],r},useReducer:function(e,t,a){var r=Ht();if(a!==void 0){var i=a(t);if(pi){Cr(!0);try{a(t)}finally{Cr(!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=Qy.bind(null,he,e),[r.memoizedState,e]},useRef:function(e){var t=Ht();return e={current:e},t.memoizedState=e},useState:function(e){e=Vu(e);var t=e.queue,a=Bg.bind(null,he,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Xp,useDeferredValue:function(e,t){var a=Ht();return Vp(a,e,t)},useTransition:function(){var e=Vu(!1);return e=Ag.bind(null,he,e.queue,!0,!1),Ht().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var r=he,i=Ht();if(Te){if(a===void 0)throw Error(B(407));a=a()}else{if(a=t(),Ke===null)throw Error(B(349));(Me&127)!==0||mg(r,t,a)}i.memoizedState=a;var n={value:a,getSnapshot:t};return i.queue=n,kf(hg.bind(null,r,n,e),[e]),r.flags|=2048,dn(9,{destroy:void 0},fg.bind(null,r,n,a,t),null),a},useId:function(){var e=Ht(),t=Ke.identifierPrefix;if(Te){var a=Ba,r=Oa;a=(r&~(1<<32-la(r)-1)).toString(32)+a,t="_"+t+"R_"+a,a=cs++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Uy++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:$p,useFormState:yf,useActionState:yf,useOptimistic:function(e){var t=Ht();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Zp.bind(null,he,!0,a),a.dispatch=t,[e,t]},useMemoCache:Qp,useCacheRefresh:function(){return Ht().memoizedState=jy.bind(null,he)},useEffectEvent:function(e){var t=Ht(),a={impl:e};return t.memoizedState=a,function(){if((De&2)!==0)throw Error(B(440));return a.impl.apply(void 0,arguments)}}},Kp={readContext:At,use:Rs,useCallback:Mg,useContext:At,useEffect:Yp,useImperativeHandle:Eg,useInsertionEffect:Sg,useLayoutEffect:Cg,useMemo:Tg,useReducer:Ql,useRef:kg,useState:function(){return Ql(sr)},useDebugValue:Xp,useDeferredValue:function(e,t){var a=ut();return zg(a,$e.memoizedState,e,t)},useTransition:function(){var e=Ql(sr)[0],t=ut().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:dg,useId:Dg,useHostTransitionStatus:$p,useFormState:_f,useActionState:_f,useOptimistic:function(e,t){var a=ut();return wg(a,$e,e,t)},useMemoCache:Qp,useCacheRefresh:Og};Kp.useEffectEvent=Ng;var Qg={readContext:At,use:Rs,useCallback:Mg,useContext:At,useEffect:Yp,useImperativeHandle:Eg,useInsertionEffect:Sg,useLayoutEffect:Cg,useMemo:Tg,useReducer:tu,useRef:kg,useState:function(){return tu(sr)},useDebugValue:Xp,useDeferredValue:function(e,t){var a=ut();return $e===null?Vp(a,e,t):zg(a,$e.memoizedState,e,t)},useTransition:function(){var e=tu(sr)[0],t=ut().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:dg,useId:Dg,useHostTransitionStatus:$p,useFormState:xf,useActionState:xf,useOptimistic:function(e,t){var a=ut();return $e!==null?wg(a,$e,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Qp,useCacheRefresh:Og};Qg.useEffectEvent=Ng;function au(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:tt({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Ku={enqueueSetState:function(e,t,a){e=e._reactInternals;var r=sa(),i=Rr(r);i.payload=t,a!=null&&(i.callback=a),t=Ur(e,i,r),t!==null&&(Kt(t,e,r),fo(t,e,r))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=sa(),i=Rr(r);i.tag=1,i.payload=t,a!=null&&(i.callback=a),t=Ur(e,i,r),t!==null&&(Kt(t,e,r),fo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=sa(),r=Rr(a);r.tag=2,t!=null&&(r.callback=t),t=Ur(e,r,a),t!==null&&(Kt(t,e,a),fo(t,e,a))}};function Nf(e,t,a,r,i,n,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,o):t.prototype&&t.prototype.isPureReactComponent?!Co(a,r)||!Co(i,n):!0}function Sf(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Ku.enqueueReplaceState(t,t.state,null)}function di(e,t){var a=t;if("ref"in t){a={};for(var r in t)r!=="ref"&&(a[r]=t[r])}if(e=e.defaultProps){a===t&&(a=tt({},a));for(var i in e)a[i]===void 0&&(a[i]=e[i])}return a}function Gg(e){ts(e)}function Yg(e){console.error(e)}function Xg(e){ts(e)}function us(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function Cf(e,t,a){try{var r=e.onCaughtError;r(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function Pu(e,t,a){return a=Rr(a),a.tag=3,a.payload={element:null},a.callback=function(){us(e,t)},a}function Vg(e){return e=Rr(e),e.tag=3,e}function $g(e,t,a,r){var i=a.type.getDerivedStateFromError;if(typeof i=="function"){var n=r.value;e.payload=function(){return i(n)},e.callback=function(){Cf(t,a,r)}}var o=a.stateNode;o!==null&&typeof o.componentDidCatch=="function"&&(e.callback=function(){Cf(t,a,r),typeof i!="function"&&(Dr===null?Dr=new Set([this]):Dr.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Gy(e,t,a,r,i){if(a.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=a.alternate,t!==null&&yn(t,a,i,!0),a=ua.current,a!==null){switch(a.tag){case 31:case 13:return ya===null?hs():a.alternate===null&&ot===0&&(ot=3),a.flags&=-257,a.flags|=65536,a.lanes=i,r===ns?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([r]):t.add(r),mu(e,r,i)),!1;case 22:return a.flags|=65536,r===ns?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([r]):a.add(r)),mu(e,r,i)),!1}throw Error(B(435,a.tag))}return mu(e,r,i),hs(),!1}if(Te)return t=ua.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Ou&&(e=Error(B(422),{cause:r}),Eo(wa(e,a)))):(r!==Ou&&(t=Error(B(423),{cause:r}),Eo(wa(t,a))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=wa(r,a),i=Pu(e.stateNode,r,i),eu(e,i),ot!==4&&(ot=2)),!1;var n=Error(B(520),{cause:r});if(n=wa(n,a),yo===null?yo=[n]:yo.push(n),ot!==4&&(ot=2),t===null)return!0;r=wa(r,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=i&-i,a.lanes|=e,e=Pu(a.stateNode,r,e),eu(a,e),!1;case 1:if(t=a.type,n=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||n!==null&&typeof n.componentDidCatch=="function"&&(Dr===null||!Dr.has(n))))return a.flags|=65536,i&=-i,a.lanes|=i,i=Vg(i),$g(i,e,a,r),eu(a,i),!1}a=a.return}while(a!==null);return!1}var Pp=Error(B(461)),gt=!1;function Mt(e,t,a,r){t.child=e===null?og(t,null,a,r):ui(t,e.child,a,r)}function qf(e,t,a,r,i){a=a.render;var n=t.ref;if("ref"in r){var o={};for(var l in r)l!=="ref"&&(o[l]=r[l])}else o=r;return ci(t),r=Bp(e,t,a,o,n,i),l=Lp(),e!==null&&!gt?(Hp(e,t,i),cr(e,t,i)):(Te&&l&&Mp(t),t.flags|=1,Mt(e,t,r,i),t.child)}function Ef(e,t,a,r,i){if(e===null){var n=a.type;return typeof n=="function"&&!Ep(n)&&n.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=n,Zg(e,t,n,r,i)):(e=Hl(a.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,!Jp(e,i)){var o=n.memoizedProps;if(a=a.compare,a=a!==null?a:Co,a(o,r)&&e.ref===t.ref)return cr(e,t,i)}return t.flags|=1,e=rr(n,r),e.ref=t.ref,e.return=t,t.child=e}function Zg(e,t,a,r,i){if(e!==null){var n=e.memoizedProps;if(Co(n,r)&&e.ref===t.ref)if(gt=!1,t.pendingProps=r=n,Jp(e,i))(e.flags&131072)!==0&&(gt=!0);else return t.lanes=e.lanes,cr(e,t,i)}return Ju(e,t,a,r,i)}function Kg(e,t,a,r){var i=r.children,n=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(n=n!==null?n.baseLanes|a:a,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~n}else r=0,t.child=null;return Mf(e,t,n,a,r)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&jl(t,n!==null?n.cachePool:null),n!==null?bf(t,n):Yu(),cg(t);else return r=t.lanes=536870912,Mf(e,t,n!==null?n.baseLanes|a:a,a,r)}else n!==null?(jl(t,n.cachePool),bf(t,n),Nr(t),t.memoizedState=null):(e!==null&&jl(t,null),Yu(),Nr(t));return Mt(e,t,i,a),t.child}function lo(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Mf(e,t,a,r,i){var n=Ap();return n=n===null?null:{parent:ht._currentValue,pool:n},t.memoizedState={baseLanes:a,cachePool:n},e!==null&&jl(t,null),Yu(),cg(t),e!==null&&yn(e,t,r,!0),t.childLanes=i,null}function Yl(e,t){return t=ps({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Tf(e,t,a){return ui(t,e.child,null,a),e=Yl(t,t.pendingProps),e.flags|=2,aa(t),t.memoizedState=null,e}function Yy(e,t,a){var r=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(r.mode==="hidden")return e=Yl(t,r),t.lanes=536870912,lo(null,e);if(Xu(t),(e=et)?(e=jb(e,va),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Oa,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Wh(e),a.return=t,t.child=a,zt=t,et=null)):e=null,e===null)throw Qr(t);return t.lanes=536870912,null}return Yl(t,r)}var n=e.memoizedState;if(n!==null){var o=n.dehydrated;if(Xu(t),i)if(t.flags&256)t.flags&=-257,t=Tf(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(B(558));else if(gt||yn(e,t,a,!1),i=(a&e.childLanes)!==0,gt||i){if(r=Ke,r!==null&&(o=Sh(r,a),o!==0&&o!==n.retryLane))throw n.retryLane=o,gi(e,o),Kt(r,e,o),Pp;hs(),t=Tf(e,t,a)}else e=n.treeContext,et=_a(o.nextSibling),zt=t,Te=!0,Ar=null,va=!1,e!==null&&tg(t,e),t=Yl(t,r),t.flags|=4096;return t}return e=rr(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Xl(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(B(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Ju(e,t,a,r,i){return ci(t),a=Bp(e,t,a,r,void 0,i),r=Lp(),e!==null&&!gt?(Hp(e,t,i),cr(e,t,i)):(Te&&r&&Mp(t),t.flags|=1,Mt(e,t,a,i),t.child)}function zf(e,t,a,r,i,n){return ci(t),t.updateQueue=null,a=pg(t,r,a,i),ug(e),r=Lp(),e!==null&&!gt?(Hp(e,t,n),cr(e,t,n)):(Te&&r&&Mp(t),t.flags|=1,Mt(e,t,a,n),t.child)}function Af(e,t,a,r,i){if(ci(t),t.stateNode===null){var n=Pi,o=a.contextType;typeof o=="object"&&o!==null&&(n=At(o)),n=new a(r,n),t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Ku,t.stateNode=n,n._reactInternals=t,n=t.stateNode,n.props=r,n.state=t.memoizedState,n.refs={},Up(t),o=a.contextType,n.context=typeof o=="object"&&o!==null?At(o):Pi,n.state=t.memoizedState,o=a.getDerivedStateFromProps,typeof o=="function"&&(au(t,a,o,r),n.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(o=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),o!==n.state&&Ku.enqueueReplaceState(n,n.state,null),go(t,r,n,i),ho(),n.state=t.memoizedState),typeof n.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){n=t.stateNode;var l=t.memoizedProps,c=di(a,l);n.props=c;var p=n.context,d=a.contextType;o=Pi,typeof d=="object"&&d!==null&&(o=At(d));var g=a.getDerivedStateFromProps;d=typeof g=="function"||typeof n.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(l||p!==o)&&Sf(t,n,r,o),_r=!1;var m=t.memoizedState;n.state=m,go(t,r,n,i),ho(),p=t.memoizedState,l||m!==p||_r?(typeof g=="function"&&(au(t,a,g,r),p=t.memoizedState),(c=_r||Nf(t,a,c,r,m,p,o))?(d||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount()),typeof n.componentDidMount=="function"&&(t.flags|=4194308)):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=p),n.props=r,n.state=p,n.context=o,r=c):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{n=t.stateNode,Qu(e,t),o=t.memoizedProps,d=di(a,o),n.props=d,g=t.pendingProps,m=n.context,p=a.contextType,c=Pi,typeof p=="object"&&p!==null&&(c=At(p)),l=a.getDerivedStateFromProps,(p=typeof l=="function"||typeof n.getSnapshotBeforeUpdate=="function")||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(o!==g||m!==c)&&Sf(t,n,r,c),_r=!1,m=t.memoizedState,n.state=m,go(t,r,n,i),ho();var b=t.memoizedState;o!==g||m!==b||_r||e!==null&&e.dependencies!==null&&is(e.dependencies)?(typeof l=="function"&&(au(t,a,l,r),b=t.memoizedState),(d=_r||Nf(t,a,d,r,m,b,c)||e!==null&&e.dependencies!==null&&is(e.dependencies))?(p||typeof n.UNSAFE_componentWillUpdate!="function"&&typeof n.componentWillUpdate!="function"||(typeof n.componentWillUpdate=="function"&&n.componentWillUpdate(r,b,c),typeof n.UNSAFE_componentWillUpdate=="function"&&n.UNSAFE_componentWillUpdate(r,b,c)),typeof n.componentDidUpdate=="function"&&(t.flags|=4),typeof n.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof n.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=b),n.props=r,n.state=b,n.context=c,r=d):(typeof n.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return n=r,Xl(e,t),r=(t.flags&128)!==0,n||r?(n=t.stateNode,a=r&&typeof a.getDerivedStateFromError!="function"?null:n.render(),t.flags|=1,e!==null&&r?(t.child=ui(t,e.child,null,i),t.child=ui(t,null,a,i)):Mt(e,t,a,i),t.memoizedState=n.state,e=t.child):e=cr(e,t,i),e}function Rf(e,t,a,r){return si(),t.flags|=256,Mt(e,t,a,r),t.child}var ru={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function iu(e){return{baseLanes:e,cachePool:rg()}}function nu(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ia),e}function Pg(e,t,a){var r=t.pendingProps,i=!1,n=(t.flags&128)!==0,o;if((o=n)||(o=e!==null&&e.memoizedState===null?!1:(ct.current&2)!==0),o&&(i=!0,t.flags&=-129),o=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(i?kr(t):Nr(t),(e=et)?(e=jb(e,va),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:jr!==null?{id:Oa,overflow:Ba}:null,retryLane:536870912,hydrationErrors:null},a=Wh(e),a.return=t,t.child=a,zt=t,et=null)):e=null,e===null)throw Qr(t);return up(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,i?(Nr(t),i=t.mode,l=ps({mode:"hidden",children:l},i),r=ii(r,i,a,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=iu(a),r.childLanes=nu(e,o,a),t.memoizedState=ru,lo(null,r)):(kr(t),Iu(t,l))}var c=e.memoizedState;if(c!==null&&(l=c.dehydrated,l!==null)){if(n)t.flags&256?(kr(t),t.flags&=-257,t=ou(e,t,a)):t.memoizedState!==null?(Nr(t),t.child=e.child,t.flags|=128,t=null):(Nr(t),l=r.fallback,i=t.mode,r=ps({mode:"visible",children:r.children},i),l=ii(l,i,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,ui(t,e.child,null,a),r=t.child,r.memoizedState=iu(a),r.childLanes=nu(e,o,a),t.memoizedState=ru,t=lo(null,r));else if(kr(t),up(l)){if(o=l.nextSibling&&l.nextSibling.dataset,o)var p=o.dgst;o=p,r=Error(B(419)),r.stack="",r.digest=o,Eo({value:r,source:null,stack:null}),t=ou(e,t,a)}else if(gt||yn(e,t,a,!1),o=(a&e.childLanes)!==0,gt||o){if(o=Ke,o!==null&&(r=Sh(o,a),r!==0&&r!==c.retryLane))throw c.retryLane=r,gi(e,r),Kt(o,e,r),Pp;cp(l)||hs(),t=ou(e,t,a)}else cp(l)?(t.flags|=192,t.child=e.child,t=null):(e=c.treeContext,et=_a(l.nextSibling),zt=t,Te=!0,Ar=null,va=!1,e!==null&&tg(t,e),t=Iu(t,r.children),t.flags|=4096);return t}return i?(Nr(t),l=r.fallback,i=t.mode,c=e.child,p=c.sibling,r=rr(c,{mode:"hidden",children:r.children}),r.subtreeFlags=c.subtreeFlags&65011712,p!==null?l=rr(p,l):(l=ii(l,i,a,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,lo(null,r),r=t.child,l=e.child.memoizedState,l===null?l=iu(a):(i=l.cachePool,i!==null?(c=ht._currentValue,i=i.parent!==c?{parent:c,pool:c}:i):i=rg(),l={baseLanes:l.baseLanes|a,cachePool:i}),r.memoizedState=l,r.childLanes=nu(e,o,a),t.memoizedState=ru,lo(e.child,r)):(kr(t),a=e.child,e=a.sibling,a=rr(a,{mode:"visible",children:r.children}),a.return=t,a.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=a,t.memoizedState=null,a)}function Iu(e,t){return t=ps({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ps(e,t){return e=ra(22,e,null,t),e.lanes=0,e}function ou(e,t,a){return ui(t,e.child,null,a),e=Iu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Uf(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Lu(e.return,t,a)}function lu(e,t,a,r,i,n){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:i,treeForkCount:n}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=a,o.tailMode=i,o.treeForkCount=n)}function Jg(e,t,a){var r=t.pendingProps,i=r.revealOrder,n=r.tail;r=r.children;var o=ct.current,l=(o&2)!==0;if(l?(o=o&1|2,t.flags|=128):o&=1,Ie(ct,o),Mt(e,t,r,a),r=Te?qo:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Uf(e,a,t);else if(e.tag===19)Uf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case"forwards":for(a=t.child,i=null;a!==null;)e=a.alternate,e!==null&&ls(e)===null&&(i=a),a=a.sibling;a=i,a===null?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),lu(t,!1,i,a,n,r);break;case"backwards":case"unstable_legacy-backwards":for(a=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ls(e)===null){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}lu(t,!0,a,null,n,r);break;case"together":lu(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function cr(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(yn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(B(153));if(t.child!==null){for(e=t.child,a=rr(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=rr(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Jp(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&is(e)))}function Xy(e,t,a){switch(t.tag){case 3:Il(t,t.stateNode.containerInfo),xr(t,ht,e.memoizedState.cache),si();break;case 27:case 5:Su(t);break;case 4:Il(t,t.stateNode.containerInfo);break;case 10:xr(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Xu(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(kr(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Pg(e,t,a):(kr(t),e=cr(e,t,a),e!==null?e.sibling:null);kr(t);break;case 19:var i=(e.flags&128)!==0;if(r=(a&t.childLanes)!==0,r||(yn(e,t,a,!1),r=(a&t.childLanes)!==0),i){if(r)return Jg(e,t,a);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ie(ct,ct.current),r)break;return null;case 22:return t.lanes=0,Kg(e,t,a,t.pendingProps);case 24:xr(t,ht,e.memoizedState.cache)}return cr(e,t,a)}function Ig(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)gt=!0;else{if(!Jp(e,a)&&(t.flags&128)===0)return gt=!1,Xy(e,t,a);gt=(e.flags&131072)!==0}else gt=!1,Te&&(t.flags&1048576)!==0&&eg(t,qo,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=ti(t.elementType),t.type=e,typeof e=="function")Ep(e)?(r=di(e,r),t.tag=1,t=Af(null,t,e,r,a)):(t.tag=0,t=Ju(null,t,e,r,a));else{if(e!=null){var i=e.$$typeof;if(i===fp){t.tag=11,t=qf(null,t,e,r,a);break e}else if(i===hp){t.tag=14,t=Ef(null,t,e,r,a);break e}}throw t=ku(e)||e,Error(B(306,t,""))}}return t;case 0:return Ju(e,t,t.type,t.pendingProps,a);case 1:return r=t.type,i=di(r,t.pendingProps),Af(e,t,r,i,a);case 3:e:{if(Il(t,t.stateNode.containerInfo),e===null)throw Error(B(387));r=t.pendingProps;var n=t.memoizedState;i=n.element,Qu(e,t),go(t,r,null,a);var o=t.memoizedState;if(r=o.cache,xr(t,ht,r),r!==n.cache&&Hu(t,[ht],a,!0),ho(),r=o.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){t=Rf(e,t,r,a);break e}else if(r!==i){i=wa(Error(B(424)),t),Eo(i),t=Rf(e,t,r,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,et=_a(e.firstChild),zt=t,Te=!0,Ar=null,va=!0,a=og(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(si(),r===i){t=cr(e,t,a);break e}Mt(e,t,r,a)}t=t.child}return t;case 26:return Xl(e,t),e===null?(a=ah(t.type,null,t.pendingProps,null))?t.memoizedState=a:Te||(a=t.type,e=t.pendingProps,r=vs(zr.current).createElement(a),r[Tt]=t,r[Pt]=e,Rt(r,a,e),St(r),t.stateNode=r):t.memoizedState=ah(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Su(t),e===null&&Te&&(r=t.stateNode=Qb(t.type,t.pendingProps,zr.current),zt=t,va=!0,i=et,Vr(t.type)?(pp=i,et=_a(r.firstChild)):et=i),Mt(e,t,t.pendingProps.children,a),Xl(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((i=r=et)&&(r=w1(r,t.type,t.pendingProps,va),r!==null?(t.stateNode=r,zt=t,et=_a(r.firstChild),va=!1,i=!0):i=!1),i||Qr(t)),Su(t),i=t.type,n=t.pendingProps,o=e!==null?e.memoizedProps:null,r=n.children,lp(i,n)?r=null:o!==null&&lp(i,o)&&(t.flags|=32),t.memoizedState!==null&&(i=Bp(e,t,Dy,null,null,a),Uo._currentValue=i),Xl(e,t),Mt(e,t,r,a),t.child;case 6:return e===null&&Te&&((e=a=et)&&(a=v1(a,t.pendingProps,va),a!==null?(t.stateNode=a,zt=t,et=null,e=!0):e=!1),e||Qr(t)),null;case 13:return Pg(e,t,a);case 4:return Il(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ui(t,null,r,a):Mt(e,t,r,a),t.child;case 11:return qf(e,t,t.type,t.pendingProps,a);case 7:return Mt(e,t,t.pendingProps,a),t.child;case 8:return Mt(e,t,t.pendingProps.children,a),t.child;case 12:return Mt(e,t,t.pendingProps.children,a),t.child;case 10:return r=t.pendingProps,xr(t,t.type,r.value),Mt(e,t,r.children,a),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,ci(t),i=At(i),r=r(i),t.flags|=1,Mt(e,t,r,a),t.child;case 14:return Ef(e,t,t.type,t.pendingProps,a);case 15:return Zg(e,t,t.type,t.pendingProps,a);case 19:return Jg(e,t,a);case 31:return Yy(e,t,a);case 22:return Kg(e,t,a,t.pendingProps);case 24:return ci(t),r=At(ht),e===null?(i=Ap(),i===null&&(i=Ke,n=zp(),i.pooledCache=n,n.refCount++,n!==null&&(i.pooledCacheLanes|=a),i=n),t.memoizedState={parent:r,cache:i},Up(t),xr(t,ht,i)):((e.lanes&a)!==0&&(Qu(e,t),go(t,null,null,a),ho()),i=e.memoizedState,n=t.memoizedState,i.parent!==r?(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),xr(t,ht,r)):(r=n.cache,xr(t,ht,r),r!==i.cache&&Hu(t,[ht],a,!0))),Mt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(B(156,t.tag))}function Ka(e){e.flags|=4}function su(e,t,a,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(_b())e.flags|=8192;else throw oi=ns,Rp}else e.flags&=-16777217}function Df(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Xb(t))if(_b())e.flags|=8192;else throw oi=ns,Rp}function El(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?xh():536870912,e.lanes|=t,mn|=t)}function eo(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function We(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var i=e.child;i!==null;)a|=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;)a|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Vy(e,t,a){var r=t.pendingProps;switch(Tp(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return We(t),null;case 1:return We(t),null;case 3:return a=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ir(ht),ln(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Bi(t)?Ka(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Wc())),We(t),null;case 26:var i=t.type,n=t.memoizedState;return e===null?(Ka(t),n!==null?(We(t),Df(t,n)):(We(t),su(t,i,null,r,a))):n?n!==e.memoizedState?(Ka(t),We(t),Df(t,n)):(We(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&Ka(t),We(t),su(t,i,e,r,a)),null;case 27:if(Fl(t),a=zr.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return We(t),null}e=Ha.current,Bi(t)?uf(t,e):(e=Qb(i,r,a),t.stateNode=e,Ka(t))}return We(t),null;case 5:if(Fl(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return We(t),null}if(n=Ha.current,Bi(t))uf(t,n);else{var o=vs(zr.current);switch(n){case 1:n=o.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:n=o.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":n=o.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":n=o.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":n=o.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof r.is=="string"?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?n.multiple=!0:r.size&&(n.size=r.size);break;default:n=typeof r.is=="string"?o.createElement(i,{is:r.is}):o.createElement(i)}}n[Tt]=t,n[Pt]=r;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)n.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=n;e:switch(Rt(n,i,r),i){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Ka(t)}}return We(t),su(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Ka(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(B(166));if(e=zr.current,Bi(t)){if(e=t.stateNode,a=t.memoizedProps,r=null,i=zt,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Tt]=t,e=!!(e.nodeValue===a||r!==null&&r.suppressHydrationWarning===!0||Bb(e.nodeValue,a)),e||Qr(t,!0)}else e=vs(e).createTextNode(r),e[Tt]=t,t.stateNode=e}return We(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(r=Bi(t),a!==null){if(e===null){if(!r)throw Error(B(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(557));e[Tt]=t}else si(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;We(t),e=!1}else a=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(aa(t),t):(aa(t),null);if((t.flags&128)!==0)throw Error(B(558))}return We(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Bi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(B(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(B(317));i[Tt]=t}else si(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;We(t),i=!1}else i=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(aa(t),t):(aa(t),null)}return aa(t),(t.flags&128)!==0?(t.lanes=a,t):(a=r!==null,e=e!==null&&e.memoizedState!==null,a&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),n=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(n=r.memoizedState.cachePool.pool),n!==i&&(r.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),El(t,t.updateQueue),We(t),null);case 4:return ln(),e===null&&rd(t.stateNode.containerInfo),We(t),null;case 10:return ir(t.type),We(t),null;case 19:if(Ct(ct),r=t.memoizedState,r===null)return We(t),null;if(i=(t.flags&128)!==0,n=r.rendering,n===null)if(i)eo(r,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(n=ls(e),n!==null){for(t.flags|=128,eo(r,!1),e=n.updateQueue,t.updateQueue=e,El(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Fh(a,e),a=a.sibling;return Ie(ct,ct.current&1|2),Te&&Fa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&na()>ms&&(t.flags|=128,i=!0,eo(r,!1),t.lanes=4194304)}else{if(!i)if(e=ls(n),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,El(t,e),eo(r,!0),r.tail===null&&r.tailMode==="hidden"&&!n.alternate&&!Te)return We(t),null}else 2*na()-r.renderingStartTime>ms&&a!==536870912&&(t.flags|=128,i=!0,eo(r,!1),t.lanes=4194304);r.isBackwards?(n.sibling=t.child,t.child=n):(e=r.last,e!==null?e.sibling=n:t.child=n,r.last=n)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=na(),e.sibling=null,a=ct.current,Ie(ct,i?a&1|2:a&1),Te&&Fa(t,r.treeForkCount),e):(We(t),null);case 22:case 23:return aa(t),Dp(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(a&536870912)!==0&&(t.flags&128)===0&&(We(t),t.subtreeFlags&6&&(t.flags|=8192)):We(t),a=t.updateQueue,a!==null&&El(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==a&&(t.flags|=2048),e!==null&&Ct(ni),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ir(ht),We(t),null;case 25:return null;case 30:return null}throw Error(B(156,t.tag))}function $y(e,t){switch(Tp(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ir(ht),ln(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Fl(t),null;case 31:if(t.memoizedState!==null){if(aa(t),t.alternate===null)throw Error(B(340));si()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(aa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(B(340));si()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ct(ct),null;case 4:return ln(),null;case 10:return ir(t.type),null;case 22:case 23:return aa(t),Dp(),e!==null&&Ct(ni),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ir(ht),null;case 25:return null;default:return null}}function Fg(e,t){switch(Tp(t),t.tag){case 3:ir(ht),ln();break;case 26:case 27:case 5:Fl(t);break;case 4:ln();break;case 31:t.memoizedState!==null&&aa(t);break;case 13:aa(t);break;case 19:Ct(ct);break;case 10:ir(t.type);break;case 22:case 23:aa(t),Dp(),e!==null&&Ct(ni);break;case 24:ir(ht)}}function Vo(e,t){try{var a=t.updateQueue,r=a!==null?a.lastEffect:null;if(r!==null){var i=r.next;a=i;do{if((a.tag&e)===e){r=void 0;var n=a.create,o=a.inst;r=n(),o.destroy=r}a=a.next}while(a!==i)}}catch(l){Qe(t,t.return,l)}}function Gr(e,t,a){try{var r=t.updateQueue,i=r!==null?r.lastEffect:null;if(i!==null){var n=i.next;r=n;do{if((r.tag&e)===e){var o=r.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,i=t;var c=a,p=l;try{p()}catch(d){Qe(i,c,d)}}}r=r.next}while(r!==n)}}catch(d){Qe(t,t.return,d)}}function Wg(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{sg(t,a)}catch(r){Qe(e,e.return,r)}}}function eb(e,t,a){a.props=di(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(r){Qe(e,t,r)}}function wo(e,t){try{var a=e.ref;if(a!==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 a=="function"?e.refCleanup=a(r):a.current=r}}catch(i){Qe(e,t,i)}}function La(e,t){var a=e.ref,r=e.refCleanup;if(a!==null)if(typeof r=="function")try{r()}catch(i){Qe(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){Qe(e,t,i)}else a.current=null}function tb(e){var t=e.type,a=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&r.focus();break e;case"img":a.src?r.src=a.src:a.srcSet&&(r.srcset=a.srcSet)}}catch(i){Qe(e,e.return,i)}}function cu(e,t,a){try{var r=e.stateNode;d1(r,e.type,a,t),r[Pt]=t}catch(i){Qe(e,e.return,i)}}function ab(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Vr(e.type)||e.tag===4}function uu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ab(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&&Vr(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Fu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=tr));else if(r!==4&&(r===27&&Vr(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Fu(e,t,a),e=e.sibling;e!==null;)Fu(e,t,a),e=e.sibling}function ds(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(r===27&&Vr(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(ds(e,t,a),e=e.sibling;e!==null;)ds(e,t,a),e=e.sibling}function rb(e){var t=e.stateNode,a=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Rt(t,r,a),t[Tt]=e,t[Pt]=a}catch(n){Qe(e,e.return,n)}}var Wa=!1,ft=!1,pu=!1,Of=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function Zy(e,t){if(e=e.containerInfo,np=ks,e=Xh(e),Sp(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var i=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var o=0,l=-1,c=-1,p=0,d=0,g=e,m=null;t:for(;;){for(var b;g!==a||i!==0&&g.nodeType!==3||(l=o+i),g!==n||r!==0&&g.nodeType!==3||(c=o+r),g.nodeType===3&&(o+=g.nodeValue.length),(b=g.firstChild)!==null;)m=g,g=b;for(;;){if(g===e)break t;if(m===a&&++p===i&&(l=o),m===n&&++d===r&&(c=o),(b=g.nextSibling)!==null)break;g=m,m=g.parentNode}g=b}a=l===-1||c===-1?null:{start:l,end:c}}else a=null}a=a||{start:0,end:0}}else a=null;for(op={focusedElem:e,selectionRange:a},ks=!1,Nt=t;Nt!==null;)if(t=Nt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Nt=e;else for(;Nt!==null;){switch(t=Nt,n=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)i=e[a],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&n!==null){e=void 0,a=t,i=n.memoizedProps,n=n.memoizedState,r=a.stateNode;try{var y=di(a.type,i);e=r.getSnapshotBeforeUpdate(y,n),r.__reactInternalSnapshotBeforeUpdate=e}catch(T){Qe(a,a.return,T)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)sp(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":sp(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(B(163))}if(e=t.sibling,e!==null){e.return=t.return,Nt=e;break}Nt=t.return}}function ib(e,t,a){var r=a.flags;switch(a.tag){case 0:case 11:case 15:Ja(e,a),r&4&&Vo(5,a);break;case 1:if(Ja(e,a),r&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(o){Qe(a,a.return,o)}else{var i=di(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(o){Qe(a,a.return,o)}}r&64&&Wg(a),r&512&&wo(a,a.return);break;case 3:if(Ja(e,a),r&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{sg(e,t)}catch(o){Qe(a,a.return,o)}}break;case 27:t===null&&r&4&&rb(a);case 26:case 5:Ja(e,a),t===null&&r&4&&tb(a),r&512&&wo(a,a.return);break;case 12:Ja(e,a);break;case 31:Ja(e,a),r&4&&lb(e,a);break;case 13:Ja(e,a),r&4&&sb(e,a),r&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=a1.bind(null,a),y1(e,a))));break;case 22:if(r=a.memoizedState!==null||Wa,!r){t=t!==null&&t.memoizedState!==null||ft,i=Wa;var n=ft;Wa=r,(ft=t)&&!n?Ia(e,a,(a.subtreeFlags&8772)!==0):Ja(e,a),Wa=i,ft=n}break;case 30:break;default:Ja(e,a)}}function nb(e){var t=e.alternate;t!==null&&(e.alternate=null,nb(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&vp(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 rt=null,$t=!1;function Pa(e,t,a){for(a=a.child;a!==null;)ob(e,t,a),a=a.sibling}function ob(e,t,a){if(oa&&typeof oa.onCommitFiberUnmount=="function")try{oa.onCommitFiberUnmount(Lo,a)}catch{}switch(a.tag){case 26:ft||La(a,t),Pa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:ft||La(a,t);var r=rt,i=$t;Vr(a.type)&&(rt=a.stateNode,$t=!1),Pa(e,t,a),xo(a.stateNode),rt=r,$t=i;break;case 5:ft||La(a,t);case 6:if(r=rt,i=$t,rt=null,Pa(e,t,a),rt=r,$t=i,rt!==null)if($t)try{(rt.nodeType===9?rt.body:rt.nodeName==="HTML"?rt.ownerDocument.body:rt).removeChild(a.stateNode)}catch(n){Qe(a,t,n)}else try{rt.removeChild(a.stateNode)}catch(n){Qe(a,t,n)}break;case 18:rt!==null&&($t?(e=rt,If(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),bn(e)):If(rt,a.stateNode));break;case 4:r=rt,i=$t,rt=a.stateNode.containerInfo,$t=!0,Pa(e,t,a),rt=r,$t=i;break;case 0:case 11:case 14:case 15:Gr(2,a,t),ft||Gr(4,a,t),Pa(e,t,a);break;case 1:ft||(La(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"&&eb(a,t,r)),Pa(e,t,a);break;case 21:Pa(e,t,a);break;case 22:ft=(r=ft)||a.memoizedState!==null,Pa(e,t,a),ft=r;break;default:Pa(e,t,a)}}function lb(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{bn(e)}catch(a){Qe(t,t.return,a)}}}function sb(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{bn(e)}catch(a){Qe(t,t.return,a)}}function Ky(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Of),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Of),t;default:throw Error(B(435,e.tag))}}function Ml(e,t){var a=Ky(e);t.forEach(function(r){if(!a.has(r)){a.add(r);var i=r1.bind(null,e,r);r.then(i,i)}})}function Xt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var i=a[r],n=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 27:if(Vr(l.type)){rt=l.stateNode,$t=!1;break e}break;case 5:rt=l.stateNode,$t=!1;break e;case 3:case 4:rt=l.stateNode.containerInfo,$t=!0;break e}l=l.return}if(rt===null)throw Error(B(160));ob(n,o,i),rt=null,$t=!1,n=i.alternate,n!==null&&(n.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)cb(t,e),t=t.sibling}var za=null;function cb(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Xt(t,e),Vt(e),r&4&&(Gr(3,e,e.return),Vo(3,e),Gr(5,e,e.return));break;case 1:Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),r&64&&Wa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?r:a.concat(r))));break;case 26:var i=za;if(Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),r&4){var n=a!==null?a.memoizedState:null;if(r=e.memoizedState,a===null)if(r===null)if(e.stateNode===null){e:{r=e.type,a=e.memoizedProps,i=i.ownerDocument||i;t:switch(r){case"title":n=i.getElementsByTagName("title")[0],(!n||n[Qo]||n[Tt]||n.namespaceURI==="http://www.w3.org/2000/svg"||n.hasAttribute("itemprop"))&&(n=i.createElement(r),i.head.insertBefore(n,i.querySelector("head > title"))),Rt(n,r,a),n[Tt]=e,St(n),r=n;break e;case"link":var o=ih("link","href",i).get(r+(a.href||""));if(o){for(var l=0;l<o.length;l++)if(n=o[l],n.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&n.getAttribute("rel")===(a.rel==null?null:a.rel)&&n.getAttribute("title")===(a.title==null?null:a.title)&&n.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){o.splice(l,1);break t}}n=i.createElement(r),Rt(n,r,a),i.head.appendChild(n);break;case"meta":if(o=ih("meta","content",i).get(r+(a.content||""))){for(l=0;l<o.length;l++)if(n=o[l],n.getAttribute("content")===(a.content==null?null:""+a.content)&&n.getAttribute("name")===(a.name==null?null:a.name)&&n.getAttribute("property")===(a.property==null?null:a.property)&&n.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&n.getAttribute("charset")===(a.charSet==null?null:a.charSet)){o.splice(l,1);break t}}n=i.createElement(r),Rt(n,r,a),i.head.appendChild(n);break;default:throw Error(B(468,r))}n[Tt]=e,St(n),r=n}e.stateNode=r}else nh(i,e.type,e.stateNode);else e.stateNode=rh(i,r,e.memoizedProps);else n!==r?(n===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):n.count--,r===null?nh(i,e.type,e.stateNode):rh(i,r,e.memoizedProps)):r===null&&e.stateNode!==null&&cu(e,e.memoizedProps,a.memoizedProps)}break;case 27:Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),a!==null&&r&4&&cu(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Xt(t,e),Vt(e),r&512&&(ft||a===null||La(a,a.return)),e.flags&32){i=e.stateNode;try{cn(i,"")}catch(y){Qe(e,e.return,y)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,cu(e,i,a!==null?a.memoizedProps:i)),r&1024&&(pu=!0);break;case 6:if(Xt(t,e),Vt(e),r&4){if(e.stateNode===null)throw Error(B(162));r=e.memoizedProps,a=e.stateNode;try{a.nodeValue=r}catch(y){Qe(e,e.return,y)}}break;case 3:if(Zl=null,i=za,za=ys(t.containerInfo),Xt(t,e),za=i,Vt(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{bn(t.containerInfo)}catch(y){Qe(e,e.return,y)}pu&&(pu=!1,ub(e));break;case 4:r=za,za=ys(e.stateNode.containerInfo),Xt(t,e),Vt(e),za=r;break;case 12:Xt(t,e),Vt(e);break;case 31:Xt(t,e),Vt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 13:Xt(t,e),Vt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Os=na()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 22:i=e.memoizedState!==null;var c=a!==null&&a.memoizedState!==null,p=Wa,d=ft;if(Wa=p||i,ft=d||c,Xt(t,e),ft=d,Wa=p,Vt(e),r&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(a===null||c||Wa||ft||ai(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){c=a=t;try{if(n=c.stateNode,i)o=n.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{l=c.stateNode;var g=c.memoizedProps.style,m=g!=null&&g.hasOwnProperty("display")?g.display:null;l.style.display=m==null||typeof m=="boolean"?"":(""+m).trim()}}catch(y){Qe(c,c.return,y)}}}else if(t.tag===6){if(a===null){c=t;try{c.stateNode.nodeValue=i?"":c.memoizedProps}catch(y){Qe(c,c.return,y)}}}else if(t.tag===18){if(a===null){c=t;try{var b=c.stateNode;i?Ff(b,!0):Ff(c.stateNode,!1)}catch(y){Qe(c,c.return,y)}}}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 e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(a=r.retryQueue,a!==null&&(r.retryQueue=null,Ml(e,a))));break;case 19:Xt(t,e),Vt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Ml(e,r)));break;case 30:break;case 21:break;default:Xt(t,e),Vt(e)}}function Vt(e){var t=e.flags;if(t&2){try{for(var a,r=e.return;r!==null;){if(ab(r)){a=r;break}r=r.return}if(a==null)throw Error(B(160));switch(a.tag){case 27:var i=a.stateNode,n=uu(e);ds(e,n,i);break;case 5:var o=a.stateNode;a.flags&32&&(cn(o,""),a.flags&=-33);var l=uu(e);ds(e,l,o);break;case 3:case 4:var c=a.stateNode.containerInfo,p=uu(e);Fu(e,p,c);break;default:throw Error(B(161))}}catch(d){Qe(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ub(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ub(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ib(e,t.alternate,t),t=t.sibling}function ai(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Gr(4,t,t.return),ai(t);break;case 1:La(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&eb(t,t.return,a),ai(t);break;case 27:xo(t.stateNode);case 26:case 5:La(t,t.return),ai(t);break;case 22:t.memoizedState===null&&ai(t);break;case 30:ai(t);break;default:ai(t)}e=e.sibling}}function Ia(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,i=e,n=t,o=n.flags;switch(n.tag){case 0:case 11:case 15:Ia(i,n,a),Vo(4,n);break;case 1:if(Ia(i,n,a),r=n,i=r.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(p){Qe(r,r.return,p)}if(r=n,i=r.updateQueue,i!==null){var l=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)lg(c[i],l)}catch(p){Qe(r,r.return,p)}}a&&o&64&&Wg(n),wo(n,n.return);break;case 27:rb(n);case 26:case 5:Ia(i,n,a),a&&r===null&&o&4&&tb(n),wo(n,n.return);break;case 12:Ia(i,n,a);break;case 31:Ia(i,n,a),a&&o&4&&lb(i,n);break;case 13:Ia(i,n,a),a&&o&4&&sb(i,n);break;case 22:n.memoizedState===null&&Ia(i,n,a),wo(n,n.return);break;case 30:break;default:Ia(i,n,a)}t=t.sibling}}function Ip(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Yo(a))}function Fp(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yo(e))}function Ta(e,t,a,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)pb(e,t,a,r),t=t.sibling}function pb(e,t,a,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Ta(e,t,a,r),i&2048&&Vo(9,t);break;case 1:Ta(e,t,a,r);break;case 3:Ta(e,t,a,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yo(e)));break;case 12:if(i&2048){Ta(e,t,a,r),e=t.stateNode;try{var n=t.memoizedProps,o=n.id,l=n.onPostCommit;typeof l=="function"&&l(o,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(c){Qe(t,t.return,c)}}else Ta(e,t,a,r);break;case 31:Ta(e,t,a,r);break;case 13:Ta(e,t,a,r);break;case 23:break;case 22:n=t.stateNode,o=t.alternate,t.memoizedState!==null?n._visibility&2?Ta(e,t,a,r):vo(e,t):n._visibility&2?Ta(e,t,a,r):(n._visibility|=2,Hi(e,t,a,r,(t.subtreeFlags&10256)!==0||!1)),i&2048&&Ip(o,t);break;case 24:Ta(e,t,a,r),i&2048&&Fp(t.alternate,t);break;default:Ta(e,t,a,r)}}function Hi(e,t,a,r,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var n=e,o=t,l=a,c=r,p=o.flags;switch(o.tag){case 0:case 11:case 15:Hi(n,o,l,c,i),Vo(8,o);break;case 23:break;case 22:var d=o.stateNode;o.memoizedState!==null?d._visibility&2?Hi(n,o,l,c,i):vo(n,o):(d._visibility|=2,Hi(n,o,l,c,i)),i&&p&2048&&Ip(o.alternate,o);break;case 24:Hi(n,o,l,c,i),i&&p&2048&&Fp(o.alternate,o);break;default:Hi(n,o,l,c,i)}t=t.sibling}}function vo(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,r=t,i=r.flags;switch(r.tag){case 22:vo(a,r),i&2048&&Ip(r.alternate,r);break;case 24:vo(a,r),i&2048&&Fp(r.alternate,r);break;default:vo(a,r)}t=t.sibling}}var so=8192;function Li(e,t,a){if(e.subtreeFlags&so)for(e=e.child;e!==null;)db(e,t,a),e=e.sibling}function db(e,t,a){switch(e.tag){case 26:Li(e,t,a),e.flags&so&&e.memoizedState!==null&&A1(a,za,e.memoizedState,e.memoizedProps);break;case 5:Li(e,t,a);break;case 3:case 4:var r=za;za=ys(e.stateNode.containerInfo),Li(e,t,a),za=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=so,so=16777216,Li(e,t,a),so=r):Li(e,t,a));break;default:Li(e,t,a)}}function mb(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 to(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];Nt=r,hb(r,e)}mb(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)fb(e),e=e.sibling}function fb(e){switch(e.tag){case 0:case 11:case 15:to(e),e.flags&2048&&Gr(9,e,e.return);break;case 3:to(e);break;case 12:to(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Vl(e)):to(e);break;default:to(e)}}function Vl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var r=t[a];Nt=r,hb(r,e)}mb(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Gr(8,t,t.return),Vl(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Vl(t));break;default:Vl(t)}e=e.sibling}}function hb(e,t){for(;Nt!==null;){var a=Nt;switch(a.tag){case 0:case 11:case 15:Gr(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var r=a.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Yo(a.memoizedState.cache)}if(r=a.child,r!==null)r.return=a,Nt=r;else e:for(a=e;Nt!==null;){r=Nt;var i=r.sibling,n=r.return;if(nb(r),r===a){Nt=null;break e}if(i!==null){i.return=n,Nt=i;break e}Nt=n}}}var Py={getCacheForType:function(e){var t=At(ht),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return At(ht).controller.signal}},Jy=typeof WeakMap=="function"?WeakMap:Map,De=0,Ke=null,qe=null,Me=0,je=0,ta=null,Er=!1,xn=!1,Wp=!1,ur=0,ot=0,Yr=0,li=0,ed=0,ia=0,mn=0,yo=null,Zt=null,Wu=!1,Os=0,gb=0,ms=1/0,fs=null,Dr=null,yt=0,Or=null,fn=null,nr=0,ep=0,tp=null,bb=null,_o=0,ap=null;function sa(){return(De&2)!==0&&Me!==0?Me&-Me:le.T!==null?ad():Ch()}function wb(){if(ia===0)if((Me&536870912)===0||Te){var e=vl;vl<<=1,(vl&3932160)===0&&(vl=262144),ia=e}else ia=536870912;return e=ua.current,e!==null&&(e.flags|=32),ia}function Kt(e,t,a){(e===Ke&&(je===2||je===9)||e.cancelPendingCommit!==null)&&(hn(e,0),Mr(e,Me,ia,!1)),jo(e,a),((De&2)===0||e!==Ke)&&(e===Ke&&((De&2)===0&&(li|=a),ot===4&&Mr(e,Me,ia,!1)),Qa(e))}function vb(e,t,a){if((De&6)!==0)throw Error(B(327));var r=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Ho(e,t),i=r?Wy(e,t):du(e,t,!0),n=r;do{if(i===0){xn&&!r&&Mr(e,t,0,!1);break}else{if(a=e.current.alternate,n&&!Iy(a)){i=du(e,t,!1),n=!1;continue}if(i===2){if(n=t,e.errorRecoveryDisabledLanes&n)var o=0;else o=e.pendingLanes&-536870913,o=o!==0?o:o&536870912?536870912:0;if(o!==0){t=o;e:{var l=e;i=yo;var c=l.current.memoizedState.isDehydrated;if(c&&(hn(l,o).flags|=256),o=du(l,o,!1),o!==2){if(Wp&&!c){l.errorRecoveryDisabledLanes|=n,li|=n,i=4;break e}n=Zt,Zt=i,n!==null&&(Zt===null?Zt=n:Zt.push.apply(Zt,n))}i=o}if(n=!1,i!==2)continue}}if(i===1){hn(e,0),Mr(e,t,0,!0);break}e:{switch(r=e,n=i,n){case 0:case 1:throw Error(B(345));case 4:if((t&4194048)!==t)break;case 6:Mr(r,t,ia,!Er);break e;case 2:Zt=null;break;case 3:case 5:break;default:throw Error(B(329))}if((t&62914560)===t&&(i=Os+300-na(),10<i)){if(Mr(r,t,ia,!Er),Ss(r,0,!0)!==0)break e;nr=t,r.timeoutHandle=Hb(Bf.bind(null,r,a,Zt,fs,Wu,t,ia,li,mn,Er,n,"Throttled",-0,0),i);break e}Bf(r,a,Zt,fs,Wu,t,ia,li,mn,Er,n,null,-0,0)}}break}while(!0);Qa(e)}function Bf(e,t,a,r,i,n,o,l,c,p,d,g,m,b){if(e.timeoutHandle=-1,g=t.subtreeFlags,g&8192||(g&16785408)===16785408){g={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:tr},db(t,n,g);var y=(n&62914560)===n?Os-na():(n&4194048)===n?gb-na():0;if(y=R1(g,y),y!==null){nr=n,e.cancelPendingCommit=y(Hf.bind(null,e,t,n,a,r,i,o,l,c,d,g,null,m,b)),Mr(e,n,o,!p);return}}Hf(e,t,n,a,r,i,o,l,c)}function Iy(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var r=0;r<a.length;r++){var i=a[r],n=i.getSnapshot;i=i.value;try{if(!ca(n(),i))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;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 Mr(e,t,a,r){t&=~ed,t&=~li,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var n=31-la(i),o=1<<n;r[n]=-1,i&=~o}a!==0&&kh(e,a,t)}function Bs(){return(De&6)===0?($o(0,!1),!1):!0}function td(){if(qe!==null){if(je===0)var e=qe.return;else e=qe,ar=bi=null,jp(e),rn=null,Mo=0,e=qe;for(;e!==null;)Fg(e.alternate,e),e=e.return;qe=null}}function hn(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,h1(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),nr=0,td(),Ke=e,qe=a=rr(e.current,null),Me=t,je=0,ta=null,Er=!1,xn=Ho(e,t),Wp=!1,mn=ia=ed=li=Yr=ot=0,Zt=yo=null,Wu=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-la(r),n=1<<i;t|=e[i],r&=~n}return ur=t,Ms(),a}function yb(e,t){he=null,le.H=zo,t===_n||t===zs?(t=hf(),je=3):t===Rp?(t=hf(),je=4):je=t===Pp?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ta=t,qe===null&&(ot=1,us(e,wa(t,e.current)))}function _b(){var e=ua.current;return e===null?!0:(Me&4194048)===Me?ya===null:(Me&62914560)===Me||(Me&536870912)!==0?e===ya:!1}function xb(){var e=le.H;return le.H=zo,e===null?zo:e}function kb(){var e=le.A;return le.A=Py,e}function hs(){ot=4,Er||(Me&4194048)!==Me&&ua.current!==null||(xn=!0),(Yr&134217727)===0&&(li&134217727)===0||Ke===null||Mr(Ke,Me,ia,!1)}function du(e,t,a){var r=De;De|=2;var i=xb(),n=kb();(Ke!==e||Me!==t)&&(fs=null,hn(e,t)),t=!1;var o=ot;e:do try{if(je!==0&&qe!==null){var l=qe,c=ta;switch(je){case 8:td(),o=6;break e;case 3:case 2:case 9:case 6:ua.current===null&&(t=!0);var p=je;if(je=0,ta=null,Fi(e,l,c,p),a&&xn){o=0;break e}break;default:p=je,je=0,ta=null,Fi(e,l,c,p)}}Fy(),o=ot;break}catch(d){yb(e,d)}while(!0);return t&&e.shellSuspendCounter++,ar=bi=null,De=r,le.H=i,le.A=n,qe===null&&(Ke=null,Me=0,Ms()),o}function Fy(){for(;qe!==null;)Nb(qe)}function Wy(e,t){var a=De;De|=2;var r=xb(),i=kb();Ke!==e||Me!==t?(fs=null,ms=na()+500,hn(e,t)):xn=Ho(e,t);e:do try{if(je!==0&&qe!==null){t=qe;var n=ta;t:switch(je){case 1:je=0,ta=null,Fi(e,t,n,1);break;case 2:case 9:if(ff(n)){je=0,ta=null,Lf(t);break}t=function(){je!==2&&je!==9||Ke!==e||(je=7),Qa(e)},n.then(t,t);break e;case 3:je=7;break e;case 4:je=5;break e;case 7:ff(n)?(je=0,ta=null,Lf(t)):(je=0,ta=null,Fi(e,t,n,7));break;case 5:var o=null;switch(qe.tag){case 26:o=qe.memoizedState;case 5:case 27:var l=qe;if(o?Xb(o):l.stateNode.complete){je=0,ta=null;var c=l.sibling;if(c!==null)qe=c;else{var p=l.return;p!==null?(qe=p,Ls(p)):qe=null}break t}}je=0,ta=null,Fi(e,t,n,5);break;case 6:je=0,ta=null,Fi(e,t,n,6);break;case 8:td(),ot=6;break e;default:throw Error(B(462))}}e1();break}catch(d){yb(e,d)}while(!0);return ar=bi=null,le.H=r,le.A=i,De=a,qe!==null?0:(Ke=null,Me=0,Ms(),ot)}function e1(){for(;qe!==null&&!k0();)Nb(qe)}function Nb(e){var t=Ig(e.alternate,e,ur);e.memoizedProps=e.pendingProps,t===null?Ls(e):qe=t}function Lf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=zf(a,t,t.pendingProps,t.type,void 0,Me);break;case 11:t=zf(a,t,t.pendingProps,t.type.render,t.ref,Me);break;case 5:jp(t);default:Fg(a,t),t=qe=Fh(t,ur),t=Ig(a,t,ur)}e.memoizedProps=e.pendingProps,t===null?Ls(e):qe=t}function Fi(e,t,a,r){ar=bi=null,jp(t),rn=null,Mo=0;var i=t.return;try{if(Gy(e,i,t,a,Me)){ot=1,us(e,wa(a,e.current)),qe=null;return}}catch(n){if(i!==null)throw qe=i,n;ot=1,us(e,wa(a,e.current)),qe=null;return}t.flags&32768?(Te||r===1?e=!0:xn||(Me&536870912)!==0?e=!1:(Er=e=!0,(r===2||r===9||r===3||r===6)&&(r=ua.current,r!==null&&r.tag===13&&(r.flags|=16384))),Sb(t,e)):Ls(t)}function Ls(e){var t=e;do{if((t.flags&32768)!==0){Sb(t,Er);return}e=t.return;var a=Vy(t.alternate,t,ur);if(a!==null){qe=a;return}if(t=t.sibling,t!==null){qe=t;return}qe=t=e}while(t!==null);ot===0&&(ot=5)}function Sb(e,t){do{var a=$y(e.alternate,e);if(a!==null){a.flags&=32767,qe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){qe=e;return}qe=e=a}while(e!==null);ot=6,qe=null}function Hf(e,t,a,r,i,n,o,l,c){e.cancelPendingCommit=null;do Hs();while(yt!==0);if((De&6)!==0)throw Error(B(327));if(t!==null){if(t===e.current)throw Error(B(177));if(n=t.lanes|t.childLanes,n|=Cp,R0(e,a,n,o,l,c),e===Ke&&(qe=Ke=null,Me=0),fn=t,Or=e,nr=a,ep=n,tp=i,bb=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,i1(Wl,function(){return Tb(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=le.T,le.T=null,i=Oe.p,Oe.p=2,o=De,De|=4;try{Zy(e,t,a)}finally{De=o,Oe.p=i,le.T=r}}yt=1,Cb(),qb(),Eb()}}function Cb(){if(yt===1){yt=0;var e=Or,t=fn,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=le.T,le.T=null;var r=Oe.p;Oe.p=2;var i=De;De|=4;try{cb(t,e);var n=op,o=Xh(e.containerInfo),l=n.focusedElem,c=n.selectionRange;if(o!==l&&l&&l.ownerDocument&&Yh(l.ownerDocument.documentElement,l)){if(c!==null&&Sp(l)){var p=c.start,d=c.end;if(d===void 0&&(d=p),"selectionStart"in l)l.selectionStart=p,l.selectionEnd=Math.min(d,l.value.length);else{var g=l.ownerDocument||document,m=g&&g.defaultView||window;if(m.getSelection){var b=m.getSelection(),y=l.textContent.length,T=Math.min(c.start,y),D=c.end===void 0?T:Math.min(c.end,y);!b.extend&&T>D&&(o=D,D=T,T=o);var f=lf(l,T),u=lf(l,D);if(f&&u&&(b.rangeCount!==1||b.anchorNode!==f.node||b.anchorOffset!==f.offset||b.focusNode!==u.node||b.focusOffset!==u.offset)){var w=g.createRange();w.setStart(f.node,f.offset),b.removeAllRanges(),T>D?(b.addRange(w),b.extend(u.node,u.offset)):(w.setEnd(u.node,u.offset),b.addRange(w))}}}}for(g=[],b=l;b=b.parentNode;)b.nodeType===1&&g.push({element:b,left:b.scrollLeft,top:b.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<g.length;l++){var v=g[l];v.element.scrollLeft=v.left,v.element.scrollTop=v.top}}ks=!!np,op=np=null}finally{De=i,Oe.p=r,le.T=a}}e.current=t,yt=2}}function qb(){if(yt===2){yt=0;var e=Or,t=fn,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=le.T,le.T=null;var r=Oe.p;Oe.p=2;var i=De;De|=4;try{ib(e,t.alternate,t)}finally{De=i,Oe.p=r,le.T=a}}yt=3}}function Eb(){if(yt===4||yt===3){yt=0,N0();var e=Or,t=fn,a=nr,r=bb;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?yt=5:(yt=0,fn=Or=null,Mb(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(Dr=null),wp(a),t=t.stateNode,oa&&typeof oa.onCommitFiberRoot=="function")try{oa.onCommitFiberRoot(Lo,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=le.T,i=Oe.p,Oe.p=2,le.T=null;try{for(var n=e.onRecoverableError,o=0;o<r.length;o++){var l=r[o];n(l.value,{componentStack:l.stack})}}finally{le.T=t,Oe.p=i}}(nr&3)!==0&&Hs(),Qa(e),i=e.pendingLanes,(a&261930)!==0&&(i&42)!==0?e===ap?_o++:(_o=0,ap=e):_o=0,$o(0,!1)}}function Mb(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yo(t)))}function Hs(){return Cb(),qb(),Eb(),Tb()}function Tb(){if(yt!==5)return!1;var e=Or,t=ep;ep=0;var a=wp(nr),r=le.T,i=Oe.p;try{Oe.p=32>a?32:a,le.T=null,a=tp,tp=null;var n=Or,o=nr;if(yt=0,fn=Or=null,nr=0,(De&6)!==0)throw Error(B(331));var l=De;if(De|=4,fb(n.current),pb(n,n.current,o,a),De=l,$o(0,!1),oa&&typeof oa.onPostCommitFiberRoot=="function")try{oa.onPostCommitFiberRoot(Lo,n)}catch{}return!0}finally{Oe.p=i,le.T=r,Mb(e,t)}}function jf(e,t,a){t=wa(a,t),t=Pu(e.stateNode,t,2),e=Ur(e,t,2),e!==null&&(jo(e,2),Qa(e))}function Qe(e,t,a){if(e.tag===3)jf(e,e,a);else for(;t!==null;){if(t.tag===3){jf(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Dr===null||!Dr.has(r))){e=wa(a,e),a=Vg(2),r=Ur(t,a,2),r!==null&&($g(a,r,t,e),jo(r,2),Qa(r));break}}t=t.return}}function mu(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Jy;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(a)||(Wp=!0,i.add(a),e=t1.bind(null,e,t,a),t.then(e,e))}function t1(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ke===e&&(Me&a)===a&&(ot===4||ot===3&&(Me&62914560)===Me&&300>na()-Os?(De&2)===0&&hn(e,0):ed|=a,mn===Me&&(mn=0)),Qa(e)}function zb(e,t){t===0&&(t=xh()),e=gi(e,t),e!==null&&(jo(e,t),Qa(e))}function a1(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),zb(e,a)}function r1(e,t){var a=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(B(314))}r!==null&&r.delete(t),zb(e,a)}function i1(e,t){return gp(e,t)}var gs=null,ji=null,rp=!1,bs=!1,fu=!1,Tr=0;function Qa(e){e!==ji&&e.next===null&&(ji===null?gs=ji=e:ji=ji.next=e),bs=!0,rp||(rp=!0,o1())}function $o(e,t){if(!fu&&bs){fu=!0;do for(var a=!1,r=gs;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var n=0;else{var o=r.suspendedLanes,l=r.pingedLanes;n=(1<<31-la(42|e)+1)-1,n&=i&~(o&~l),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(a=!0,Qf(r,n))}else n=Me,n=Ss(r,r===Ke?n:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(n&3)===0||Ho(r,n)||(a=!0,Qf(r,n));r=r.next}while(a);fu=!1}}function n1(){Ab()}function Ab(){bs=rp=!1;var e=0;Tr!==0&&f1()&&(e=Tr);for(var t=na(),a=null,r=gs;r!==null;){var i=r.next,n=Rb(r,t);n===0?(r.next=null,a===null?gs=i:a.next=i,i===null&&(ji=a)):(a=r,(e!==0||(n&3)!==0)&&(bs=!0)),r=i}yt!==0&&yt!==5||$o(e,!1),Tr!==0&&(Tr=0)}function Rb(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,n=e.pendingLanes&-62914561;0<n;){var o=31-la(n),l=1<<o,c=i[o];c===-1?((l&a)===0||(l&r)!==0)&&(i[o]=A0(l,t)):c<=t&&(e.expiredLanes|=l),n&=~l}if(t=Ke,a=Me,a=Ss(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,a===0||e===t&&(je===2||je===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Yc(r),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Ho(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(r!==null&&Yc(r),wp(a)){case 2:case 8:a=yh;break;case 32:a=Wl;break;case 268435456:a=_h;break;default:a=Wl}return r=Ub.bind(null,e),a=gp(a,r),e.callbackPriority=t,e.callbackNode=a,t}return r!==null&&r!==null&&Yc(r),e.callbackPriority=2,e.callbackNode=null,2}function Ub(e,t){if(yt!==0&&yt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Hs()&&e.callbackNode!==a)return null;var r=Me;return r=Ss(e,e===Ke?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(vb(e,r,t),Rb(e,na()),e.callbackNode!=null&&e.callbackNode===a?Ub.bind(null,e):null)}function Qf(e,t){if(Hs())return null;vb(e,t,!0)}function o1(){g1(function(){(De&6)!==0?gp(vh,n1):Ab()})}function ad(){if(Tr===0){var e=un;e===0&&(e=wl,wl<<=1,(wl&261888)===0&&(wl=256)),Tr=e}return Tr}function Gf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ol(""+e)}function Yf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function l1(e,t,a,r,i){if(t==="submit"&&a&&a.stateNode===i){var n=Gf((i[Pt]||null).action),o=r.submitter;o&&(t=(t=o[Pt]||null)?Gf(t.formAction):o.getAttribute("formAction"),t!==null&&(n=t,o=null));var l=new Cs("action","action",null,r,i);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Tr!==0){var c=o?Yf(i,o):new FormData(i);Zu(a,{pending:!0,data:c,method:i.method,action:n},null,c)}}else typeof n=="function"&&(l.preventDefault(),c=o?Yf(i,o):new FormData(i),Zu(a,{pending:!0,data:c,method:i.method,action:n},n,c))},currentTarget:i}]})}}for(Tl=0;Tl<Du.length;Tl++)zl=Du[Tl],Xf=zl.toLowerCase(),Vf=zl[0].toUpperCase()+zl.slice(1),Aa(Xf,"on"+Vf);var zl,Xf,Vf,Tl;Aa($h,"onAnimationEnd");Aa(Zh,"onAnimationIteration");Aa(Kh,"onAnimationStart");Aa("dblclick","onDoubleClick");Aa("focusin","onFocus");Aa("focusout","onBlur");Aa(Sy,"onTransitionRun");Aa(Cy,"onTransitionStart");Aa(qy,"onTransitionCancel");Aa(Ph,"onTransitionEnd");sn("onMouseEnter",["mouseout","mouseover"]);sn("onMouseLeave",["mouseout","mouseover"]);sn("onPointerEnter",["pointerout","pointerover"]);sn("onPointerLeave",["pointerout","pointerover"]);mi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));mi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));mi("onBeforeInput",["compositionend","keypress","textInput","paste"]);mi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));mi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));mi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ao="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(" "),s1=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ao));function Db(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],i=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,p=l.currentTarget;if(l=l.listener,c!==n&&i.isPropagationStopped())break e;n=l,i.currentTarget=p;try{n(i)}catch(d){ts(d)}i.currentTarget=null,n=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,p=l.currentTarget,l=l.listener,c!==n&&i.isPropagationStopped())break e;n=l,i.currentTarget=p;try{n(i)}catch(d){ts(d)}i.currentTarget=null,n=c}}}}function Ce(e,t){var a=t[qu];a===void 0&&(a=t[qu]=new Set);var r=e+"__bubble";a.has(r)||(Ob(t,e,2,!1),a.add(r))}function hu(e,t,a){var r=0;t&&(r|=4),Ob(a,e,r,t)}var Al="_reactListening"+Math.random().toString(36).slice(2);function rd(e){if(!e[Al]){e[Al]=!0,qh.forEach(function(a){a!=="selectionchange"&&(s1.has(a)||hu(a,!1,e),hu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Al]||(t[Al]=!0,hu("selectionchange",!1,t))}}function Ob(e,t,a,r){switch(Pb(t)){case 2:var i=O1;break;case 8:i=B1;break;default:i=ld}a=i.bind(null,t,a,e),i=void 0,!Au||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):i!==void 0?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function gu(e,t,a,r,i){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;l!==null;){if(o=Yi(l),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=n=o;continue e}l=l.parentNode}}r=r.return}Dh(function(){var p=n,d=_p(a),g=[];e:{var m=Jh.get(e);if(m!==void 0){var b=Cs,y=e;switch(e){case"keypress":if(Ll(a)===0)break e;case"keydown":case"keyup":b=ry;break;case"focusin":y="focus",b=Kc;break;case"focusout":y="blur",b=Kc;break;case"beforeblur":case"afterblur":b=Kc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":b=Im;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":b=V0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":b=oy;break;case $h:case Zh:case Kh:b=K0;break;case Ph:b=sy;break;case"scroll":case"scrollend":b=Y0;break;case"wheel":b=uy;break;case"copy":case"cut":case"paste":b=J0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":b=Wm;break;case"toggle":case"beforetoggle":b=dy}var T=(t&4)!==0,D=!T&&(e==="scroll"||e==="scrollend"),f=T?m!==null?m+"Capture":null:m;T=[];for(var u=p,w;u!==null;){var v=u;if(w=v.stateNode,v=v.tag,v!==5&&v!==26&&v!==27||w===null||f===null||(v=No(u,f),v!=null&&T.push(Ro(u,v,w))),D)break;u=u.return}0<T.length&&(m=new b(m,y,null,a,d),g.push({event:m,listeners:T}))}}if((t&7)===0){e:{if(m=e==="mouseover"||e==="pointerover",b=e==="mouseout"||e==="pointerout",m&&a!==zu&&(y=a.relatedTarget||a.fromElement)&&(Yi(y)||y[wn]))break e;if((b||m)&&(m=d.window===d?d:(m=d.ownerDocument)?m.defaultView||m.parentWindow:window,b?(y=a.relatedTarget||a.toElement,b=p,y=y?Yi(y):null,y!==null&&(D=Bo(y),T=y.tag,y!==D||T!==5&&T!==27&&T!==6)&&(y=null)):(b=null,y=p),b!==y)){if(T=Im,v="onMouseLeave",f="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(T=Wm,v="onPointerLeave",f="onPointerEnter",u="pointer"),D=b==null?m:oo(b),w=y==null?m:oo(y),m=new T(v,u+"leave",b,a,d),m.target=D,m.relatedTarget=w,v=null,Yi(d)===p&&(T=new T(f,u+"enter",y,a,d),T.target=w,T.relatedTarget=D,v=T),D=v,b&&y)t:{for(T=c1,f=b,u=y,w=0,v=f;v;v=T(v))w++;v=0;for(var S=u;S;S=T(S))v++;for(;0<w-v;)f=T(f),w--;for(;0<v-w;)u=T(u),v--;for(;w--;){if(f===u||u!==null&&f===u.alternate){T=f;break t}f=T(f),u=T(u)}T=null}else T=null;b!==null&&$f(g,m,b,T,!1),y!==null&&D!==null&&$f(g,D,y,T,!0)}}e:{if(m=p?oo(p):window,b=m.nodeName&&m.nodeName.toLowerCase(),b==="select"||b==="input"&&m.type==="file")var R=rf;else if(af(m))if(Qh)R=xy;else{R=yy;var z=vy}else b=m.nodeName,!b||b.toLowerCase()!=="input"||m.type!=="checkbox"&&m.type!=="radio"?p&&yp(p.elementType)&&(R=rf):R=_y;if(R&&(R=R(e,p))){jh(g,R,a,d);break e}z&&z(e,m,p),e==="focusout"&&p&&m.type==="number"&&p.memoizedProps.value!=null&&Tu(m,"number",m.value)}switch(z=p?oo(p):window,e){case"focusin":(af(z)||z.contentEditable==="true")&&($i=z,Ru=p,po=null);break;case"focusout":po=Ru=$i=null;break;case"mousedown":Uu=!0;break;case"contextmenu":case"mouseup":case"dragend":Uu=!1,sf(g,a,d);break;case"selectionchange":if(Ny)break;case"keydown":case"keyup":sf(g,a,d)}var A;if(Np)e:{switch(e){case"compositionstart":var Q="onCompositionStart";break e;case"compositionend":Q="onCompositionEnd";break e;case"compositionupdate":Q="onCompositionUpdate";break e}Q=void 0}else Vi?Lh(e,a)&&(Q="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Q="onCompositionStart");Q&&(Bh&&a.locale!=="ko"&&(Vi||Q!=="onCompositionStart"?Q==="onCompositionEnd"&&Vi&&(A=Oh()):(qr=d,xp="value"in qr?qr.value:qr.textContent,Vi=!0)),z=ws(p,Q),0<z.length&&(Q=new Fm(Q,e,null,a,d),g.push({event:Q,listeners:z}),A?Q.data=A:(A=Hh(a),A!==null&&(Q.data=A)))),(A=fy?hy(e,a):gy(e,a))&&(Q=ws(p,"onBeforeInput"),0<Q.length&&(z=new Fm("onBeforeInput","beforeinput",null,a,d),g.push({event:z,listeners:Q}),z.data=A)),l1(g,e,p,a,d)}Db(g,t)})}function Ro(e,t,a){return{instance:e,listener:t,currentTarget:a}}function ws(e,t){for(var a=t+"Capture",r=[];e!==null;){var i=e,n=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||n===null||(i=No(e,a),i!=null&&r.unshift(Ro(e,i,n)),i=No(e,t),i!=null&&r.push(Ro(e,i,n))),e.tag===3)return r;e=e.return}return[]}function c1(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function $f(e,t,a,r,i){for(var n=t._reactName,o=[];a!==null&&a!==r;){var l=a,c=l.alternate,p=l.stateNode;if(l=l.tag,c!==null&&c===r)break;l!==5&&l!==26&&l!==27||p===null||(c=p,i?(p=No(a,n),p!=null&&o.unshift(Ro(a,p,c))):i||(p=No(a,n),p!=null&&o.push(Ro(a,p,c)))),a=a.return}o.length!==0&&e.push({event:t,listeners:o})}var u1=/\r\n?/g,p1=/\u0000|\uFFFD/g;function Zf(e){return(typeof e=="string"?e:""+e).replace(u1,`
9
+ `).replace(p1,"")}function Bb(e,t){return t=Zf(t),Zf(e)===t}function Ve(e,t,a,r,i,n){switch(a){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cn(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cn(e,""+r);break;case"className":_l(e,"class",r);break;case"tabIndex":_l(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":_l(e,a,r);break;case"style":Uh(e,r,n);break;case"data":if(t!=="object"){_l(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ol(""+r),e.setAttribute(a,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(a,"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 n=="function"&&(a==="formAction"?(t!=="input"&&Ve(e,t,"name",i.name,i,null),Ve(e,t,"formEncType",i.formEncType,i,null),Ve(e,t,"formMethod",i.formMethod,i,null),Ve(e,t,"formTarget",i.formTarget,i,null)):(Ve(e,t,"encType",i.encType,i,null),Ve(e,t,"method",i.method,i,null),Ve(e,t,"target",i.target,i,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(a);break}r=Ol(""+r),e.setAttribute(a,r);break;case"onClick":r!=null&&(e.onclick=tr);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(i.children!=null)throw Error(B(60));e.innerHTML=a}}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}a=Ol(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);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(a,""+r):e.removeAttribute(a);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(a,""):e.removeAttribute(a);break;case"capture":case"download":r===!0?e.setAttribute(a,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(a,r):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(a,r):e.removeAttribute(a);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(a):e.setAttribute(a,r);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),Dl(e,"popover",r);break;case"xlinkActuate":Za(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Za(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Za(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Za(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Za(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Za(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Za(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Za(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Za(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Dl(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Q0.get(a)||a,Dl(e,a,r))}}function ip(e,t,a,r,i,n){switch(a){case"style":Uh(e,r,n);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(a=r.__html,a!=null){if(i.children!=null)throw Error(B(60));e.innerHTML=a}}break;case"children":typeof r=="string"?cn(e,r):(typeof r=="number"||typeof r=="bigint")&&cn(e,""+r);break;case"onScroll":r!=null&&Ce("scroll",e);break;case"onScrollEnd":r!=null&&Ce("scrollend",e);break;case"onClick":r!=null&&(e.onclick=tr);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eh.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(i=a.endsWith("Capture"),t=a.slice(2,i?a.length-7:void 0),n=e[Pt]||null,n=n!=null?n[a]:null,typeof n=="function"&&e.removeEventListener(t,n,i),typeof r=="function")){typeof n!="function"&&n!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,r,i);break e}a in e?e[a]=r:r===!0?e.setAttribute(a,""):Dl(e,a,r)}}}function Rt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var r=!1,i=!1,n;for(n in a)if(a.hasOwnProperty(n)){var o=a[n];if(o!=null)switch(n){case"src":r=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Ve(e,t,n,o,a,null)}}i&&Ve(e,t,"srcSet",a.srcSet,a,null),r&&Ve(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var l=n=o=i=null,c=null,p=null;for(r in a)if(a.hasOwnProperty(r)){var d=a[r];if(d!=null)switch(r){case"name":i=d;break;case"type":o=d;break;case"checked":c=d;break;case"defaultChecked":p=d;break;case"value":n=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(B(137,t));break;default:Ve(e,t,r,d,a,null)}}zh(e,n,l,c,p,o,i,!1);return;case"select":Ce("invalid",e),r=o=n=null;for(i in a)if(a.hasOwnProperty(i)&&(l=a[i],l!=null))switch(i){case"value":n=l;break;case"defaultValue":o=l;break;case"multiple":r=l;default:Ve(e,t,i,l,a,null)}t=n,a=o,e.multiple=!!r,t!=null?en(e,!!r,t,!1):a!=null&&en(e,!!r,a,!0);return;case"textarea":Ce("invalid",e),n=i=r=null;for(o in a)if(a.hasOwnProperty(o)&&(l=a[o],l!=null))switch(o){case"value":r=l;break;case"defaultValue":i=l;break;case"children":n=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(B(91));break;default:Ve(e,t,o,l,a,null)}Rh(e,r,i,n);return;case"option":for(c in a)a.hasOwnProperty(c)&&(r=a[c],r!=null)&&(c==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Ve(e,t,c,r,a,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(r=0;r<Ao.length;r++)Ce(Ao[r],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("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(p in a)if(a.hasOwnProperty(p)&&(r=a[p],r!=null))switch(p){case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:Ve(e,t,p,r,a,null)}return;default:if(yp(t)){for(d in a)a.hasOwnProperty(d)&&(r=a[d],r!==void 0&&ip(e,t,d,r,a,void 0));return}}for(l in a)a.hasOwnProperty(l)&&(r=a[l],r!=null&&Ve(e,t,l,r,a,null))}function d1(e,t,a,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,n=null,o=null,l=null,c=null,p=null,d=null;for(b in a){var g=a[b];if(a.hasOwnProperty(b)&&g!=null)switch(b){case"checked":break;case"value":break;case"defaultValue":c=g;default:r.hasOwnProperty(b)||Ve(e,t,b,null,r,g)}}for(var m in r){var b=r[m];if(g=a[m],r.hasOwnProperty(m)&&(b!=null||g!=null))switch(m){case"type":n=b;break;case"name":i=b;break;case"checked":p=b;break;case"defaultChecked":d=b;break;case"value":o=b;break;case"defaultValue":l=b;break;case"children":case"dangerouslySetInnerHTML":if(b!=null)throw Error(B(137,t));break;default:b!==g&&Ve(e,t,m,b,r,g)}}Mu(e,o,l,c,p,d,n,i);return;case"select":b=o=l=m=null;for(n in a)if(c=a[n],a.hasOwnProperty(n)&&c!=null)switch(n){case"value":break;case"multiple":b=c;default:r.hasOwnProperty(n)||Ve(e,t,n,null,r,c)}for(i in r)if(n=r[i],c=a[i],r.hasOwnProperty(i)&&(n!=null||c!=null))switch(i){case"value":m=n;break;case"defaultValue":l=n;break;case"multiple":o=n;default:n!==c&&Ve(e,t,i,n,r,c)}t=l,a=o,r=b,m!=null?en(e,!!a,m,!1):!!r!=!!a&&(t!=null?en(e,!!a,t,!0):en(e,!!a,a?[]:"",!1));return;case"textarea":b=m=null;for(l in a)if(i=a[l],a.hasOwnProperty(l)&&i!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:Ve(e,t,l,null,r,i)}for(o in r)if(i=r[o],n=a[o],r.hasOwnProperty(o)&&(i!=null||n!=null))switch(o){case"value":m=i;break;case"defaultValue":b=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(B(91));break;default:i!==n&&Ve(e,t,o,i,r,n)}Ah(e,m,b);return;case"option":for(var y in a)m=a[y],a.hasOwnProperty(y)&&m!=null&&!r.hasOwnProperty(y)&&(y==="selected"?e.selected=!1:Ve(e,t,y,null,r,m));for(c in r)m=r[c],b=a[c],r.hasOwnProperty(c)&&m!==b&&(m!=null||b!=null)&&(c==="selected"?e.selected=m&&typeof m!="function"&&typeof m!="symbol":Ve(e,t,c,m,r,b));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 T in a)m=a[T],a.hasOwnProperty(T)&&m!=null&&!r.hasOwnProperty(T)&&Ve(e,t,T,null,r,m);for(p in r)if(m=r[p],b=a[p],r.hasOwnProperty(p)&&m!==b&&(m!=null||b!=null))switch(p){case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(B(137,t));break;default:Ve(e,t,p,m,r,b)}return;default:if(yp(t)){for(var D in a)m=a[D],a.hasOwnProperty(D)&&m!==void 0&&!r.hasOwnProperty(D)&&ip(e,t,D,void 0,r,m);for(d in r)m=r[d],b=a[d],!r.hasOwnProperty(d)||m===b||m===void 0&&b===void 0||ip(e,t,d,m,r,b);return}}for(var f in a)m=a[f],a.hasOwnProperty(f)&&m!=null&&!r.hasOwnProperty(f)&&Ve(e,t,f,null,r,m);for(g in r)m=r[g],b=a[g],!r.hasOwnProperty(g)||m===b||m==null&&b==null||Ve(e,t,g,m,r,b)}function Kf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function m1(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),r=0;r<a.length;r++){var i=a[r],n=i.transferSize,o=i.initiatorType,l=i.duration;if(n&&l&&Kf(o)){for(o=0,l=i.responseEnd,r+=1;r<a.length;r++){var c=a[r],p=c.startTime;if(p>l)break;var d=c.transferSize,g=c.initiatorType;d&&Kf(g)&&(c=c.responseEnd,o+=d*(c<l?1:(l-p)/(c-p)))}if(--r,t+=8*(n+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 np=null,op=null;function vs(e){return e.nodeType===9?e:e.ownerDocument}function Pf(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 Lb(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 lp(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 bu=null;function f1(){var e=window.event;return e&&e.type==="popstate"?e===bu?!1:(bu=e,!0):(bu=null,!1)}var Hb=typeof setTimeout=="function"?setTimeout:void 0,h1=typeof clearTimeout=="function"?clearTimeout:void 0,Jf=typeof Promise=="function"?Promise:void 0,g1=typeof queueMicrotask=="function"?queueMicrotask:typeof Jf<"u"?function(e){return Jf.resolve(null).then(e).catch(b1)}:Hb;function b1(e){setTimeout(function(){throw e})}function Vr(e){return e==="head"}function If(e,t){var a=t,r=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&i.nodeType===8)if(a=i.data,a==="/$"||a==="/&"){if(r===0){e.removeChild(i),bn(t);return}r--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")r++;else if(a==="html")xo(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,xo(a);for(var n=a.firstChild;n;){var o=n.nextSibling,l=n.nodeName;n[Qo]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&n.rel.toLowerCase()==="stylesheet"||a.removeChild(n),n=o}}else a==="body"&&xo(e.ownerDocument.body);a=i}while(a);bn(t)}function Ff(e,t){var a=e;e=0;do{var r=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=r}while(a)}function sp(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":sp(a),vp(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function w1(e,t,a,r){for(;e.nodeType===1;){var i=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Qo])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(n=e.getAttribute("rel"),n==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(n!==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(n=e.getAttribute("src"),(n!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&n&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var n=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===n)return e}else return e;if(e=_a(e.nextSibling),e===null)break}return null}function v1(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=_a(e.nextSibling),e===null))return null;return e}function jb(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=_a(e.nextSibling),e===null))return null;return e}function cp(e){return e.data==="$?"||e.data==="$~"}function up(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function y1(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var r=function(){t(),a.removeEventListener("DOMContentLoaded",r)};a.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function _a(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 pp=null;function Wf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return _a(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function eh(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Qb(e,t,a){switch(t=vs(a),e){case"html":if(e=t.documentElement,!e)throw Error(B(452));return e;case"head":if(e=t.head,!e)throw Error(B(453));return e;case"body":if(e=t.body,!e)throw Error(B(454));return e;default:throw Error(B(451))}}function xo(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);vp(e)}var xa=new Map,th=new Set;function ys(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var pr=Oe.d;Oe.d={f:_1,r:x1,D:k1,C:N1,L:S1,m:C1,X:E1,S:q1,M:M1};function _1(){var e=pr.f(),t=Bs();return e||t}function x1(e){var t=vn(e);t!==null&&t.tag===5&&t.type==="form"?Ug(t):pr.r(e)}var kn=typeof document>"u"?null:document;function Gb(e,t,a){var r=kn;if(r&&typeof t=="string"&&t){var i=ba(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),th.has(i)||(th.add(i),e={rel:e,crossOrigin:a,href:t},r.querySelector(i)===null&&(t=r.createElement("link"),Rt(t,"link",e),St(t),r.head.appendChild(t)))}}function k1(e){pr.D(e),Gb("dns-prefetch",e,null)}function N1(e,t){pr.C(e,t),Gb("preconnect",e,t)}function S1(e,t,a){pr.L(e,t,a);var r=kn;if(r&&e&&t){var i='link[rel="preload"][as="'+ba(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+ba(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+ba(a.imageSizes)+'"]')):i+='[href="'+ba(e)+'"]';var n=i;switch(t){case"style":n=gn(e);break;case"script":n=Nn(e)}xa.has(n)||(e=tt({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),xa.set(n,e),r.querySelector(i)!==null||t==="style"&&r.querySelector(Zo(n))||t==="script"&&r.querySelector(Ko(n))||(t=r.createElement("link"),Rt(t,"link",e),St(t),r.head.appendChild(t)))}}function C1(e,t){pr.m(e,t);var a=kn;if(a&&e){var r=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ba(r)+'"][href="'+ba(e)+'"]',n=i;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Nn(e)}if(!xa.has(n)&&(e=tt({rel:"modulepreload",href:e},t),xa.set(n,e),a.querySelector(i)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ko(n)))return}r=a.createElement("link"),Rt(r,"link",e),St(r),a.head.appendChild(r)}}}function q1(e,t,a){pr.S(e,t,a);var r=kn;if(r&&e){var i=Wi(r).hoistableStyles,n=gn(e);t=t||"default";var o=i.get(n);if(!o){var l={loading:0,preload:null};if(o=r.querySelector(Zo(n)))l.loading=5;else{e=tt({rel:"stylesheet",href:e,"data-precedence":t},a),(a=xa.get(n))&&id(e,a);var c=o=r.createElement("link");St(c),Rt(c,"link",e),c._p=new Promise(function(p,d){c.onload=p,c.onerror=d}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,$l(o,t,r)}o={type:"stylesheet",instance:o,count:1,state:l},i.set(n,o)}}}function E1(e,t){pr.X(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,i=Nn(e),n=r.get(i);n||(n=a.querySelector(Ko(i)),n||(e=tt({src:e,async:!0},t),(t=xa.get(i))&&nd(e,t),n=a.createElement("script"),St(n),Rt(n,"link",e),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},r.set(i,n))}}function M1(e,t){pr.M(e,t);var a=kn;if(a&&e){var r=Wi(a).hoistableScripts,i=Nn(e),n=r.get(i);n||(n=a.querySelector(Ko(i)),n||(e=tt({src:e,async:!0,type:"module"},t),(t=xa.get(i))&&nd(e,t),n=a.createElement("script"),St(n),Rt(n,"link",e),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},r.set(i,n))}}function ah(e,t,a,r){var i=(i=zr.current)?ys(i):null;if(!i)throw Error(B(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=gn(a.href),a=Wi(i).hoistableStyles,r=a.get(t),r||(r={type:"style",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=gn(a.href);var n=Wi(i).hoistableStyles,o=n.get(e);if(o||(i=i.ownerDocument||i,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(e,o),(n=i.querySelector(Zo(e)))&&!n._p&&(o.instance=n,o.state.loading=5),xa.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},xa.set(e,a),n||T1(i,e,a,o.state))),t&&r===null)throw Error(B(528,""));return o}if(t&&r!==null)throw Error(B(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Nn(a),a=Wi(i).hoistableScripts,r=a.get(t),r||(r={type:"script",instance:null,count:0,state:null},a.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(B(444,e))}}function gn(e){return'href="'+ba(e)+'"'}function Zo(e){return'link[rel="stylesheet"]['+e+"]"}function Yb(e){return tt({},e,{"data-precedence":e.precedence,precedence:null})}function T1(e,t,a,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}),Rt(t,"link",a),St(t),e.head.appendChild(t))}function Nn(e){return'[src="'+ba(e)+'"]'}function Ko(e){return"script[async]"+e}function rh(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ba(a.href)+'"]');if(r)return t.instance=r,St(r),r;var i=tt({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),St(r),Rt(r,"style",i),$l(r,a.precedence,e),t.instance=r;case"stylesheet":i=gn(a.href);var n=e.querySelector(Zo(i));if(n)return t.state.loading|=4,t.instance=n,St(n),n;r=Yb(a),(i=xa.get(i))&&id(r,i),n=(e.ownerDocument||e).createElement("link"),St(n);var o=n;return o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Rt(n,"link",r),t.state.loading|=4,$l(n,a.precedence,e),t.instance=n;case"script":return n=Nn(a.src),(i=e.querySelector(Ko(n)))?(t.instance=i,St(i),i):(r=a,(i=xa.get(n))&&(r=tt({},a),nd(r,i)),e=e.ownerDocument||e,i=e.createElement("script"),St(i),Rt(i,"link",r),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(B(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,$l(r,a.precedence,e));return t.instance}function $l(e,t,a){for(var r=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=r.length?r[r.length-1]:null,n=i,o=0;o<r.length;o++){var l=r[o];if(l.dataset.precedence===t)n=l;else if(n!==i)break}n?n.parentNode.insertBefore(e,n.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function id(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function nd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Zl=null;function ih(e,t,a){if(Zl===null){var r=new Map,i=Zl=new Map;i.set(a,r)}else i=Zl,r=i.get(a),r||(r=new Map,i.set(a,r));if(r.has(e))return r;for(r.set(e,null),a=a.getElementsByTagName(e),i=0;i<a.length;i++){var n=a[i];if(!(n[Qo]||n[Tt]||e==="link"&&n.getAttribute("rel")==="stylesheet")&&n.namespaceURI!=="http://www.w3.org/2000/svg"){var o=n.getAttribute(t)||"";o=e+o;var l=r.get(o);l?l.push(n):r.set(o,[n])}}return r}function nh(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function z1(e,t,a){if(a===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;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!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 Xb(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function A1(e,t,a,r){if(a.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=gn(r.href),n=t.querySelector(Zo(i));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=_s.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=n,St(n);return}n=t.ownerDocument||t,r=Yb(r),(i=xa.get(i))&&id(r,i),n=n.createElement("link"),St(n);var o=n;o._p=new Promise(function(l,c){o.onload=l,o.onerror=c}),Rt(n,"link",r),a.instance=n}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=_s.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var wu=0;function R1(e,t){return e.stylesheets&&e.count===0&&Kl(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var r=setTimeout(function(){if(e.stylesheets&&Kl(e,e.stylesheets),e.unsuspend){var n=e.unsuspend;e.unsuspend=null,n()}},6e4+t);0<e.imgBytes&&wu===0&&(wu=62500*m1());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Kl(e,e.stylesheets),e.unsuspend)){var n=e.unsuspend;e.unsuspend=null,n()}},(e.imgBytes>wu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function _s(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Kl(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var xs=null;function Kl(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,xs=new Map,t.forEach(U1,e),xs=null,_s.call(e))}function U1(e,t){if(!(t.state.loading&4)){var a=xs.get(e);if(a)var r=a.get(null);else{a=new Map,xs.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n<i.length;n++){var o=i[n];(o.nodeName==="LINK"||o.getAttribute("media")!=="not all")&&(a.set(o.dataset.precedence,o),r=o)}r&&a.set(null,r)}i=t.instance,o=i.getAttribute("data-precedence"),n=a.get(o)||r,n===r&&a.set(null,i),a.set(o,i),this.count++,r=_s.bind(this),i.addEventListener("load",r),i.addEventListener("error",r),n?n.parentNode.insertBefore(i,n.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Uo={$$typeof:er,Provider:null,Consumer:null,_currentValue:ri,_currentValue2:ri,_threadCount:0};function D1(e,t,a,r,i,n,o,l,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=Xc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xc(0),this.hiddenUpdates=Xc(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=n,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function Vb(e,t,a,r,i,n,o,l,c,p,d,g){return e=new D1(e,t,a,o,c,p,d,g,l),t=1,n===!0&&(t|=24),n=ra(3,null,null,t),e.current=n,n.stateNode=e,t=zp(),t.refCount++,e.pooledCache=t,t.refCount++,n.memoizedState={element:r,isDehydrated:a,cache:t},Up(n),e}function $b(e){return e?(e=Pi,e):Pi}function Zb(e,t,a,r,i,n){i=$b(i),r.context===null?r.context=i:r.pendingContext=i,r=Rr(t),r.payload={element:a},n=n===void 0?null:n,n!==null&&(r.callback=n),a=Ur(e,r,t),a!==null&&(Kt(a,e,t),fo(a,e,t))}function oh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function od(e,t){oh(e,t),(e=e.alternate)&&oh(e,t)}function Kb(e){if(e.tag===13||e.tag===31){var t=gi(e,67108864);t!==null&&Kt(t,e,67108864),od(e,67108864)}}function lh(e){if(e.tag===13||e.tag===31){var t=sa();t=bp(t);var a=gi(e,t);a!==null&&Kt(a,e,t),od(e,t)}}var ks=!0;function O1(e,t,a,r){var i=le.T;le.T=null;var n=Oe.p;try{Oe.p=2,ld(e,t,a,r)}finally{Oe.p=n,le.T=i}}function B1(e,t,a,r){var i=le.T;le.T=null;var n=Oe.p;try{Oe.p=8,ld(e,t,a,r)}finally{Oe.p=n,le.T=i}}function ld(e,t,a,r){if(ks){var i=dp(r);if(i===null)gu(e,t,r,Ns,a),sh(e,r);else if(H1(i,e,t,a,r))r.stopPropagation();else if(sh(e,r),t&4&&-1<L1.indexOf(e)){for(;i!==null;){var n=vn(i);if(n!==null)switch(n.tag){case 3:if(n=n.stateNode,n.current.memoizedState.isDehydrated){var o=ei(n.pendingLanes);if(o!==0){var l=n;for(l.pendingLanes|=2,l.entangledLanes|=2;o;){var c=1<<31-la(o);l.entanglements[1]|=c,o&=~c}Qa(n),(De&6)===0&&(ms=na()+500,$o(0,!1))}}break;case 31:case 13:l=gi(n,2),l!==null&&Kt(l,n,2),Bs(),od(n,2)}if(n=dp(r),n===null&&gu(e,t,r,Ns,a),n===i)break;i=n}i!==null&&r.stopPropagation()}else gu(e,t,r,null,a)}}function dp(e){return e=_p(e),sd(e)}var Ns=null;function sd(e){if(Ns=null,e=Yi(e),e!==null){var t=Bo(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=fh(t),e!==null)return e;e=null}else if(a===31){if(e=hh(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ns=e,null}function Pb(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(S0()){case vh:return 2;case yh:return 8;case Wl:case C0:return 32;case _h:return 268435456;default:return 32}default:return 32}}var mp=!1,Br=null,Lr=null,Hr=null,Do=new Map,Oo=new Map,Sr=[],L1="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 sh(e,t){switch(e){case"focusin":case"focusout":Br=null;break;case"dragenter":case"dragleave":Lr=null;break;case"mouseover":case"mouseout":Hr=null;break;case"pointerover":case"pointerout":Do.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Oo.delete(t.pointerId)}}function ao(e,t,a,r,i,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[i]},t!==null&&(t=vn(t),t!==null&&Kb(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function H1(e,t,a,r,i){switch(t){case"focusin":return Br=ao(Br,e,t,a,r,i),!0;case"dragenter":return Lr=ao(Lr,e,t,a,r,i),!0;case"mouseover":return Hr=ao(Hr,e,t,a,r,i),!0;case"pointerover":var n=i.pointerId;return Do.set(n,ao(Do.get(n)||null,e,t,a,r,i)),!0;case"gotpointercapture":return n=i.pointerId,Oo.set(n,ao(Oo.get(n)||null,e,t,a,r,i)),!0}return!1}function Jb(e){var t=Yi(e.target);if(t!==null){var a=Bo(t);if(a!==null){if(t=a.tag,t===13){if(t=fh(a),t!==null){e.blockedOn=t,Xm(e.priority,function(){lh(a)});return}}else if(t===31){if(t=hh(a),t!==null){e.blockedOn=t,Xm(e.priority,function(){lh(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Pl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=dp(e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);zu=r,a.target.dispatchEvent(r),zu=null}else return t=vn(a),t!==null&&Kb(t),e.blockedOn=a,!1;t.shift()}return!0}function ch(e,t,a){Pl(e)&&a.delete(t)}function j1(){mp=!1,Br!==null&&Pl(Br)&&(Br=null),Lr!==null&&Pl(Lr)&&(Lr=null),Hr!==null&&Pl(Hr)&&(Hr=null),Do.forEach(ch),Oo.forEach(ch)}function Rl(e,t){e.blockedOn===t&&(e.blockedOn=null,mp||(mp=!0,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,j1)))}var Ul=null;function uh(e){Ul!==e&&(Ul=e,_t.unstable_scheduleCallback(_t.unstable_NormalPriority,function(){Ul===e&&(Ul=null);for(var t=0;t<e.length;t+=3){var a=e[t],r=e[t+1],i=e[t+2];if(typeof r!="function"){if(sd(r||a)===null)continue;break}var n=vn(a);n!==null&&(e.splice(t,3),t-=3,Zu(n,{pending:!0,data:i,method:a.method,action:r},r,i))}}))}function bn(e){function t(c){return Rl(c,e)}Br!==null&&Rl(Br,e),Lr!==null&&Rl(Lr,e),Hr!==null&&Rl(Hr,e),Do.forEach(t),Oo.forEach(t);for(var a=0;a<Sr.length;a++){var r=Sr[a];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Sr.length&&(a=Sr[0],a.blockedOn===null);)Jb(a),a.blockedOn===null&&Sr.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(r=0;r<a.length;r+=3){var i=a[r],n=a[r+1],o=i[Pt]||null;if(typeof n=="function")o||uh(a);else if(o){var l=null;if(n&&n.hasAttribute("formAction")){if(i=n,o=n[Pt]||null)l=o.formAction;else if(sd(i)!==null)continue}else l=o.action;typeof l=="function"?a[r+1]=l:(a.splice(r,3),r-=3),uh(a)}}}function Ib(){function e(n){n.canIntercept&&n.info==="react-transition"&&n.intercept({handler:function(){return new Promise(function(o){return i=o})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),r||setTimeout(a,20)}function a(){if(!r&&!navigation.transition){var n=navigation.currentEntry;n&&n.url!=null&&navigation.navigate(n.url,{state:n.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(a,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function cd(e){this._internalRoot=e}js.prototype.render=cd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(B(409));var a=t.current,r=sa();Zb(a,r,e,t,null,null)};js.prototype.unmount=cd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Zb(e.current,2,null,e,null,null),Bs(),t[wn]=null}};function js(e){this._internalRoot=e}js.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ch();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Sr.length&&t!==0&&t<Sr[a].priority;a++);Sr.splice(a,0,e),a===0&&Jb(e)}};var ph=dh.version;if(ph!=="19.2.3")throw Error(B(527,ph,"19.2.3"));Oe.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(B(188)):(e=Object.keys(e).join(","),Error(B(268,e)));return e=w0(t),e=e!==null?gh(e):null,e=e===null?null:e.stateNode,e};var Q1={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:le,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(ro=__REACT_DEVTOOLS_GLOBAL_HOOK__,!ro.isDisabled&&ro.supportsFiber))try{Lo=ro.inject(Q1),oa=ro}catch{}var ro;Qs.createRoot=function(e,t){if(!mh(e))throw Error(B(299));var a=!1,r="",i=Gg,n=Yg,o=Xg;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(n=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Vb(e,1,!1,null,null,a,r,null,i,n,o,Ib),e[wn]=t.current,rd(e),new cd(t)};Qs.hydrateRoot=function(e,t,a){if(!mh(e))throw Error(B(299));var r=!1,i="",n=Gg,o=Yg,l=Xg,c=null;return a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(i=a.identifierPrefix),a.onUncaughtError!==void 0&&(n=a.onUncaughtError),a.onCaughtError!==void 0&&(o=a.onCaughtError),a.onRecoverableError!==void 0&&(l=a.onRecoverableError),a.formState!==void 0&&(c=a.formState)),t=Vb(e,1,!0,t,a??null,r,i,c,n,o,l,Ib),t.context=$b(null),a=t.current,r=sa(),r=bp(r),i=Rr(r),i.callback=null,Ur(a,i,r),a=r,t.current.lanes=a,jo(t,a),Qa(t),e[wn]=t.current,rd(e),new js(t)};Qs.version="19.2.3"});var tw=Ua((Nx,ew)=>{"use strict";function Wb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Wb)}catch(e){console.error(e)}}Wb(),ew.exports=Fb()});var $w=Ua(Vs=>{"use strict";var P1=Symbol.for("react.transitional.element"),J1=Symbol.for("react.fragment");function Vw(e,t,a){var r=null;if(a!==void 0&&(r=""+a),t.key!==void 0&&(r=""+t.key),"key"in t){a={};for(var i in t)i!=="key"&&(a[i]=t[i])}else a=t;return t=a.ref,{$$typeof:P1,type:e,key:r,ref:t!==void 0?t:null,props:a}}Vs.Fragment=J1;Vs.jsx=Vw;Vs.jsxs=Vw});var ee=Ua((Ik,Zw)=>{"use strict";Zw.exports=$w()});var jv=G(tw());var aw=`/* Every rule is scoped to .app-wrapper, the root of each widget, so nothing here styles
10
10
  the host page. Start new selectors with :where(.app-wrapper), which scopes without
11
11
  adding specificity, or with .app-wrapper for rules on the root itself. */
12
12
 
@@ -3314,7 +3314,8 @@ Error generating stack: `+r.message+`
3314
3314
  text-transform: none;
3315
3315
  }
3316
3316
 
3317
- :where(.app-wrapper) .entry-options--workflow .entry-option-title::after {
3317
+ :where(.app-wrapper) .entry-options--workflow .entry-option-title::after,
3318
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::after {
3318
3319
  /* Same badge as .results-total-action .arrow: 30px circle, with the
3319
3320
  ForwardArrow path drawn by ::before below (a pseudo-element can't hold
3320
3321
  the component). */
@@ -3333,7 +3334,8 @@ Error generating stack: `+r.message+`
3333
3334
 
3334
3335
  /* The arrow is a mask so its colour can come from a variable: an SVG data
3335
3336
  URI can't read var(--on-accent). Painted over the ::after circle. */
3336
- :where(.app-wrapper) .entry-options--workflow .entry-option-title::before {
3337
+ :where(.app-wrapper) .entry-options--workflow .entry-option-title::before,
3338
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::before {
3337
3339
  content: "";
3338
3340
  position: absolute;
3339
3341
  z-index: 1;
@@ -3348,11 +3350,13 @@ Error generating stack: `+r.message+`
3348
3350
  transition: background 0.15s ease;
3349
3351
  }
3350
3352
 
3351
- :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::after {
3353
+ :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::after,
3354
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover .estimator-tool-card__title::after {
3352
3355
  background-color: var(--accent);
3353
3356
  }
3354
3357
 
3355
- :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::before {
3358
+ :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::before,
3359
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover .estimator-tool-card__title::before {
3356
3360
  background: var(--on-accent);
3357
3361
  }
3358
3362
 
@@ -5768,7 +5772,8 @@ Error generating stack: `+r.message+`
5768
5772
  }
5769
5773
 
5770
5774
  /* Customer results and basket use the same lighter surface as the entry flow. */
5771
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer {
5775
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer,
5776
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero {
5772
5777
  display: flex;
5773
5778
  align-items: center;
5774
5779
  justify-content: space-between;
@@ -5778,7 +5783,8 @@ Error generating stack: `+r.message+`
5778
5783
  color: var(--text);
5779
5784
  }
5780
5785
 
5781
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1 {
5786
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1,
5787
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero h1 {
5782
5788
  margin-bottom: 8px;
5783
5789
  color: var(--text);
5784
5790
  font-size: clamp(28px, 3vw, 36px);
@@ -5787,7 +5793,8 @@ Error generating stack: `+r.message+`
5787
5793
  text-transform: none;
5788
5794
  }
5789
5795
 
5790
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer p {
5796
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer p,
5797
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero p {
5791
5798
  max-width: 620px;
5792
5799
  padding: 0;
5793
5800
  border: 0;
@@ -5947,6 +5954,7 @@ Error generating stack: `+r.message+`
5947
5954
  :where(.app-wrapper) .quick-order-card--customer .results-search-input,
5948
5955
  :where(.app-wrapper) .quick-order-card--customer .bom-toolbar-btn,
5949
5956
  :where(.app-wrapper) .quick-order-card--customer .cta-btn,
5957
+ :where(.app-wrapper).estimating-tools--customer .cta-btn,
5950
5958
  :where(.app-wrapper) .quick-order-card--customer .disclaimer-box {
5951
5959
  border-radius: 14px;
5952
5960
  }
@@ -6683,14 +6691,16 @@ Error generating stack: `+r.message+`
6683
6691
 
6684
6692
  /* Customer results/basket hero: stack title over the total-cost button
6685
6693
  instead of squeezing the title into a one-word-per-line column. */
6686
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer {
6694
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer,
6695
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero {
6687
6696
  flex-direction: column;
6688
6697
  align-items: stretch;
6689
6698
  gap: 16px;
6690
6699
  padding: 24px 20px 8px;
6691
6700
  }
6692
6701
 
6693
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1 {
6702
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1,
6703
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero h1 {
6694
6704
  font-size: 28px;
6695
6705
  line-height: 1.15;
6696
6706
  }
@@ -6776,11 +6786,168 @@ Error generating stack: `+r.message+`
6776
6786
  width: 100%;
6777
6787
  height: 100%;
6778
6788
  }
6779
- `;var Le=G(Xe());var Gs={};function rv(e){Gs={...e,client:e.client?.trim().toUpperCase()||void 0}}function jt(){return Gs}function ud(){return!!Gs.apiBaseUrl}var Y1=e=>e.replace(/\/$/,"");function pa(e){let t=Gs.apiBaseUrl;return t?`${Y1(t)}${e.replace(/^\/api\//,"/v1/")}`:e}var Sn=G(Xe());var X1="metron:step",V1="metron_step",Po=(0,Sn.createContext)(()=>{}),Cn=()=>(0,Sn.useContext)(Po);function Ys(e,t){return(0,Sn.useCallback)((a,r={})=>{let i=jt(),n=i.analytics??"all";if(n==="none")return;let o={...r,widget:e,step:a};t.current?.dispatchEvent(new CustomEvent(X1,{detail:o,bubbles:!0,composed:!0})),i.onEvent?.(o);let l=window.dataLayer;n==="all"&&Array.isArray(l)&&l.push({event:V1,...o})},[e,t])}var iv="boq-session-id",nv="x-boq-session";function ov(){if(typeof window>"u")return"server";try{let e=window.localStorage.getItem(iv);return e||(e=crypto.randomUUID(),window.localStorage.setItem(iv,e)),e}catch{return crypto.randomUUID()}}var $1="x-boq-client";function Xs(){return jt().client}function $r(){let{client:e,apiKey:t}=jt();return ud()?t?{Authorization:`Bearer ${t}`}:{}:e?{[$1]:e}:{}}function vi(){return{...ud()?{}:{[nv]:ov()},...$r()}}function Z1(e){return e&&typeof e=="object"&&e.success===!0&&"data"in e?e.data:e}async function ka(e){return Z1(await e.json().catch(()=>({})))}var lv=9e4;async function sv(e,t){let a=new AbortController,r=setTimeout(()=>a.abort(),lv),i;try{i=await fetch(e,{...t,signal:a.signal})}catch(o){throw o?.name==="AbortError"?new Error(`Request to ${e} timed out after ${lv/1e3}s. Please try again.`):o}finally{clearTimeout(r)}let n=await ka(i);if(!i.ok||n?.error){let o=n;throw new Error(o.detail??o.message??o.error??`Server error ${i.status}`)}return n}function cv(e,t,a=!0){let r=new FormData;return r.append("file",e),t?.length&&r.append("provided_lines_json",JSON.stringify(t)),a||r.append("archive_source","false"),sv(pa("/api/schedule"),{method:"POST",body:r,headers:vi()})}function uv(e,t){let a=t?`?account=${encodeURIComponent(t)}`:"";return sv(pa(`/api/schedule/${e}${a}`),{headers:$r()})}function pv(e,t,a,r){let i=!1,n=null,o=performance.now();return{promise:new Promise((p,d)=>{let h=async()=>{if(!i)try{let m=await e();if(i)return;if(m.status==="completed"||m.status==="failed"){console.log(`[pollJob:${r??"job"}] ${m.status} (${Math.round(performance.now()-o)}ms)`),p(m);return}a?.(),n=setTimeout(h,t)}catch(m){i||d(m)}};n=setTimeout(h,t)}),cancel:()=>{i=!0,n&&(clearTimeout(n),n=null)}}}var qt=G(Xe());var dv=new URL("../assets/decking/boards/diagonal.webp",import.meta.url).href;var mv=new URL("../assets/decking/boards/no-border.webp",import.meta.url).href;var fv=new URL("../assets/decking/boards/picture-frame.webp",import.meta.url).href;var gv=new URL("../assets/decking/boards/straight.webp",import.meta.url).href;var hv=new URL("../assets/fencing/gates/no-gate.webp",import.meta.url).href;var bv=new URL("../assets/fencing/gates/single-gate.webp",import.meta.url).href;var vv=new URL("../assets/fencing/gravel-board.webp",import.meta.url).href;var wv=new URL("../assets/fencing/height/0.9.webp",import.meta.url).href;var yv=new URL("../assets/fencing/height/1.2.webp",import.meta.url).href;var _v=new URL("../assets/fencing/height/1.5.webp",import.meta.url).href;var xv=new URL("../assets/fencing/height/1.8.webp",import.meta.url).href;var kv=new URL("../assets/fencing/no-gravel-board.webp",import.meta.url).href;var Nv=new URL("../assets/quick-order/paste-list.webp",import.meta.url).href;var Sv=new URL("../assets/quick-order/photo-list.webp",import.meta.url).href;var Cv=new URL("../assets/quick-order/upload-file.webp",import.meta.url).href;var qv=new URL("../assets/schedule-products/building-sand.webp",import.meta.url).href;var Ev=new URL("../assets/schedule-products/drywall-screws.webp",import.meta.url).href;var Mv=new URL("../assets/schedule-products/loft-insulation-roll.webp",import.meta.url).href;var Tv=new URL("../assets/schedule-products/red-multi-stock-bricks.webp",import.meta.url).href;var zv=new URL("../assets/schedule-products/scrim-tape.webp",import.meta.url).href;var Av=new URL("../assets/schedule-products/wall-ties.webp",import.meta.url).href;var Rv=new URL("../assets/tool-images/architrave.webp",import.meta.url).href;var Uv=new URL("../assets/tool-images/brick-block.webp",import.meta.url).href;var Dv=new URL("../assets/tool-images/concrete-aggregate.webp",import.meta.url).href;var Ov=new URL("../assets/tool-images/decking.webp",import.meta.url).href;var Bv=new URL("../assets/tool-images/fencing.webp",import.meta.url).href;var Lv=new URL("../assets/tool-images/insulation.webp",import.meta.url).href;var Hv=new URL("../assets/tool-images/paint.webp",import.meta.url).href;var jv=new URL("../assets/tool-images/paving.webp",import.meta.url).href;var Qv=new URL("../assets/tool-images/plasterboard.webp",import.meta.url).href;var Gv=new URL("../assets/tool-images/skirting.webp",import.meta.url).href;var Yv=new URL("../assets/tool-images/timber.webp",import.meta.url).href;var Xv=new URL("../assets/tool-images/truss.webp",import.meta.url).href;var ze=e=>typeof e=="string"?e:e.src,K1={"/decking/boards/diagonal.webp":ze(dv),"/decking/boards/no-border.webp":ze(mv),"/decking/boards/picture-frame.webp":ze(fv),"/decking/boards/straight.webp":ze(gv),"/fencing/gates/no-gate.webp":ze(hv),"/fencing/gates/single-gate.webp":ze(bv),"/fencing/gravel-board.webp":ze(vv),"/fencing/height/0.9.webp":ze(wv),"/fencing/height/1.2.webp":ze(yv),"/fencing/height/1.5.webp":ze(_v),"/fencing/height/1.8.webp":ze(xv),"/fencing/no-gravel-board.webp":ze(kv),"/quick-order/paste-list.webp":ze(Nv),"/quick-order/photo-list.webp":ze(Sv),"/quick-order/upload-file.webp":ze(Cv),"/schedule-products/building-sand.webp":ze(qv),"/schedule-products/drywall-screws.webp":ze(Ev),"/schedule-products/loft-insulation-roll.webp":ze(Mv),"/schedule-products/red-multi-stock-bricks.webp":ze(Tv),"/schedule-products/scrim-tape.webp":ze(zv),"/schedule-products/wall-ties.webp":ze(Av),"/tool-images/architrave.webp":ze(Rv),"/tool-images/brick-block.webp":ze(Uv),"/tool-images/concrete-aggregate.webp":ze(Dv),"/tool-images/decking.webp":ze(Ov),"/tool-images/fencing.webp":ze(Bv),"/tool-images/insulation.webp":ze(Lv),"/tool-images/paint.webp":ze(Hv),"/tool-images/paving.webp":ze(jv),"/tool-images/plasterboard.webp":ze(Qv),"/tool-images/skirting.webp":ze(Gv),"/tool-images/timber.webp":ze(Yv),"/tool-images/truss.webp":ze(Xv)};function It(e){return K1[e]??e}var pd=G(ee());function Qt(){return(0,pd.jsx)("svg",{className:"forward-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,pd.jsx)("path",{d:"M3 8H13M13 8L9 4M13 8L9 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var dd=G(ee());function Jo(){return(0,dd.jsx)("svg",{className:"close-icon",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,dd.jsx)("path",{d:"M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}var qn={schedule:[".xlsx",".xls",".csv",".pdf",".docx"],photo:[".png",".jpg",".jpeg",".webp",".gif",".bmp",".heic",".heif"],email:[".eml",".msg"]};var Pv=(e,t)=>qn[t].some(a=>e.toLowerCase().endsWith(a)),En=e=>e.type.startsWith("image/")||Pv(e.name,"photo"),I1=e=>En(e)||Pv(e.name,"schedule"),Kv=e=>`${Math.max(.1,Math.round(e/1048576*10)/10)} MB`;function md(e,t=5242880){return I1(e)?e.size===0?"That file is empty.":e.size>t?`That file is ${Kv(e.size)} - the limit is ${Kv(t)}.`:null:`Please upload a list or image file (${[...qn.schedule,...qn.photo].join(", ")}).`}var F1=e=>e.split(`
6780
- `).map(t=>t.trim()).filter(Boolean);function Jv(e){let t=F1(e);if(t.length>500)return`That's ${t.length} lines - the limit is 500. Split the list and match it in parts.`;if(e.length>5e4)return`That's ${e.length.toLocaleString("en-GB")} characters - the limit is ${5e4.toLocaleString("en-GB")}. Split the list and match it in parts.`;let a=t.findIndex(r=>r.length>500);return a>=0?`Line ${a+1} is ${t[a].length} characters - keep each item on its own line (max 500).`:null}async function Iv(e){if(e.size<=5242880)return e;let t;try{t=await createImageBitmap(e)}catch{return e}let a=Math.min(1,2e3/Math.max(t.width,t.height)),r=document.createElement("canvas");r.width=Math.round(t.width*a),r.height=Math.round(t.height*a);let i=r.getContext("2d");if(!i)return e;i.fillStyle="#fff",i.fillRect(0,0,r.width,r.height),i.drawImage(t,0,0,r.width,r.height),t.close();let n=await new Promise(o=>r.toBlob(o,"image/jpeg",.85));return!n||n.size>=e.size?e:new File([n],`${e.name.replace(/\.[^.]+$/,"")}.jpg`,{type:"image/jpeg"})}var Zr=G(Xe());var Zs=G(Xe()),$s=G(ee()),W1=[4,5,4],fd=4e3;function dr(){let[e,t]=(0,Zs.useState)(0);(0,Zs.useEffect)(()=>{let r=setInterval(()=>t(i=>i+1),fd);return()=>clearInterval(r)},[]);let a=0;return(0,$s.jsx)("div",{className:"brick-wall","aria-hidden":!0,children:W1.map((r,i)=>(0,$s.jsx)("div",{className:"brick-wall__course",children:Array.from({length:r},(n,o)=>(0,$s.jsx)("span",{className:`brick-wall__brick${r===5&&(o===0||o===4)?" brick-wall__brick--half":""}`,style:{"--i":a++}},o))},i))},e)}var Io=G(ee()),Ks=["Measuring twice, quoting once","Counting bricks so you don't have to","Haggling with the price of timber","Adding a bit extra for the skip","Double-checking nobody ordered too much sand","Rounding up, obviously","Making sure the numbers add up better than the last lot did","Checking if copper pipe is still worth its weight in gold","Squeezing a bit more accuracy out of the numbers","Totting it all up on the back of a fag packet, digitally","Making sure the quote is tighter than your tolerances","Nearly there, unlike most site schedules","Working out if it'll all fit on one pallet","Double-checking the VAT, because someone has to","Giving the calculator a proper workout","Making sure nothing's out of stock before you get excited"];function Fv(e){let t=[...e];for(let a=t.length-1;a>0;a--){let r=Math.floor(Math.random()*(a+1));[t[a],t[r]]=[t[r],t[a]]}return t}function Wv(){let e=(0,Zr.useRef)(Fv(Ks.map((o,l)=>l))),t=(0,Zr.useRef)(0),[a,r]=(0,Zr.useState)(Ks[e.current[0]]),[i,n]=(0,Zr.useState)(!0);return(0,Zr.useEffect)(()=>{let o=setInterval(()=>{n(!1),window.setTimeout(()=>{t.current++,t.current>=e.current.length&&(e.current=Fv(Ks.map((l,c)=>c)),t.current=0),r(Ks[e.current[t.current]]),n(!0)},600)},fd);return()=>clearInterval(o)},[]),(0,Io.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",children:[(0,Io.jsx)(dr,{}),(0,Io.jsx)("p",{className:`banter-message${i?" is-visible":""}`,children:a})]})}var Ps=G(Xe());function Fo(e,t){let a=(0,Ps.useRef)(t);a.current=t,(0,Ps.useEffect)(()=>{if(!e)return;let r=i=>{i.key!=="Escape"||i.defaultPrevented||i.isComposing||(i.preventDefault(),a.current())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e])}var I=G(ee()),e_=[...qn.schedule,...qn.photo].join(","),t_={paste:[{title:"Paste List",desc:"Paste your material list straight from a spreadsheet or document."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}],upload:[{title:"Upload File",desc:"Upload a photo, spreadsheet, Word document or PDF."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}]},Mn="#quote-entry",Js="metron-quick-quote-entry";function gd({onPasteSchedule:e,onUploadSchedule:t,onEntryModeChange:a,draft:r,onSubmitDraft:i,onCancelMatch:n}){let[o,l]=(0,qt.useState)(()=>r&&typeof window<"u"&&window.location.hash===Mn?r.tab:null),c=Cn(),[p,d]=(0,qt.useState)(r?.text??""),[h,m]=(0,qt.useState)(r?.file??null),[b,y]=(0,qt.useState)(""),[T,D]=(0,qt.useState)(!1),[f,u]=(0,qt.useState)(!1),[v,w]=(0,qt.useState)(null),S=(0,qt.useRef)(0),R=(0,qt.useRef)(0),z=(0,qt.useRef)(null),A=p.split(`
6781
- `).filter($=>$.trim()).length,Q=Jv(p),K=o==="paste"?!!p:!!h;(0,qt.useEffect)(()=>{if(!h||!En(h)){w(null);return}let $=URL.createObjectURL(h);return w($),()=>URL.revokeObjectURL($)},[h]);let fe=(0,qt.useRef)(o??r?.tab??null);o&&(fe.current=o),(0,qt.useEffect)(()=>{if(r||window.location.hash!==Mn)return;let $=null;try{$=JSON.parse(window.sessionStorage.getItem(Js)??"null")}catch{}if(!$?.tab){let ue=new URL(window.location.href);ue.hash="",window.history.replaceState(window.history.state,"",ue);return}fe.current=$.tab,l($.tab),d($.text??"")},[]),(0,qt.useEffect)(()=>{if(o)try{window.sessionStorage.setItem(Js,JSON.stringify({tab:o,text:p}))}catch{}},[o,p]),(0,qt.useEffect)(()=>{let $=()=>{if(window.location.hash===Mn)return l(fe.current);l(null),R.current++,D(!1),n?.()};return window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[]);let Ue=$=>{c("method_selected",{method:$}),l($),a(null);let ue=window.location.hash;if(ue===Mn)return;let Ze=new URL(window.location.href);Ze.hash=Mn;let pt=ue==="#matched-products"||ue==="#quote-request";window.history[pt?"replaceState":"pushState"]({boqQuoteStage:"entry"},"",Ze)},Be=()=>{l(null),a(null),window.location.hash===Mn&&window.history.back()};Fo(!!o&&!T,Be);let Ye=$=>{if(!$?.length)return;if($.length>1)return y("Please choose one file at a time.");let ue=$[0],Ze=md(ue,En(ue)?1/0:void 0);if(Ze)return y(Ze);y(""),m(ue)},Ne=async $=>{o==="paste"&&m(null),o==="upload"&&d(""),o&&i?.({tab:o,text:o==="paste"?p:"",file:o==="upload"?h:null});let ue=++R.current;D(!0);try{await $()}finally{ue===R.current&&D(!1)}},we=async $=>{let ue=R.current;try{let Ze=await Iv($),pt=md(Ze);if(pt)throw new Error(pt);let wt=new FormData;wt.append("file",Ze);let He=await fetch(pa("/api/schedule/extract-photo"),{method:"POST",body:wt,headers:$r()}),de=await ka(He);if(!He.ok)throw new Error(de?.error||de?.message||"Failed to extract line items from image");let _e=typeof de?.text=="string"?de.text.trim():"";if(!_e)throw new Error("No line items were extracted from this image.");let Se=Array.isArray(de?.lines)?de.lines.filter(E=>!!(E&&typeof E=="object"&&typeof E.text=="string")):void 0;if(ue!==R.current)return;await e(_e,Se,!1)}catch(Ze){if(ue!==R.current)return;c("error",{stage:"photo"}),y(Ze?.message||"Failed to extract line items from image")}},oe=()=>{if(h)return c("list_submitted",{method:En(h)?"photo":"upload"}),Ne(()=>En(h)?we(h):t(h))},se=$=>$.dataTransfer.types.includes("Files"),ye=$=>{se($)&&($.preventDefault(),S.current+=1,u(!0))},vt=$=>{se($)&&(S.current-=1,S.current<=0&&(S.current=0,u(!1)))},Ee=$=>{se($)&&($.preventDefault(),S.current=0,u(!1),Ye($.dataTransfer.files),Ue("upload"))};return(0,I.jsxs)("div",{className:"wizard-step entry-stage",onDragEnter:ye,onDragOver:$=>se($)&&$.preventDefault(),onDragLeave:vt,onDrop:Ee,children:[f&&(0,I.jsx)("div",{className:"entry-drop-overlay","aria-hidden":"true",children:"Drop your file to upload"}),(0,I.jsxs)("div",{className:"quick-order-card",children:[(0,I.jsxs)("div",{className:"quick-order-alt",children:[(0,I.jsxs)("div",{className:"quick-order-entry-copy",children:[(0,I.jsx)("div",{className:"quick-order-alt-title",children:"How would you like to get started?"}),(0,I.jsx)("p",{className:"quick-order-alt-intro",children:"Upload a file or type a list of items and quantities. We'll match them to our products and help you build a quote."})]}),(0,I.jsxs)("div",{className:"entry-options entry-options--workflow entry-options--two",children:[(0,I.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--paste${o==="paste"?" entry-option-card--active":""}`,onClick:()=>Ue("paste"),children:[(0,I.jsxs)("span",{className:"entry-option-content",children:[(0,I.jsx)("span",{className:"entry-option-title",children:"Type or paste a list"}),(0,I.jsx)("span",{className:"entry-option-desc",children:"Enter your materials and quantities"})]}),(0,I.jsx)("span",{className:"entry-option-media entry-option-media--paste","aria-hidden":"true",children:(0,I.jsx)("img",{className:"fill-img",src:It("/quick-order/paste-list.webp"),alt:""})})]}),(0,I.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--upload${o==="upload"?" entry-option-card--active":""}`,onClick:()=>Ue("upload"),children:[(0,I.jsxs)("span",{className:"entry-option-content",children:[(0,I.jsx)("span",{className:"entry-option-title",children:"Upload a file"}),(0,I.jsx)("span",{className:"entry-option-desc",children:"A photo, spreadsheet, Word document or PDF"})]}),(0,I.jsx)("span",{className:"entry-option-media entry-option-media--upload","aria-hidden":"true",children:(0,I.jsx)("img",{className:"fill-img",src:It("/quick-order/photo-list.webp"),alt:""})})]})]})]}),o&&(0,I.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"quick-order-workflow-title",onClick:()=>!K&&Be(),children:(0,I.jsxs)("section",{className:`quick-order-workflow-modal${T?" quick-order-workflow-modal--matching":""}`,onClick:$=>$.stopPropagation(),children:[(0,I.jsxs)("header",{className:"quick-order-workflow-modal-header",children:[(0,I.jsx)("h2",{id:"quick-order-workflow-title",children:o==="paste"?"Type or paste a list":"Upload a file"}),(0,I.jsx)("button",{type:"button",className:"quick-order-workflow-close",onClick:Be,"aria-label":"Close",children:(0,I.jsx)(Jo,{})})]}),(0,I.jsxs)("div",{className:"quick-order-panel",children:[(0,I.jsxs)("div",{className:"quick-order-body","aria-hidden":T,children:[(0,I.jsx)("div",{className:"quick-order-body-main",children:o==="paste"?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("textarea",{className:"paste-textarea",placeholder:`Paste your line items here, one per line, e.g.
6789
+
6790
+ /* ===== Estimating tools, customer view =====
6791
+ Same lighter surface as the Quick Quote customer screens. The hero, button and
6792
+ arrow-badge rules are shared above; these cover what Quick Quote has no class for. */
6793
+ :where(.app-wrapper).estimating-tools--customer .quick-order-eyebrow {
6794
+ display: none;
6795
+ }
6796
+
6797
+ /* Title over intro: the shared hero is a row because the results/basket heroes put a
6798
+ button beside the copy, which the calculator heroes don't have. */
6799
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero:not(.quick-order-hero--customer) {
6800
+ display: block;
6801
+ }
6802
+
6803
+ /* Lined up with the calculator body; both drop to 20px sides on phones (below). */
6804
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator .quick-order-hero {
6805
+ padding-inline: 40px;
6806
+ }
6807
+
6808
+ /* hide-header still wins over the two display rules above. */
6809
+ :where(.app-wrapper).estimating-tools--customer.app-wrapper--no-header .quick-order-hero:not(.quick-order-hero--customer) {
6810
+ display: none;
6811
+ }
6812
+
6813
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero:not(.quick-order-hero--customer) p {
6814
+ margin: 0;
6815
+ }
6816
+
6817
+ /* The light hero is transparent; embedded, the host's page colour would show behind it
6818
+ and split it from the white calculator body. */
6819
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator {
6820
+ background: var(--bg);
6821
+ border-top: 1px solid var(--border);
6822
+ border-radius: 24px;
6823
+ }
6824
+
6825
+ /* Calculator list: unframed, like the Quick Quote entry screen. */
6826
+ :where(.app-wrapper).estimating-tools--customer .quick-order-card:not(.quick-order-card--customer) {
6827
+ border: 0;
6828
+ box-shadow: none;
6829
+ overflow: visible;
6830
+ }
6831
+
6832
+ :where(.app-wrapper).estimating-tools--customer .quick-order-alt {
6833
+ padding-top: 20px;
6834
+ }
6835
+
6836
+ :where(.app-wrapper).estimating-tools--customer .quick-order-alt-title {
6837
+ display: none;
6838
+ }
6839
+
6840
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card {
6841
+ border: 1.5px solid var(--border-dark);
6842
+ border-radius: 18px;
6843
+ }
6844
+
6845
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover {
6846
+ border-color: var(--border-dark);
6847
+ box-shadow: 0 12px 28px rgb(15 23 42 / 0.14);
6848
+ transform: translateY(-4px);
6849
+ }
6850
+
6851
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__content {
6852
+ position: relative;
6853
+ align-self: stretch;
6854
+ padding: 20px 72px 22px 24px;
6855
+ }
6856
+
6857
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title {
6858
+ font-size: 18px;
6859
+ }
6860
+
6861
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::after {
6862
+ top: 32px;
6863
+ right: 24px;
6864
+ }
6865
+
6866
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::before {
6867
+ top: 32px;
6868
+ right: 31px;
6869
+ }
6870
+
6871
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__desc {
6872
+ font-size: 14px;
6873
+ line-height: 1.5;
6874
+ }
6875
+
6876
+ :where(.app-wrapper).estimating-tools--customer
6877
+ :is(
6878
+ .truss-estimator__option-card,
6879
+ .truss-estimator__visual-card,
6880
+ .truss-estimator__toggle,
6881
+ .brick-calculator__options,
6882
+ .paint-calculator__row,
6883
+ .skirting-calculator__room-row,
6884
+ .architrave-calculator__opening-row,
6885
+ .materials-calculator__surface-row,
6886
+ [class*="-calculator__result-grid"] > div,
6887
+ .estimator-products__option
6888
+ ) {
6889
+ border-radius: 14px;
6890
+ }
6891
+
6892
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator :is(input:not([type="checkbox"]), select, textarea) {
6893
+ border-radius: 10px;
6894
+ }
6895
+
6896
+ /* Rounds the end buttons rather than clipping the group, which would cut off their focus rings. */
6897
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle {
6898
+ border-radius: 10px;
6899
+ }
6900
+
6901
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle button:first-child {
6902
+ border-radius: 9px 0 0 9px;
6903
+ }
6904
+
6905
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle button:last-child {
6906
+ border-radius: 0 9px 9px 0;
6907
+ }
6908
+
6909
+ /* Back + Add to basket stay on one row: at their 30/70 split they would otherwise wrap
6910
+ whenever "Back" is wider than 30% of a narrow card. */
6911
+ :where(.app-wrapper).estimating-tools--customer [class*="-calculator__actions"] {
6912
+ flex-wrap: nowrap;
6913
+ }
6914
+
6915
+ /* ===== Estimating tools, customer view: phones ===== */
6916
+ @media (max-width: 600px) {
6917
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator .quick-order-hero,
6918
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__card {
6919
+ padding-inline: 20px;
6920
+ }
6921
+
6922
+ /* Half-width and capped fields go full width. */
6923
+ :where(.app-wrapper).estimating-tools--customer .materials-calculator__depth,
6924
+ :where(.app-wrapper).estimating-tools--customer .paint-calculator__coat-field .truss-estimator__field,
6925
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__field--compact input {
6926
+ max-width: none;
6927
+ }
6928
+
6929
+ /* Diagram above the copy, not squeezing it into a narrow column. */
6930
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__option-grid--range .truss-estimator__option-card {
6931
+ flex-direction: column;
6932
+ align-items: flex-start;
6933
+ gap: 8px;
6934
+ }
6935
+
6936
+ /* One total per row, as the other calculators already do on phones. */
6937
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__result-grid {
6938
+ grid-template-columns: 1fr;
6939
+ }
6940
+
6941
+ /* Qty, width and height on one row under the opening's name. */
6942
+ :where(.app-wrapper).estimating-tools--customer :is(.architrave-calculator__dimensions-header, .architrave-calculator__opening-row) {
6943
+ grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr);
6944
+ }
6945
+ }
6946
+ `;var Le=G(Xe());var Gs={};function rw(e){Gs={...e,client:e.client?.trim().toUpperCase()||void 0}}function jt(){return Gs}function ud(){return!!Gs.apiBaseUrl}var Y1=e=>e.replace(/\/$/,"");function pa(e){let t=Gs.apiBaseUrl;return t?`${Y1(t)}${e.replace(/^\/api\//,"/v1/")}`:e}var Sn=G(Xe());var X1="metron:step",V1="metron_step",Po=(0,Sn.createContext)(()=>{}),Cn=()=>(0,Sn.useContext)(Po);function Ys(e,t){return(0,Sn.useCallback)((a,r={})=>{let i=jt(),n=i.analytics??"all";if(n==="none")return;let o={...r,widget:e,step:a};t.current?.dispatchEvent(new CustomEvent(X1,{detail:o,bubbles:!0,composed:!0})),i.onEvent?.(o);let l=window.dataLayer;n==="all"&&Array.isArray(l)&&l.push({event:V1,...o})},[e,t])}var iw="boq-session-id",nw="x-boq-session";function ow(){if(typeof window>"u")return"server";try{let e=window.localStorage.getItem(iw);return e||(e=crypto.randomUUID(),window.localStorage.setItem(iw,e)),e}catch{return crypto.randomUUID()}}var $1="x-boq-client";function Xs(){return jt().client}function $r(){let{client:e,apiKey:t}=jt();return ud()?t?{Authorization:`Bearer ${t}`}:{}:e?{[$1]:e}:{}}function wi(){return{...ud()?{}:{[nw]:ow()},...$r()}}function Z1(e){return e&&typeof e=="object"&&e.success===!0&&"data"in e?e.data:e}async function ka(e){return Z1(await e.json().catch(()=>({})))}var lw=9e4;async function sw(e,t){let a=new AbortController,r=setTimeout(()=>a.abort(),lw),i;try{i=await fetch(e,{...t,signal:a.signal})}catch(o){throw o?.name==="AbortError"?new Error(`Request to ${e} timed out after ${lw/1e3}s. Please try again.`):o}finally{clearTimeout(r)}let n=await ka(i);if(!i.ok||n?.error){let o=n;throw new Error(o.detail??o.message??o.error??`Server error ${i.status}`)}return n}function cw(e,t,a=!0){let r=new FormData;return r.append("file",e),t?.length&&r.append("provided_lines_json",JSON.stringify(t)),a||r.append("archive_source","false"),sw(pa("/api/schedule"),{method:"POST",body:r,headers:wi()})}function uw(e,t){let a=t?`?account=${encodeURIComponent(t)}`:"";return sw(pa(`/api/schedule/${e}${a}`),{headers:$r()})}function pw(e,t,a,r){let i=!1,n=null,o=performance.now();return{promise:new Promise((p,d)=>{let g=async()=>{if(!i)try{let m=await e();if(i)return;if(m.status==="completed"||m.status==="failed"){console.log(`[pollJob:${r??"job"}] ${m.status} (${Math.round(performance.now()-o)}ms)`),p(m);return}a?.(),n=setTimeout(g,t)}catch(m){i||d(m)}};n=setTimeout(g,t)}),cancel:()=>{i=!0,n&&(clearTimeout(n),n=null)}}}var qt=G(Xe());var dw=new URL("../assets/decking/boards/diagonal.webp",import.meta.url).href;var mw=new URL("../assets/decking/boards/no-border.webp",import.meta.url).href;var fw=new URL("../assets/decking/boards/picture-frame.webp",import.meta.url).href;var hw=new URL("../assets/decking/boards/straight.webp",import.meta.url).href;var gw=new URL("../assets/fencing/gates/no-gate.webp",import.meta.url).href;var bw=new URL("../assets/fencing/gates/single-gate.webp",import.meta.url).href;var ww=new URL("../assets/fencing/gravel-board.webp",import.meta.url).href;var vw=new URL("../assets/fencing/height/0.9.webp",import.meta.url).href;var yw=new URL("../assets/fencing/height/1.2.webp",import.meta.url).href;var _w=new URL("../assets/fencing/height/1.5.webp",import.meta.url).href;var xw=new URL("../assets/fencing/height/1.8.webp",import.meta.url).href;var kw=new URL("../assets/fencing/no-gravel-board.webp",import.meta.url).href;var Nw=new URL("../assets/quick-order/paste-list.webp",import.meta.url).href;var Sw=new URL("../assets/quick-order/photo-list.webp",import.meta.url).href;var Cw=new URL("../assets/quick-order/upload-file.webp",import.meta.url).href;var qw=new URL("../assets/schedule-products/building-sand.webp",import.meta.url).href;var Ew=new URL("../assets/schedule-products/drywall-screws.webp",import.meta.url).href;var Mw=new URL("../assets/schedule-products/loft-insulation-roll.webp",import.meta.url).href;var Tw=new URL("../assets/schedule-products/red-multi-stock-bricks.webp",import.meta.url).href;var zw=new URL("../assets/schedule-products/scrim-tape.webp",import.meta.url).href;var Aw=new URL("../assets/schedule-products/wall-ties.webp",import.meta.url).href;var Rw=new URL("../assets/tool-images/architrave.webp",import.meta.url).href;var Uw=new URL("../assets/tool-images/brick-block.webp",import.meta.url).href;var Dw=new URL("../assets/tool-images/concrete-aggregate.webp",import.meta.url).href;var Ow=new URL("../assets/tool-images/decking.webp",import.meta.url).href;var Bw=new URL("../assets/tool-images/fencing.webp",import.meta.url).href;var Lw=new URL("../assets/tool-images/insulation.webp",import.meta.url).href;var Hw=new URL("../assets/tool-images/paint.webp",import.meta.url).href;var jw=new URL("../assets/tool-images/paving.webp",import.meta.url).href;var Qw=new URL("../assets/tool-images/plasterboard.webp",import.meta.url).href;var Gw=new URL("../assets/tool-images/skirting.webp",import.meta.url).href;var Yw=new URL("../assets/tool-images/timber.webp",import.meta.url).href;var Xw=new URL("../assets/tool-images/truss.webp",import.meta.url).href;var ze=e=>typeof e=="string"?e:e.src,K1={"/decking/boards/diagonal.webp":ze(dw),"/decking/boards/no-border.webp":ze(mw),"/decking/boards/picture-frame.webp":ze(fw),"/decking/boards/straight.webp":ze(hw),"/fencing/gates/no-gate.webp":ze(gw),"/fencing/gates/single-gate.webp":ze(bw),"/fencing/gravel-board.webp":ze(ww),"/fencing/height/0.9.webp":ze(vw),"/fencing/height/1.2.webp":ze(yw),"/fencing/height/1.5.webp":ze(_w),"/fencing/height/1.8.webp":ze(xw),"/fencing/no-gravel-board.webp":ze(kw),"/quick-order/paste-list.webp":ze(Nw),"/quick-order/photo-list.webp":ze(Sw),"/quick-order/upload-file.webp":ze(Cw),"/schedule-products/building-sand.webp":ze(qw),"/schedule-products/drywall-screws.webp":ze(Ew),"/schedule-products/loft-insulation-roll.webp":ze(Mw),"/schedule-products/red-multi-stock-bricks.webp":ze(Tw),"/schedule-products/scrim-tape.webp":ze(zw),"/schedule-products/wall-ties.webp":ze(Aw),"/tool-images/architrave.webp":ze(Rw),"/tool-images/brick-block.webp":ze(Uw),"/tool-images/concrete-aggregate.webp":ze(Dw),"/tool-images/decking.webp":ze(Ow),"/tool-images/fencing.webp":ze(Bw),"/tool-images/insulation.webp":ze(Lw),"/tool-images/paint.webp":ze(Hw),"/tool-images/paving.webp":ze(jw),"/tool-images/plasterboard.webp":ze(Qw),"/tool-images/skirting.webp":ze(Gw),"/tool-images/timber.webp":ze(Yw),"/tool-images/truss.webp":ze(Xw)};function It(e){return K1[e]??e}var pd=G(ee());function Qt(){return(0,pd.jsx)("svg",{className:"forward-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,pd.jsx)("path",{d:"M3 8H13M13 8L9 4M13 8L9 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var dd=G(ee());function Jo(){return(0,dd.jsx)("svg",{className:"close-icon",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,dd.jsx)("path",{d:"M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})}var qn={schedule:[".xlsx",".xls",".csv",".pdf",".docx"],photo:[".png",".jpg",".jpeg",".webp",".gif",".bmp",".heic",".heif"],email:[".eml",".msg"]};var Pw=(e,t)=>qn[t].some(a=>e.toLowerCase().endsWith(a)),En=e=>e.type.startsWith("image/")||Pw(e.name,"photo"),I1=e=>En(e)||Pw(e.name,"schedule"),Kw=e=>`${Math.max(.1,Math.round(e/1048576*10)/10)} MB`;function md(e,t=5242880){return I1(e)?e.size===0?"That file is empty.":e.size>t?`That file is ${Kw(e.size)} - the limit is ${Kw(t)}.`:null:`Please upload a list or image file (${[...qn.schedule,...qn.photo].join(", ")}).`}var F1=e=>e.split(`
6947
+ `).map(t=>t.trim()).filter(Boolean);function Jw(e){let t=F1(e);if(t.length>500)return`That's ${t.length} lines - the limit is 500. Split the list and match it in parts.`;if(e.length>5e4)return`That's ${e.length.toLocaleString("en-GB")} characters - the limit is ${5e4.toLocaleString("en-GB")}. Split the list and match it in parts.`;let a=t.findIndex(r=>r.length>500);return a>=0?`Line ${a+1} is ${t[a].length} characters - keep each item on its own line (max 500).`:null}async function Iw(e){if(e.size<=5242880)return e;let t;try{t=await createImageBitmap(e)}catch{return e}let a=Math.min(1,2e3/Math.max(t.width,t.height)),r=document.createElement("canvas");r.width=Math.round(t.width*a),r.height=Math.round(t.height*a);let i=r.getContext("2d");if(!i)return e;i.fillStyle="#fff",i.fillRect(0,0,r.width,r.height),i.drawImage(t,0,0,r.width,r.height),t.close();let n=await new Promise(o=>r.toBlob(o,"image/jpeg",.85));return!n||n.size>=e.size?e:new File([n],`${e.name.replace(/\.[^.]+$/,"")}.jpg`,{type:"image/jpeg"})}var Zr=G(Xe());var Zs=G(Xe()),$s=G(ee()),W1=[4,5,4],fd=4e3;function dr(){let[e,t]=(0,Zs.useState)(0);(0,Zs.useEffect)(()=>{let r=setInterval(()=>t(i=>i+1),fd);return()=>clearInterval(r)},[]);let a=0;return(0,$s.jsx)("div",{className:"brick-wall","aria-hidden":!0,children:W1.map((r,i)=>(0,$s.jsx)("div",{className:"brick-wall__course",children:Array.from({length:r},(n,o)=>(0,$s.jsx)("span",{className:`brick-wall__brick${r===5&&(o===0||o===4)?" brick-wall__brick--half":""}`,style:{"--i":a++}},o))},i))},e)}var Io=G(ee()),Ks=["Measuring twice, quoting once","Counting bricks so you don't have to","Haggling with the price of timber","Adding a bit extra for the skip","Double-checking nobody ordered too much sand","Rounding up, obviously","Making sure the numbers add up better than the last lot did","Checking if copper pipe is still worth its weight in gold","Squeezing a bit more accuracy out of the numbers","Totting it all up on the back of a fag packet, digitally","Making sure the quote is tighter than your tolerances","Nearly there, unlike most site schedules","Working out if it'll all fit on one pallet","Double-checking the VAT, because someone has to","Giving the calculator a proper workout","Making sure nothing's out of stock before you get excited"];function Fw(e){let t=[...e];for(let a=t.length-1;a>0;a--){let r=Math.floor(Math.random()*(a+1));[t[a],t[r]]=[t[r],t[a]]}return t}function Ww(){let e=(0,Zr.useRef)(Fw(Ks.map((o,l)=>l))),t=(0,Zr.useRef)(0),[a,r]=(0,Zr.useState)(Ks[e.current[0]]),[i,n]=(0,Zr.useState)(!0);return(0,Zr.useEffect)(()=>{let o=setInterval(()=>{n(!1),window.setTimeout(()=>{t.current++,t.current>=e.current.length&&(e.current=Fw(Ks.map((l,c)=>c)),t.current=0),r(Ks[e.current[t.current]]),n(!0)},600)},fd);return()=>clearInterval(o)},[]),(0,Io.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",children:[(0,Io.jsx)(dr,{}),(0,Io.jsx)("p",{className:`banter-message${i?" is-visible":""}`,children:a})]})}var Ps=G(Xe());function Fo(e,t){let a=(0,Ps.useRef)(t);a.current=t,(0,Ps.useEffect)(()=>{if(!e)return;let r=i=>{i.key!=="Escape"||i.defaultPrevented||i.isComposing||(i.preventDefault(),a.current())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e])}var I=G(ee()),e_=[...qn.schedule,...qn.photo].join(","),t_={paste:[{title:"Paste List",desc:"Paste your material list straight from a spreadsheet or document."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}],upload:[{title:"Upload File",desc:"Upload a photo, spreadsheet, Word document or PDF."},{title:"Check Matches",desc:"Review the suggested products and adjust any that need changing."},{title:"Review Quote",desc:"Review the matched materials for your quote."}]},Mn="#quote-entry",Js="metron-quick-quote-entry";function hd({onPasteSchedule:e,onUploadSchedule:t,onEntryModeChange:a,draft:r,onSubmitDraft:i,onCancelMatch:n}){let[o,l]=(0,qt.useState)(()=>r&&typeof window<"u"&&window.location.hash===Mn?r.tab:null),c=Cn(),[p,d]=(0,qt.useState)(r?.text??""),[g,m]=(0,qt.useState)(r?.file??null),[b,y]=(0,qt.useState)(""),[T,D]=(0,qt.useState)(!1),[f,u]=(0,qt.useState)(!1),[w,v]=(0,qt.useState)(null),S=(0,qt.useRef)(0),R=(0,qt.useRef)(0),z=(0,qt.useRef)(null),A=p.split(`
6948
+ `).filter($=>$.trim()).length,Q=Jw(p),K=o==="paste"?!!p:!!g;(0,qt.useEffect)(()=>{if(!g||!En(g)){v(null);return}let $=URL.createObjectURL(g);return v($),()=>URL.revokeObjectURL($)},[g]);let fe=(0,qt.useRef)(o??r?.tab??null);o&&(fe.current=o),(0,qt.useEffect)(()=>{if(r||window.location.hash!==Mn)return;let $=null;try{$=JSON.parse(window.sessionStorage.getItem(Js)??"null")}catch{}if(!$?.tab){let ue=new URL(window.location.href);ue.hash="",window.history.replaceState(window.history.state,"",ue);return}fe.current=$.tab,l($.tab),d($.text??"")},[]),(0,qt.useEffect)(()=>{if(o)try{window.sessionStorage.setItem(Js,JSON.stringify({tab:o,text:p}))}catch{}},[o,p]),(0,qt.useEffect)(()=>{let $=()=>{if(window.location.hash===Mn)return l(fe.current);l(null),R.current++,D(!1),n?.()};return window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[]);let Ue=$=>{c("method_selected",{method:$}),l($),a(null);let ue=window.location.hash;if(ue===Mn)return;let Ze=new URL(window.location.href);Ze.hash=Mn;let pt=ue==="#matched-products"||ue==="#quote-request";window.history[pt?"replaceState":"pushState"]({boqQuoteStage:"entry"},"",Ze)},Be=()=>{l(null),a(null),window.location.hash===Mn&&window.history.back()};Fo(!!o&&!T,Be);let Ye=$=>{if(!$?.length)return;if($.length>1)return y("Please choose one file at a time.");let ue=$[0],Ze=md(ue,En(ue)?1/0:void 0);if(Ze)return y(Ze);y(""),m(ue)},Ne=async $=>{o==="paste"&&m(null),o==="upload"&&d(""),o&&i?.({tab:o,text:o==="paste"?p:"",file:o==="upload"?g:null});let ue=++R.current;D(!0);try{await $()}finally{ue===R.current&&D(!1)}},ve=async $=>{let ue=R.current;try{let Ze=await Iw($),pt=md(Ze);if(pt)throw new Error(pt);let vt=new FormData;vt.append("file",Ze);let He=await fetch(pa("/api/schedule/extract-photo"),{method:"POST",body:vt,headers:$r()}),de=await ka(He);if(!He.ok)throw new Error(de?.error||de?.message||"Failed to extract line items from image");let _e=typeof de?.text=="string"?de.text.trim():"";if(!_e)throw new Error("No line items were extracted from this image.");let Se=Array.isArray(de?.lines)?de.lines.filter(E=>!!(E&&typeof E=="object"&&typeof E.text=="string")):void 0;if(ue!==R.current)return;await e(_e,Se,!1)}catch(Ze){if(ue!==R.current)return;c("error",{stage:"photo"}),y(Ze?.message||"Failed to extract line items from image")}},oe=()=>{if(g)return c("list_submitted",{method:En(g)?"photo":"upload"}),Ne(()=>En(g)?ve(g):t(g))},se=$=>$.dataTransfer.types.includes("Files"),ye=$=>{se($)&&($.preventDefault(),S.current+=1,u(!0))},wt=$=>{se($)&&(S.current-=1,S.current<=0&&(S.current=0,u(!1)))},Ee=$=>{se($)&&($.preventDefault(),S.current=0,u(!1),Ye($.dataTransfer.files),Ue("upload"))};return(0,I.jsxs)("div",{className:"wizard-step entry-stage",onDragEnter:ye,onDragOver:$=>se($)&&$.preventDefault(),onDragLeave:wt,onDrop:Ee,children:[f&&(0,I.jsx)("div",{className:"entry-drop-overlay","aria-hidden":"true",children:"Drop your file to upload"}),(0,I.jsxs)("div",{className:"quick-order-card",children:[(0,I.jsxs)("div",{className:"quick-order-alt",children:[(0,I.jsxs)("div",{className:"quick-order-entry-copy",children:[(0,I.jsx)("div",{className:"quick-order-alt-title",children:"How would you like to get started?"}),(0,I.jsx)("p",{className:"quick-order-alt-intro",children:"Upload a file or type a list of items and quantities. We'll match them to our products and help you build a quote."})]}),(0,I.jsxs)("div",{className:"entry-options entry-options--workflow entry-options--two",children:[(0,I.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--paste${o==="paste"?" entry-option-card--active":""}`,onClick:()=>Ue("paste"),children:[(0,I.jsxs)("span",{className:"entry-option-content",children:[(0,I.jsx)("span",{className:"entry-option-title",children:"Type or paste a list"}),(0,I.jsx)("span",{className:"entry-option-desc",children:"Enter your materials and quantities"})]}),(0,I.jsx)("span",{className:"entry-option-media entry-option-media--paste","aria-hidden":"true",children:(0,I.jsx)("img",{className:"fill-img",src:It("/quick-order/paste-list.webp"),alt:""})})]}),(0,I.jsxs)("button",{type:"button",className:`entry-option-card entry-option-card--upload${o==="upload"?" entry-option-card--active":""}`,onClick:()=>Ue("upload"),children:[(0,I.jsxs)("span",{className:"entry-option-content",children:[(0,I.jsx)("span",{className:"entry-option-title",children:"Upload a file"}),(0,I.jsx)("span",{className:"entry-option-desc",children:"A photo, spreadsheet, Word document or PDF"})]}),(0,I.jsx)("span",{className:"entry-option-media entry-option-media--upload","aria-hidden":"true",children:(0,I.jsx)("img",{className:"fill-img",src:It("/quick-order/photo-list.webp"),alt:""})})]})]})]}),o&&(0,I.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"quick-order-workflow-title",onClick:()=>!K&&Be(),children:(0,I.jsxs)("section",{className:`quick-order-workflow-modal${T?" quick-order-workflow-modal--matching":""}`,onClick:$=>$.stopPropagation(),children:[(0,I.jsxs)("header",{className:"quick-order-workflow-modal-header",children:[(0,I.jsx)("h2",{id:"quick-order-workflow-title",children:o==="paste"?"Type or paste a list":"Upload a file"}),(0,I.jsx)("button",{type:"button",className:"quick-order-workflow-close",onClick:Be,"aria-label":"Close",children:(0,I.jsx)(Jo,{})})]}),(0,I.jsxs)("div",{className:"quick-order-panel",children:[(0,I.jsxs)("div",{className:"quick-order-body","aria-hidden":T,children:[(0,I.jsx)("div",{className:"quick-order-body-main",children:o==="paste"?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("textarea",{className:"paste-textarea",placeholder:`Paste your line items here, one per line, e.g.
6782
6949
  insulated plasterboard 50mm
6783
- C24 timber 4.8m`,value:p,onChange:$=>d($.target.value),"aria-label":"Paste schedule line items"}),Q&&(0,I.jsxs)("div",{className:"error-box",role:"alert",children:[(0,I.jsx)("strong",{children:"Error:"})," ",Q]}),(0,I.jsxs)("div",{className:"quick-order-hint",children:[(0,I.jsx)("strong",{children:"Tip:"}),'\xA0Paste one line per item. Include a count, e.g. "x10", to help us find the right stock and pricing.']}),(0,I.jsx)("div",{className:"quick-order-actions",children:(0,I.jsxs)("button",{type:"button",className:"cta-btn",disabled:!A||!!Q,onClick:()=>{c("list_submitted",{method:"paste",lines:A}),Ne(()=>e(p))},"aria-label":"Match pasted lines",children:[(0,I.jsx)("span",{children:"Match line items"}),(0,I.jsx)("span",{className:"arrow",children:(0,I.jsx)(Qt,{})})]})})]}):(0,I.jsxs)(I.Fragment,{children:[b&&(0,I.jsxs)("div",{className:"error-box",role:"alert",children:[(0,I.jsx)("strong",{children:"Error:"})," ",b]}),(0,I.jsxs)("div",{className:`upload-zone${h?" has-file":""}`,onClick:()=>z.current?.click(),onDragOver:$=>$.preventDefault(),onDrop:Ee,role:"button",tabIndex:0,onKeyDown:$=>($.key==="Enter"||$.key===" ")&&z.current?.click(),"aria-label":"Upload zone: click or drag a list or image file here",children:[v?(0,I.jsx)("img",{src:v,alt:h?.name??"Selected photo",className:"upload-zone-photo-preview"}):(0,I.jsx)("div",{className:"upload-zone-icon",children:(0,I.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,I.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,I.jsx)("polyline",{points:"14,2 14,8 20,8"}),(0,I.jsx)("polyline",{points:"9,15 11,17 15,13"})]})}),h?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{className:"upload-zone-subtext",children:h.name}),(0,I.jsx)("button",{type:"button",className:"link-btn link-btn--underline",onClick:$=>{$.stopPropagation(),m(null),y(""),z.current&&(z.current.value="")},children:"Remove"})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{className:"upload-zone-text",children:"Drop a photo, spreadsheet, Word document or PDF"}),(0,I.jsx)("div",{className:"upload-zone-subtext",children:"or click to choose a file"})]}),(0,I.jsx)("input",{ref:z,type:"file",accept:e_,className:"visually-hidden",onChange:$=>Ye($.target.files),tabIndex:-1,"aria-hidden":"true"})]}),(0,I.jsx)("div",{className:"quick-order-actions",children:(0,I.jsxs)("button",{type:"button",className:"cta-btn",disabled:!h,onClick:()=>{oe()},"aria-label":"Match uploaded items",children:[(0,I.jsx)("span",{children:"Match items"}),(0,I.jsx)("span",{className:"arrow",children:(0,I.jsx)(Qt,{})})]})})]})}),(0,I.jsx)("aside",{className:"quick-order-sidebar",children:t_[o].map(($,ue)=>(0,I.jsxs)("div",{className:"quick-order-step quick-order-step--rail",children:[(0,I.jsx)("span",{className:"quick-order-step-dot",children:ue+1}),(0,I.jsxs)("div",{children:[(0,I.jsx)("div",{className:"quick-order-step-title",children:$.title}),(0,I.jsx)("div",{className:"quick-order-step-desc",children:$.desc})]})]},$.title))})]}),T&&(0,I.jsx)("div",{className:"quick-order-matching-overlay",children:(0,I.jsx)(Wv,{})})]})]})})]})]})}var ke=G(Xe());var hd=G(ee());function Kr(){return(0,hd.jsx)("svg",{className:"back-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,hd.jsx)("path",{d:"M13 8H3M3 8L7 4M3 8L7 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var wi=G(ee());function bd(){return(0,wi.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,wi.jsx)("path",{d:"M3 12a9 9 0 0 1 15.36-6.36L21 8"}),(0,wi.jsx)("path",{d:"M21 3v5h-5"}),(0,wi.jsx)("path",{d:"M21 12a9 9 0 0 1-15.36 6.36L3 16"}),(0,wi.jsx)("path",{d:"M3 21v-5h5"})]})}var Wo=G(ee());function vd({unit:e}){return(0,Wo.jsx)(Wo.Fragment,{children:e.split(/([²³])/).map((t,a)=>t==="\xB2"||t==="\xB3"?(0,Wo.jsx)("span",{className:"unit-sup",children:t},a):t)})}var ew=G(ee());function a_(e,t){return t===1||/^m\d*$/i.test(e)?e:/(s|x|z|ch|sh)$/i.test(e)?`${e}es`:/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:`${e}s`}function Na(e,t){let a=(e??"").trim();if(!a||a==="-")return"";let r=/^each$/i.test(a)?"unit":a;return t!=null?a_(r,t):r}function Sa(e,t){let a=Na(e,t);return a?(0,ew.jsx)(vd,{unit:a}):null}function el(e){let t=(e??"").trim();if(!t)return"";let a=t.match(/^per\s+(.+)$/i);if(!a)return t;let r=Na(a[1]);return r?`per ${r}`:""}function yi(e){return e===0?"-":Number.isInteger(e)?e.toString():e<1?e.toFixed(2):e.toFixed(1)}function lt(e){return`\xA3${e.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function tw(e){return`data:image/svg+xml;utf8,${encodeURIComponent(e)}`}var r_=[{match:["building sand"],path:"/schedule-products/building-sand.webp"},{match:["drywall screw"],path:"/schedule-products/drywall-screws.webp"},{match:["scrim"],path:"/schedule-products/scrim-tape.webp"},{match:["loft insulation","loft roll"],path:"/schedule-products/loft-insulation-roll.webp"},{match:["wall tie"],path:"/schedule-products/wall-ties.webp"},{match:["red multi","multi stock","brick"],path:"/schedule-products/red-multi-stock-bricks.webp"}],i_=[{match:["mortar"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Blue+Circle+Quality+Assured+Mortar+Mix+-+Photo.jpg"},{match:["mot type 1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/MOT+-+Photo+1.jpg"},{match:["soft sand","building sand"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Soft+Building+Sand+-+Photo+1.jpg"},{match:["cement"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/blue+circle+general+cement+bagged.jpg"},{match:["brick"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/class+B+engineering+brick+smooth+red+perforated+65mm+-+Photo+1+comp.jpg"},{match:["dense block","concrete block"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+solid+dense+concrete+block+-+Photo+1+-+1920+comp.jpg"},{match:["metal c stud","c stud"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/70mm+c+stud+angle.jpg"},{match:["timber","carcassing","sawn","c24","c16"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/47mm+x+100mm+sawn+treated+c16+-+Photo+1+1920.jpg"},{match:["osb"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/18mm+structural+OSB+-+Photo+1+comp.jpg"},{match:["dpc"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/225mm+damp+proof+course.jpg"},{match:["soil pipe","soil bend","underground","drainage"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/110mm+Soil+Pipe+Single+Socket+Black+3m+-+High+Res.jpg"},{match:["nail"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/galvanised+round+wire+nail+vertical.jpg"},{match:["retaining clip","retaining clips","insulation disc","insulation disks"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/multiple+zinc+insulation+discs.jpg"},{match:["wall tie"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Type+4+Wall+Ties+-+Photo.jpg"},{match:["loft insulation","loft roll","insulation roll"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/200mm+knauf+loft+roll+44+unwrapping.jpg"},{match:["pir insulation","insulation board","celotex","unilin","indiboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+celotex+sheet+logo.jpg"},{match:["plasterboard","wallboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/12.5mm+wallboard+tapered+edge+corner.jpg"},{match:["drywall screw"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/close+up+drywall+course+thread.jpg"},{match:["scrim","jointing tape","paper tape"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/50mm+scrim+tape.jpg"},{match:["adhesive","high grab","evostik","stixall","gripfill","sealant","ct1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Instant+Nails+Solvent+Free+Grab+Adhesive+White+290ml+-+Photo.jpg"}];function Ga(e,t,a){if(a)return a;let r=(e||"").toLowerCase(),i=i_.find(o=>o.match.some(l=>r.includes(l)));if(i)return i.url;let n=r_.find(o=>o.match.some(l=>r.includes(l)));return n?It(n.path):r.includes("insulation")?tw(`
6950
+ C24 timber 4.8m`,value:p,onChange:$=>d($.target.value),"aria-label":"Paste schedule line items"}),Q&&(0,I.jsxs)("div",{className:"error-box",role:"alert",children:[(0,I.jsx)("strong",{children:"Error:"})," ",Q]}),(0,I.jsxs)("div",{className:"quick-order-hint",children:[(0,I.jsx)("strong",{children:"Tip:"}),'\xA0Paste one line per item. Include a count, e.g. "x10", to help us find the right stock and pricing.']}),(0,I.jsx)("div",{className:"quick-order-actions",children:(0,I.jsxs)("button",{type:"button",className:"cta-btn",disabled:!A||!!Q,onClick:()=>{c("list_submitted",{method:"paste",lines:A}),Ne(()=>e(p))},"aria-label":"Match pasted lines",children:[(0,I.jsx)("span",{children:"Match line items"}),(0,I.jsx)("span",{className:"arrow",children:(0,I.jsx)(Qt,{})})]})})]}):(0,I.jsxs)(I.Fragment,{children:[b&&(0,I.jsxs)("div",{className:"error-box",role:"alert",children:[(0,I.jsx)("strong",{children:"Error:"})," ",b]}),(0,I.jsxs)("div",{className:`upload-zone${g?" has-file":""}`,onClick:()=>z.current?.click(),onDragOver:$=>$.preventDefault(),onDrop:Ee,role:"button",tabIndex:0,onKeyDown:$=>($.key==="Enter"||$.key===" ")&&z.current?.click(),"aria-label":"Upload zone: click or drag a list or image file here",children:[w?(0,I.jsx)("img",{src:w,alt:g?.name??"Selected photo",className:"upload-zone-photo-preview"}):(0,I.jsx)("div",{className:"upload-zone-icon",children:(0,I.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,I.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,I.jsx)("polyline",{points:"14,2 14,8 20,8"}),(0,I.jsx)("polyline",{points:"9,15 11,17 15,13"})]})}),g?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{className:"upload-zone-subtext",children:g.name}),(0,I.jsx)("button",{type:"button",className:"link-btn link-btn--underline",onClick:$=>{$.stopPropagation(),m(null),y(""),z.current&&(z.current.value="")},children:"Remove"})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("div",{className:"upload-zone-text",children:"Drop a photo, spreadsheet, Word document or PDF"}),(0,I.jsx)("div",{className:"upload-zone-subtext",children:"or click to choose a file"})]}),(0,I.jsx)("input",{ref:z,type:"file",accept:e_,className:"visually-hidden",onChange:$=>Ye($.target.files),tabIndex:-1,"aria-hidden":"true"})]}),(0,I.jsx)("div",{className:"quick-order-actions",children:(0,I.jsxs)("button",{type:"button",className:"cta-btn",disabled:!g,onClick:()=>{oe()},"aria-label":"Match uploaded items",children:[(0,I.jsx)("span",{children:"Match items"}),(0,I.jsx)("span",{className:"arrow",children:(0,I.jsx)(Qt,{})})]})})]})}),(0,I.jsx)("aside",{className:"quick-order-sidebar",children:t_[o].map(($,ue)=>(0,I.jsxs)("div",{className:"quick-order-step quick-order-step--rail",children:[(0,I.jsx)("span",{className:"quick-order-step-dot",children:ue+1}),(0,I.jsxs)("div",{children:[(0,I.jsx)("div",{className:"quick-order-step-title",children:$.title}),(0,I.jsx)("div",{className:"quick-order-step-desc",children:$.desc})]})]},$.title))})]}),T&&(0,I.jsx)("div",{className:"quick-order-matching-overlay",children:(0,I.jsx)(Ww,{})})]})]})})]})]})}var ke=G(Xe());var gd=G(ee());function Kr(){return(0,gd.jsx)("svg",{className:"back-arrow",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,gd.jsx)("path",{d:"M13 8H3M3 8L7 4M3 8L7 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var vi=G(ee());function bd(){return(0,vi.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,vi.jsx)("path",{d:"M3 12a9 9 0 0 1 15.36-6.36L21 8"}),(0,vi.jsx)("path",{d:"M21 3v5h-5"}),(0,vi.jsx)("path",{d:"M21 12a9 9 0 0 1-15.36 6.36L3 16"}),(0,vi.jsx)("path",{d:"M3 21v-5h5"})]})}var Wo=G(ee());function wd({unit:e}){return(0,Wo.jsx)(Wo.Fragment,{children:e.split(/([²³])/).map((t,a)=>t==="\xB2"||t==="\xB3"?(0,Wo.jsx)("span",{className:"unit-sup",children:t},a):t)})}var ev=G(ee());function a_(e,t){return t===1||/^m\d*$/i.test(e)?e:/(s|x|z|ch|sh)$/i.test(e)?`${e}es`:/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:`${e}s`}function Na(e,t){let a=(e??"").trim();if(!a||a==="-")return"";let r=/^each$/i.test(a)?"unit":a;return t!=null?a_(r,t):r}function Sa(e,t){let a=Na(e,t);return a?(0,ev.jsx)(wd,{unit:a}):null}function el(e){let t=(e??"").trim();if(!t)return"";let a=t.match(/^per\s+(.+)$/i);if(!a)return t;let r=Na(a[1]);return r?`per ${r}`:""}function yi(e){return e===0?"-":Number.isInteger(e)?e.toString():e<1?e.toFixed(2):e.toFixed(1)}function lt(e){return`\xA3${e.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function tv(e){return`data:image/svg+xml;utf8,${encodeURIComponent(e)}`}var r_=[{match:["building sand"],path:"/schedule-products/building-sand.webp"},{match:["drywall screw"],path:"/schedule-products/drywall-screws.webp"},{match:["scrim"],path:"/schedule-products/scrim-tape.webp"},{match:["loft insulation","loft roll"],path:"/schedule-products/loft-insulation-roll.webp"},{match:["wall tie"],path:"/schedule-products/wall-ties.webp"},{match:["red multi","multi stock","brick"],path:"/schedule-products/red-multi-stock-bricks.webp"}],i_=[{match:["mortar"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Blue+Circle+Quality+Assured+Mortar+Mix+-+Photo.jpg"},{match:["mot type 1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/MOT+-+Photo+1.jpg"},{match:["soft sand","building sand"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Soft+Building+Sand+-+Photo+1.jpg"},{match:["cement"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/blue+circle+general+cement+bagged.jpg"},{match:["brick"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/class+B+engineering+brick+smooth+red+perforated+65mm+-+Photo+1+comp.jpg"},{match:["dense block","concrete block"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+solid+dense+concrete+block+-+Photo+1+-+1920+comp.jpg"},{match:["metal c stud","c stud"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/70mm+c+stud+angle.jpg"},{match:["timber","carcassing","sawn","c24","c16"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/47mm+x+100mm+sawn+treated+c16+-+Photo+1+1920.jpg"},{match:["osb"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/18mm+structural+OSB+-+Photo+1+comp.jpg"},{match:["dpc"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/225mm+damp+proof+course.jpg"},{match:["soil pipe","soil bend","underground","drainage"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/110mm+Soil+Pipe+Single+Socket+Black+3m+-+High+Res.jpg"},{match:["nail"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/galvanised+round+wire+nail+vertical.jpg"},{match:["retaining clip","retaining clips","insulation disc","insulation disks"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/multiple+zinc+insulation+discs.jpg"},{match:["wall tie"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Type+4+Wall+Ties+-+Photo.jpg"},{match:["loft insulation","loft roll","insulation roll"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/200mm+knauf+loft+roll+44+unwrapping.jpg"},{match:["pir insulation","insulation board","celotex","unilin","indiboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/100mm+celotex+sheet+logo.jpg"},{match:["plasterboard","wallboard"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/12.5mm+wallboard+tapered+edge+corner.jpg"},{match:["drywall screw"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/close+up+drywall+course+thread.jpg"},{match:["scrim","jointing tape","paper tape"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/50mm+scrim+tape.jpg"},{match:["adhesive","high grab","evostik","stixall","gripfill","sealant","ct1"],url:"https://res.cloudinary.com/materials-market/image/upload/c_fill,w_750/assets/product-images-final/Instant+Nails+Solvent+Free+Grab+Adhesive+White+290ml+-+Photo.jpg"}];function Ga(e,t,a){if(a)return a;let r=(e||"").toLowerCase(),i=i_.find(o=>o.match.some(l=>r.includes(l)));if(i)return i.url;let n=r_.find(o=>o.match.some(l=>r.includes(l)));return n?It(n.path):r.includes("insulation")?tv(`
6784
6951
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 420">
6785
6952
  <rect width="640" height="420" fill="#fbf1cf"/>
6786
6953
  <rect x="88" y="78" width="432" height="264" rx="16" fill="#f0c43f"/>
@@ -6791,7 +6958,7 @@ C24 timber 4.8m`,value:p,onChange:$=>d($.target.value),"aria-label":"Paste sched
6791
6958
  <line x1="140" y1="240" x2="468" y2="240"/>
6792
6959
  </g>
6793
6960
  </svg>
6794
- `):tw(`
6961
+ `):tv(`
6795
6962
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 420">
6796
6963
  <rect width="640" height="420" fill="#edf1f5"/>
6797
6964
  <rect x="132" y="108" width="376" height="204" rx="18" fill="#d5dde6"/>
@@ -6799,9 +6966,9 @@ C24 timber 4.8m`,value:p,onChange:$=>d($.target.value),"aria-label":"Paste sched
6799
6966
  <rect x="168" y="188" width="250" height="24" rx="12" fill="#aab5c0"/>
6800
6967
  <rect x="168" y="232" width="220" height="24" rx="12" fill="#aab5c0"/>
6801
6968
  </svg>
6802
- `)}function Pr(e,t){return{lineId:t.lineId,description:e?.description||t.description||"(no description)",requestedDescription:t.description,productId:e?.product_id??"-",price:e?.price??null,priceBasis:e?.price_basis??null,unit:t.unit,uoi:e?.uoi??t.unit,uoiCount:e?.uoi_count??null,saleUnit:e?.conversion?.sale_unit??null,saleUnitQuantity:e?.conversion?.sale_unit_quantity??null,unitConversions:e?.conversion?.unit_conversions?.map(a=>({requestUom:a.request_uom,quantityPerSaleUnit:a.quantity_per_sale_unit,evidence:a.evidence,confidence:a.confidence})),pdpPhotoUrl:e?.pdp_photo_url??null,measurementsMm:e?.measurements_mm??[],conversionType:e?.conversion?.conversion_type??null,requestUomsSupported:e?.conversion?.request_uoms_supported??null,salesUomNormalised:e?.conversion?.sales_uom_normalised??null,salesUnitSize:e?.conversion?.sales_unit_size??null,salesUnitSizeUom:e?.conversion?.sales_unit_size_uom??null,coverageQty:e?.conversion?.coverage_qty??null,coverageUom:e?.conversion?.coverage_uom??null,itemsPerPallet:e?.conversion?.items_per_pallet??null,itemsPerPack:e?.conversion?.items_per_pack??null,itemsPerBox:e?.conversion?.items_per_box??null,itemsPerM2:e?.conversion?.items_per_m2??null,wasteFactorDefault:e?.conversion?.waste_factor_default??null,roundingRule:e?.conversion?.rounding_rule??null,derivedCoverageM2:e?.conversion?.derived_coverage_m2??null,derivedLengthM:e?.conversion?.derived_length_m??null,quoteQtyFormulaType:e?.conversion?.quote_qty_formula_type??null,conversionConfidence:e?.conversion?.conversion_confidence??null,conversionNotes:e?.conversion?.conversion_notes??null,calculatorWasteIncluded:t.calculatorWasteIncluded,qty:t.qty,linkedContext:t.linkedContext}}var ow=e=>(e??"").trim().toLowerCase(),n_={sqm:"m2","sq m":"m2","m\xB2":"m2",cbm:"m3","cu m":"m3",lm:"m","lin m":"m",metre:"m",meter:"m",each:"each",ea:"each",nr:"each",no:"each",item:"each",unit:"each",units:"each",pc:"each",pcs:"each",board:"sheet",bags:"bag",length:"length",lengths:"length",pallet:"pallet",pallets:"pallet"},wd=new Set(["sheet","length","box","bag","pack","roll","set","tub","each"]),aw=new Set(["box","bag","pack","pallet","roll","set","tub"]),rw=(e,t)=>t==="ml"?e:["l","litre","litres"].includes(t)?e*1e3:null,iw=(e,t)=>t==="g"?e:["kg","kilogram","kilograms"].includes(t)?e*1e3:["t","tonne","tonnes"].includes(t)?e*1e6:null,_i=e=>{let t=ow(e);return n_[t]??t},st=(e,t)=>{let a=_i(e),r=_i(t);return a.length>0&&a===r},o_=(e,t)=>{let a=ow(t);return a?a.includes("round_up_1000")?Math.ceil(e):a.includes("allow_decimal")?Math.round(e*1e3)/1e3:a.includes("round_up")?Math.ceil(e):e:e},l_=e=>(e??"").split(",").map(t=>_i(t)).filter(Boolean),s_=(e,t)=>{let a=l_(e.requestUomsSupported);return!!(a.length===0||a.includes(t)||st(t,"pallet")&&e.itemsPerPallet!=null&&e.itemsPerPallet>0||st(t,"pack")&&e.itemsPerPack!=null&&e.itemsPerPack>0||st(t,"box")&&e.itemsPerBox!=null&&e.itemsPerBox>0)},nw=(e,t)=>st(t,"pallet")?e.itemsPerPallet??null:st(t,"pack")?e.itemsPerPack??null:st(t,"box")?e.itemsPerBox??null:null,c_=(e,t,a)=>{if(!st(t,"m2"))return null;let r=e.description.match(/(\d+(?:[.,]\d+)?)\s*(m2|m²|sqm|sq\.?\s*m)\s*(?:\/|per)\s*([a-z]+)/i);if(!r||!st(r[3],a))return null;let i=Number.parseFloat(r[1].replace(",","."));return Number.isFinite(i)&&i>0?i:null};function Is(e,t){let a=e.map(r=>Ft(r,t).lineTotal);return a.some(r=>r==null)?null:a.reduce((r,i)=>r+(i??0),0)}function Ft(e,t){let a=e.qty,r=_i(e.saleUnit??e.salesUnitSizeUom??e.uoi??e.salesUomNormalised)||"-",i=_i(e.unit)||(a>0&&wd.has(r)?r:"-"),n=e.saleUnitQuantity??e.salesUnitSize??e.uoiCount??1,o=t?.wasteFactorEnabled===!1?0:t?.wasteFactorOverride??e.wasteFactorOverride??e.wasteFactorDefault??0,l=e.sellUnitsOverride!=null&&Number.isFinite(e.sellUnitsOverride)&&e.sellUnitsOverride>0,c=l?wd.has(r)?Math.ceil(e.sellUnitsOverride):e.sellUnitsOverride:null,p=w=>({requestedAmount:a,requestedUnit:i,salesUnitSize:e.salesUnitSize??e.uoiCount??null,sellUnit:r,calculatedSellUnits:null,requiredSellUnits:c,unitPrice:e.price,lineTotal:e.price!=null&&c!=null?e.price*c:null,calculation:c!=null?`${w} Manually set to ${c} ${r}.`:w,costingMode:"review"});if(!Number.isFinite(a)||a<=0)return p("Quantity needs confirmation.");if(!s_(e,i))return p("Requested unit is not supported by this catalogue conversion.");let d=null,h="review",m=e.roundingRule,b=`Quantity review required, initial request needed ${a} ${i}.`,y=1+o,T=c_(e,i,r),D=e.unitConversions?.find(w=>st(w.requestUom,i));if(!!e.saleUnit&&(st(i,r)||!!D||st(i,"each")&&!aw.has(r)))if(st(i,r))d=a*y/n,h="direct",b=`${a} ${i}${o>0?` x ${y}`:""}`;else if(D){d=a*y/D.quantityPerSaleUnit,h="derived";let w=1/D.quantityPerSaleUnit,S=Math.round(w);b=st(r,"each")&&D.quantityPerSaleUnit<1&&Math.abs(w-S)<1e-9?`${a} ${i}${o>0?` x ${y}`:""} x ${S} per ${i}`:`${a} ${i}${o>0?` x ${y}`:""} / ${D.quantityPerSaleUnit} ${i} per ${r}`}else st(i,"each")&&!aw.has(r)&&(d=a*y/n,h="derived",b=`${a} ${r}${o>0?` x ${y}`:""}`);else if(st(i,r)&&n>0)d=a*y/n,h="direct",b=o>0?`${a} ${i} x ${y} / ${n} ${r} per sell unit`:`${a} ${i} / ${n} ${r} per sell unit`;else if(st(i,"each")&&n>0&&wd.has(r))d=a*y/n,h="derived",b=o>0?`${a} each x ${y} / ${n} each per ${r}`:`${a} each / ${n} each per ${r}`;else if(nw(e,i)!=null&&n>0){let w=nw(e,i)??0;d=a*w*y/n,h="derived";let S=`${a} ${i} x ${w} each${o>0?` x ${y}`:""}`;b=n===1&&st(r,"each")?S:`${S} / ${n} each per ${r}`}else if(T!=null)d=a*y/T,h="derived",m??(m="round_up_each"),b=`${a} m2 x ${y} / ${T} m2 per ${r} (from product description)`;else if(e.conversionType==="basket_line_unit")n>0&&(d=a*y/n,h="derived",b=`${a} ${i}${o>0?` x ${y}`:""} / ${n} ${i} per ${r}`);else{if(e.conversionType==="count_only")return p(`Quantity review required, initial request needed ${a} ${i}.`);if(["area_from_dims","explicit_coverage_area","roll_area"].includes(e.conversionType??"")){let w=e.coverageQty??e.derivedCoverageM2??null;st(i,"m2")&&w!=null&&w>0&&(d=a*y/w,h="derived",b=`${a} m2 x ${y} / ${w} m2 per ${r}`)}else if(e.conversionType==="count_per_area"){let w=e.coverageQty??null;st(i,"m2")&&w!=null&&w>0?(d=a/w,h="derived",b=`${a} m2 / ${w} m2 per sell unit`):st(i,"m2")&&e.itemsPerM2!=null&&e.itemsPerM2>0&&n>0&&(d=a*e.itemsPerM2*y/n,h="derived",b=`${a} m2 x ${e.itemsPerM2} ${r}/m2 x ${y} / ${n}`)}else if(e.conversionType==="length_from_dims"){let w=e.coverageQty??e.derivedLengthM??null;st(i,"m")&&w!=null&&w>0&&(d=a*y/w,h="derived",b=`${a} m x ${y} / ${w} m per ${r}`)}else if(e.conversionType==="volume_from_description"){let w=rw(a,i),S=rw(e.coverageQty??0,_i(e.coverageUom));w!=null&&S!=null&&S>0&&(d=w*y/S,h="derived",b=`${a} ${i} x ${y} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="weight_from_description"){let w=iw(a,i),S=iw(e.coverageQty??0,_i(e.coverageUom));w!=null&&S!=null&&S>0&&(d=w*y/S,h="derived",b=`${a} ${i} x ${y} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="same_unit_volume"){let w=e.coverageQty??null;st(i,"m3")&&w!=null&&w>0&&(d=a/w,h="derived",b=`${a} m3 / ${w} m3 per ${r}`)}}if(d==null||!Number.isFinite(d)||d<0)return p(`Quantity review required, initial request needed ${a} ${i}.`);let u=o_(d,m),v=l?c:u;return{requestedAmount:a,requestedUnit:i,salesUnitSize:n,sellUnit:r,calculatedSellUnits:u,requiredSellUnits:v,unitPrice:e.price,lineTotal:e.price!=null&&v!=null?e.price*v:null,calculation:l?`${b} = ${u} ${r} (manually set to ${v})`:`${b} = ${v} ${r}`,costingMode:h}}var lw=()=>import("./xlsx-K4MOA2QM.js"),al=["Source Line ID","Split Line ID","Description","Section","Qty","Unit","Procurement intent","Procurement aliases","Build-up type","Layer count","Total thickness (mm)","Installation clues","System clues","Component requirements","Technical classification","Include in quote","Approval required","Approval type","Missing information","Adjudicator confidence","Decision reason","Selected candidate ID","Selected candidate description","Price basis","Price","Line total","Confidence","Status"],u_=al.indexOf("Line total");function p_(e){return e.unmatchable?"Not matched (labour/plant/referential)":e.decision?.include_in_quote===!0&&e.decision.approval_required===!0?"Approval required":e.decision?.include_in_quote===!0?"Quoted":e.decision?.technical_classification==="no_suitable_candidate"?"No suitable candidate":(e.best,"No match")}async function sw(e){let t=await lw(),a=t.utils.book_new(),r=new Date().toISOString().slice(0,10),i=[al],n=0;for(let c of e){let{item:p,best:d,qty:h,band:m,unmatchable:b,decision:y}=c,T=[p.section,p.subsection,p.subheading].filter(Boolean).join(" / "),D=!b&&d?.price!=null?d.price*h:null;D!=null&&(n+=D),i.push([p.source_line_id,p.line_id,p.description_original||"(no description)",T,h,p.unit,p.procurement_intent||"-",p.procurement_aliases.join(", "),p.build_up_type,p.layer_count,p.total_required_thickness_mm,p.installation_clues.join(", "),p.system_clues.join(", "),p.component_requirements.join(", "),y?.technical_classification??"",y?.include_in_quote==null?"":y.include_in_quote?"yes":"no",y?.approval_required==null?"":y.approval_required?"yes":"no",y?.approval_type??"",y?.missing_information.join(", ")??"",y?.confidence??"",y?.reason??"",b?"-":d?.product_id??y?.selected_candidate_id??"-",b?"-":d?.description??"-",b?"-":d?.price_basis??"-",b?null:d?.price??null,D,b?"-":m,p_(c)])}i.push(Array(al.length).fill(null));let o=Array(al.length).fill(null);o[0]="Estimated total",o[u_]=n,i.push(o),i.push(["DISCLAIMER: These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence.",...Array(al.length-1).fill(null)]);let l=t.utils.aoa_to_sheet(i);l["!cols"]=[{wch:12},{wch:12},{wch:44},{wch:24},{wch:8},{wch:8},{wch:28},{wch:28},{wch:16},{wch:10},{wch:12},{wch:24},{wch:24},{wch:24},{wch:22},{wch:14},{wch:14},{wch:18},{wch:24},{wch:16},{wch:48},{wch:16},{wch:40},{wch:10},{wch:10},{wch:12},{wch:11},{wch:26}],t.utils.book_append_sheet(a,l,"Schedule match"),t.writeFile(a,`schedule-quote-${r}.xlsx`)}var tl=["Product ID","Description","Costing mode","Required amount","Req unit","Sell unit size","Sell unit","Required sell units","Unit price","Line total"];async function cw(e,t){let a=await lw(),r=a.utils.book_new(),i=new Date().toISOString().slice(0,10),n=t?[["Account",t.name+" ("+t.id+")"],[],tl]:[tl],o=0;for(let p of e){let d=Ft(p),h=d.lineTotal;h!=null&&(o+=h),n.push([p.productId,p.description,d.costingMode,d.requestedAmount,Na(d.requestedUnit),d.salesUnitSize,Na(d.sellUnit),d.requiredSellUnits,d.unitPrice,h])}n.push(Array(tl.length).fill(null));let l=Array(tl.length).fill(null);l[0]="Estimated total",l[tl.length-1]=o,n.push(l);let c=a.utils.aoa_to_sheet(n);c["!cols"]=[{wch:14},{wch:48},{wch:12},{wch:14},{wch:10},{wch:14},{wch:10},{wch:16},{wch:12},{wch:14}],a.utils.book_append_sheet(r,c,"Basket"),a.writeFile(r,t?`basket-${t.id}-${i}.xlsx`:`basket-${i}.xlsx`)}var s=G(ee()),_d="__none__",rl=24,d_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}];function mw(e){return e==null?"low":e>=.7?"high":e>=.5?"medium":"low"}var m_=e=>e.attrs.supply_nature==="labour_only"||e.attrs.supply_nature==="plant"||e.flags.includes("referential");function f_(e,t){if(t!==_d){if(t)return e?.candidates.find(a=>a.product_id===t);if(e?.decision?.selected_candidate_id!=null)return e.candidates.find(a=>a.product_id===e.decision.selected_candidate_id)}}function uw(e){return{product_id:e.productId,description:e.description,source_list:null,price:e.price,price_basis:e.priceBasis,uoi_count:e.uoiCount??null,uoi:e.uoi,pdp_photo_url:e.pdpPhotoUrl??null,measurements_mm:e.measurementsMm??[],conversion:{sale_unit:e.saleUnit,sale_unit_quantity:e.saleUnitQuantity,unit_conversions:e.unitConversions?.map(t=>({request_uom:t.requestUom,quantity_per_sale_unit:t.quantityPerSaleUnit,evidence:t.evidence,confidence:t.confidence})),sales_uom_normalised:e.salesUomNormalised,conversion_type:e.conversionType,request_uoms_supported:e.requestUomsSupported,sales_unit_size:e.salesUnitSize,sales_unit_size_uom:e.salesUnitSizeUom,coverage_qty:e.coverageQty,coverage_uom:e.coverageUom,items_per_pallet:e.itemsPerPallet,items_per_pack:e.itemsPerPack,items_per_box:e.itemsPerBox,items_per_m2:e.itemsPerM2,waste_factor_default:e.wasteFactorDefault,rounding_rule:e.roundingRule,derived_coverage_m2:e.derivedCoverageM2,derived_length_m:e.derivedLengthM,quote_qty_formula_type:e.quoteQtyFormulaType,conversion_confidence:e.conversionConfidence,conversion_notes:e.conversionNotes},scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"manual_cart_selection"}}function g_(e){return e?e.replace(/_/g," "):"not stated"}function h_({band:e}){return(0,s.jsx)("span",{className:`status-dot status-dot--${e}`,title:e,children:(0,s.jsx)("span",{className:"status-dot__mark"})})}function zn(e,t){if(e==null)return"-";let a=el(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function xd(e){return e&&e.length>0?e.join(" x "):"-"}function b_(e){return e==null?"-":Number.isInteger(e/1e3)?`${e/1e3}m`:`${(e/1e3).toFixed(1)}m`}function Tn(e){let t=(e??[]).map(a=>a.trim()).filter(Boolean);return t.length>0?t.join(", "):"-"}function Jr(e,t){let a=typeof e.description_original=="string"?e.description_original.trim():"";return(typeof e.customer_display_label=="string"?e.customer_display_label.trim():"")||a||"(no description)"}function v_(e,t){return t>0||e==null?null:lt(e)}var pw=[{background:"#fff7ed",borderColor:"#fdba74",color:"#9a3412"},{background:"#eff6ff",borderColor:"#93c5fd",color:"#1d4ed8"},{background:"#ecfeff",borderColor:"#67e8f9",color:"#0f766e"},{background:"#f0fdf4",borderColor:"#86efac",color:"#166534"},{background:"#fdf4ff",borderColor:"#f0abfc",color:"#a21caf"}];function w_(e){let t=new Map;return[...new Set(e.filter(mr).map(r=>r.linked_group_id))].forEach((r,i)=>{let n=i%26;t.set(r,{token:String.fromCharCode(65+n),bubbleStyle:pw[i%pw.length]})}),t}function mr(e){return!1}function An(e){if(!e.linked_group_id)return null;let t=e.linked_group_label||"Linked group",a=e.linked_group_role==="anchor"?"anchor":e.linked_group_role==="dependent"?"dependent":"member",r=e.linked_group_shared_width_mm!=null?`, ${e.linked_group_shared_width_mm}mm family`:"";return`${t} (${a}${r})`}function yd({meta:e}){return e?(0,s.jsx)("span",{className:"results-linked-pill",style:e.bubbleStyle,children:`Link ${e.token}`}):null}function y_(e,t,a){let r=t?.rerank?.recommendedCandidateIds??[];if(r.length===0){let o=e.slice(0,5),l=o.some(c=>c.product_id===a)?void 0:e.find(c=>c.product_id===a);return l?[...o,l]:o}let i=new Map(e.map(o=>[o.product_id,o])),n=r.map(o=>i.get(o)).filter(o=>o!=null);if(a&&!n.some(o=>o.product_id===a)){let o=i.get(a);o&&n.unshift(o)}return[...new Map(n.map(o=>[o.product_id,o])).values()].slice(0,5)}function Fs(e){let t=e?.rerank?.recommendedCandidateIds??[];if(t.length===0||!e)return[];let a=new Map(e.candidates.map(r=>[r.product_id,r]));return t.map(r=>a.get(r)).filter(r=>r!=null)}function Ws(e){if(e>=6e4){let t=Math.floor(e/6e4),a=Math.round(e%6e4/1e3);return a===60?`${t+1}m`:`${t}m ${a}s`}return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${e}ms`}function __({processStages:e,llmCalls:t,totalDurationMs:a,llmDurationMs:r,llmCallCount:i}){let n=[...t].sort((l,c)=>c.durationMs-l.durationMs).slice(0,12),o=Math.max(0,t.length-n.length);return(0,s.jsxs)("div",{className:"results-detail-block",style:{marginBottom:18},children:[(0,s.jsx)("h3",{style:{margin:"0 0 12px"},children:"Pipeline timings"}),(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:12},children:[(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ws(a)})," total"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:i})," LLM calls"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ws(r)})," LLM time"]})]}),(0,s.jsxs)("table",{className:"score-breakdown-table",style:{marginBottom:14},children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Process stage"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:e.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ws(l.durationMs)})]},`${l.key}-${c}`))})]}),t.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{style:{margin:"0 0 10px"},children:"LLM calls"}),(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Call"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:n.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ws(l.durationMs)})]},`${l.key}-${c}`))})]}),o>0&&(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Showing slowest ",n.length," of ",t.length," LLM calls."]})]})]})}function x_({queries:e}){return e.length===0?null:(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Retrieval by procurement query"}),e.map((t,a)=>(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsxs)("div",{className:"results-row-meta",style:{marginBottom:6},children:["Query: ",(0,s.jsx)("strong",{children:t.query})]}),t.candidates.length===0?(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates returned for this query."}):(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Unit"}),(0,s.jsx)("th",{children:"bm25"})]})}),(0,s.jsx)("tbody",{children:t.candidates.slice(0,5).map((r,i)=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:r.description}),(0,s.jsx)("div",{className:"results-row-meta",children:r.product_id})]}),(0,s.jsx)("td",{children:xd(r.measurements_mm)}),(0,s.jsx)("td",{children:el(r.price_basis)||"-"}),(0,s.jsx)("td",{children:r.bm25.toFixed(2)})]},`${r.product_id}-${i}`))})]})]},`${t.query}-${a}`))]})}function dw({item:e,result:t}){let a=t?.retrieval_debug.map(i=>i.query).filter(Boolean)??[],r=[["Procurement intent",e.procurement_intent||"-"],["Procurement aliases",Tn(e.procurement_aliases)],["Retrieval queries",Tn(a)],["Category",e.attrs.category||"-"],["Fine category",e.attrs.category_fine||"-"],["Brand",e.attrs.brand||"-"],["Material",e.attrs.material||"-"],["Grade / standard",e.attrs.grade_standard||"-"],["Treatment",e.attrs.treatment||"-"],["Supply nature",e.attrs.supply_nature||"-"],["Measurements (mm)",xd(e.attrs.measurements_mm)],["Stock length",b_(e.attrs.stock_length_mm)],["Matching mode",e.matching_mode||"-"],["Build-up type",e.build_up_type||"-"],["Layer count",e.layer_count!=null?String(e.layer_count):"-"],["Required thickness (mm)",e.total_required_thickness_mm!=null?String(e.total_required_thickness_mm):"-"],["Allowed layer thicknesses (mm)",e.acceptable_layer_thicknesses_mm.length>0?e.acceptable_layer_thicknesses_mm.join(", "):"-"],["Installation clues",Tn(e.installation_clues)],["System clues",Tn(e.system_clues)],["Component requirements",Tn(e.component_requirements)],["Linked group",An(e)||"-"],["Flags",Tn(e.flags)]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Search context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:r.map(([i,n])=>(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:i}),(0,s.jsx)("dd",{children:n})]},i))})]})}function k_({item:e}){let t=e.decomposition_debug;return t?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Decomposition"}),(0,s.jsxs)("dl",{className:"results-detail-grid",children:[(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Attempted"}),(0,s.jsx)("dd",{children:t.attempted?"yes":"no"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Applied"}),(0,s.jsx)("dd",{children:t.applied?"yes":"no"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned items"}),(0,s.jsx)("dd",{children:t.returned_item_count??"-"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Reason"}),(0,s.jsx)("dd",{children:t.reason||"-"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned intents"}),(0,s.jsx)("dd",{children:t.items.length>0?t.items.map(a=>`${a.intent}${a.inherits_quantity?" (inherits qty)":""}`).join(", "):"-"})]})]})]}):null}function N_({result:e}){let t=e?.adjudication_debug;if(!t)return null;let a=[["Dependent rerank applied",t.dependent_rerank_applied?"yes":"no"],["Linked parent selected product",t.linked_parent_selected_candidate_description||t.linked_parent_selected_candidate_id||"-"],["Dimension reason overridden",t.dimension_reason_overridden?"yes":"no"]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Adjudication context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:a.map(([r,i])=>(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:r}),(0,s.jsx)("dd",{children:i})]},r))}),t.rerank_line_item_input?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h5",{style:{margin:"12px 0 8px"},children:"Rerank input"}),(0,s.jsx)("pre",{className:"results-pre",children:JSON.stringify(t.rerank_line_item_input,null,2)})]}):null]})}function S_({item:e,decision:t,result:a,showRetrievalDebug:r,reviewOnly:i=!1,linkedGroupMeta:n}){if(!t)return null;let o=t.technical_classification==="no_suitable_candidate"?"Exact match not found:":`AI review (${t.confidence??"confidence not stated"}):`;return i?t.reason?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",n?`Link ${n.token} - `:"",An(e)]}):null]}):null:!t.reason&&!r?(0,s.jsx)(dw,{item:e,result:a}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(dw,{item:e,result:a}),r&&(0,s.jsx)(k_,{item:e}),r&&(0,s.jsx)(N_,{result:a}),t.reason&&(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",n?`Link ${n.token} - `:"",An(e)]}):null]}),r&&(0,s.jsx)(x_,{queries:a?.retrieval_debug??[]})]})}function C_({item:e,candidates:t,result:a,decision:r,unmatchable:i,selectedProductId:n,detailMode:o,onPick:l,onClear:c,showAll:p=!1,internal:d=!1,debugEnabled:h=!1,forceReviewNote:m=!1,linkedGroupMeta:b}){let y=d||o==="detailed",T=h&&o==="detailed",D=y||m?(0,s.jsx)(S_,{item:e,decision:r,result:a,showRetrievalDebug:T,reviewOnly:m&&!y,linkedGroupMeta:b}):null;if(i)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"Classified as labour/plant or referencing another line item - skipped by design."})]});if(t.length===0)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates were returned for this line item."})]});let f=p||d||o==="detailed"?t:y_(t,a,n);return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Price"}),T&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{children:"dimension"}),(0,s.jsx)("th",{children:"grade"}),(0,s.jsx)("th",{children:"brand"}),(0,s.jsx)("th",{children:"fuzzy"}),(0,s.jsx)("th",{children:"bm25"}),(0,s.jsx)("th",{children:"overall"})]}),(0,s.jsx)("th",{"aria-label":"Actions"})]})}),(0,s.jsx)("tbody",{children:f.map((u,v)=>{let w=u.product_id===n;return(0,s.jsxs)("tr",{className:w?"score-breakdown-row--best":"",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:u.description}),(0,s.jsx)("div",{className:"results-row-meta",children:u.product_id})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"unit-badge",children:xd(u.measurements_mm??u.debug?.candidate.measurements_mm)})}),(0,s.jsx)("td",{children:zn(u.price,u.price_basis)}),T&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:(u.scores?.dimension??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.grade??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.brand??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.fuzzy??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.bm25??0).toFixed(2)}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,s.jsx)(h_,{band:mw(u.scores?.overall)}),(0,s.jsx)("span",{className:"results-overall-cell",children:(u.scores?.overall??0).toFixed(2)})]})})]}),(0,s.jsx)("td",{children:(0,s.jsxs)("label",{className:"switch-toggle",title:w?"Currently selected":"Use this candidate",children:[(0,s.jsx)("input",{type:"checkbox",checked:w,onChange:()=>{w?c?.():l(u)},"aria-label":w?`${u.description} selected`:`Use ${u.description}`}),(0,s.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},`${u.product_id}-${v}`)})})]})]})}function kd({scheduleResult:e,onStartOver:t,cart:a,onAddToCart:r,onRemoveFromCart:i,onGoToBasket:n,cartSeeded:o,onCartSeeded:l,reviewGateComplete:c,onReviewGateComplete:p,internal:d=!1}){let h=!d&&Xs()==="QZA6-MRA4",m=h?"quote":"basket",{results:b,lineItems:y,parseReport:T,timings:D}=e,[f,u]=(0,ke.useState)({}),v=Cn(),[w,S]=(0,ke.useState)({}),[R,z]=(0,ke.useState)({}),[A,Q]=(0,ke.useState)(""),[K,fe]=(0,ke.useState)(null),[Ue,Be]=(0,ke.useState)(1),Ye=jt().debug===!0,[Ne,we]=(0,ke.useState)("simple"),[oe,se]=(0,ke.useState)(d?"list":"tile"),[ye,vt]=(0,ke.useState)(!1),[Ee,$]=(0,ke.useState)(null),[ue,Ze]=(0,ke.useState)(""),[pt,wt]=(0,ke.useState)([]),[He,de]=(0,ke.useState)(!1),[_e,Se]=(0,ke.useState)(null),[E,O]=(0,ke.useState)(!1),[re,ce]=(0,ke.useState)(null),he=(0,ke.useRef)(null),[Ae,Pe]=(0,ke.useState)(new Set),[g,M]=(0,ke.useState)(new Set),[N,Y]=(0,ke.useState)(!1);(0,ke.useEffect)(()=>{Be(1)},[A,K,oe]);let Z=new Map(b.map(x=>[x.line_id,x])),k=w_(y),L=y.map(x=>{let H=Z.get(x.line_id),be=H?.decision,dt=m_(x),Je=f[x.line_id],ea=f_(H,Je),zi=a[x.line_id],Pw=Je===_d?void 0:w[x.line_id]??(zi&&zi.productId!==ea?.product_id?uw(zi):ea),um=dt?void 0:Pw,Jw=x.qty??0;return{item:x,result:H,decision:be,unmatchable:dt,best:um,qty:Jw,band:mw(um?.scores?.overall)}}),pe=L.some(x=>!x.unmatchable&&!x.best&&!g.has(x.item.line_id))?null:Is(Object.values(a),{wasteFactorEnabled:!1,wasteFactorOverride:0}),xe=0;for(let x of L){if(x.unmatchable||x.decision?.include_in_quote!==!0||!x.best)continue;let H=a[x.item.line_id];(!H||Ft(H).lineTotal==null)&&(xe+=1)}xe>0&&(pe=null);let xt=v_(pe,xe),it=x=>!x.unmatchable&&!x.best&&x.decision?.technical_classification!=="no_suitable_candidate"&&Fs(x.result).length>0,Et=x=>x.best??Fs(x.result)[0],Ir=L.filter(x=>!x.unmatchable&&!x.best).filter(x=>!g.has(x.item.line_id)),yc=L.filter(x=>g.has(x.item.line_id)),Yt=L;if(A.trim()){let x=A.trim().toLowerCase();Yt=Yt.filter(H=>H.item.description_original?.toLowerCase().includes(x)||Et(H)?.description?.toLowerCase().includes(x))}if(K){let x=K==="asc"?1:-1;Yt=[...Yt].sort((H,be)=>x*(H.item.description_original||"").localeCompare(be.item.description_original||""))}let br=Math.max(1,Math.ceil(Yt.length/rl)),kt=Math.min(Ue,br),qi=Yt.slice((kt-1)*rl,kt*rl),tm=qi.filter(x=>!x.unmatchable&&x.best),gx=qi.filter(x=>it(x)),_c=qi.filter(x=>!x.unmatchable&&(x.best||it(x))),am=qi.filter(x=>x.unmatchable||!x.best&&!it(x)),J=Ee?L.find(x=>x.item.line_id===Ee)??null:null,Gw=!d&&!c&&!J&&Ir.length>0,Yn=(0,ke.useRef)(null),Xn=()=>{let x=he.current;if(!x)return;let{top:H,left:be,width:dt,height:Je}=x.getBoundingClientRect(),zi=x.querySelector(".bom-toolbar-btn")?.closest("td")?.getBoundingClientRect().left;ce({top:H,left:be,width:zi?zi-be:dt,height:Je})};(0,ke.useEffect)(()=>(window.addEventListener("scroll",Xn,!0),window.addEventListener("resize",Xn),()=>{window.removeEventListener("scroll",Xn,!0),window.removeEventListener("resize",Xn)})),(0,ke.useEffect)(()=>{let x=H=>{Yn.current&&!H.composedPath().includes(Yn.current)&&Yn.current.removeAttribute("open")};return document.addEventListener("click",x),()=>document.removeEventListener("click",x)},[]);let Ei=x=>{$(x),Ze("")},Yw=()=>{if(!Ee)return;let x=a[Ee];if(x){u(H=>({...H,[Ee]:x.productId})),S(H=>({...H,[Ee]:uw(x)}));return}u(H=>{let be={...H};return delete be[Ee],be}),S(H=>{let be={...H};return delete be[Ee],be})},Va=(x=!1)=>{let H=Ee?a[Ee]:void 0;!x&&H&&J?.best&&H.productId!==J.best.product_id&&!window.confirm("You have selected a new product. Leave without updating it?")||(x||Yw(),$(null),Y(!1))};Fo(E,()=>O(!1)),Fo(!!J&&!E,()=>Va());let Xw=x=>{if(Pe(H=>new Set(H).add(x)),Ir.some(H=>H.item.line_id!==x)){Va(!0);return}p(),Va(!0)},Vw=x=>{if(xc(x),M(H=>new Set(H).add(x)),Ir.some(H=>H.item.line_id!==x)){Va(!0);return}p(),Va(!0)},$w=()=>{M(x=>new Set([...x,...Ir.map(H=>H.item.line_id)])),p()},rm=()=>{J?.best&&(nm(J.item.line_id,J.best),r(Mi(J)),N?Xw(J.item.line_id):Va(!0))},im=am.length>0?(0,s.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,s.jsxs)("div",{className:"results-tile-section__head",children:[(0,s.jsx)("h3",{children:"Require Matching"}),(0,s.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,s.jsx)("div",{className:"results-unmatched-list",children:am.map(x=>{let{item:H,qty:be}=x;return(0,s.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>Ei(H.line_id),children:[(0,s.jsx)("span",{className:"results-unmatched-card__main",children:(0,s.jsx)("span",{className:"results-unmatched-card__title",children:Jr(H,y)})}),(0,s.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},H.line_id)})})]}):null,xc=x=>{u(H=>({...H,[x]:_d})),S(H=>({...H,[x]:void 0})),z(H=>({...H,[x]:void 0})),i(x)},kc=(x,H)=>{u(be=>({...be,[x]:H.product_id})),S(be=>({...be,[x]:H}))},nm=(x,H)=>{H.method==="catalogue_search"&&z(be=>({...be,[x]:H}))};function hx(){v("downloaded",{type:"schedule",lines:L.length}),sw(L.map(({item:x,best:H,qty:be,band:dt,unmatchable:Je,decision:ea})=>({item:x,best:H,qty:be,band:dt,unmatchable:Je,decision:ea})))}function Mi(x){let H=x.best??Fs(x.result)[0];return Pr(H,{lineId:x.item.line_id,description:x.item.description_original,unit:x.item.unit,qty:x.qty,linkedContext:x.item.linked_group_role==="dependent"&&x.item.linked_group_id?y.filter(be=>be.linked_group_id===x.item.linked_group_id&&be.linked_group_role==="anchor").slice(0,1).map(be=>{let dt=a[be.line_id];return{line_id:be.line_id,product_id:dt?.productId??null,measurements_mm:dt?.measurementsMm??be.attrs.measurements_mm,description:dt?.description??be.description_original,qty:be.qty,unit:be.unit,role:"anchor"}}):void 0})}(0,ke.useEffect)(()=>{if(!o){for(let x of L)!x.unmatchable&&x.best&&r(Mi(x));l()}},[o]),(0,ke.useEffect)(()=>{for(let x of L)!a[x.item.line_id]&&!x.unmatchable&&x.best&&r(Mi(x))},[e]),(0,ke.useEffect)(()=>{if(!Ee){wt([]),Se(null),de(!1);return}let x=ue.trim();if(!x){wt([]),Se(null),de(!1);return}let H=!1,be=window.setTimeout(async()=>{try{de(!0),Se(null);let dt=await fetch(pa(`/api/catalogue/search?q=${encodeURIComponent(x)}`),{headers:vi()}),Je=await ka(dt);if(!dt.ok)throw new Error(Je?.error||Je?.message||"Failed to search catalogue");H||wt(Array.isArray(Je?.items)?Je.items:[])}catch(dt){H||(wt([]),Se(dt?.message||"Failed to search catalogue"))}finally{H||de(!1)}},250);return()=>{H=!0,window.clearTimeout(be)}},[ue,Ee]);let Nc=Object.keys(a).length,Ma=ue.trim(),om=Fs(J?.result),ul=J?.decision?.technical_classification==="no_suitable_candidate"||!!J&&!J.best,lm=J?.decision?.technical_classification!=null,sm=J?.decision?.reason??(ul?"No catalogue candidate found. Refine the request or search the catalogue.":null),Zw=pt.map(x=>({product_id:x.product_id,description:x.description,source_list:x.source_list,price:x.price,price_basis:x.price_basis,uoi_count:x.uoi_count??null,uoi:x.uoi,pdp_photo_url:x.pdp_photo_url??null,conversion:x.conversion,measurements_mm:x.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"catalogue_search"})),Vn=Ma?Zw:om,Ti=J?R[J.item.line_id]:void 0,$n=!Ma&&Ti&&!Vn.some(x=>x.product_id===Ti.product_id)?[...Vn,Ti]:Vn,cm=(()=>{let x=$n.slice(0,Ma?12:3);return Ma||!Ti||x.some(H=>H.product_id===Ti.product_id)?x:[...x,Ti]})(),pl=!!J?.best&&a[J.item.line_id]?.productId===J.best.product_id,Kw=!!J?.best&&!!a[J.item.line_id]&&!pl;return(0,s.jsxs)("div",{className:"wizard-step entry-stage",children:[(0,s.jsxs)("div",{className:`quick-order-card${d?"":" quick-order-card--customer"}`,children:[(0,s.jsx)("div",{className:`quick-order-hero${d?"":" quick-order-hero--customer"}`,children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,s.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,s.jsx)("h1",{children:"Your Results"}),(0,s.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,s.jsx)("strong",{children:xt??"Review quantities"})," Est. total"]})]}),(0,s.jsx)("p",{children:"Each line item from your schedule matched against your catalogue, ranked by confidence."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{children:"Review your matched products"}),(0,s.jsxs)("p",{children:["Check you're happy with these items, then click ",h?"View Quote":"View Basket"," to continue."]})]}),(0,s.jsxs)("button",{type:"button",className:"results-total-action",onClick:n,"aria-label":h?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[(0,s.jsx)("small",{children:h?"View Quote":"View Basket"}),xt!=null&&(0,s.jsx)("strong",{children:xt})]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Qt,{})})]})]})}),(0,s.jsxs)("div",{className:"quick-order-panel",style:{paddingTop:16},children:[Ye&&(0,s.jsx)("div",{className:"results-summary",style:{marginBottom:12},children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn","aria-pressed":ye,onClick:()=>vt(x=>!x),children:ye?"Hide timings":"Show timings"})}),Ye&&ye&&(0,s.jsx)(__,{...D}),!h&&(0,s.jsx)("div",{className:"results-toolbar-row",children:!J&&(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:0},children:[xe>0&&(0,s.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,s.jsx)("strong",{children:xe})," need pricing"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:A,onChange:x=>Q(x.target.value),"aria-label":"Search line items"}),!d&&(0,s.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${oe==="tile"?" is-active":""}`,"aria-pressed":oe==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>se("tile"),children:(0,s.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,s.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${oe==="list"?" is-active":""}`,"aria-pressed":oe==="list","aria-label":"List view",title:"List view",onClick:()=>se("list"),children:(0,s.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),Ye&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>we(x=>x==="simple"?"detailed":"simple"),children:Ne==="detailed"?"Hide detailed view":"Show detailed view"}),(0,s.jsxs)("details",{ref:Yn,style:{position:"relative"},children:[(0,s.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort line items",style:{fontSize:16},children:"\u21C5"}),(0,s.jsx)("div",{className:"sort-menu-panel",children:d_.map(x=>{let H=K===x.dir;return(0,s.jsxs)("button",{type:"button",className:`sort-menu-item${H?" is-active":""}`,onClick:()=>{fe(H?null:x.dir),Yn.current?.removeAttribute("open")},children:[(0,s.jsx)("span",{className:"sort-menu-item__check",children:H?"\u2713":""}),x.label]},x.dir)})})]})]})]})}),oe==="tile"||J?(0,s.jsxs)(s.Fragment,{children:[J?(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-label":"Product options",onClick:()=>Va(),children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal results-review-modal",onClick:x=>x.stopPropagation(),children:[(0,s.jsx)("button",{type:"button",className:"quick-order-workflow-close results-review-modal__close",onClick:()=>Va(),"aria-label":"Close product options",children:(0,s.jsx)(Jo,{})}),(0,s.jsx)("div",{className:"results-review-page",children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"results-review-page__top",children:[(0,s.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:()=>Va(),children:[(0,s.jsx)(Kr,{}),"Back to results"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[Ye&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>we(x=>x==="simple"?"detailed":"simple"),children:Ne==="detailed"?"Hide detailed info":"Show detailed info"}),(0,s.jsx)("div",{className:"results-review-searchbar",children:(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:ue,onChange:x=>Ze(x.target.value),"aria-label":"Search database candidates"})}),(0,s.jsx)("div",{className:"results-candidate-actions",children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>xc(J.item.line_id),children:"Clear selected product"})})]})]}),(0,s.jsxs)("div",{className:"results-review-page__hero",children:[(0,s.jsx)("div",{className:"results-review-page__image-wrap",children:(0,s.jsx)("img",{className:"fill-img results-review-page__image",src:Ga(Et(J)?.description||J.item.description_original,Et(J)?.product_id,Et(J)?.pdp_photo_url),alt:""})}),(0,s.jsxs)("div",{className:"results-review-page__summary",children:[(0,s.jsx)("h2",{children:Jr(J.item,y)}),(0,s.jsxs)("p",{className:"results-review-page__meta",children:[yi(J.qty)," ",Sa(J.item.unit,J.qty)]}),J.best?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:J.best.description}),J.best.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:zn(J.best.price,J.best.price_basis)}):null]}):Et(J)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:Et(J)?.description}),Et(J)?.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:zn(Et(J)?.price??null,Et(J)?.price_basis??null)}):null,(0,s.jsx)("div",{className:"results-row-meta",children:"Best reviewed alternative - not yet selected"})]}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),mr(J.item)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,s.jsx)(yd,{meta:k.get(J.item.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:An(J.item)})]}):null,(0,s.jsx)("div",{className:"results-review-page__actions",children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[J.item.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[J.item.line_id]?i(J.item.line_id):(J.best&&nm(J.item.line_id,J.best),r(Mi(J)))},disabled:!J.best,"aria-label":a[J.item.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[J.item.line_id]?"\u2713 Added":d?"+ Add to selection":`Add to ${m}`})})]})]}),He?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,!He&&_e?(0,s.jsx)("div",{className:"results-empty-card",children:_e}):null,!He&&!_e&&Ma&&Vn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No candidate products match this database search."}):!He&&!_e?(0,s.jsx)(C_,{item:J.item,candidates:Vn,result:J.result,decision:J.decision,unmatchable:J.unmatchable,selectedProductId:J.best?.product_id??null,detailMode:Ne,linkedGroupMeta:mr(J.item)?k.get(J.item.linked_group_id):void 0,onPick:x=>kc(J.item.line_id,x),onClear:()=>xc(J.item.line_id),showAll:d||Ye||Ma.length>0,internal:d,debugEnabled:Ye,forceReviewNote:!0}):null]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"customer-review-request",children:[(0,s.jsx)("span",{className:"customer-review-eyebrow",children:"Original request"}),(0,s.jsx)("strong",{children:Jr(J.item,y)||"Original request"})]}),sm?(0,s.jsxs)("section",{className:"customer-review-ai",children:[(0,s.jsx)("strong",{children:ul?"Exact match not found:":"AI review:"})," ",sm]}):null,(0,s.jsxs)("section",{className:"customer-review-options",children:[(0,s.jsx)("div",{className:"customer-review-options__head",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:ul?"We couldn't find a suitable product":lm?"Choose a product":"We couldn't review this item"}),(0,s.jsx)("p",{children:ul?om.length>0?"These AI-reviewed alternatives may be useful, but need approval.":"Search the catalogue to choose an alternative.":lm?`Select the option you want to add to your ${m}.`:"Search the catalogue to choose a product."})]})}),!Ma&&$n.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:cm.map(x=>{let H=x.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${H?" is-selected":""}`,onClick:()=>kc(J.item.line_id,x),"aria-pressed":H,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Ga(x.description,x.product_id,x.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:x.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:x.price!=null?`\xA3${zn(x.price,x.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:H?"Selected":"Choose"})]},x.product_id)})}):null,$n.length>0&&(0,s.jsx)("div",{className:"customer-review-divider",children:(0,s.jsx)("span",{children:"or"})}),(0,s.jsxs)("label",{className:"customer-review-search",children:[(0,s.jsx)("span",{children:"Search our full catalogue"}),(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products...",value:ue,onChange:x=>Ze(x.target.value),"aria-label":"Search catalogue"})]}),Ma&&He?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,Ma&&!He&&_e?(0,s.jsx)("div",{className:"results-empty-card",children:_e}):null,Ma&&!He&&!_e&&$n.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No products match this search."}):null,Ma&&!He&&!_e&&$n.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:cm.map(x=>{let H=x.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${H?" is-selected":""}`,onClick:()=>kc(J.item.line_id,x),"aria-pressed":H,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Ga(x.description,x.product_id,x.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:x.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:x.price!=null?`\xA3${zn(x.price,x.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:H?"Selected":"Choose"})]},x.product_id)})}):null]}),J.best?Kw?(0,s.jsxs)("div",{style:{display:"grid",gap:8},children:[(0,s.jsx)("button",{type:"button",className:"cta-btn customer-review-add",onClick:()=>{rm()},children:(0,s.jsx)("span",{children:"Update product"})}),(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-add",onClick:()=>i(J.item.line_id),children:(0,s.jsx)("span",{children:`Remove from ${m}`})})]}):(0,s.jsx)("button",{type:"button",className:`cta-btn customer-review-add${pl?" cta-btn-secondary":""}`,onClick:()=>{pl?i(J.item.line_id):rm()},children:(0,s.jsx)("span",{children:pl?`Remove from ${m}`:`Add selected product to ${m}`})}):null,N?(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-skip",onClick:()=>Vw(J.item.line_id),children:"Skip this item"}):null]})})]})}):null,(0,s.jsxs)("div",{className:"results-tile-layout",children:[Yt.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No line items match the current search/filter."}):null,_c.length>0?(0,s.jsx)("section",{className:"results-tile-section","aria-label":"Matched and review items",children:(0,s.jsx)("div",{className:"results-tile-grid",children:_c.map(x=>{let{item:H,best:be,qty:dt}=x,Je=Et(x),ea=!be&&it(x);return(0,s.jsxs)("article",{className:"results-tile-card",children:[(0,s.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>Ei(H.line_id),"aria-label":`Review match for ${Jr(H,y)||"item"}`,children:[(0,s.jsxs)("div",{className:"results-tile-card__media",children:[ea||mr(H)?(0,s.jsxs)("div",{className:"results-tile-card__badges",children:[mr(H)?(0,s.jsx)(yd,{meta:k.get(H.linked_group_id)}):(0,s.jsx)("span",{}),ea?(0,s.jsx)("span",{style:{padding:"6px 10px",borderRadius:999,background:"#fef3c7",color:"#92400e",fontSize:12,fontWeight:700,lineHeight:1},children:"Partially matched"}):null]}):null,(0,s.jsx)("img",{className:"fill-img results-tile-card__image",src:Ga(Je?.description||H.description_original,Je?.product_id,Je?.pdp_photo_url),alt:""})]}),(0,s.jsxs)("div",{className:"results-tile-card__body",children:[Je?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"results-tile-card__heading",children:(0,s.jsx)("div",{className:"results-tile-card__title",children:Je.description})})}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),(0,s.jsx)("div",{className:"results-tile-card__match",children:Je?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-tile-card__match-label",children:ea?"\u21B3 partially matched from":"\u21B3 matched from"}),(0,s.jsx)("div",{className:"results-tile-card__match-name",children:Jr(H,y)}),mr(H)?(0,s.jsx)("div",{className:"results-row-meta",children:An(H)}):null]}):(0,s.jsx)("span",{className:"results-empty-hint",children:"No matched product selected."})})]}),(0,s.jsx)("span",{className:"results-tile-card__hover-prompt","aria-hidden":"true",children:"Click to view options"})]}),(0,s.jsxs)("div",{className:"results-tile-card__actions",children:[d&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ei(H.line_id),children:"Review"}),(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[H.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[H.line_id]?i(H.line_id):r(Mi(x))},disabled:!Je,"aria-label":a[H.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[H.line_id]?"\u2713 Added":d?"+ Add":`Add to ${m}`})]})]},H.line_id)})})}):null,im]})]}):(0,s.jsxs)(s.Fragment,{children:[re&&(0,s.jsx)("div",{className:"results-table__hover-overlay",style:re,"aria-hidden":"true",children:"Click to view options"}),(0,s.jsx)("div",{className:"bom-table-wrap",children:(0,s.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched line items",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"col-item"}),(0,s.jsx)("col",{style:{width:"220px"}}),(0,s.jsx)("col",{style:{width:"100px"}}),Ne==="simple"&&(0,s.jsx)("col",{style:{width:"110px"}})]}),(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"bom-col-header",children:[(0,s.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Price"}),Ne==="simple"&&(0,s.jsx)("th",{style:{textAlign:"center"},children:d?"Selection":h?"Quote":"Basket"})]})}),(0,s.jsxs)("tbody",{children:[Yt.length===0&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:Ne==="simple"?4:3,className:"results-empty-hint",style:{padding:"16px 8px"},children:"No line items match the current search/filter."})}),_c.map(x=>{let{item:H,result:be,decision:dt,best:Je}=x;return(0,s.jsxs)("tr",{className:"bom-row results-table__review-row",onClick:()=>Ei(H.line_id),onMouseEnter:ea=>{he.current=ea.currentTarget,Xn()},onMouseLeave:()=>{he.current=null,ce(null)},children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{className:"bom-component-name",children:Jr(H,y)}),mr(H)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[(0,s.jsx)(yd,{meta:k.get(H.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:An(H)})]}):null]}),(0,s.jsx)("td",{children:Je?(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"results-match-cell-text",title:Je.description,children:Je.description}),Ne==="detailed"&&dt?.technical_classification&&(0,s.jsxs)("div",{className:"results-row-meta",children:[g_(dt.technical_classification),dt.approval_required?" - approval required":""]})]}):(0,s.jsx)("span",{className:"results-empty-hint"})}),(0,s.jsx)("td",{style:{textAlign:"center"},children:Je?.price!=null?zn(Je.price,Je.price_basis):"-"}),Ne==="simple"&&(0,s.jsx)("td",{style:{textAlign:"center"},children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[H.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,style:{width:84,justifyContent:"center"},onClick:ea=>{ea.stopPropagation(),a[H.line_id]?i(H.line_id):r(Mi(x))},"aria-label":a[H.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[H.line_id]?"\u2713 Added":d?"+ Add":`Add to ${m}`})})]},H.line_id)})]})]})}),im]}),!J&&br>1&&(0,s.jsxs)("div",{className:"results-pagination",children:[(0,s.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(kt-1)*rl+1,"\u2013",Math.min(kt*rl,Yt.length)," of ",Yt.length]}),(0,s.jsxs)("div",{className:"results-pagination-controls",children:[(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Be(kt-1),disabled:kt===1,children:"Previous"}),(0,s.jsxs)("span",{className:"results-pagination-page",children:["Page ",kt," of ",br]}),(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Be(kt+1),disabled:kt===br,children:"Next"})]})]}),(T.itemCount!=null||T.headingCount!=null||T.skippedCount!=null)&&(0,s.jsxs)("div",{className:"results-summary",style:{marginTop:16},children:[T.itemCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.itemCount})," items parsed"]}),T.headingCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.headingCount})," headings"]}),T.skippedCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.skippedCount})," rows skipped"]})]}),(0,s.jsxs)("div",{className:"disclaimer-box",children:[(0,s.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,s.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before purchase."})]}),!J&&(0,s.jsxs)("div",{className:"btn-row results-actions",children:[(0,s.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:(Nc>0,"0 1 30%"),gap:10,justifyContent:"center"},onClick:()=>O(!0),"aria-label":"Start over",children:[(0,s.jsx)(bd,{}),(0,s.jsx)("span",{children:"Start Over"})]}),Nc>0&&(0,s.jsxs)("button",{className:"cta-btn",style:{flex:"0 1 70%"},onClick:n,"aria-label":d?"View selection":h?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[d?"View Selection":h?"View Quote":"View Basket"," (",Nc,")"]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Qt,{})})]})]})]})]}),Gw&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop review-gate-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"review-gate-title",children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal review-gate-modal",children:[(0,s.jsxs)("div",{className:"review-gate-modal__header",children:[(0,s.jsx)("h2",{id:"review-gate-title",children:"Choose products for these items"}),(0,s.jsx)("p",{children:"We couldn\u2019t find a clear match for these items, so we need your help. Select an option from the suggestions, search the catalogue, or leave the item out."})]}),(0,s.jsx)("div",{className:"review-gate-list",children:Ir.map(x=>{let H=Ae.has(x.item.line_id),be=it(x);return(0,s.jsx)("div",{className:`review-gate-item${H?" is-reviewed":""}`,children:(0,s.jsxs)("button",{type:"button",className:"review-gate-item__review",onClick:()=>{Y(!0),Ei(x.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Jr(x.item,y)}),(0,s.jsx)("span",{children:x.decision?.reason||(be?"A close alternative is available but needs confirmation.":"No product has been selected for this item yet.")})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:H?"Choice made":"Choose a product"})]})},x.item.line_id)})}),(0,s.jsx)("button",{type:"button",className:"review-gate-skip",onClick:$w,children:"Skip all"}),yc.length>0?(0,s.jsxs)("div",{className:"review-gate-skipped",children:[(0,s.jsx)("strong",{children:"Skipped"}),yc.map(x=>(0,s.jsxs)("button",{type:"button",className:"review-gate-item is-skipped",onClick:()=>{M(H=>{let be=new Set(H);return be.delete(x.item.line_id),be}),Y(!0),Ei(x.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Jr(x.item,y)}),(0,s.jsx)("span",{children:`Not added to your ${m}.`})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:"Choose a product"})]},x.item.line_id))]}):null]})}),E&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop start-over-modal",role:"dialog","aria-modal":"true","aria-labelledby":"start-over-modal-title",children:(0,s.jsxs)("div",{className:"modal-card start-over-modal__card",children:[(0,s.jsx)("h2",{id:"start-over-modal-title",className:"modal-title",children:"Start over?"}),(0,s.jsxs)("p",{className:"modal-body",children:["This will clear the current results and ",h?"quote":"basket"," and take you back to the start."]}),(0,s.jsxs)("div",{className:"modal-actions",children:[(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-secondary",onClick:()=>O(!1),children:"Cancel"}),(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-danger",onClick:()=>{O(!1),t()},autoFocus:!0,children:"Start Over"})]})]})})]})}var bt=G(Xe());var Ut=G(Xe()),fw=G(ee());function Rn(e){return JSON.stringify([e.productId,e.qty,e.unit,e.linkedContext??[]])}function q_(e,t){let a={...e,[t.lineId]:t};for(let[r,i]of Object.entries(a)){if(!i.linkedContext)continue;let n=i.linkedContext.find(l=>l.role==="anchor"&&l.line_id&&a[l.line_id]),o=n?.line_id?a[n.line_id]:void 0;if(!(!n||!o||n.product_id===o.productId&&n.description===o.description)){if(i.conversionType!=="basket_line_unit"){a[r]={...i,linkedContext:i.linkedContext.map(l=>l.line_id===n.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l)};continue}a[r]={...i,qty:0,sellUnitsOverride:null,linkedContext:i.linkedContext.map(l=>l.line_id===n.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l),conversionType:null,requestUomsSupported:null,salesUomNormalised:null,salesUnitSize:null,salesUnitSizeUom:null,coverageQty:null,coverageUom:null,roundingRule:null,conversionConfidence:null,conversionNotes:null}}}return a}var Nd=(0,Ut.createContext)(null);function ec({children:e,onOpenBasket:t}){let[a,r]=(0,Ut.useState)({}),i=(0,Ut.useCallback)(m=>{r(b=>q_(b,m))},[]),n=(0,Ut.useCallback)(m=>{r(b=>{let y={...b};for(let T of m)y[T.lineId]=T;return y})},[]),o=(0,Ut.useCallback)(m=>{r(b=>{let y={...b};return delete y[m],y})},[]),l=(0,Ut.useCallback)((m,b)=>{r(y=>y[m]?{...y,[m]:{...y[m],qty:b,sellUnitsOverride:null}}:y)},[]),c=(0,Ut.useCallback)((m,b)=>{r(y=>y[m]?{...y,[m]:{...y[m],sellUnitsOverride:b}}:y)},[]),p=(0,Ut.useCallback)(m=>{r(b=>{let y=!1,T={...b};for(let[D,f]of Object.entries(m))T[D]&&(T[D]={...T[D],...f},y=!0);return y?T:b})},[]),d=(0,Ut.useCallback)(()=>r({}),[]),h=(0,Ut.useMemo)(()=>({cart:a,count:Object.keys(a).length,addToCart:i,addManyToCart:n,removeFromCart:o,updateCartQty:l,updateCartSellUnits:c,updateCartConversions:p,clearCart:d,openBasket:t??(()=>{})}),[a,i,n,o,l,c,p,d,t]);return(0,fw.jsx)(Nd.Provider,{value:h,children:e})}function Un(){let e=(0,Ut.useContext)(Nd);if(!e)throw new Error("useCart must be used inside a <CartProvider>");return e}function tc(){return(0,Ut.useContext)(Nd)}var q=G(ee()),gw=.2,il=10,hw="Enter a valid email address so we can send your quote.",E_=(e,t)=>{let a=`${t.requestedAmount} ${Na(t.requestedUnit,t.requestedAmount)}`,r=`${t.requiredSellUnits} ${Na(t.sellUnit,t.requiredSellUnits??0)}`,i=e.unitConversions?.find(n=>n.requestUom===t.requestedUnit);return i&&i.quantityPerSaleUnit<1?`${a} requested \u2192 order ${r} (${Math.round(1/i.quantityPerSaleUnit)} ${Na(t.sellUnit,2)} per ${Na(t.requestedUnit,1)})`:e.coverageQty&&/^m per /i.test(e.coverageUom??"")?`${a} requested \u2192 order ${r} (${e.coverageQty} ${e.coverageUom})`:`${a} requested \u2192 order ${r}`},M_=e=>["box","pack"].includes(e.requestedUnit)?"Pack size needed to calculate the order quantity.":`This product is sold by ${Na(e.sellUnit,1)}.`;function T_(){return(0,q.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,q.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,q.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,q.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})}function nl(){return(0,q.jsx)("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",children:(0,q.jsx)("path",{d:"M1 4L4 1L7 4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function ol({cart:e,onUpdateQty:t,onUpdateSellUnits:a,onResolveConversions:r,onRemove:i,onBack:n,onStartNewQuote:o,onQuoteRequested:l,internal:c=!1}){let p=(0,bt.useId)(),d=!c&&Xs()==="QZA6-MRA4",h=Object.values(e),[m,b]=(0,bt.useState)(""),[y,T]=(0,bt.useState)(!1),[D,f]=(0,bt.useState)(!1),u=Cn(),[v,w]=(0,bt.useState)(""),[S,R]=(0,bt.useState)({}),[z,A]=(0,bt.useState)({}),[Q,K]=(0,bt.useState)(1),[fe,Ue]=(0,bt.useState)({}),[Be,Ye]=(0,bt.useState)(!1),[Ne,we]=(0,bt.useState)("0"),[oe,se]=(0,bt.useState)({}),ye=(0,bt.useRef)(new Map);(0,bt.useEffect)(()=>{if(!r)return;for(let N of Object.values(e))Ft(N).requiredSellUnits!=null&&ye.current.delete(N.lineId);let g=Object.values(e).filter(N=>{if(N.productId==="-"||Ft(N).requiredSellUnits!=null)return!1;let Y=Rn(N);return ye.current.get(N.lineId)===Y?!1:(ye.current.set(N.lineId,Y),!0)});if(g.length===0)return;let M=new Map(g.map(N=>[N.lineId,Rn(N)]));se(N=>({...N,...Object.fromEntries(M)})),fetch(pa("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...$r()},body:JSON.stringify({lines:g.map(N=>({line_id:N.lineId,product_id:N.productId,requested_description:N.requestedDescription??N.description,requested_qty:N.qty,requested_uom:N.unit||null,linked_context:N.linkedContext??[],selected_description:N.description,selected_uoi:N.uoi,selected_uoi_count:N.uoiCount,selected_conversion:{sales_uom_normalised:N.salesUomNormalised,conversion_type:N.conversionType,sales_unit_size:N.salesUnitSize,sales_unit_size_uom:N.salesUnitSizeUom,coverage_qty:N.coverageQty,coverage_uom:N.coverageUom}}))})}).then(N=>N.ok?ka(N):null).then(N=>{let Y={},Z=new Map(g.map(k=>[k.lineId,Rn(k)]));for(let k of N?.data?.items??N?.items??[]){let L=k?.conversion;if(!L||typeof k?.line_id!="string"||ye.current.get(k.line_id)!==Z.get(k.line_id))continue;let P=e[k.line_id];Y[k.line_id]={conversionType:L.conversion_type,requestUomsSupported:L.request_uoms_supported,salesUomNormalised:L.sales_uom_normalised,salesUnitSize:L.sales_unit_size,salesUnitSizeUom:L.sales_unit_size_uom,coverageQty:L.coverage_qty,coverageUom:L.coverage_uom,roundingRule:L.rounding_rule,conversionConfidence:L.conversion_confidence,conversionNotes:L.conversion_notes,...P?.qty===0&&Number.isFinite(L.suggested_order_qty)&&L.suggested_order_qty>0?{qty:L.suggested_order_qty,unit:L.suggested_order_uom||P.unit}:{}}}Object.keys(Y).length>0&&r(Y)}).catch(N=>console.error("Catalogue conversion resolution failed",N)).finally(()=>{se(N=>{let Y={...N};for(let[Z,k]of M)Y[Z]===k&&delete Y[Z];return Y})})},[e,r]);function vt(g){R(M=>{let N={...M};return delete N[g],N})}function Ee(g,M){let N=parseFloat(M);!isNaN(N)&&N>=0&&t(g,Math.min(N,1e5)),vt(g)}function $(g,M,N){t(g,Math.min(1e5,Math.max(0,M+N))),vt(g)}function ue(g){A(M=>{let N={...M};return delete N[g],N})}function Ze(g,M){let N=parseFloat(M);!isNaN(N)&&N>=0&&a(g,Math.min(N,1e5)),ue(g)}function pt(g,M,N){a(g,Math.min(1e5,Math.max(0,M+N))),ue(g)}async function wt(){if(He.some(({pricing:M})=>M.lineTotal==null)){w("Confirm the highlighted quantities before requesting a quote.");return}let g=m.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(g)){w(hw);return}w(""),f(!0);try{let M=await fetch(pa("/api/quote-requests"),{method:"POST",headers:{"Content-Type":"application/json",...$r()},body:JSON.stringify({email:g,items:He.map(({item:N,pricing:Y})=>{let Z=Y.requiredSellUnits??Y.requestedAmount,k=Y.requiredSellUnits!=null?Y.sellUnit:Y.requestedUnit;return{product_id:N.productId,description:N.description,quantity:Z,unit:Na(k,Z),unit_price:Y.requiredSellUnits!=null?Y.unitPrice:null,line_total:Y.lineTotal}})})});if(!M.ok){let N=await ka(M);console.error("Quote request failed",M.status,N?.message),w(M.status===429?"You've sent a few requests already. Please try again in a few minutes.":"Your request couldn't be sent. Please try again, or contact us if it keeps happening.");return}Se!=null&&u("quote_requested",{items:He.length,total:Math.round(Se*100)/100}),T(!0),l?.(),window.scrollTo(0,0)}catch{w("Your request couldn't be sent. Check your connection and try again.")}finally{f(!1)}}let He=h.map(g=>({item:g,pricing:Ft(g,{wasteFactorEnabled:Be,wasteFactorOverride:Math.max(0,Number.parseFloat(Ne)||0)/100})})),de=Is(h,{wasteFactorEnabled:Be,wasteFactorOverride:Math.max(0,Number.parseFloat(Ne)||0)/100}),_e=de==null?null:de*gw,Se=de==null?null:de*(1+gw),E=He.filter(({pricing:g})=>g.lineTotal==null).length,O=Object.keys(oe).length,re=!!r&&h.some(g=>{if(g.productId==="-"||Ft(g).requiredSellUnits!=null)return!1;let M=Rn(g);return ye.current.get(g.lineId)!==M||oe[g.lineId]===M}),ce=(0,bt.useRef)({items:He.length,...Se==null?{}:{total:Math.round(Se*100)/100}});(0,bt.useEffect)(()=>{u("basket_viewed",ce.current)},[u]);let he=Math.max(1,Math.ceil(He.length/il)),Ae=Math.min(Q,he),Pe=He.slice((Ae-1)*il,Ae*il);return y?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",role:"status",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsx)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,q.jsx)("polyline",{points:"5 12.5 10 17.5 19 7"})})}),(0,q.jsx)("h1",{children:"Quote requested"}),(0,q.jsxs)("p",{children:["You're all done. We'll email your sharper price to ",(0,q.jsx)("strong",{children:m.trim()}),", usually within one working day."]}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Start a new quote"})}),(0,q.jsx)("p",{className:"quote-request-sent-note",children:"Nothing is charged until you approve the quote."})]})}):!c&&h.length===0?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("path",{d:"M3 9h18l-2 11H5z"}),(0,q.jsx)("path",{d:"M8 9l4-6 4 6"})]})}),(0,q.jsx)("h1",{children:d?"Your quote request is empty":"Your basket is empty"}),(0,q.jsx)("p",{children:d?"Start again with your list to build your quote.":"Start again with your list to fill your basket."}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Back to start"})})]})}):(0,q.jsx)("div",{className:`wizard-step entry-stage${d?" basket-layout--qza6-mra4":""}`,children:(0,q.jsxs)("div",{className:`quick-order-card${c?"":" quick-order-card--customer"}`,children:[(0,q.jsxs)("div",{className:`quick-order-hero${c?"":" quick-order-hero--customer"}`,children:[c&&(0,q.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,q.jsxs)("div",{className:"basket-hero-copy",children:[d&&(0,q.jsxs)("button",{type:"button",className:"cta-btn cta-btn-secondary basket-hero-back",onClick:n,children:[(0,q.jsx)(Kr,{}),(0,q.jsx)("span",{children:"Back to results"})]}),(0,q.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,q.jsx)("h1",{children:c?"Your Selection":d?"Request a quote":"Your Basket"}),c&&(0,q.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,q.jsx)("strong",{children:h.length})," ",h.length===1?"item":"items"]})]}),(0,q.jsx)("p",{children:c?"Review the items you've added before exporting them for review.":d?"Check your items and quantities below, and we'll do our best to beat list prices.":"Review your quantities and order summary before you buy."})]})]}),(0,q.jsx)("div",{className:"quick-order-panel",style:{paddingTop:16},children:re?(0,q.jsxs)("div",{className:"basket-resolving",role:"status","aria-label":"Calculating order quantities",children:[(0,q.jsx)("span",{className:"basket-resolving-wheel","aria-hidden":"true"}),(0,q.jsx)("span",{children:"Calculating your quantities\u2026"})]}):h.length===0?(0,q.jsxs)("div",{className:"quick-order-history-empty",children:[(0,q.jsx)("div",{className:"basket-empty-icon","aria-hidden":"true",children:"\u{1F4CB}"}),(0,q.jsx)("p",{children:"Your selection is empty."}),(0,q.jsx)("p",{className:"basket-empty-hint",children:"Go back to your results and add quoted items."}),(0,q.jsx)("div",{className:"btn-row",style:{marginTop:20,justifyContent:"center"},children:(0,q.jsx)("button",{className:"cta-btn",style:{width:"auto",maxWidth:280},onClick:n,"aria-label":"Back to results",children:(0,q.jsx)("span",{children:"Back to Results"})})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)("div",{className:"basket-layout",children:[(0,q.jsxs)("div",{className:"basket-main",children:[(0,q.jsx)("div",{className:"basket-list","aria-label":c?"Selection items":d?"Quote request items":"Basket items",children:Pe.map(({item:g,pricing:M})=>{let N=S[g.lineId]??String(M.requestedAmount),Y=M.requestedUnit===M.sellUnit||M.costingMode==="review",Z=M.requiredSellUnits==null||M.requestedAmount!==M.requiredSellUnits||M.requestedUnit!==M.sellUnit;return(0,q.jsxs)("article",{className:"basket-card",children:[(0,q.jsxs)("div",{className:"basket-card-top",children:[(0,q.jsx)("img",{className:"basket-card-thumb",src:Ga(g.description,g.productId,g.pdpPhotoUrl),alt:"",width:48,height:48}),(0,q.jsxs)("div",{className:"basket-card-info",children:[(0,q.jsx)("div",{className:"bom-component-name",children:g.description}),Z&&M.costingMode!=="review"&&(0,q.jsxs)("button",{type:"button",className:"basket-calc-toggle",onClick:()=>Ue(k=>({...k,[g.lineId]:!k[g.lineId]})),"aria-expanded":!!fe[g.lineId],children:["How we calculated this",(0,q.jsx)("span",{className:`basket-calc-toggle-chevron${fe[g.lineId]?" basket-calc-toggle-chevron--open":""}`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("div",{className:"basket-card-actions",children:(0,q.jsx)("button",{type:"button",className:"mf-remove-small-btn basket-card-remove",onClick:()=>i(g.lineId),"aria-label":`Remove ${g.description}`,children:(0,q.jsx)(T_,{})})})]}),c&&(0,q.jsxs)("div",{className:"results-detail-block basket-internal-detail",children:[(0,q.jsxs)("dl",{className:"results-detail-grid",children:[(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion type"}),(0,q.jsx)("dd",{children:g.conversionType??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion confidence"}),(0,q.jsx)("dd",{children:g.conversionConfidence??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Sales unit"}),(0,q.jsx)("dd",{children:g.salesUnitSize!=null?(0,q.jsxs)(q.Fragment,{children:[g.salesUnitSize," ",Sa(g.salesUnitSizeUom,g.salesUnitSize)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Coverage"}),(0,q.jsx)("dd",{children:g.coverageQty!=null?(0,q.jsxs)(q.Fragment,{children:[g.coverageQty," ",Sa(g.coverageUom,g.coverageQty)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Waste factor"}),(0,q.jsx)("dd",{children:g.wasteFactorDefault??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Rounding rule"}),(0,q.jsx)("dd",{children:g.roundingRule??"-"})]})]}),g.conversionNotes&&(0,q.jsx)("p",{className:"results-rerank-note",children:g.conversionNotes})]}),M.costingMode==="review"?(0,q.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,q.jsx)("strong",{children:oe[g.lineId]===Rn(g)?"Calculating order quantity\u2026":"Quantity needs confirmation."})," ",M_(M)]}):Z&&fe[g.lineId]?(0,q.jsx)("p",{className:"basket-calc-text",children:E_(g,M)}):null,(0,q.jsxs)("div",{className:"basket-card-stats",children:[(0,q.jsxs)("div",{className:"basket-stat",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Requested qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:N,disabled:Y,onChange:k=>R(L=>({...L,[g.lineId]:k.target.value})),onBlur:k=>Ee(g.lineId,k.target.value),onKeyDown:k=>{k.key==="Enter"&&k.target.blur()},"aria-label":`${g.description} requested quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",disabled:Y,onClick:()=>$(g.lineId,parseFloat(N)||0,1),"aria-label":`Increase ${g.description} quantity`,children:(0,q.jsx)(nl,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",disabled:Y,onClick:()=>$(g.lineId,parseFloat(N)||0,-1),"aria-label":`Decrease ${g.description} quantity`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:Sa(M.requestedUnit,parseFloat(N)||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--right",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Order qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:z[g.lineId]??String(M.requiredSellUnits??""),onChange:k=>A(L=>({...L,[g.lineId]:k.target.value})),onBlur:k=>Ze(g.lineId,k.target.value),onKeyDown:k=>{k.key==="Enter"&&k.target.blur()},"aria-label":`${g.description} order quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",onClick:()=>pt(g.lineId,parseFloat(z[g.lineId]??String(M.requiredSellUnits??"0"))||0,1),"aria-label":`Increase ${g.description} order quantity`,children:(0,q.jsx)(nl,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",onClick:()=>pt(g.lineId,parseFloat(z[g.lineId]??String(M.requiredSellUnits??"0"))||0,-1),"aria-label":`Decrease ${g.description} order quantity`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:Sa(M.sellUnit,parseFloat(z[g.lineId]??String(M.requiredSellUnits??"0"))||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--total",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Total"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsx)("strong",{children:M.lineTotal!=null?lt(M.lineTotal):"-"}),M.lineTotal!=null&&(0,q.jsx)("span",{className:"basket-metric-unit",children:"ex. VAT"})]})]})]})]},g.lineId)})}),he>1&&(0,q.jsxs)("div",{className:"results-pagination",children:[(0,q.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(Ae-1)*il+1,"\u2013",Math.min(Ae*il,He.length)," of ",He.length]}),(0,q.jsxs)("div",{className:"results-pagination-controls",children:[(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>K(Ae-1),disabled:Ae===1,children:"Previous"}),(0,q.jsxs)("span",{className:"results-pagination-page",children:["Page ",Ae," of ",he]}),(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>K(Ae+1),disabled:Ae===he,children:"Next"})]})]})]}),(0,q.jsxs)("aside",{className:"basket-sidebar",children:[(0,q.jsx)("div",{className:"basket-sidebar-title",children:d?"Quote request summary":"Order summary"}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:d?"List price (ex. VAT)":"Subtotal (ex. VAT)"}),(0,q.jsx)("span",{children:de==null?"To confirm":lt(de)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:"VAT (20%)"}),(0,q.jsx)("span",{children:_e==null?"To confirm":lt(_e)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row basket-sidebar-row--total",children:[(0,q.jsx)("span",{children:d?"List price (inc.\xA0VAT)":"Total"}),(0,q.jsx)("span",{children:Se==null?"To confirm":lt(Se)})]}),!d&&(0,q.jsx)("div",{className:"basket-summary-waste",children:(0,q.jsxs)("div",{className:"basket-waste-control",children:[(0,q.jsxs)("label",{className:"basket-global-waste",children:[(0,q.jsx)("input",{type:"checkbox",checked:Be,onChange:g=>Ye(g.target.checked)}),(0,q.jsx)("span",{children:"Add waste factor"})]}),(0,q.jsxs)("label",{className:"basket-global-waste-percent",children:[(0,q.jsx)("input",{type:"number",inputMode:"decimal",min:"0",step:"0.1",value:Ne,onChange:g=>we(g.target.value),disabled:!Be,"aria-label":"Waste factor percent"}),(0,q.jsx)("span",{children:"%"})]})]})}),(0,q.jsx)("label",{htmlFor:`${p}-basket-reference`,className:"basket-sidebar-label",children:d?"Enter email for your sharper quote":"Your reference (optional)"}),(0,q.jsx)("input",{id:`${p}-basket-reference`,type:d?"email":"text",className:"basket-sidebar-input",value:m,onChange:g=>{b(g.target.value),d&&w("")},placeholder:d?"you@example.com":"PO number or job reference","aria-invalid":d&&v===hw,"aria-describedby":d&&v?`${p}-basket-reference-error`:void 0}),d&&v&&(0,q.jsx)("p",{id:`${p}-basket-reference-error`,className:"basket-quote-request-error",role:"alert",children:v}),d?(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:()=>{wt()},disabled:D||E>0||O>0,"aria-busy":D,children:(0,q.jsx)("span",{children:D?"Sending\u2026":"Request our best quote"})}):(0,q.jsx)("button",{className:"cta-btn",onClick:()=>{u("downloaded",{type:"basket",items:h.length}),cw(h)},"aria-label":c?"Download selection":"Download basket",children:(0,q.jsx)("span",{children:c?"Download Quote":"Buy Now"})}),(0,q.jsxs)("p",{className:"basket-sidebar-disclaimer",children:[(0,q.jsx)("span",{"aria-hidden":"true",children:"\u26A0\uFE0F"}),d?"This is a quote request, not an order. We'll confirm our best price, availability and delivery before you approve.":"Prices and availability are estimates and should be confirmed before procurement."]})]})]}),(0,q.jsx)("div",{className:"btn-row results-actions",children:(0,q.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",gap:10,justifyContent:"center"},onClick:n,"aria-label":"Back to results",children:[(0,q.jsx)(Kr,{}),(0,q.jsx)("span",{children:"Back to results"})]})})]})})]})})}var Ca=G(ee()),Cd="metron-quick-quote";function ac(e){return(0,Ca.jsx)(ec,{children:(0,Ca.jsx)(z_,{...e})})}function z_({fullPage:e=!1,hideHeader:t=!1,internal:a=!1}){let[r,i]=(0,Le.useState)("entry"),[n,o]=(0,Le.useState)(null),[l,c]=(0,Le.useState)(""),p=(0,Le.useRef)(null),d=(0,Le.useRef)(0),[h,m]=(0,Le.useState)(0),[b,y]=(0,Le.useState)(null),[T,D]=(0,Le.useState)(!1),{cart:f,addToCart:u,addManyToCart:v,removeFromCart:w,updateCartQty:S,updateCartSellUnits:R,updateCartConversions:z,clearCart:A}=Un(),[Q,K]=(0,Le.useState)(!1),[fe,Ue]=(0,Le.useState)(null),Be=()=>{Ue(null);try{window.sessionStorage.removeItem(Js)}catch{}},Ye=(0,Le.useRef)(null),Ne=Ys("quick-quote",Ye);(0,Le.useEffect)(()=>{Ne("viewed")},[Ne]);let[we,oe]=(0,Le.useState)(!1);(0,Le.useEffect)(()=>{let de=window.location.hash,_e=null;try{_e=JSON.parse(window.sessionStorage.getItem(Cd)??"null")}catch{}if(_e?.scheduleResult)o("schedule"),y(_e.scheduleResult),D(_e.reviewGateComplete),K(_e.cartSeeded),v(Object.values(_e.cart)),de==="#quote-request"?i("basket"):de==="#matched-products"&&i("results");else if(de==="#matched-products"||de==="#quote-request"){let Se=new URL(window.location.href);Se.hash="",window.history.replaceState(window.history.state,"",Se)}oe(!0)},[]),(0,Le.useEffect)(()=>{if(we)try{b?window.sessionStorage.setItem(Cd,JSON.stringify({scheduleResult:b,reviewGateComplete:T,cartSeeded:Q,cart:f})):window.sessionStorage.removeItem(Cd)}catch{}},[we,b,T,Q,f]);let se=(0,Le.useCallback)(de=>{if(typeof window>"u")return;let _e=new URL(window.location.href);_e.hash=de==="basket"?"quote-request":"matched-products";let Se=de==="results"&&(window.location.hash==="#matched-products"||window.location.hash==="#quote-request");window.history[Se?"replaceState":"pushState"]({boqQuoteStage:de},"",_e)},[]),ye=(0,Le.useRef)(!1);(0,Le.useEffect)(()=>{let de=_e=>{ye.current=!1;let Se=window.location.hash;Se==="#quote-request"?i("basket"):Se==="#matched-products"&&b?(o("schedule"),i("results")):i("entry");let E=_e.state,O=window.location.href;setTimeout(()=>{if(window.location.href===O){if(Se==="#quote-request"||Se==="#matched-products"||Se==="#quote-entry"){window.history.replaceState({boqQuoteStage:Se==="#quote-request"?"basket":Se==="#quote-entry"?"entry":"results"},"",O);return}!E?.turbo&&window.history.state?.turbo&&window.history.replaceState(E,"",O)}})};return window.addEventListener("popstate",de),()=>window.removeEventListener("popstate",de)},[b]);let vt=(0,Le.useCallback)(()=>{se("basket"),i("basket")},[se]),Ee=(0,Le.useCallback)(()=>{if(window.location.hash==="#quote-request"){if(ye.current)return;ye.current=!0,window.history.back();return}i(b?"results":"entry")},[b]),$=(0,Le.useRef)(r);(0,Le.useEffect)(()=>{$.current!==r&&($.current=r,window.scrollTo(0,0))},[r]);let ue=()=>{i("entry"),o(null),c(""),m(0),y(null),D(!1),A(),K(!1),Be()},Ze=(0,Le.useCallback)(async(de,_e,Se=!0)=>{let E=++d.current;c(""),m(0);let O=0,re=()=>{O=Math.min(O+1,3),m(O)};try{let{jobId:ce}=await cv(de,_e,Se);if(E!==d.current)return;let{promise:he,cancel:Ae}=pv(()=>uv(ce),5e3,re,"schedule");p.current=Ae;let Pe=await he;if(Pe.status==="failed"||!Pe.result)throw new Error(Pe.error||"Failed to process schedule");let g=Pe.result.lineItems.length,M=Pe.result.results.filter(N=>N.candidates.length>0).length;Ne("results_shown",{lines:g,matched:M,unmatched:g-M}),A(),K(!1),D(!1),y(Pe.result),se("results"),i("results")}catch(ce){if(E!==d.current)return;Ne("error",{stage:"matching"}),c(ce?.message||"Failed to process schedule"),i("entry")}finally{E===d.current&&(p.current?.(),p.current=null)}},[se,Ne,A]),pt=(0,Le.useCallback)(()=>{d.current++,p.current?.(),p.current=null},[]),wt=(0,Le.useCallback)(async(de,_e,Se=!0)=>{if(!de.trim())return;o("schedule");let E=new File([de],"pasted-schedule.txt",{type:"text/plain"});await Ze(E,_e,Se)},[Ze]),He=(0,Le.useCallback)(async de=>{o("schedule"),await Ze(de)},[Ze]);return(0,Ca.jsx)(Po.Provider,{value:Ne,children:(0,Ca.jsx)("div",{ref:Ye,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}${!e&&r==="processing"?" app-wrapper--loading":""}`,style:jt().theme,children:(0,Ca.jsxs)("main",{className:"main-content",children:[l&&(0,Ca.jsxs)("div",{className:"error-box",role:"alert",children:[(0,Ca.jsx)("strong",{children:"Error:"})," ",l]}),r==="entry"&&(0,Ca.jsx)(gd,{onPasteSchedule:wt,onUploadSchedule:He,onEntryModeChange:o,draft:fe,onSubmitDraft:Ue,onCancelMatch:pt}),r==="results"&&n==="schedule"&&b&&(0,Ca.jsx)(kd,{scheduleResult:b,onStartOver:ue,cart:f,onAddToCart:u,onRemoveFromCart:w,onGoToBasket:vt,cartSeeded:Q,onCartSeeded:()=>K(!0),reviewGateComplete:T,onReviewGateComplete:()=>D(!0),internal:a}),r==="basket"&&(0,Ca.jsx)(ol,{cart:f,onUpdateQty:S,onUpdateSellUnits:R,onResolveConversions:z,onRemove:w,onBack:Ee,onStartNewQuote:ue,onQuoteRequested:()=>{y(null),D(!1),K(!1),A(),Be()},internal:a})]})})})}var Xa=G(Xe());var xi=G(Xe()),W=G(ee()),bw=[{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"},{id:"ovolo",label:"Ovolo",blurb:"Traditional rounded profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"square-edge",label:"Square edge",blurb:"Clean contemporary edge"}],rc=e=>Number.parseFloat(e)||0,vw=(e,t)=>rc(e)*(t==="m"?1:.3048),qd=(e,t)=>rc(e.quantity)*(2*vw(e.height,t)+vw(e.width,t)),A_=()=>({quantity:"1",width:"",height:""});function R_({profile:e}){return(0,W.jsxs)("svg",{className:"architrave-calculator__profile-diagram",viewBox:"0 0 112 76","aria-hidden":"true",children:[(0,W.jsx)("path",{d:{ogee:"M18 62 V38 C18 28 28 22 40 22 H78 C88 22 94 28 94 38 V62",torus:"M18 62 V40 C18 27 30 20 42 20 C54 20 58 30 66 30 C74 30 78 20 90 20 C102 20 94 34 94 40 V62",ovolo:"M18 62 V38 C18 28 30 20 42 20 H70 C82 20 94 28 94 38 V62","pencil-round":"M18 62 V38 C18 28 28 20 40 20 H72 C84 20 94 28 94 38 V62","square-edge":"M18 62 V20 H94 V62"}[e]}),(0,W.jsx)("line",{x1:"12",y1:"66",x2:"100",y2:"66"})]})}function Ed({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,xi.useState)("m"),[n,o]=(0,xi.useState)({quantity:"1",width:"0.76",height:"1.98"}),[l,c]=(0,xi.useState)({quantity:"0",width:"1.52",height:"1.98"}),[p,d]=(0,xi.useState)([]),[h,m]=(0,xi.useState)("ogee"),[b,y]=(0,xi.useState)("2.4"),T=(S,R,z)=>{S(A=>({...A,[R]:z}))},D=qd(n,r)+qd(l,r)+p.reduce((S,R)=>S+qd(R,r),0),f=rc(b)>0?Math.ceil(D/rc(b)):0,u=bw.find(S=>S.id===h)?.label??"",v=[{key:`architrave-${h}`,label:`Architrave (${u})`,qty:D,unit:"m",query:`${u} architrave`,category:"architrave"}],w=(S,R,z,A)=>(0,W.jsxs)("div",{className:"architrave-calculator__opening-row",children:[(0,W.jsx)("span",{children:S}),(0,W.jsx)("input",{"aria-label":`${S} quantity`,type:"number",min:"0",step:"1",value:R.quantity,onChange:Q=>z("quantity",Q.target.value)}),(0,W.jsx)("input",{"aria-label":`${S} width`,type:"number",min:"0",step:"0.01",value:R.width,onChange:Q=>z("width",Q.target.value)}),(0,W.jsx)("input",{"aria-label":`${S} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:Q=>z("height",Q.target.value)}),A?(0,W.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:A,children:"Remove"}):null]});return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)("div",{className:"truss-estimator",children:[(0,W.jsxs)("div",{className:"quick-order-hero",children:[(0,W.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,W.jsx)("h1",{children:"Architrave Calculator"}),(0,W.jsx)("p",{children:"Estimate architrave lengths and board quantities for door openings."})]}),(0,W.jsxs)("div",{className:"truss-estimator__card architrave-calculator",children:[(0,W.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure your openings"}),(0,W.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each door or window opening. Mitred corners are allowed for, and board lengths are worked out from the net run."}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Door openings"}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Each opening is calculated as two side pieces plus one head piece."}),(0,W.jsxs)("div",{className:"architrave-calculator__unit-row",children:[(0,W.jsx)("span",{children:"Units"}),(0,W.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,W.jsx)("button",{type:"button",className:r==="m"?"is-selected":"",onClick:()=>i("m"),children:"Metres"}),(0,W.jsx)("button",{type:"button",className:r==="ft"?"is-selected":"",onClick:()=>i("ft"),children:"Feet"})]})]}),(0,W.jsxs)("div",{className:"architrave-calculator__dimensions-header",children:[(0,W.jsx)("span",{children:"Opening"}),(0,W.jsx)("span",{children:"Qty"}),(0,W.jsxs)("span",{children:["Width (",r,")"]}),(0,W.jsxs)("span",{children:["Height (",r,")"]}),(0,W.jsx)("span",{})]}),w("Single doors",n,(S,R)=>T(o,S,R)),w("Double doors",l,(S,R)=>T(c,S,R)),p.map((S,R)=>w(`Alternative door ${R+1}`,S,(z,A)=>d(Q=>Q.map((K,fe)=>fe===R?{...K,[z]:A}:K)),()=>d(z=>z.filter((A,Q)=>Q!==R)))),(0,W.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>d(S=>[...S,A_()]),children:"+ Add alternative-sized door"})]}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Standard profile"}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Choose the profile you plan to use. Length calculations are the same for each profile."}),(0,W.jsx)("div",{className:"architrave-calculator__profiles",children:bw.map(S=>(0,W.jsxs)("button",{type:"button",className:`truss-estimator__option-card${h===S.id?" is-selected":""}`,onClick:()=>m(S.id),children:[(0,W.jsx)(R_,{profile:S.id}),(0,W.jsx)("div",{className:"truss-estimator__option-title",children:S.label}),(0,W.jsx)("div",{className:"truss-estimator__option-copy",children:S.blurb})]},S.id))})]}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,W.jsx)("div",{className:"architrave-calculator__options",children:(0,W.jsxs)("label",{className:"truss-estimator__field",children:[(0,W.jsx)("span",{children:"Board length (m)"}),(0,W.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Waste allows for mitred corners, cuts and damaged lengths."})]}),(0,W.jsxs)("div",{className:"architrave-calculator__totals",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,W.jsxs)("div",{className:"architrave-calculator__result-grid",children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:"Architrave needed"}),(0,W.jsxs)("strong",{children:[D.toFixed(2)," m"]})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:"Board lengths"}),(0,W.jsx)("strong",{children:f})]})]})]}),(0,W.jsxs)("div",{className:"architrave-calculator__actions",children:[(0,W.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,W.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(v),disabled:D<=0,children:a})]})]})]})})}var ki=G(Xe()),ne=G(ee()),ww=60,yw=10,U_=.02,D_=.012,O_=.01,Dn=e=>Number.parseFloat(e)||0,B_=(e,t=2)=>e.toFixed(t);function Md({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,ki.useState)("brick"),[n,o]=(0,ki.useState)("engineering-red"),[l,c]=(0,ki.useState)("metric"),[p,d]=(0,ki.useState)(""),[h,m]=(0,ki.useState)(""),[b,y]=(0,ki.useState)(!0),T=l==="metric"?Dn(p)*Dn(h):Dn(p)*Dn(h)*.092903,f=T*(r==="brick"?ww:yw),u=Math.ceil(f),v=T*(r==="brick"?U_:D_),w=Math.ceil(v/O_),S=l==="metric"?T:T*10.7639,R=[{key:r==="brick"?`brick-${n}`:"block",label:r==="brick"?{common:"Common concrete bricks","engineering-red":"Red engineering bricks","engineering-blue":"Blue engineering bricks"}[n]:"Blocks",qty:u,unit:"each",query:r==="brick"?"facing brick":"concrete block",category:"masonry"},...b?[{key:"mortar",label:"Blue Circle Quality Assured Mortar Mix 20kg",qty:w,unit:"bag",query:"ready mixed mortar",category:"mortar"}]:[]],z=A=>{if(A===l)return;let Q=A==="imperial"?3.28084:.3048;d((Dn(p)*Q).toFixed(2)),m((Dn(h)*Q).toFixed(2)),c(A)};return(0,ne.jsx)(ne.Fragment,{children:(0,ne.jsxs)("div",{className:"truss-estimator",children:[(0,ne.jsxs)("div",{className:"quick-order-hero",children:[(0,ne.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ne.jsx)("h1",{children:"Brick and Block Calculator"}),(0,ne.jsx)("p",{children:"Estimate masonry units, sand and cement for a wall."})]}),(0,ne.jsxs)("div",{className:"truss-estimator__card brick-calculator",children:[(0,ne.jsx)("h2",{className:"truss-estimator__step-title",children:"Wall area and masonry type"}),(0,ne.jsx)("p",{className:"truss-estimator__step-sub",children:"Pick brick or block and enter the wall dimensions for unit counts plus ready-mixed mortar."}),(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Masonry type"}),(0,ne.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["brick","Brick"],["block","Block"]].map(([A,Q])=>(0,ne.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===A?" is-selected":""}`,onClick:()=>i(A),children:[(0,ne.jsx)("div",{className:"truss-estimator__option-title",children:Q}),(0,ne.jsxs)("div",{className:"truss-estimator__option-copy",children:["Approx. ",A==="brick"?ww:yw," per m\xB2"]})]},A))})]}),r==="brick"&&(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Brick type"}),(0,ne.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["common","Common concrete","General-purpose grey concrete brick"],["engineering-red","Engineering red","Class B perforated, 65mm"],["engineering-blue","Engineering blue","Class B solid, 65mm"]].map(([A,Q,K])=>(0,ne.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n===A?" is-selected":""}`,onClick:()=>o(A),children:[(0,ne.jsx)("div",{className:"truss-estimator__option-title",children:Q}),(0,ne.jsx)("div",{className:"truss-estimator__option-copy",children:K})]},A))})]}),(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,ne.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,ne.jsx)("button",{type:"button",className:l==="metric"?"is-selected":"",onClick:()=>z("metric"),children:"Metric"}),(0,ne.jsx)("button",{type:"button",className:l==="imperial"?"is-selected":"",onClick:()=>z("imperial"),children:"Imperial"})]}),(0,ne.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ne.jsxs)("label",{className:"truss-estimator__field",children:[(0,ne.jsxs)("span",{children:["Height (",l==="metric"?"m":"ft",")"]}),(0,ne.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:A=>d(A.target.value)})]}),(0,ne.jsxs)("label",{className:"truss-estimator__field",children:[(0,ne.jsxs)("span",{children:["Width (",l==="metric"?"m":"ft",")"]}),(0,ne.jsx)("input",{type:"number",min:"0",step:"0.01",value:h,onChange:A=>m(A.target.value)})]})]})]}),(0,ne.jsx)("div",{className:"brick-calculator__options",children:(0,ne.jsxs)("label",{className:"brick-calculator__checkbox",children:[(0,ne.jsx)("input",{type:"checkbox",checked:b,onChange:A=>y(A.target.checked)}),(0,ne.jsx)("span",{children:"Include ready-mixed mortar"})]})}),(0,ne.jsxs)("div",{className:"brick-calculator__totals",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ne.jsxs)("div",{className:"brick-calculator__result-grid",children:[(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:"Wall area"}),(0,ne.jsxs)("strong",{children:[B_(S)," ",l==="metric"?"m\xB2":"ft\xB2"]})]}),(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:r==="brick"?"Bricks":"Blocks"}),(0,ne.jsx)("strong",{children:u.toLocaleString("en-GB")})]}),b?(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:"Ready-mixed mortar"}),(0,ne.jsxs)("strong",{children:[w," x 20kg bags"]})]}):null]}),(0,ne.jsx)("p",{className:"brick-calculator__note",children:"Estimate based on standard nominal sizes and 10mm joints. Mortar bags are approximate; confirm the required mortar specification before ordering."})]}),(0,ne.jsxs)("div",{className:"brick-calculator__actions",children:[(0,ne.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ne.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(R),disabled:T<=0,children:a})]})]})]})})}var gr=G(Xe());var L_={"NZ4Y-ZMSQ":{"brick-block":{"brick-common":"105499","brick-engineering-red":"1654","brick-engineering-blue":"1723",block:"501",mortar:"646"},skirting:{"skirting-chamfered":"1525","skirting-ogee":"135 primed mdf ogee","skirting-pencil-round":"892","skirting-torus":"1941"},architrave:{"architrave-ogee":"134 primed mdf ogee","architrave-ovolo":"1531","architrave-pencil-round":"1896","architrave-square-edge":"118 primed mdf square","architrave-torus":"1531"},plasterboard:{standard:"1647",moisture:"11 moisture plasterboard",fire:"14 fire plasterboard",sound:"1769",screws:"131160",tape:"1766",adhesive:"108439"},insulation:{"insulation-floor":"152187","insulation-wall":"147","insulation-roof":"442","insulation-loft":"152180"},timber:{studs:"1213",joists:"208",battens:"1729"},fencing:{"panels-boundary-0.9":"66 lap fence panel","panels-boundary-1.2":"1450","panels-boundary-1.5":"1449","panels-boundary-1.8":"1448","panels-skyline-1.8":"1475","concrete-intermediate-8":"40197","concrete-end-8":"40198","timber-post-6":"141411","timber-post-8":"1709",postcrete:"12142",gate:"1984","gravel-boards":"40200"},decking:{"boards-summit":"24322",joists:"208",screws:"131079"},paving:{"surface-council":"23995","surface-raj":"12369","surface-brindle":"304","surface-charcoal":"296","surface-pea":"431","sub-base":"569",bedding:"563"}}};function Td(e,t){let a=L_[jt().client??""]?.[e];if(!a)return null;let r=e==="plasterboard"&&t.key==="board"?t.label.split(" ")[0].toLowerCase():t.key;return a[r]??null}function _w(e,t){let a=t.map(r=>{let i=Td(e,r);return i?{key:r.key,productId:i.split(" ")[0],search:i,qty:r.qty,unit:r.unit}:null});return a.length>0&&a.every(Boolean)?a:null}var xw=new Map;function H_(e){return{product_id:e.product_id,description:e.description,source_list:e.source_list??null,price:e.price??null,list_price:e.list_price,discount:e.discount,price_basis:e.price_basis??null,uoi_count:e.uoi_count??null,uoi:e.uoi??null,pdp_photo_url:e.pdp_photo_url??null,conversion:e.conversion,measurements_mm:e.measurements_mm??e.attrs?.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"estimator_catalogue_search"}}async function fr(e,t,a=12,r){let i=`${jt().client??""}||${e}||${t??""}||${a}||${r??""}`,n=xw.get(i);if(n)return n;let o=new URLSearchParams({q:e,limit:String(a)});t&&o.set("category",t),r&&o.set("account",r);let l=await fetch(pa(`/api/catalogue/search?${o.toString()}`),{headers:vi()}),c=await ka(l);if(!l.ok)throw new Error(c?.error||c?.message||"Could not reach the product catalogue");let p=Array.isArray(c?.items)?c.items.map(H_):[];return xw.set(i,p),p}var j_=new Set(["bag","box","roll","pack"]),Q_=new Set(["each","bag","box","roll","pack","tub"]);function zd(e,t){let a=t?.uoi,r=a!=null&&Q_.has(a.toLowerCase())&&(t?.uoi_count??1)===1;return j_.has(e)&&r?a:e}async function kw(e,t,a){return await Promise.all(e.map(async i=>{try{let n=a?Td(a,i):null,[o,l]=await Promise.all([n?fr(n,void 0,void 0,t).then(p=>p.find(d=>d.product_id===n.split(" ")[0]),()=>{}):void 0,fr(i.query,i.category,void 0,t)]),c=o?[o,...l.filter(p=>p.product_id!==o.product_id)]:l;return{requirement:{...i,unit:zd(i.unit,c[0])},candidates:c}}catch{return{requirement:i,candidates:[]}}}))}async function Nw(){let e=await fetch(pa("/api/catalogue"),{headers:vi()});if(!e.ok)return{itemCount:0,uploadedAt:null};let t=await ka(e);return{itemCount:Number(t?.itemCount)||0,uploadedAt:t?.uploadedAt??null}}var X=G(ee()),G_=1.54,Y_=1440,X_=25,Ad=800,V_=1500,Rd=e=>Number.parseFloat(e)||0,On={mot:{label:"MOT Type 1",blurb:"Sub-base for patios and driveways",density:1.7,productId:"6001007"},"sharp-sand":{label:"Sharp sand",blurb:"Bedding and general groundwork",density:1.6,productId:"6001012"},gravel:{label:"20mm gravel",blurb:"Drainage and landscaping",density:1.6,productId:"6001004"}};function Ud({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let r=tc(),[i,n]=(0,gr.useState)("m"),[o,l]=(0,gr.useState)(""),[c,p]=(0,gr.useState)(""),[d,h]=(0,gr.useState)(""),[m,b]=(0,gr.useState)("concrete"),[y,T]=(0,gr.useState)("mot"),[D,f]=(0,gr.useState)(!1),[u,v]=(0,gr.useState)(null),w=i==="m"?1:.3048,S=Rd(o)*w*Rd(c)*w*Rd(d)*(i==="m"?.01:.0254),R=On[y],z=S*G_/7,A=z*Y_,Q=z*2,K=z*4,fe=Math.ceil(A/X_),Ue=Math.ceil(Q*On["sharp-sand"].density*1e3/Ad),Be=Math.ceil(K*On.gravel.density*1e3/Ad),Ye=Math.ceil(S*R.density*1e3/Ad),Ne=m==="concrete"?[{key:"cement",label:"Blue Circle General Purpose Grey Cement 25kg",qty:fe,productId:"6003004"},{key:"sharp-sand",label:"Sharp Sand Bulk Bag (800kg)",qty:Ue,productId:"6001012"},{key:"gravel",label:"20mm Non Decorative Pea Shingle/Gravel Bulk Bag (800kg)",qty:Be,productId:"6001004"}]:[{key:y,label:`${R.label} Bulk Bag (800kg)`,qty:Ye,productId:R.productId}],we=()=>{if(t){t(Ne.map(se=>({key:se.key,label:se.label,qty:se.qty,unit:"each",query:se.productId})));return}oe()},oe=async()=>{let se=Date.now();f(!0),v(null);try{let ye=await Promise.all(Ne.map(async Ee=>{let $=(await fr(Ee.productId)).find(ue=>ue.product_id===Ee.productId);if(!$)throw new Error(`${Ee.label} is no longer available in this catalogue.`);return Pr($,{lineId:`concrete-aggregate:${Ee.key}`,description:Ee.label,unit:"bag",qty:Ee.qty})})),vt=V_-(Date.now()-se);vt>0&&await new Promise(Ee=>window.setTimeout(Ee,vt)),r?.clearCart(),r?.addManyToCart(ye),r?.openBasket()}catch(ye){v(ye instanceof Error?ye.message:"Could not add the products to your basket.")}finally{f(!1)}};return D?(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)("div",{className:"truss-estimator",children:[(0,X.jsxs)("div",{className:"quick-order-hero",children:[(0,X.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,X.jsx)("h1",{children:"Your Materials"}),(0,X.jsx)("p",{children:"Calculating quantities from the Concrete and Aggregate Calculator."})]}),(0,X.jsx)("div",{className:"truss-estimator__card",children:(0,X.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,X.jsx)(dr,{}),(0,X.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})}):(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)("div",{className:"truss-estimator",children:[(0,X.jsxs)("div",{className:"quick-order-hero",children:[(0,X.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,X.jsx)("h1",{children:"Concrete and Aggregate Calculator"}),(0,X.jsx)("p",{children:"Calculate fixed site-mix concrete ingredients or aggregate bulk bags."})]}),(0,X.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,X.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose what you need"}),(0,X.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the area and depth. The calculator adds the fixed Materials Market products directly to your basket."}),(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Material type"}),(0,X.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${m==="concrete"?" is-selected":""}`,onClick:()=>b("concrete"),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:"Site-mixed concrete"}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:"Cement, sharp sand and 20mm aggregate"})]}),(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${m==="aggregate"?" is-selected":""}`,onClick:()=>b("aggregate"),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:"Aggregates"}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:"MOT Type 1, sharp sand or 20mm gravel"})]})]})]}),m==="aggregate"&&(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Aggregate type"}),(0,X.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.keys(On).map(se=>(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${y===se?" is-selected":""}`,onClick:()=>T(se),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:On[se].label}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:On[se].blurb})]},se))})]}),(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and depth"}),(0,X.jsxs)("div",{className:"materials-calculator__unit-row",children:[(0,X.jsx)("span",{children:"Units"}),(0,X.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,X.jsx)("button",{type:"button",className:i==="m"?"is-selected":"",onClick:()=>n("m"),children:"Metric"}),(0,X.jsx)("button",{type:"button",className:i==="ft"?"is-selected":"",onClick:()=>n("ft"),children:"Imperial"})]})]}),(0,X.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,X.jsxs)("label",{className:"truss-estimator__field",children:[(0,X.jsxs)("span",{children:["Length (",i,")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.01",value:o,onChange:se=>l(se.target.value)})]}),(0,X.jsxs)("label",{className:"truss-estimator__field",children:[(0,X.jsxs)("span",{children:["Width (",i,")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.01",value:c,onChange:se=>p(se.target.value)})]})]}),(0,X.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,X.jsxs)("span",{children:["Depth (",i==="m"?"cm":"inches",")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.1",value:d,onChange:se=>h(se.target.value)})]})]}),(0,X.jsxs)("div",{className:"materials-calculator__totals",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Materials required"}),(0,X.jsx)("div",{className:"materials-calculator__result-grid",children:m==="concrete"?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Cement"}),(0,X.jsxs)("strong",{children:[A.toFixed(0)," kg"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Sharp sand"}),(0,X.jsxs)("strong",{children:[Q.toFixed(2)," m\xB3"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"20mm aggregate"}),(0,X.jsxs)("strong",{children:[K.toFixed(2)," m\xB3"]})]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:R.label}),(0,X.jsxs)("strong",{children:[S.toFixed(2)," m\xB3"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Approx. weight"}),(0,X.jsxs)("strong",{children:[(S*R.density).toFixed(2)," t"]})]}),(0,X.jsx)("div",{})]})}),(0,X.jsx)("p",{className:"materials-calculator__note",children:m==="concrete"?"Based on a 1:2:4 mix. Confirm the mix design for structural work.":"Figures are estimates. Confirm the specification and supplier quantities before ordering."})]}),u&&(0,X.jsx)("p",{className:"results-empty-hint estimator-products__error",children:u}),(0,X.jsxs)("div",{className:"materials-calculator__actions",children:[(0,X.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,X.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:we,disabled:S<=0||D,children:D?"Adding products\u2026":a})]})]})]})})}var Ya=G(Xe());var U=G(ee()),Bn=12,Ln=8,ic=.56,Sw=.21,Ra={ranges:{meridian:{label:"Standard grooved timber",blurb:"32 \xD7 125mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.125},summit:{label:"Wide grooved timber",blurb:"32 \xD7 150mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.15}},boardGapM:.006,wastage:{straight:.05,diagonal:.15},pictureFrame:{extraWastage:.08},joist:{spacingOptions:[{id:"300",label:"300mm centres (heavy duty)",spacingM:.3},{id:"400",label:"400mm centres (standard)",spacingM:.4},{id:"450",label:"450mm centres (light use)",spacingM:.45}]}},Ni=["range","grid","pictureFrame","substructure"],$_={range:null,colour:null,deckSizeMode:"quick",quickLengthM:"",quickWidthM:"",points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:"",pictureFrame:null,direction:null,deckHeightMode:"standard",deckHeightCm:"",joistSpacing:null,supportType:null,contact:{name:"",email:""}},nc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),oc=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),Z_=(e,t,a,r)=>{let i=nc(e,t,a),n=nc(e,t,r),o=nc(a,r,e),l=nc(a,r,t);return i===0&&oc(e,t,a)||n===0&&oc(e,t,r)||o===0&&oc(a,r,e)||l===0&&oc(a,r,t)?!0:i>0!=n>0&&o>0!=l>0},Dd=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1){let i=e[(r+1)%e.length];for(let n=r+1;n<a;n+=1)if(!(n===r+1||t&&r===0&&n===a-1)&&Z_(e[r],i,e[n],e[(n+1)%e.length]))return!0}return!1};function Od({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ya.useState)(0),[n,o]=(0,Ya.useState)($_),[l,c]=(0,Ya.useState)(1),[p,d]=(0,Ya.useState)({x:0,y:0}),[h,m]=(0,Ya.useState)(null),b=(0,Ya.useRef)(null),y=(0,Ya.useRef)(null),T=(0,Ya.useRef)(null),D=Ni[r],f=n.range?Ra.ranges[n.range]:null,u=Bn/l,v=Ln/l,w=(Bn-u)/2,S=(Ln-v)/2,R=Math.max(-Bn,Math.min(Bn*2-u,w+p.x)),z=Math.max(-Ln,Math.min(Ln*2-v,S+p.y)),A=Number.parseFloat(n.quickLengthM),Q=Number.parseFloat(n.quickWidthM),K=A>0&&Q>0,fe=E=>Math.abs(E.reduce((O,re,ce)=>{let he=E[(ce+1)%E.length];return O+re.x*he.y-he.x*re.y},0))/2,Ue=(E,O)=>Math.hypot(O.x-E.x,O.y-E.y),Be=n.isOutlineClosed?fe(n.points):0,Ye=n.isOutlineClosed?n.points.reduce((E,O,re)=>E+Ue(O,n.points[(re+1)%n.points.length]),0):0,Ne=n.isOutlineClosed?n.points.reduce((E,O,re)=>E+(n.wallSegments.has(re)?0:Ue(O,n.points[(re+1)%n.points.length])),0):0,we=n.points.reduce((E,O)=>({x:E.x+O.x/n.points.length,y:E.y+O.y/n.points.length}),{x:0,y:0}),oe=n.points.length>1?(()=>{let E=n.points[0],O=n.points[1],re=Ue(E,O),ce=re?-(O.y-E.y)/re:0,he=re?(O.x-E.x)/re:0,Ae=(E.x+O.x)/2,Pe=(E.y+O.y)/2,g=ce*(Ae-we.x)+he*(Pe-we.y)>=0?1:-1;return{x:Ae+ce*ic*g,y:Pe+he*ic*g}})():null,ye=(()=>{let E=n.range?Ra.ranges[n.range]:Ra.ranges.meridian,O=n.deckSizeMode==="quick"?A*Q:Be,re=n.deckSizeMode==="quick"?2*(A+Q):Ne,ce=n.direction==="diagonal"?Ra.wastage.diagonal:Ra.wastage.straight,he=n.pictureFrame==="yes"?Ra.pictureFrame.extraWastage:0,Pe=O/(E.boardWidthM+Ra.boardGapM)/E.boardLengthM,g=Math.ceil(Pe*(1+ce+he)),M=Math.ceil(O*30*(1+ce+he)/200),N=Ra.joist.spacingOptions.find(k=>k.id===n.joistSpacing)??Ra.joist.spacingOptions[1],Y=O/N.spacingM,Z=Math.ceil(Y);return{range:E,area:O,boardCount:g,screwBoxes:M,joistMetres:Z,spacing:N}})(),vt=ye?[{key:`boards-${n.range??"meridian"}`,label:`Deck boards (${ye.range.label})`,qty:ye.boardCount,unit:"each",query:"timber decking board",category:"decking",calculatorWasteIncluded:!0},{key:"joists",label:"Treated C24 joists",qty:ye.joistMetres,unit:"m",query:"treated joist",category:"timber",calculatorWasteIncluded:!0},{key:"screws",label:"Green decking screws (200/box)",qty:ye.screwBoxes,unit:"box",query:"green decking screws",category:"fixings",calculatorWasteIncluded:!0}]:[],Ee=()=>D==="range"?!!n.range:D==="grid"?n.deckSizeMode==="quick"?K:n.isOutlineClosed&&Be>0:D==="pictureFrame"?!!n.pictureFrame&&!!n.direction:D==="substructure"?!!n.joistSpacing:!0,$=r===Ni.length-1?a:"Next",ue=(E,O,re=!1)=>{let ce=T.current?.getBoundingClientRect();if(!ce)return null;let he=re?1:.25;return{x:Math.round(Math.max(R,Math.min(R+u,R+(E-ce.left)/ce.width*u))/he)*he,y:Math.round(Math.max(z,Math.min(z+v,z+(O-ce.top)/ce.height*v))/he)*he}},Ze=E=>{if(n.isOutlineClosed){let re=E.target;if(re!==E.currentTarget&&!re.classList.contains("deck-outline__grid"))return;y.current={startX:E.clientX,startY:E.clientY,startViewX:R,startViewY:z},E.currentTarget.setPointerCapture(E.pointerId);return}if(n.drawMode!=="outline")return;let O=ue(E.clientX,E.clientY,!0);O&&(m(null),o(re=>{let ce=[...re.points,O];return Dd(ce,!1)?{...re,drawError:"Edges cannot cross. Choose another corner."}:{...re,points:ce,drawError:""}}))},pt=(E,O)=>{if(!n.isOutlineClosed){E.stopPropagation(),O===0&&n.points.length>=3&&o(re=>({...re,isOutlineClosed:!0,drawMode:"edges"}));return}E.stopPropagation(),b.current=O,E.currentTarget.setPointerCapture(E.pointerId)},wt=E=>{if(y.current){let ce=T.current?.getBoundingClientRect();if(!ce)return;let he=y.current,Ae=he.startViewX-(E.clientX-he.startX)/ce.width*u,Pe=he.startViewY-(E.clientY-he.startY)/ce.height*v;d({x:Ae-w,y:Pe-S});return}!n.isOutlineClosed&&n.drawMode==="outline"&&m(ue(E.clientX,E.clientY,!0));let O=b.current;if(O===null)return;let re=ue(E.clientX,E.clientY);re&&o(ce=>{let he=ce.points.map((Ae,Pe)=>Pe===O?re:Ae);return Dd(he,!0)?{...ce,drawError:"Edges cannot cross. Move the corner to a different position."}:{...ce,points:he,drawError:""}})},He=E=>{y.current=null,b.current=null,E.currentTarget.hasPointerCapture(E.pointerId)&&E.currentTarget.releasePointerCapture(E.pointerId)},de=E=>{o(O=>{let re=new Set(O.wallSegments);return re.has(E)?re.delete(E):re.add(E),{...O,wallSegments:re}})},_e=()=>{r===0?e():i(E=>E-1)},Se=()=>{Ee()&&(r===Ni.length-1?t?.(vt):i(E=>E+1))};return(0,U.jsx)(U.Fragment,{children:(0,U.jsxs)("div",{className:"truss-estimator",children:[(0,U.jsxs)("div",{className:"quick-order-hero",children:[(0,U.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,U.jsx)("h1",{children:"Decking Calculator"}),(0,U.jsx)("p",{children:"Estimate timber boards, joists and screws for your deck."})]}),(0,U.jsxs)("div",{className:"truss-estimator__card",children:[(0,U.jsxs)("div",{className:"truss-estimator__body",children:[D==="range"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your timber decking"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Both options are fixed, orderable pressure-treated timber boards."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ra.ranges).map(([E,O])=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.range===E?" is-selected":""}`,onClick:()=>o(re=>({...re,range:E})),children:[(0,U.jsx)("div",{className:"truss-estimator__option-title",children:O.label}),(0,U.jsx)("div",{className:"truss-estimator__option-copy",children:O.blurb}),(0,U.jsxs)("div",{className:"truss-estimator__option-copy",children:[O.boardLengthM,"m boards"]})]},E))})]}):null,D==="grid"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Tell us your deck size"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Start with a quick rectangle estimate, or draw an irregular deck for a more precise result."}),(0,U.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.deckSizeMode==="quick"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"quick"})),children:"Quick estimate"}),(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.deckSizeMode==="draw"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"draw",drawMode:"outline"})),children:"Draw your space"})]}),n.deckSizeMode==="quick"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Length (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:n.quickLengthM,onChange:E=>o(O=>({...O,quickLengthM:E.target.value}))})]}),(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Width (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:n.quickWidthM,onChange:E=>o(O=>({...O,quickWidthM:E.target.value}))})]})]}),(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:"For L-shaped decks, cut-outs, or sides against a wall, use Draw your space."}),K?(0,U.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,U.jsxs)("div",{children:[(A*Q).toFixed(2)," m\xB2 deck"]}),(0,U.jsxs)("div",{children:[(2*(A+Q)).toFixed(2)," m perimeter"]})]}):null]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Draw your deck"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Click to add corners, then close the outline. Drag any handle to refine it."}),(0,U.jsxs)("div",{className:"deck-outline__toolbar",children:[n.isOutlineClosed?(0,U.jsxs)("div",{className:"deck-outline__summary",children:[(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Deck area"}),(0,U.jsxs)("strong",{children:[Be.toFixed(2)," m\xB2"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Perimeter"}),(0,U.jsxs)("strong",{children:[Ye.toFixed(2)," m"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Wall edges"}),(0,U.jsx)("strong",{children:n.wallSegments.size>0?n.wallSegments.size:"None"})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Visible edge"}),(0,U.jsxs)("strong",{children:[Ne.toFixed(2)," m"]})]})]}):null,(0,U.jsxs)("div",{className:"deck-outline__actions",children:[(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:E.points.slice(0,-1)})),disabled:n.points.length===0||n.isOutlineClosed,children:"Undo"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{m(null),o(E=>({...E,points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:""}))},disabled:n.points.length===0,children:"Clear"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5}],isOutlineClosed:!0,wallSegments:new Set,drawMode:"edges",drawError:""})),children:"Start with rectangle"})]})]}),(0,U.jsx)("div",{className:"deck-editor-layout",children:(0,U.jsxs)("div",{className:"deck-editor-layout__canvas-column",children:[(0,U.jsxs)("div",{className:"deck-outline",children:[(0,U.jsxs)("svg",{ref:T,className:`deck-outline__canvas${n.isOutlineClosed?" is-pan-mode":""}`,viewBox:`${R} ${z} ${u} ${v}`,preserveAspectRatio:"none","aria-label":"Deck outline drawing area",onPointerDown:Ze,onPointerMove:wt,onPointerUp:He,onPointerLeave:()=>{m(null),y.current||(b.current=null)},children:[(0,U.jsx)("defs",{children:(0,U.jsx)("pattern",{id:"deck-outline-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,U.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,U.jsx)("rect",{x:-Bn,y:-Ln,width:Bn*3,height:Ln*3,className:"deck-outline__grid",fill:"url(#deck-outline-grid)"}),n.points.length>1?(0,U.jsx)("polyline",{className:"deck-outline__preview",points:n.points.map(E=>`${E.x},${E.y}`).join(" ")}):null,n.isOutlineClosed?(0,U.jsx)("polygon",{className:"deck-outline__shape",points:n.points.map(E=>`${E.x},${E.y}`).join(" "),stroke:"none"}):null,n.points.length>1?n.points.slice(0,n.isOutlineClosed?void 0:-1).map((E,O)=>{let re=n.points[n.isOutlineClosed?(O+1)%n.points.length:O+1],ce=Ue(E,re),he=ce?-(re.y-E.y)/ce:0,Ae=ce?(re.x-E.x)/ce:0,Pe=(E.x+re.x)/2,g=(E.y+re.y)/2,M=he*(Pe-we.x)+Ae*(g-we.y)>=0?1:-1,N=Pe+he*ic*M,Y=g+Ae*ic*M;return(0,U.jsxs)("g",{children:[(0,U.jsx)("line",{className:"deck-outline__edge-hit",x1:E.x,y1:E.y,x2:re.x,y2:re.y,onClick:n.isOutlineClosed?()=>de(O):void 0}),(0,U.jsx)("line",{className:`deck-outline__edge${n.wallSegments.has(O)?" is-wall":""}`,x1:E.x,y1:E.y,x2:re.x,y2:re.y,pointerEvents:"none"}),(0,U.jsxs)("text",{className:`deck-outline__edge-label${n.wallSegments.has(O)?" is-wall":""}`,x:N,y:Y,textAnchor:"middle",dominantBaseline:"central",fontSize:Sw/l,children:[ce.toFixed(2)," m"]})]},`segment-${O}`)}):null,!n.isOutlineClosed&&n.points.length>0&&h?(()=>{let E=n.points[n.points.length-1],O=Ue(E,h);if(!O)return null;let re=-(h.y-E.y)/O,ce=(h.x-E.x)/O,he=(E.x+h.x)/2,Ae=(E.y+h.y)/2;return(0,U.jsxs)("g",{className:"deck-outline__live-measurement",children:[(0,U.jsx)("line",{x1:E.x,y1:E.y,x2:h.x,y2:h.y}),(0,U.jsxs)("text",{x:he+re*.34,y:Ae+ce*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:Sw/l,children:[O.toFixed(2)," m"]})]})})():null,n.points.map((E,O)=>(0,U.jsx)("circle",{className:"deck-outline__point",cx:E.x,cy:E.y,r:"0.13",onPointerDown:re=>pt(re,O)},`point-${O}`))]}),(0,U.jsxs)("div",{className:"deck-outline__zoom","aria-label":"Zoom controls",children:[(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.max(.5,E-.25)),disabled:l===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,U.jsxs)("span",{children:[Math.round(l*100),"%"]}),(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.min(1,E+.25)),disabled:l===1,"aria-label":"Zoom in",children:"+"})]}),n.isOutlineClosed&&n.wallSegments.size===0&&oe?(0,U.jsx)("div",{className:"deck-outline__edge-prompt",role:"status",style:{left:`${(oe.x-R)/u*100}%`,top:`${(oe.y-z)/v*100}%`},children:"Tap an edge to mark it as a wall, or leave it as a visible edge."}):null,!n.isOutlineClosed&&n.points.length>=3?(0,U.jsx)("button",{type:"button",className:"deck-outline__close",onClick:()=>o(E=>Dd(E.points,!0)?{...E,drawError:"Edges cannot cross. Adjust the outline before finishing."}:{...E,isOutlineClosed:!0,drawMode:"edges",drawError:""}),children:"Finish outline"}):null]}),(0,U.jsxs)("div",{className:"deck-outline__supporting",children:[(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:n.isOutlineClosed?"Drag a corner handle to refine the outline.":"Add at least three corners, then click Finish outline."}),n.drawError?(0,U.jsx)("div",{className:"deck-outline__error",role:"alert",children:n.drawError}):null]})]})})]})]}):null,D==="pictureFrame"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Picture frame border?"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"A picture frame border runs boards around the perimeter for a finished look and uses extra material."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No border",img:"/decking/boards/no-border.webp"},{id:"yes",label:"Picture frame",img:"/decking/boards/picture-frame.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.pictureFrame===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,pictureFrame:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:It(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))}),(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Board direction"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"straight",label:"Straight",img:"/decking/boards/straight.webp"},{id:"diagonal",label:"Diagonal",img:"/decking/boards/diagonal.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.direction===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,direction:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:It(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))})]})]}):null,D==="substructure"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Substructure"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the joist spacing. Posts, footings and ground preparation vary by site, so are not included."}),(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Joist spacing"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Ra.joist.spacingOptions.map(E=>(0,U.jsx)("button",{type:"button",className:`truss-estimator__option-card${n.joistSpacing===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,joistSpacing:E.id})),children:(0,U.jsx)("div",{className:"truss-estimator__option-title",children:E.label})},E.id))})]}):null]}),(0,U.jsxs)("div",{className:"truss-estimator__nav",children:[(0,U.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:_e,children:"Back"}),(0,U.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:Se,disabled:!Ee(),children:[(0,U.jsx)("span",{children:$}),(0,U.jsx)("span",{className:"arrow",children:(0,U.jsx)(Qt,{})})]})]})]})]})})}var Ea=G(Xe());var j=G(ee()),Cw=12,qw=30,Hn=12,jn=8,Ew=.56,qa={ranges:{boundary:{label:"Horizontal lap",blurb:"Traditional pressure-treated timber panels.",panelWidthM:1.83},skyline:{label:"Feather edge",blurb:"Heavier timber panels for a more solid boundary.",panelWidthM:1.83}},heights:["0.9","1.2","1.5","1.8"],gate:{single:{label:"Single lap gate",widthDefault:.9}},mounting:{concrete:{label:"Concrete posts",blurb:"Slotted concrete posts with matching panels."},postcrete:{label:"Postcrete bags",blurb:"Fast-set post-mix bags in a dug hole.",bagsPerPost:2}}},Si=["range","height","gate","posts"],K_={range:null,colour:null,grid:new Set,excludedEdges:new Set,gridMode:"draw",boundaryMode:"quick",quickLengthM:"",boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set,height:null,gravelBoard:null,gateType:null,gateWidthM:"",mountingType:null,contact:{name:"",email:""}},lc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),sc=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),P_=(e,t,a,r)=>{let i=lc(e,t,a),n=lc(e,t,r),o=lc(a,r,e),l=lc(a,r,t);return i===0&&sc(e,t,a)||n===0&&sc(e,t,r)||o===0&&sc(a,r,e)||l===0&&sc(a,r,t)?!0:i>0!=n>0&&o>0!=l>0},cc=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1)for(let i=r+1;i<a;i+=1)if(!(i===r+1||t&&r===0&&i===a-1)&&P_(e[r],e[(r+1)%e.length],e[i],e[(i+1)%e.length]))return!0;return!1};function Bd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ea.useState)(0),[n,o]=(0,Ea.useState)(K_),l=(0,Ea.useRef)(null),c=(0,Ea.useRef)(null),[p,d]=(0,Ea.useState)(1),[h,m]=(0,Ea.useState)({x:0,y:0}),[b,y]=(0,Ea.useState)(null),T=(0,Ea.useRef)(null),D=(0,Ea.useRef)(null),f=(0,Ea.useRef)(null),u=Si[r],v=n.range?qa.ranges[n.range]:null,w=Hn/p,S=jn/p,R=(Hn-w)/2,z=(jn-S)/2,A=Math.max(-Hn,Math.min(Hn*2-w,R+h.x)),Q=Math.max(-jn,Math.min(jn*2-S,z+h.y)),K=n.boundaryPoints.reduce((g,M)=>({x:g.x+M.x/Math.max(1,n.boundaryPoints.length),y:g.y+M.y/Math.max(1,n.boundaryPoints.length)}),{x:0,y:0}),fe=g=>{let M=new Set,N=[];return g.forEach(Y=>{let[Z,k]=Y.split(",").map(Number),L=[{key:`H,${Z},${k}`,type:"H",x:Z,y:k},{key:`H,${Z},${k+1}`,type:"H",x:Z,y:k+1},{key:`V,${Z},${k}`,type:"V",x:Z,y:k},{key:`V,${Z+1},${k}`,type:"V",x:Z+1,y:k}],P=[!g.has(`${Z},${k-1}`),!g.has(`${Z},${k+1}`),!g.has(`${Z-1},${k}`),!g.has(`${Z+1},${k}`)];L.forEach((pe,xe)=>{P[xe]&&!M.has(pe.key)&&(M.add(pe.key),N.push(pe))})}),N},Ue=(g,M)=>fe(g).filter(N=>!M.has(N.key)),Be=(g,M)=>Ue(g,M).length,Ye=(g,M)=>{let N={};Ue(g,M).forEach(Z=>{var k,L,P,pe;Z.type==="H"?((N[k=`${Z.x},${Z.y}`]||(N[k]=[])).push("H"),(N[L=`${Z.x+1},${Z.y}`]||(N[L]=[])).push("H")):((N[P=`${Z.x},${Z.y}`]||(N[P]=[])).push("V"),(N[pe=`${Z.x},${Z.y+1}`]||(N[pe]=[])).push("V"))});let Y=0;return Object.values(N).forEach(Z=>{(Z.length===1||Z.length===2&&Z[0]!==Z[1]||Z.length>=3)&&(Y+=1)}),Y},we=(()=>{let g=n.range?qa.ranges[n.range]:qa.ranges.boundary,M=n.height??"1.8",N=n.boundaryMode==="quick"?Math.max(0,Number.parseFloat(n.quickLengthM)||0):n.boundaryClosed?n.boundaryPoints.slice(0,-1).reduce((Yt,br,kt)=>Yt+(n.excludedBoundaryEdges.has(kt)?0:Math.hypot(n.boundaryPoints[kt+1].x-br.x,n.boundaryPoints[kt+1].y-br.y)),0):0,Y=n.gateType&&n.gateType!=="none"?Number.parseFloat(n.gateWidthM)||qa.gate[n.gateType].widthDefault:0,Z=Math.max(0,N-Y),k=Z>0?Math.ceil(Z/g.panelWidthM):0,L=n.boundaryPoints.length>2&&n.boundaryPoints[0].x===n.boundaryPoints[n.boundaryPoints.length-1].x&&n.boundaryPoints[0].y===n.boundaryPoints[n.boundaryPoints.length-1].y,P=n.boundaryMode==="quick"?Z>0?2:0:n.boundaryClosed?n.boundaryPoints.slice(0,L?-1:void 0).reduce((Yt,br,kt)=>{let qi=kt>0&&!n.excludedBoundaryEdges.has(kt-1),tm=kt<n.boundaryPoints.length-1&&!n.excludedBoundaryEdges.has(kt);return Yt+(qi||tm?1:0)},0):0,pe=Z>0?Math.ceil(Z/g.panelWidthM)+1:0,xe=Math.max(0,pe-P),xt=n.mountingType?qa.mounting[n.mountingType]:qa.mounting.concrete,it=n.gateType&&n.gateType!=="none"?2:0,Et=xe+P+it,em=n.mountingType==="postcrete"?Et*qa.mounting.postcrete.bagsPerPost:0,Ir=n.gravelBoard==="yes"?k:0;return{range:g,height:M,totalEdgeM:N,fencedLengthM:Z,gateWidthM:Y,panelsCount:k,cornerPostCount:P,intermediatePostCount:xe,gatePostCount:it,totalPostCount:Et,bagsCount:em,gravelCount:Ir,capCount:Et,mounting:xt}})(),oe=n.gateType&&n.gateType!=="none"?qa.gate[n.gateType].label:null,se=Number(we.height)<=1.2?"6":"8",ye=we?[{key:`panels-${n.range??"boundary"}-${we.height}`,label:`${we.range.label} panels (${we.height}m)`,qty:we.panelsCount,unit:"each",query:"fence panel",category:"fencing"},...n.mountingType==="concrete"?[{key:`concrete-intermediate-${se}`,label:"Intermediate concrete posts",qty:we.intermediatePostCount,unit:"each",query:"concrete fence post",category:"fencing"},{key:`concrete-end-${se}`,label:"End and corner concrete posts",qty:we.cornerPostCount+we.gatePostCount,unit:"each",query:"concrete end post",category:"fencing"}]:[{key:`timber-post-${se}`,label:"Timber fence posts",qty:we.totalPostCount,unit:"each",query:"timber fence post",category:"fencing"},{key:"postcrete",label:"Postcrete",qty:we.bagsCount,unit:"bag",query:"postcrete",category:"cement"}],...oe?[{key:"gate",label:oe,qty:1,unit:"each",query:"lap gate",category:"fencing"}]:[],...we.gravelCount>0?[{key:"gravel-boards",label:"Concrete gravel boards",qty:we.gravelCount,unit:"each",query:"gravel board",category:"fencing"}]:[]]:[],vt=()=>{if(u==="range"){let g=n.boundaryMode==="quick"?(Number.parseFloat(n.quickLengthM)||0)>0:n.boundaryClosed&&n.boundaryPoints.length>=2;return!!n.range&&g}return u==="height"?!!n.height&&!!n.gravelBoard:u==="gate"?!!n.gateType&&(n.gateType==="none"||n.gateWidthM.trim()!==""):u==="posts"?!!n.mountingType:!0},Ee=r===Si.length-1?a:"Next",$=g=>{o(M=>{let N=g(new Set(M.grid)),Y=new Set([...M.excludedEdges].filter(Z=>fe(N).some(k=>k.key===Z)));return{...M,grid:N,excludedEdges:Y}})},ue=(g,M,N)=>{$(Y=>{let Z=`${g},${M}`;return N?Y.add(Z):Y.delete(Z),Y})},Ze=(g,M,N,Y,Z)=>{let k=g,L=M,P=Math.abs(N-g),pe=g<N?1:-1,xe=-Math.abs(Y-M),xt=M<Y?1:-1,it=P+xe;for(;ue(k,L,Z),!(k===N&&L===Y);){let Et=2*it;Et>=xe&&(it+=xe,k+=pe),Et<=P&&(it+=P,L+=xt)}},pt=(g,M)=>{let N=c.current?.getBoundingClientRect();if(!N)return null;let Y=Math.floor((g-N.left)/qw),Z=Math.floor((M-N.top)/qw);return Y<0||Z<0||Y>=Cw||Z>=Cw?null:{x:Y,y:Z}},wt=g=>{if(n.gridMode!=="draw")return;let M=pt(g.clientX,g.clientY);if(!M)return;g.preventDefault();let N=`${M.x},${M.y}`,Y=!n.grid.has(N);l.current={active:!0,paintValue:Y,lastX:M.x,lastY:M.y},g.currentTarget.setPointerCapture(g.pointerId),ue(M.x,M.y,Y)},He=g=>{let M=l.current;if(!M?.active)return;let N=pt(g.clientX,g.clientY);N&&(N.x===M.lastX&&N.y===M.lastY||(Ze(M.lastX,M.lastY,N.x,N.y,M.paintValue),l.current={...M,lastX:N.x,lastY:N.y}))},de=g=>{l.current?.active&&(l.current=null,g.currentTarget.releasePointerCapture(g.pointerId))},_e=(g,M,N=!1)=>{let Y=f.current?.getBoundingClientRect();if(!Y)return null;let Z=N?1:.25;return{x:Math.round(Math.max(A,Math.min(A+w,A+(g-Y.left)/Y.width*w))/Z)*Z,y:Math.round(Math.max(Q,Math.min(Q+S,Q+(M-Y.top)/Y.height*S))/Z)*Z}},Se=g=>{if(n.boundaryClosed){let N=g.target;if(N!==g.currentTarget&&!N.classList.contains("fence-boundary__grid"))return;D.current={startX:g.clientX,startY:g.clientY,startViewX:A,startViewY:Q},g.currentTarget.setPointerCapture(g.pointerId);return}let M=_e(g.clientX,g.clientY,!0);M&&(y(null),o(N=>{let Y=[...N.boundaryPoints,M];return cc(Y,!1)?{...N}:{...N,boundaryPoints:Y}}))},E=(g,M)=>{if(g.stopPropagation(),!n.boundaryClosed){if(M!==0||n.boundaryPoints.length<3)return;o(N=>cc(N.boundaryPoints,!0)?N:{...N,boundaryPoints:[...N.boundaryPoints,N.boundaryPoints[0]],boundaryClosed:!0});return}T.current=M,g.currentTarget.setPointerCapture(g.pointerId)},O=g=>{if(D.current){let N=f.current?.getBoundingClientRect();if(!N)return;let Y=D.current,Z=Y.startViewX-(g.clientX-Y.startX)/N.width*w,k=Y.startViewY-(g.clientY-Y.startY)/N.height*S;m({x:Z-R,y:k-z});return}if(n.boundaryClosed||y(_e(g.clientX,g.clientY,!0)),T.current===null)return;let M=_e(g.clientX,g.clientY);M&&o(N=>{let Y=N.boundaryPoints.length>2&&N.boundaryPoints[0].x===N.boundaryPoints[N.boundaryPoints.length-1].x&&N.boundaryPoints[0].y===N.boundaryPoints[N.boundaryPoints.length-1].y,Z=N.boundaryPoints.map((k,L)=>{let P=L===T.current,pe=Y&&T.current===0&&L===N.boundaryPoints.length-1;return P||pe?M:k});return cc(Z,!1)?N:{...N,boundaryPoints:Z}})},re=g=>{D.current=null,T.current=null,g.currentTarget.hasPointerCapture(g.pointerId)&&g.currentTarget.releasePointerCapture(g.pointerId)},ce=g=>{o(M=>{let N=new Set(M.excludedBoundaryEdges);return N.has(g)?N.delete(g):N.add(g),{...M,excludedBoundaryEdges:N}})},he=()=>{r===0?e():i(g=>g-1)},Ae=()=>{vt()&&(r===Si.length-1?t?.(ye):i(g=>g+1))},Pe=fe(n.grid);return(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)("div",{className:"truss-estimator",children:[(0,j.jsxs)("div",{className:"quick-order-hero",children:[(0,j.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,j.jsx)("h1",{children:"Fencing Calculator"}),(0,j.jsx)("p",{children:"Estimate panels, posts and cost for your fence line in a few steps."})]}),(0,j.jsxs)("div",{className:"truss-estimator__card",children:[(0,j.jsxs)("div",{className:"truss-estimator__body",children:[u==="range"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your fence panels"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"The calculator uses fixed, orderable timber panels from the catalogue."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(qa.ranges).map(([g,M])=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.range===g?" is-selected":""}`,onClick:()=>o(N=>({...N,range:g})),children:[(0,j.jsx)("div",{className:"truss-estimator__option-title",children:M.label}),(0,j.jsx)("div",{className:"truss-estimator__option-copy",children:M.blurb})]},g))})]}):null,u==="range"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("div",{className:"truss-estimator__section-heading",children:"Measure your fence line"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Use a quick total, or draw the boundary to mark existing edges that do not need new fencing."}),(0,j.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,j.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.boundaryMode==="quick"?" is-selected":""}`,onClick:()=>o(g=>({...g,boundaryMode:"quick"})),children:"Quick estimate"}),(0,j.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.boundaryMode==="draw"?" is-selected":""}`,onClick:()=>o(g=>({...g,boundaryMode:"draw"})),children:"Draw your boundary"})]}),n.boundaryMode==="quick"?(0,j.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact fence-boundary__quick-field",children:[(0,j.jsx)("span",{children:"Total fence length (m)"}),(0,j.jsx)("input",{type:"number",min:"0",step:"0.1",value:n.quickLengthM,onChange:g=>o(M=>({...M,quickLengthM:g.target.value}))})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("div",{className:"fence-boundary__toolbar",children:(0,j.jsxs)("div",{className:"fence-boundary__actions",children:[(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(g=>({...g,boundaryPoints:g.boundaryPoints.slice(0,-1),boundaryClosed:!1,excludedBoundaryEdges:new Set})),disabled:n.boundaryPoints.length===0||n.boundaryClosed,children:"Undo"}),(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{m({x:0,y:0}),y(null),o(g=>({...g,boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set}))},disabled:n.boundaryPoints.length===0,children:"Clear"}),(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(g=>({...g,boundaryPoints:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5},{x:2,y:2}],boundaryClosed:!0,excludedBoundaryEdges:new Set})),children:"Start with rectangle"})]})}),(0,j.jsxs)("div",{className:"fence-boundary",children:[(0,j.jsxs)("svg",{ref:f,className:`fence-boundary__canvas${n.boundaryClosed?" is-pan-mode":""}`,viewBox:`${A} ${Q} ${w} ${S}`,preserveAspectRatio:"none","aria-label":"Fence boundary drawing area",onPointerDown:Se,onPointerMove:O,onPointerUp:re,onPointerLeave:()=>{y(null),D.current||(T.current=null)},children:[(0,j.jsx)("defs",{children:(0,j.jsx)("pattern",{id:"fence-boundary-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,j.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,j.jsx)("rect",{x:-Hn,y:-jn,width:Hn*3,height:jn*3,className:"fence-boundary__grid",fill:"url(#fence-boundary-grid)"}),n.boundaryPoints.length>1?(0,j.jsx)("polyline",{className:"fence-boundary__preview",points:n.boundaryPoints.map(g=>`${g.x},${g.y}`).join(" ")}):null,n.boundaryPoints.length>1?n.boundaryPoints.slice(0,-1).map((g,M)=>{let N=n.boundaryPoints[M+1],Y=Math.hypot(N.x-g.x,N.y-g.y),Z=Y?-(N.y-g.y)/Y:0,k=Y?(N.x-g.x)/Y:0,L=(g.x+N.x)/2,P=(g.y+N.y)/2,pe=Z*(L-K.x)+k*(P-K.y)>=0?1:-1,xe=L+Z*Ew*pe,xt=P+k*Ew*pe;return(0,j.jsxs)("g",{children:[(0,j.jsx)("line",{className:"fence-boundary__edge-hit",x1:g.x,y1:g.y,x2:N.x,y2:N.y,onClick:n.boundaryClosed?()=>ce(M):void 0}),(0,j.jsx)("line",{className:`fence-boundary__edge${n.excludedBoundaryEdges.has(M)?" is-excluded":""}`,x1:g.x,y1:g.y,x2:N.x,y2:N.y,pointerEvents:"none"}),(0,j.jsxs)("text",{className:`fence-boundary__edge-label${n.excludedBoundaryEdges.has(M)?" is-excluded":""}`,x:xe,y:xt,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[Y.toFixed(2)," m"]})]},`fence-edge-${M}`)}):null,!n.boundaryClosed&&n.boundaryPoints.length>0&&b?(()=>{let g=n.boundaryPoints[n.boundaryPoints.length-1],M=Math.hypot(b.x-g.x,b.y-g.y);if(!M)return null;let N=-(b.y-g.y)/M,Y=(b.x-g.x)/M,Z=(g.x+b.x)/2,k=(g.y+b.y)/2;return(0,j.jsxs)("g",{className:"fence-boundary__live-measurement",children:[(0,j.jsx)("line",{x1:g.x,y1:g.y,x2:b.x,y2:b.y}),(0,j.jsxs)("text",{x:Z+N*.34,y:k+Y*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[M.toFixed(2)," m"]})]})})():null,n.boundaryPoints.map((g,M)=>M>0&&M===n.boundaryPoints.length-1&&g.x===n.boundaryPoints[0]?.x&&g.y===n.boundaryPoints[0]?.y?null:(0,j.jsx)("circle",{className:`fence-boundary__point${!n.boundaryClosed&&M===0&&n.boundaryPoints.length>=3?" is-close-target":""}`,cx:g.x,cy:g.y,r:"0.13",onPointerDown:N=>E(N,M)},`fence-point-${M}`))]}),(0,j.jsxs)("div",{className:"fence-boundary__zoom","aria-label":"Zoom controls",children:[(0,j.jsx)("button",{type:"button",onClick:()=>d(g=>Math.max(.5,g-.25)),disabled:p===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,j.jsxs)("span",{children:[Math.round(p*100),"%"]}),(0,j.jsx)("button",{type:"button",onClick:()=>d(g=>Math.min(1,g+.25)),disabled:p===1,"aria-label":"Zoom in",children:"+"})]}),!n.boundaryClosed&&n.boundaryPoints.length>=2?(0,j.jsx)("button",{type:"button",className:"fence-boundary__close",onClick:()=>o(g=>cc(g.boundaryPoints,!1)?g:{...g,boundaryClosed:!0}),children:"Finish fence line"}):null]}),(0,j.jsx)("div",{className:"truss-estimator__grid-hint",children:n.boundaryClosed?"Drag the blank canvas to pan. Tap an edge to exclude it from the new fence.":"Click to add points, then finish the fence line. The displayed distances update as you draw."})]}),(0,j.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,j.jsx)("div",{children:n.boundaryMode==="quick"?`${(Number.parseFloat(n.quickLengthM)||0).toFixed(2)} m fence line`:`${we.totalEdgeM.toFixed(2)} m fence line`}),n.boundaryMode==="draw"&&n.boundaryClosed?(0,j.jsxs)("div",{children:[we.cornerPostCount," corner/end posts"]}):null]})]}):null,null,u==="height"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Fence height"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Select the nearest available panel height."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:qa.heights.map(g=>(0,j.jsx)("button",{type:"button",className:`truss-estimator__visual-card${n.height===g?" is-selected":""}`,onClick:()=>o(M=>({...M,height:g})),children:(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--tall",src:It(`/fencing/height/${g}.webp`),alt:""})},g))}),(0,j.jsx)("div",{className:"truss-estimator__section-heading",children:"Gravel board?"}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No gravel board",img:"/fencing/no-gravel-board.webp"},{id:"yes",label:"Add gravel board",img:"/fencing/gravel-board.webp"}].map(g=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.gravelBoard===g.id?" is-selected":""}`,onClick:()=>o(M=>({...M,gravelBoard:g.id})),children:[(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:It(g.img),alt:""}),(0,j.jsx)("span",{children:g.label})]},g.id))})]}):null,u==="gate"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Do you need a gate?"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"A gate opening replaces part of the panel run and adds a gate kit with heavy-duty posts."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"none",label:"No gate",img:"/fencing/gates/no-gate.webp"},{id:"single",label:"Single gate",img:"/fencing/gates/single-gate.webp"}].map(g=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${n.gateType===g.id?" is-selected":""}`,onClick:()=>o(M=>({...M,gateType:g.id,gateWidthM:g.id==="none"?"":String(qa.gate[g.id].widthDefault)})),children:[(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:It(g.img),alt:""}),(0,j.jsx)("span",{children:g.label})]},g.id))}),n.gateType&&n.gateType!=="none"?(0,j.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,j.jsx)("span",{children:"Gate width (m)"}),(0,j.jsx)("input",{type:"text",inputMode:"decimal",value:n.gateWidthM,onChange:g=>o(M=>({...M,gateWidthM:g.target.value}))})]}):null]}):null,u==="posts"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Posts and fixing type"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose how the posts will be set."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(qa.mounting).map(([g,M])=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.mountingType===g?" is-selected":""}`,onClick:()=>o(N=>({...N,mountingType:g})),children:[(0,j.jsx)("div",{className:"truss-estimator__option-title",children:M.label}),(0,j.jsx)("div",{className:"truss-estimator__option-copy",children:M.blurb})]},g))})]}):null]}),(0,j.jsxs)("div",{className:"truss-estimator__nav",children:[(0,j.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:he,children:"Back"}),(0,j.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:Ae,disabled:!vt(),children:[(0,j.jsx)("span",{children:Ee}),(0,j.jsx)("span",{className:"arrow",children:(0,j.jsx)(Qt,{})})]})]})]})]})})}var uc=G(Xe()),ve=G(ee()),Mw={floor:{label:"Floor",product:"Knauf Acoustic Roll",thickness:"100mm",coverage:12.36,salesUnit:"roll"},wall:{label:"Cavity wall",product:"Celotex CW4100",thickness:"100mm",coverage:3.24,salesUnit:"pack"},roof:{label:"Pitched roof",product:"Kingspan K107",thickness:"100mm",coverage:8.64,salesUnit:"pack",byArea:!0},loft:{label:"Loft",product:"Knauf Loft Roll 44",thickness:"100mm",coverage:13.89,salesUnit:"roll",byArea:!0}};function Ld({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,uc.useState)("floor"),[n,o]=(0,uc.useState)(""),[l,c]=(0,uc.useState)(""),p=Number.parseFloat(n)*Number.parseFloat(l)||0,d=Mw[r],h=Math.ceil(p/d.coverage),m=[{key:`insulation-${r}`,label:`${d.product} ${d.thickness}`,qty:d.byArea?Math.round(p*100)/100:h,unit:d.byArea?"m2":d.salesUnit,query:d.product,category:"insulation"}],b=Object.entries(Mw);return(0,ve.jsx)(ve.Fragment,{children:(0,ve.jsxs)("div",{className:"truss-estimator",children:[(0,ve.jsxs)("div",{className:"quick-order-hero",children:[(0,ve.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ve.jsx)("h1",{children:"Insulation Calculator"}),(0,ve.jsx)("p",{children:"Estimate insulation coverage and pack quantities for floors, walls, roofs and lofts."})]}),(0,ve.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ve.jsx)("h2",{className:"truss-estimator__step-title",children:"Where and what you are insulating"}),(0,ve.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the application and product, and enter the area, for coverage and pack quantities."}),(0,ve.jsxs)("div",{className:"materials-calculator__section",children:[(0,ve.jsx)("div",{className:"truss-estimator__section-heading",children:"Application"}),(0,ve.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:b.map(([y,T])=>(0,ve.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===y?" is-selected":""}`,onClick:()=>i(y),children:[(0,ve.jsx)("div",{className:"truss-estimator__option-title",children:T.label}),(0,ve.jsxs)("div",{className:"truss-estimator__option-copy",children:[T.product,", ",T.thickness]})]},y))})]}),(0,ve.jsxs)("div",{className:"materials-calculator__section",children:[(0,ve.jsx)("div",{className:"truss-estimator__section-heading",children:"Area"}),(0,ve.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ve.jsxs)("label",{className:"truss-estimator__field",children:[(0,ve.jsx)("span",{children:"Length (m)"}),(0,ve.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:y=>o(y.target.value)})]}),(0,ve.jsxs)("label",{className:"truss-estimator__field",children:[(0,ve.jsx)("span",{children:"Width (m)"}),(0,ve.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:y=>c(y.target.value)})]})]})]}),(0,ve.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ve.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ve.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ve.jsxs)("div",{children:[(0,ve.jsx)("span",{children:"Insulated area"}),(0,ve.jsxs)("strong",{children:[p.toFixed(2)," m\xB2"]})]}),(0,ve.jsxs)("div",{children:[(0,ve.jsx)("span",{children:d.product}),(0,ve.jsxs)("strong",{children:[h," packs"]})]})]}),(0,ve.jsx)("p",{className:"materials-calculator__note",children:"This is a simple product choice, not thermal or Building Regulations advice. Confirm the specification before ordering."})]}),(0,ve.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ve.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ve.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(m),disabled:p<=0,children:a})]})]})]})})}var Qn=G(Xe()),V=G(ee()),J_=10,I_=1.9*.762,F_=1.9*1.524,pc=()=>({height:"",width:""}),dc=e=>Number.parseFloat(e)||0,Tw=({height:e,width:t})=>dc(e)*dc(t);function Hd({onBack:e}){let[t,a]=(0,Qn.useState)([pc()]),[r,i]=(0,Qn.useState)([pc()]),[n,o]=(0,Qn.useState)("0"),[l,c]=(0,Qn.useState)("0"),[p,d]=(0,Qn.useState)(1),h=t.reduce((f,u)=>f+Tw(u),0),m=r.reduce((f,u)=>f+Tw(u),0),b=dc(n)*I_+dc(l)*F_,y=Math.max(0,h-m-b),T=y*p/J_,D=(f,u,v,w)=>{f(S=>S.map((R,z)=>z===u?{...R,[v]:w}:R))};return(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)("div",{className:"truss-estimator",children:[(0,V.jsxs)("div",{className:"quick-order-hero",children:[(0,V.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,V.jsx)("h1",{children:"Paint Calculator"}),(0,V.jsx)("p",{children:"Estimate how much paint you need for your walls, including multiple coats and excluded areas."})]}),(0,V.jsxs)("div",{className:"truss-estimator__card paint-calculator",children:[(0,V.jsx)("h2",{className:"truss-estimator__step-title",children:"Walls, exclusions and coats"}),(0,V.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each wall, subtract windows and doors, and choose your number of coats. Quantities assume a coverage of 10 m\xB2 per litre."}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Enter the height and width of each wall you want to paint."}),(0,V.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,V.jsx)("span",{}),(0,V.jsx)("span",{children:"Height (m)"}),(0,V.jsx)("span",{children:"Width (m)"}),(0,V.jsx)("span",{})]}),t.map((f,u)=>(0,V.jsxs)("div",{className:"paint-calculator__row",children:[(0,V.jsxs)("span",{className:"paint-calculator__row-label",children:["Wall ",u+1]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,V.jsx)("input",{"aria-label":`Wall ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:f.height,onChange:v=>D(a,u,"height",v.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,V.jsx)("input",{"aria-label":`Wall ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:f.width,onChange:v=>D(a,u,"width",v.target.value)})]}),t.length>1?(0,V.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>a(v=>v.filter((w,S)=>S!==u)),children:"Remove"}):null]},`wall-${u}`)),(0,V.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>a(f=>[...f,pc()]),children:"+ Add another wall"})]}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Areas to exclude"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Add windows, sockets, skirting boards or other areas that will not be painted."}),(0,V.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,V.jsx)("span",{}),(0,V.jsx)("span",{children:"Height (m)"}),(0,V.jsx)("span",{children:"Width (m)"}),(0,V.jsx)("span",{})]}),r.map((f,u)=>(0,V.jsxs)("div",{className:"paint-calculator__row",children:[(0,V.jsxs)("span",{className:"paint-calculator__row-label",children:["Area ",u+1]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,V.jsx)("input",{"aria-label":`Area ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:f.height,onChange:v=>D(i,u,"height",v.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,V.jsx)("input",{"aria-label":`Area ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:f.width,onChange:v=>D(i,u,"width",v.target.value)})]}),r.length>1?(0,V.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>i(v=>v.filter((w,S)=>S!==u)),children:"Remove"}):null]},`excluded-${u}`)),(0,V.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>i(f=>[...f,pc()]),children:"+ Add another area"})]}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Doors and coats"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Enter the number of standard single and double doors to leave unpainted. Door sizes are estimated automatically."}),(0,V.jsxs)("div",{className:"truss-estimator__field-grid paint-calculator__small-fields",children:[(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Doors"}),(0,V.jsx)("input",{type:"number",min:"0",step:"1",value:n,onChange:f=>o(f.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Double doors"}),(0,V.jsx)("input",{type:"number",min:"0",step:"1",value:l,onChange:f=>c(f.target.value)})]})]}),(0,V.jsxs)("div",{className:"paint-calculator__coat-field",children:[(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Most walls need 2 coats for an even finish. Use 3 coats when changing colour significantly or covering a darker wall."}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Number of coats"}),(0,V.jsxs)("select",{value:p,onChange:f=>d(Number(f.target.value)),children:[(0,V.jsx)("option",{value:"1",children:"1 coat"}),(0,V.jsx)("option",{value:"2",children:"2 coats"}),(0,V.jsx)("option",{value:"3",children:"3 coats"})]})]})]})]}),(0,V.jsxs)("div",{className:"paint-calculator__totals",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,V.jsxs)("div",{className:"paint-calculator__result-grid",children:[(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Paintable area"}),(0,V.jsxs)("strong",{children:[y.toFixed(2)," m\xB2"]})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Coverage"}),(0,V.jsxs)("strong",{children:[p," ",p===1?"coat":"coats"]})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Paint required"}),(0,V.jsxs)("strong",{children:[T.toFixed(1)," litres"]})]})]}),(0,V.jsx)("p",{className:"paint-calculator__note",children:"Based on paint coverage of 10 m\xB2 per litre. Decorative paint is not currently stocked in this catalogue, so this remains an estimate only."})]}),(0,V.jsxs)("div",{className:"paint-calculator__actions",children:[(0,V.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,V.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",disabled:!0,children:"Paint products unavailable"})]})]})]})})}var hr=G(Xe()),te=G(ee()),mc=e=>Number.parseFloat(e)||0,jd={paving:[{id:"council",label:"Council paving slab (600 \xD7 600mm)"},{id:"raj",label:"Raj blend sandstone (600 \xD7 600mm)"}],block:[{id:"brindle",label:"Brindle block paving (60mm)"},{id:"charcoal",label:"Charcoal block paving (60mm)"}],gravel:[{id:"pea",label:"20mm pea shingle"}]};function Qd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,hr.useState)("paving"),[n,o]=(0,hr.useState)("council"),[l,c]=(0,hr.useState)(""),[p,d]=(0,hr.useState)(""),[h,m]=(0,hr.useState)("100"),[b,y]=(0,hr.useState)("50"),[T,D]=(0,hr.useState)(!0),[f,u]=(0,hr.useState)(!0),v=mc(l)*mc(p),w=v,S=v*(mc(h)/1e3),R=v*.04,z=v*(mc(b)/1e3),A=Math.ceil(w/.36),Q=Math.ceil(w/.1),K=Math.ceil(S*1700/800),fe=Math.ceil(R*1600/800),Ue=Math.ceil(z*1600/800),Be=r==="paving"?{qty:A,unit:"each"}:r==="block"?{qty:w,unit:"m2"}:{qty:Ue,unit:"bag"},Ye={paving:"paving slab",block:"block paver",gravel:"decorative gravel"}[r],Ne=[{key:`surface-${n}`,label:jd[r].find(oe=>oe.id===n)?.label??"Surface material",qty:Be.qty,unit:Be.unit,query:Ye,category:"landscaping"},...T?[{key:"sub-base",label:"MOT Type 1 sub-base",qty:K,unit:"bag",query:"MOT Type 1 sub base",category:"aggregate"}]:[],...f?[{key:"bedding",label:"Sharp sand bedding",qty:fe,unit:"bag",query:"sharp sand",category:"aggregate"}]:[]];return(0,te.jsx)(te.Fragment,{children:(0,te.jsxs)("div",{className:"truss-estimator",children:[(0,te.jsxs)("div",{className:"quick-order-hero",children:[(0,te.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,te.jsx)("h1",{children:"Paving and Driveway Calculator"}),(0,te.jsx)("p",{children:"Estimate paving, block paving, sub-base and bedding materials for outdoor areas."})]}),(0,te.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,te.jsx)("h2",{className:"truss-estimator__step-title",children:"Surface and ground build-up"}),(0,te.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the surface material and enter the area. Sub-base and bedding sand are estimated alongside the surface units."}),(0,te.jsxs)("div",{className:"materials-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Surface material"}),(0,te.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["paving","Paving slabs","For patios and paths"],["block","Block paving","For driveways and paths"],["gravel","Decorative gravel","For paths and landscaping"]].map(([oe,se,ye])=>(0,te.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===oe?" is-selected":""}`,onClick:()=>{i(oe),o(jd[oe][0].id)},children:[(0,te.jsx)("div",{className:"truss-estimator__option-title",children:se}),(0,te.jsx)("div",{className:"truss-estimator__option-copy",children:ye})]},oe))}),(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Finish"}),(0,te.jsx)("select",{value:n,onChange:oe=>o(oe.target.value),children:jd[r].map(oe=>(0,te.jsx)("option",{value:oe.id,children:oe.label},oe.id))})]})]}),(0,te.jsxs)("div",{className:"materials-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and groundwork"}),(0,te.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Length (m)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:oe=>c(oe.target.value)})]}),(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Width (m)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:oe=>d(oe.target.value)})]})]}),r==="gravel"&&(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Gravel depth (mm)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"10",value:b,onChange:oe=>y(oe.target.value)})]}),T&&(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Sub-base depth (mm)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"10",value:h,onChange:oe=>m(oe.target.value)})]}),(0,te.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,te.jsx)("input",{type:"checkbox",checked:T,onChange:oe=>D(oe.target.checked)}),(0,te.jsx)("span",{children:"Include MOT Type 1 sub-base"})]}),(0,te.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,te.jsx)("input",{type:"checkbox",checked:f,onChange:oe=>u(oe.target.checked)}),(0,te.jsx)("span",{children:"Include sharp sand bedding"})]})]}),(0,te.jsxs)("div",{className:"materials-calculator__totals",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,te.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Surface area"}),(0,te.jsxs)("strong",{children:[v.toFixed(2)," m\xB2"]})]}),(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:r==="paving"?"Paving slabs":r==="block"?"Block paving":"Gravel"}),(0,te.jsx)("strong",{children:r==="paving"?`${A} slabs`:r==="block"?`${w.toFixed(2)} m\xB2`:`${Ue} bulk bags`})]}),T&&(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"MOT Type 1"}),(0,te.jsxs)("strong",{children:[K," bulk bags"]})]}),f&&(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Sharp sand"}),(0,te.jsxs)("strong",{children:[fe," bulk bags"]})]})]}),(0,te.jsx)("p",{className:"materials-calculator__note",children:"Slab and block quantities use typical sizes. Confirm pack coverage and laying pattern before ordering."})]}),(0,te.jsxs)("div",{className:"materials-calculator__actions",children:[(0,te.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,te.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(Ne),disabled:v<=0,children:a})]})]})]})})}var ll=G(Xe()),ae=G(ee()),W_=2.88,zw=[{id:"standard",label:"Standard wallboard",blurb:"General internal walls and ceilings"},{id:"moisture",label:"Moisture resistant",blurb:"Kitchens, bathrooms and utility rooms"},{id:"fire",label:"Fire resistant",blurb:"Where fire-rated lining is required"},{id:"sound",label:"Sound resistant",blurb:"Improved acoustic performance"}],Aw=()=>({length:"",height:""}),Gd=e=>Number.parseFloat(e)||0;function Yd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,ll.useState)([Aw()]),[n,o]=(0,ll.useState)(""),[l,c]=(0,ll.useState)("standard"),[p,d]=(0,ll.useState)("screws"),h=r.reduce((R,z)=>R+Gd(z.length)*Gd(z.height),0),m=Math.max(0,h-Gd(n)),b=Math.ceil(m/W_),y=Math.ceil(m*12),T=Math.ceil(y/1e3),D=Math.ceil(m*1.2),f=Math.ceil(D/90),u=Math.ceil(m/3.5),v=zw.find(R=>R.id===l)?.label??"Standard",w=[{key:"board",label:`${v} plasterboard`,qty:b,unit:"sheet",query:`${v} plasterboard`,category:"plasterboard"},...p==="screws"?[{key:"screws",label:"Drywall screws",qty:T,unit:"box",query:"drywall screws",category:"fixings"}]:[{key:"adhesive",label:"Board adhesive",qty:u,unit:"bag",query:"drywall board adhesive",category:"plasterboard"}],{key:"tape",label:"Joint tape",qty:f,unit:"roll",query:"plasterboard joint tape",category:"plasterboard"}],S=(R,z,A)=>{i(Q=>Q.map((K,fe)=>fe===R?{...K,[z]:A}:K))};return(0,ae.jsx)(ae.Fragment,{children:(0,ae.jsxs)("div",{className:"truss-estimator",children:[(0,ae.jsxs)("div",{className:"quick-order-hero",children:[(0,ae.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ae.jsx)("h1",{children:"Plasterboard and Drylining Calculator"}),(0,ae.jsx)("p",{children:"Estimate boards, fixings and jointing materials for walls and ceilings."})]}),(0,ae.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ae.jsx)("h2",{className:"truss-estimator__step-title",children:"Boards, fixings and jointing"}),(0,ae.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the surfaces you are lining and the board specification. Screws, tape and adhesive are estimated with the boards."}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Board type"}),(0,ae.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:zw.map(R=>(0,ae.jsxs)("button",{type:"button",className:`truss-estimator__option-card${l===R.id?" is-selected":""}`,onClick:()=>c(R.id),children:[(0,ae.jsx)("div",{className:"truss-estimator__option-title",children:R.label}),(0,ae.jsx)("div",{className:"truss-estimator__option-copy",children:R.blurb})]},R.id))})]}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Fixing method"}),(0,ae.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["screws","Drywall screws","For timber or metal framing"],["adhesive","Board adhesive","For masonry dot-and-dab"]].map(([R,z,A])=>(0,ae.jsxs)("button",{type:"button",className:`truss-estimator__option-card${p===R?" is-selected":""}`,onClick:()=>d(R),children:[(0,ae.jsx)("div",{className:"truss-estimator__option-title",children:z}),(0,ae.jsx)("div",{className:"truss-estimator__option-copy",children:A})]},R))})]}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall and ceiling areas"}),(0,ae.jsx)("p",{className:"materials-calculator__hint",children:"Add each surface separately so different wall sizes are easy to measure."}),(0,ae.jsxs)("div",{className:"materials-calculator__dimensions-header",children:[(0,ae.jsx)("span",{children:"Surface"}),(0,ae.jsx)("span",{children:"Length (m)"}),(0,ae.jsx)("span",{children:"Height (m)"}),(0,ae.jsx)("span",{})]}),r.map((R,z)=>(0,ae.jsxs)("div",{className:"materials-calculator__surface-row",children:[(0,ae.jsxs)("span",{children:["Surface ",z+1]}),(0,ae.jsx)("input",{"aria-label":`Surface ${z+1} length`,type:"number",min:"0",step:"0.01",value:R.length,onChange:A=>S(z,"length",A.target.value)}),(0,ae.jsx)("input",{"aria-label":`Surface ${z+1} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:A=>S(z,"height",A.target.value)}),r.length>1?(0,ae.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>i(A=>A.filter((Q,K)=>K!==z)),children:"Remove"}):null]},`surface-${z}`)),(0,ae.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>i(R=>[...R,Aw()]),children:"+ Add another surface"}),(0,ae.jsxs)("label",{className:"truss-estimator__field materials-calculator__openings",children:[(0,ae.jsxs)("span",{children:["Openings to deduct (m\xB2) ",(0,ae.jsx)("small",{children:"optional"})]}),(0,ae.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:R=>o(R.target.value)})]})]}),(0,ae.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ae.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"Board area"}),(0,ae.jsxs)("strong",{children:[m.toFixed(2)," m\xB2"]})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"2.4 x 1.2 m boards"}),(0,ae.jsx)("strong",{children:b})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:p==="screws"?"Drywall screws":"Board adhesive"}),(0,ae.jsx)("strong",{children:p==="screws"?`${y} (${T} boxes)`:`${u} bags`})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"Joint tape"}),(0,ae.jsxs)("strong",{children:[D," m (",f," rolls)"]})]})]}),(0,ae.jsx)("p",{className:"materials-calculator__note",children:"Figures are estimates. Confirm board specification, fixing patterns and fire or acoustic requirements before ordering."})]}),(0,ae.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ae.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ae.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(w),disabled:m<=0,children:a})]})]})]})})}var sl=G(Xe());var _=G(ee()),Dt={ranges:{standard:{label:"Standard Fink",blurb:"Classic W-shaped truss for standard pitched roofs."},attic:{label:"Attic",blurb:"Room-in-roof truss with usable attic space and clear span."},mono:{label:"Mono-pitch",blurb:"Single-slope truss for lean-to roofs and outbuildings."}},pitches:["15","20","22.5","25","30","35","40","45","50","55"],pitchMultipliers:{15:.95,20:.98,"22.5":1,25:1.02,30:1.05,35:1.1,40:1.18,45:1.27,50:1.38,55:1.52},overhang:{thresholdMM:300,surchargePerTruss:3.5},centresOptions:["400","600"],treatment:{treated:{label:"Treated (tanalised)",surchargePct:.08},untreated:{label:"Untreated",surchargePct:0}},estimate:{design:250,delivery:250,bracingPerMetre:6.5,girderMultiplier:1.8,ranges:{standard:{supplyAt8m:53.33,installPerTruss:30},attic:{supplyAt8m:128.35,installPerTruss:55},mono:{supplyAt8m:60,installPerTruss:38}}}},fc=["range","pitchAndDimensions","quantityAndGirders","bracing"],ex={range:null,pitch:null,spanMM:"",overhangMM:"",roofLengthM:"",centres:null,girderCount:0,bracing:null,treatment:null,contact:{name:"",email:""}};function tx({degrees:e}){let a=e*Math.PI/180,i=82-Math.min(58,38*Math.tan(a));return(0,_.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,_.jsx)("line",{x1:"6",y1:"82",x2:"94",y2:"82",stroke:"var(--border)",strokeWidth:"2"}),(0,_.jsx)("polygon",{points:`12,82 88,82 50,${i}`,fill:"var(--accent-light)",stroke:"var(--accent)",strokeWidth:"3",strokeLinejoin:"round"})]})}function ax({type:e}){let t="#b3835a",a="#5c3b22",r="#d9b48f",i="#d3d8de",n="#7c8494",o=(d,h,m,b,y=8,T)=>{let D=m-d,f=b-h,u=Math.hypot(D,f)||1,v=-f/u,w=D/u,S=y*.2;return(0,_.jsxs)("g",{children:[(0,_.jsx)("line",{x1:d,y1:h,x2:m,y2:b,stroke:a,strokeWidth:y+3,strokeLinecap:"square"}),(0,_.jsx)("line",{x1:d,y1:h,x2:m,y2:b,stroke:t,strokeWidth:y,strokeLinecap:"square"}),(0,_.jsx)("line",{x1:d-v*S,y1:h-w*S,x2:m-v*S,y2:b-w*S,stroke:r,strokeWidth:Math.max(1.5,y*.24),strokeLinecap:"round",opacity:"0.9"})]},T)},l=(d,h,m)=>(0,_.jsxs)("g",{children:[(0,_.jsx)("rect",{x:d-7.5,y:h-5.5,width:"15",height:"11",rx:"2",fill:i,stroke:n,strokeWidth:"1"}),(0,_.jsx)("circle",{cx:d-4,cy:h-2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d+4,cy:h-2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d-4,cy:h+2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d+4,cy:h+2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d,cy:h,r:"1",fill:n})]},m),c=(d,h)=>(0,_.jsx)("rect",{x:d-9,y:"110",width:"18",height:"10",fill:a},h),p=(0,_.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"});return e==="attic"?(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,26,8,"b1"),o(174,112,100,26,8,"b2"),o(26,112,174,112,8,"b3"),o(58,112,58,70,6,"b4"),o(142,112,142,70,6,"b5"),o(58,70,142,70,7,"b6"),(0,_.jsx)("rect",{x:"90",y:"82",width:"20",height:"24",fill:"#cfe3f2",stroke:a,strokeWidth:"2"}),(0,_.jsx)("line",{x1:"100",y1:"82",x2:"100",y2:"106",stroke:a,strokeWidth:"1.5"}),l(26,112,"p1"),l(174,112,"p2"),l(100,26,"p3"),l(58,112,"p4"),l(58,70,"p5"),l(142,112,"p6"),l(142,70,"p7")]}):e==="mono"?(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,174,26,8,"b1"),o(174,26,174,112,8,"b2"),o(26,112,174,112,8,"b3"),o(90,112,90,75,5,"b4"),o(90,75,132,112,5,"b5"),l(26,112,"p1"),l(174,26,"p2"),l(174,112,"p3"),l(90,112,"p4"),l(90,75,"p5"),l(132,112,"p6")]}):(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,34,8,"b1"),o(174,112,100,34,8,"b2"),o(26,112,174,112,8,"b3"),o(63,112,100,34,5,"b4"),o(137,112,100,34,5,"b5"),o(63,112,54,83,5,"b6"),o(137,112,146,83,5,"b7"),(0,_.jsx)("rect",{x:"96",y:"108",width:"8",height:"8",fill:a}),l(26,112,"p1"),l(174,112,"p2"),l(100,34,"p3"),l(63,112,"p4"),l(137,112,"p5"),l(54,83,"p6"),l(146,83,"p7")]})}function rx({enabled:e}){return(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[(0,_.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"}),(0,_.jsx)("rect",{x:"17",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,_.jsx)("rect",{x:"165",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),e?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("line",{x1:"45",y1:"112",x2:"140",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"}),(0,_.jsx)("line",{x1:"155",y1:"112",x2:"60",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"})]}):null,(0,_.jsx)("rect",{x:"18.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,_.jsx)("rect",{x:"166.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,_.jsx)("rect",{x:"92.5",y:"28.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"})]})}function Rw({treated:e}){let t=e?"#5a7a4a":"var(--accent)";return(0,_.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,_.jsx)("rect",{x:"10",y:"22",width:"80",height:"14",rx:"2",fill:t}),(0,_.jsx)("rect",{x:"10",y:"43",width:"80",height:"14",rx:"2",fill:e?"#8faf7a":"var(--accent-light)"}),(0,_.jsx)("rect",{x:"10",y:"64",width:"80",height:"14",rx:"2",fill:t})]})}function Xd({onBack:e}){let[t,a]=(0,sl.useState)(0),[r,i]=(0,sl.useState)(ex),[n,o]=(0,sl.useState)(!1),[l,c]=(0,sl.useState)(!1),p=()=>{let f=Number.parseFloat(r.roofLengthM)||0,u=Number.parseFloat(r.centres??"");return f<=0||!u?0:Math.ceil(f*1e3/u)+1},h=(()=>{let f=r.range?Dt.ranges[r.range]:Dt.ranges.standard,u=r.pitch??"22.5",v=Dt.pitchMultipliers[u],w=(Number.parseFloat(r.spanMM)||0)/1e3,R=(Number.parseFloat(r.overhangMM)||0)>Dt.overhang.thresholdMM,z=p(),A=z+r.girderCount,Q=Number.parseFloat(r.roofLengthM)||0,K=r.treatment?Dt.treatment[r.treatment]:Dt.treatment.untreated,fe=Dt.estimate.ranges[r.range??"standard"],Ue=fe.supplyAt8m*Math.max(.7,w/8)*v*(1+K.surchargePct)+(R?Dt.overhang.surchargePerTruss:0),Be=z*Ue,Ye=r.girderCount*Ue*Dt.estimate.girderMultiplier,Ne=r.bracing==="yes"?Q*Dt.estimate.bracingPerMetre:0,we=Be+Ye+Ne+Dt.estimate.delivery,oe=Dt.estimate.design+z*fe.installPerTruss+r.girderCount*40,se=we+oe,ye=se*.2;return{range:f,count:z,girderCount:r.girderCount,overhangApplies:R,overhangUnits:A,roofLengthM:Q,treatment:K,trussSupply:Be,bracingMaterials:Ne,delivery:Dt.estimate.delivery,labour:oe,subtotal:se,vat:ye,total:se+ye}})(),m=()=>{let f=fc[t];return f==="range"?!!r.range:f==="pitchAndDimensions"?!!r.pitch&&r.spanMM.trim()!==""&&r.overhangMM.trim()!=="":f==="quantityAndGirders"?r.roofLengthM.trim()!==""&&!!r.centres:f==="bracing"?!!r.bracing&&!!r.treatment:!0},b=t===fc.length-1?"View truss request":"Next",y=()=>{n?o(!1):t===0?e():a(f=>f-1)},T=()=>{m()&&(t===fc.length-1?(c(!1),o(!0)):a(f=>f+1))},D=()=>{let f=fc[t];return f==="range"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 1 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your truss range"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Pricing shown is placeholder. Swap in your real engineering and pricing catalogue."}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--range",children:Object.entries(Dt.ranges).map(([u,v])=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r.range===u?" is-selected":""}`,onClick:()=>i(w=>({...w,range:u})),children:[(0,_.jsx)(ax,{type:u}),(0,_.jsxs)("div",{className:"truss-estimator__option-info",children:[(0,_.jsx)("div",{className:"truss-estimator__option-title",children:v.label}),(0,_.jsx)("div",{className:"truss-estimator__option-copy",children:v.blurb})]})]},u))})]}):f==="pitchAndDimensions"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 2 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Span, overhang and roof pitch"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Span is wall-to-wall, overhang is the eaves tail beyond the wall line. Steeper pitches use more timber per truss."}),(0,_.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,_.jsxs)("label",{className:"truss-estimator__field",children:[(0,_.jsx)("span",{children:"Span (mm)"}),(0,_.jsx)("input",{type:"text",inputMode:"numeric",value:r.spanMM,onChange:u=>i(v=>({...v,spanMM:u.target.value}))})]}),(0,_.jsxs)("label",{className:"truss-estimator__field",children:[(0,_.jsx)("span",{children:"Overhang (mm)"}),(0,_.jsx)("input",{type:"text",inputMode:"numeric",value:r.overhangMM,onChange:u=>i(v=>({...v,overhangMM:u.target.value}))}),(0,_.jsxs)("small",{children:["Overhangs beyond ",Dt.overhang.thresholdMM,"mm add a small surcharge per truss."]})]})]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Roof pitch"}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:Dt.pitches.map(u=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${r.pitch===u?" is-selected":""}`,onClick:()=>i(v=>({...v,pitch:u})),children:[(0,_.jsx)(tx,{degrees:Number.parseFloat(u)}),(0,_.jsxs)("span",{children:[u,"\xB0"]})]},u))})]}):f==="quantityAndGirders"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 3 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Roof length"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Trusses are based on designs at 400mm or 600mm centres wherever possible."}),(0,_.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,_.jsx)("span",{children:"Roof length (m)"}),(0,_.jsx)("input",{type:"text",inputMode:"decimal",value:r.roofLengthM,onChange:u=>i(v=>({...v,roofLengthM:u.target.value}))})]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Truss centres"}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--centres",children:Dt.centresOptions.map(u=>(0,_.jsx)("button",{type:"button",className:`truss-estimator__option-card truss-estimator__option-card--compact${r.centres===u?" is-selected":""}`,onClick:()=>i(v=>({...v,centres:u})),children:(0,_.jsxs)("div",{className:"truss-estimator__option-title",children:[u,"mm centres"]})},u))}),(0,_.jsxs)("div",{className:"truss-estimator__stat",children:[p()," trusses estimated"]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Girder trusses"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Heavy-duty girder trusses carry point loads over large openings. Set 0 if you do not need any."}),(0,_.jsxs)("div",{className:"truss-estimator__stepper",children:[(0,_.jsx)("button",{type:"button",onClick:()=>i(u=>({...u,girderCount:Math.max(0,u.girderCount-1)})),children:"\u2212"}),(0,_.jsx)("span",{children:r.girderCount}),(0,_.jsx)("button",{type:"button",onClick:()=>i(u=>({...u,girderCount:Math.min(3,u.girderCount+1)})),children:"+"})]})]}):f==="bracing"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 4 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Bracing pack?"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"A timber bracing pack stabilises the roof structure once trusses are erected."}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No bracing pack"},{id:"yes",label:"Add bracing pack"}].map(u=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.bracing===u.id?" is-selected":""}`,onClick:()=>i(v=>({...v,bracing:u.id})),children:[(0,_.jsx)(rx,{enabled:u.id==="yes"}),(0,_.jsx)("span",{children:u.label})]},u.id))}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber treatment"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Tanalised timber protects against rot in exposed or damp locations."}),(0,_.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="untreated"?" is-selected":""}`,onClick:()=>i(u=>({...u,treatment:"untreated"})),children:[(0,_.jsx)(Rw,{treated:!1}),(0,_.jsx)("span",{children:"Untreated"})]}),(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="treated"?" is-selected":""}`,onClick:()=>i(u=>({...u,treatment:"treated"})),children:[(0,_.jsx)(Rw,{treated:!0}),(0,_.jsx)("span",{children:"Treated (+8% cost)"}),(0,_.jsx)("small",{children:"Applies to trusses, girders and overhang"})]})]})]}):null};return n?(0,_.jsx)(_.Fragment,{children:(0,_.jsxs)("div",{className:"truss-estimator",children:[(0,_.jsxs)("div",{className:"quick-order-hero",children:[(0,_.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,_.jsx)("h1",{children:"Your truss estimate"}),(0,_.jsx)("p",{children:"A provisional quantity and specification based on the dimensions you entered."})]}),(0,_.jsxs)("div",{className:"truss-estimator__card truss-request",style:{minHeight:0},children:[(0,_.jsxs)("div",{className:"truss-request__heading",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Estimated requirement"}),(0,_.jsxs)("h2",{children:[h.range.label," roof trusses"]})]}),(0,_.jsxs)("strong",{children:[h.count,(0,_.jsx)("span",{children:"trusses"})]})]}),(0,_.jsxs)("div",{className:"truss-request__grid",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Span"}),(0,_.jsxs)("strong",{children:[r.spanMM," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Roof length"}),(0,_.jsxs)("strong",{children:[r.roofLengthM," m"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Pitch"}),(0,_.jsxs)("strong",{children:[r.pitch,"\xB0"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Centres"}),(0,_.jsxs)("strong",{children:[r.centres," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Overhang"}),(0,_.jsxs)("strong",{children:[r.overhangMM," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Treatment"}),(0,_.jsx)("strong",{children:h.treatment.label})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Girder trusses"}),(0,_.jsx)("strong",{children:h.girderCount||"None"})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Bracing pack"}),(0,_.jsx)("strong",{children:r.bracing==="yes"?"Included":"Not included"})]})]}),(0,_.jsxs)("div",{className:"truss-request__price",children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Indicative cost estimate"}),(0,_.jsxs)("div",{className:"truss-request__price-grid",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Truss supply allowance"}),(0,_.jsx)("strong",{children:lt(h.trussSupply)})]}),h.bracingMaterials>0&&(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Bracing materials allowance"}),(0,_.jsx)("strong",{children:lt(h.bracingMaterials)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Delivery allowance"}),(0,_.jsx)("strong",{children:lt(h.delivery)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Design and installation labour"}),(0,_.jsx)("strong",{children:lt(h.labour)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Subtotal (ex. VAT)"}),(0,_.jsx)("strong",{children:lt(h.subtotal)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"VAT (20%)"}),(0,_.jsx)("strong",{children:lt(h.vat)})]}),(0,_.jsxs)("div",{className:"truss-request__price-total",children:[(0,_.jsx)("span",{children:"Estimated total"}),(0,_.jsx)("strong",{children:lt(h.total)})]})]}),(0,_.jsx)("p",{children:"Trusses are not listed as fixed products in this catalogue, so supply, delivery and labour are benchmark allowances. Confirm the engineered design and final quote before ordering."})]}),(0,_.jsxs)("div",{className:"truss-request__notice",children:[(0,_.jsx)("strong",{children:"Before ordering"}),(0,_.jsx)("span",{children:"Roof trusses must be designed and signed off for the building. Confirm loading, bearings, wind bracing and final drawings with the truss manufacturer."})]}),(0,_.jsxs)("div",{className:"truss-estimator__nav",children:[(0,_.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:y,children:"Back to calculator"}),(0,_.jsx)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",justifyContent:"center",marginTop:0},onClick:()=>c(!0),children:"Request order"})]}),l&&(0,_.jsx)("p",{className:"truss-request__demo",children:"Demo only \u2014 no order has been sent."})]})]})}):(0,_.jsx)(_.Fragment,{children:(0,_.jsxs)("div",{className:"truss-estimator",children:[(0,_.jsxs)("div",{className:"quick-order-hero",children:[(0,_.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,_.jsx)("h1",{children:"Roof Truss Calculator"}),(0,_.jsx)("p",{children:"Estimate trusses, girders and cost for your roof in a few steps."})]}),(0,_.jsxs)("div",{className:"truss-estimator__card",children:[(0,_.jsx)("div",{className:"truss-estimator__body",children:D()}),(0,_.jsxs)("div",{className:"truss-estimator__nav",children:[(0,_.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:y,children:"Back"}),(0,_.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:T,disabled:!m(),children:[(0,_.jsx)("span",{children:b}),(0,_.jsx)("span",{className:"arrow",children:(0,_.jsx)(Qt,{})})]})]})]})]})})}var Ci=G(Xe()),F=G(ee()),Ow=e=>Number.parseFloat(e)||0,gc=(e,t)=>Ow(e)*(t==="m"?1:.3048),Uw=()=>({length:"",width:""}),Dw=[{id:"chamfered",label:"Chamfered",blurb:"Clean angled edge"},{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"}];function ix({profile:e}){return(0,F.jsxs)("svg",{className:"skirting-calculator__profile-diagram",viewBox:"0 0 120 84","aria-hidden":"true",children:[(0,F.jsx)("path",{d:{chamfered:"M16 70V43L43 16H104V70Z",ogee:"M16 70V47C16 36 27 31 40 31C40 21 50 16 63 16H104V70Z","pencil-round":"M16 70V37C16 25 25 16 37 16H104V70Z",torus:"M16 70V49C16 39 25 34 36 34C36 22 47 16 61 16H104V70Z"}[e]}),(0,F.jsx)("line",{x1:"12",y1:"70",x2:"108",y2:"70"})]})}function Vd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ci.useState)("total"),[n,o]=(0,Ci.useState)("m"),[l,c]=(0,Ci.useState)(""),[p,d]=(0,Ci.useState)([Uw()]),[h,m]=(0,Ci.useState)(""),[b,y]=(0,Ci.useState)("chamfered"),T="4.4",D=r==="total"?gc(l,n):p.reduce((S,R)=>S+2*(gc(R.length,n)+gc(R.width,n)),0),f=Math.max(0,D-gc(h,n)),u=Math.ceil(f/Ow(T)),v=[{key:`skirting-${b}`,label:`${Dw.find(S=>S.id===b)?.label} skirting board`,qty:f,unit:"m",query:"skirting board",category:"skirting"}],w=(S,R,z)=>{d(A=>A.map((Q,K)=>K===S?{...Q,[R]:z}:Q))};return(0,F.jsx)(F.Fragment,{children:(0,F.jsxs)("div",{className:"truss-estimator",children:[(0,F.jsxs)("div",{className:"quick-order-hero",children:[(0,F.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,F.jsx)("h1",{children:"Skirting Board Calculator"}),(0,F.jsx)("p",{children:"Work out how many skirting board lengths you need for one room or a whole project."})]}),(0,F.jsxs)("div",{className:"truss-estimator__card skirting-calculator",children:[(0,F.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure by room or total length"}),(0,F.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter a single total or work room by room. The run is converted straight into board lengths."}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"How would you like to measure?"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle skirting-calculator__mode-toggle",role:"group","aria-label":"Calculation method",children:[(0,F.jsx)("button",{type:"button",className:r==="total"?"is-selected":"",onClick:()=>i("total"),children:"Total length"}),(0,F.jsx)("button",{type:"button",className:r==="rooms"?"is-selected":"",onClick:()=>i("rooms"),children:"Room by room"})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Measurements"}),(0,F.jsxs)("div",{className:"skirting-calculator__unit-row",children:[(0,F.jsx)("span",{children:"Units"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,F.jsx)("button",{type:"button",className:n==="m"?"is-selected":"",onClick:()=>o("m"),children:"Metres"}),(0,F.jsx)("button",{type:"button",className:n==="ft"?"is-selected":"",onClick:()=>o("ft"),children:"Feet"})]})]}),r==="total"?(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Total skirting length (",n,")"]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:S=>c(S.target.value)})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)("div",{className:"skirting-calculator__dimensions-header",children:[(0,F.jsx)("span",{children:"Room"}),(0,F.jsxs)("span",{children:["Length (",n,")"]}),(0,F.jsxs)("span",{children:["Width (",n,")"]}),(0,F.jsx)("span",{})]}),p.map((S,R)=>(0,F.jsxs)("div",{className:"skirting-calculator__room-row",children:[(0,F.jsxs)("span",{className:"skirting-calculator__room-label",children:["Room ",R+1]}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} length in ${n}`,type:"number",min:"0",step:"0.01",value:S.length,onChange:z=>w(R,"length",z.target.value)}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} width in ${n}`,type:"number",min:"0",step:"0.01",value:S.width,onChange:z=>w(R,"width",z.target.value)}),p.length>1?(0,F.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>d(z=>z.filter((A,Q)=>Q!==R)),children:"Remove"}):null]},`room-${R}`)),(0,F.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>d(S=>[...S,Uw()]),children:"+ Add another room"})]}),(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Openings and doorways to deduct (",n,") ",(0,F.jsx)("small",{children:"optional"})]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:h,onChange:S=>m(S.target.value)})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Profile"}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Choose the finish you want for the fixed 4.4m white-primed MDF boards."}),(0,F.jsx)("div",{className:"architrave-calculator__profiles",children:Dw.map(S=>(0,F.jsxs)("button",{type:"button",className:`truss-estimator__option-card${b===S.id?" is-selected":""}`,onClick:()=>y(S.id),children:[(0,F.jsx)(ix,{profile:S.id}),(0,F.jsx)("div",{className:"truss-estimator__option-title",children:S.label}),(0,F.jsx)("div",{className:"truss-estimator__option-copy",children:S.blurb})]},S.id))})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,F.jsx)("div",{className:"truss-estimator__field-grid skirting-calculator__options-grid",children:(0,F.jsxs)("label",{className:"truss-estimator__field",children:[(0,F.jsx)("span",{children:"Board length"}),(0,F.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Longer boards can reduce the number of joins, while 10% waste allows for cuts, corners and mistakes."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__totals",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,F.jsxs)("div",{className:"skirting-calculator__result-grid",children:[(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Net skirting"}),(0,F.jsxs)("strong",{children:[f.toFixed(2)," m"]})]}),(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Board lengths"}),(0,F.jsx)("strong",{children:u})]})]}),(0,F.jsx)("p",{className:"skirting-calculator__note",children:"Corners and joins vary by room layout. Measure each wall where possible for the most accurate result."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__actions",children:[(0,F.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,F.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(v),disabled:f<=0,children:a})]})]})]})})}var Gn=G(Xe()),ie=G(ee()),cl=e=>Number.parseFloat(e)||0;function $d({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Gn.useState)("studs"),[n,o]=(0,Gn.useState)(""),[l,c]=(0,Gn.useState)(""),[p,d]=(0,Gn.useState)("600"),[h,m]=(0,Gn.useState)("2.4"),b=n&&l&&p?Math.ceil(cl(l)/(cl(p)/1e3))+1:0,y=b*cl(n),T=cl(h)>0?Math.ceil(y/cl(h)):0,D=[{key:r,label:{studs:"Stud timber",joists:"Joist timber",battens:"Batten timber"}[r],qty:y,unit:"m",query:{studs:"cls studwork timber",joists:"timber joist",battens:"roofing batten"}[r],category:"timber"}],f={studs:["Stud wall","Vertical studs along a wall length"],joists:["Joists","Parallel joists across a floor or deck"],battens:["Battens","Regularly spaced battens for lining or cladding"]},v={studs:{member:"Wall height",overall:"Wall length",help:"Studs repeat across the wall length.",count:"Studs"},joists:{member:"Joist span",overall:"Overall width",help:"Joists repeat across the overall floor or deck width.",count:"Joists"},battens:{member:"Batten length",overall:"Overall width",help:"Battens repeat across the overall lining or cladding width.",count:"Battens"}}[r];return(0,ie.jsx)(ie.Fragment,{children:(0,ie.jsxs)("div",{className:"truss-estimator",children:[(0,ie.jsxs)("div",{className:"quick-order-hero",children:[(0,ie.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ie.jsx)("h1",{children:"Timber Calculator"}),(0,ie.jsx)("p",{children:"Estimate studs, joists or battens from a run length, width and spacing."})]}),(0,ie.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ie.jsx)("h2",{className:"truss-estimator__step-title",children:"Member size and spacing"}),(0,ie.jsxs)("p",{className:"truss-estimator__step-sub",children:[v.help," Enter the member length and centres to estimate the number of pieces and stock lengths."]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber use"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:Object.keys(f).map(w=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===w?" is-selected":""}`,onClick:()=>i(w),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:f[w][0]}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:f[w][1]})]},w))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Dimensions and spacing"}),(0,ie.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsxs)("span",{children:[v.member," (m)"]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:w=>o(w.target.value)})]}),(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsxs)("span",{children:[v.overall," (m)"]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:w=>c(w.target.value)})]})]}),(0,ie.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsx)("span",{children:"Centres (mm)"}),(0,ie.jsxs)("select",{value:p,onChange:w=>d(w.target.value),children:[(0,ie.jsx)("option",{value:"300",children:"300 mm"}),(0,ie.jsx)("option",{value:"400",children:"400 mm"}),(0,ie.jsx)("option",{value:"450",children:"450 mm"}),(0,ie.jsx)("option",{value:"600",children:"600 mm"})]})]}),(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsx)("span",{children:"Stock length (m)"}),(0,ie.jsxs)("select",{value:h,onChange:w=>m(w.target.value),children:[(0,ie.jsx)("option",{value:"2.4",children:"2.40 m"}),(0,ie.jsx)("option",{value:"3.6",children:"3.60 m"}),(0,ie.jsx)("option",{value:"4.8",children:"4.80 m"})]})]})]})]}),(0,ie.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ie.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:v.count}),(0,ie.jsx)("strong",{children:b})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Linear metres"}),(0,ie.jsxs)("strong",{children:[y.toFixed(2)," m"]})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsxs)("span",{children:[h," m lengths"]}),(0,ie.jsx)("strong",{children:T})]})]}),(0,ie.jsx)("p",{className:"materials-calculator__note",children:"Spacing is measured centre-to-centre. Add extra timber for plates, noggins, trimming and openings where required."})]}),(0,ie.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ie.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ie.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(D),disabled:y<=0,children:a})]})]})]})})}var Zd=[{id:"truss",title:"Roof Truss Calculator",desc:"Estimate trusses, girders and roof structure costs.",imageUrl:"/tool-images/truss.webp",Component:Xd},{id:"fencing",title:"Fencing Calculator",desc:"Estimate fence panels, posts, gravel boards and fixings.",imageUrl:"/tool-images/fencing.webp",Component:Bd},{id:"decking",title:"Decking Calculator",desc:"Estimate boards, substructure and fixing quantities.",imageUrl:"/tool-images/decking.webp",Component:Od},{id:"brick-block",title:"Brick and Block Calculator",desc:"Estimate masonry units and ready-mixed mortar for a wall.",imageUrl:"/tool-images/brick-block.webp",Component:Md},{id:"paint",title:"Paint Calculator",desc:"Estimate paint for walls, doors and multiple coats.",imageUrl:"/tool-images/paint.webp",Component:Hd},{id:"skirting",title:"Skirting Board Calculator",desc:"Estimate skirting lengths for rooms and wall runs.",imageUrl:"/tool-images/skirting.webp",Component:Vd},{id:"architrave",title:"Architrave Calculator",desc:"Estimate architrave lengths for door and window openings.",imageUrl:"/tool-images/architrave.webp",Component:Ed},{id:"concrete-aggregate",title:"Concrete and Aggregate Calculator",desc:"Estimate concrete, MOT, sand and gravel quantities.",imageUrl:"/tool-images/concrete-aggregate.webp",Component:Ud},{id:"plasterboard",title:"Plasterboard Calculator",desc:"Estimate plasterboard sheets, screws, tape and adhesive.",imageUrl:"/tool-images/plasterboard.webp",Component:Yd},{id:"insulation",title:"Insulation Calculator",desc:"Estimate insulation packs for floors, walls, roofs and lofts.",imageUrl:"/tool-images/insulation.webp",Component:Ld},{id:"timber",title:"Timber Calculator",desc:"Estimate studs, joists and battens from spacing and lengths.",imageUrl:"/tool-images/timber.webp",Component:$d},{id:"paving",title:"Paving and Driveway Calculator",desc:"Estimate paving, block paving, MOT and sharp sand.",imageUrl:"/tool-images/paving.webp",Component:Qd}];var bc=G(Xe());var Ge=G(Xe());var C=G(ee()),nx=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}],Kd={wasteFactorEnabled:!0},ox=3e3,Bw=null;function hc(e,t){let a=el(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function lx(e){return e&&e.length>0?e.join(" x "):"-"}function Pd({toolId:e,requirements:t,ready:a,onBack:r,onTotalChange:i}){let n=tc(),o=`${e}~${t.map(k=>`${k.key}|${k.query}|${k.category??""}|${k.qty}`).join("~")}`,l=o!==Bw,[c,p]=(0,Ge.useState)(null),[d,h]=(0,Ge.useState)([]),[m,b]=(0,Ge.useState)(l),[y,T]=(0,Ge.useState)(null),[D,f]=(0,Ge.useState)("tile"),[u,v]=(0,Ge.useState)(null),[w,S]=(0,Ge.useState)(""),[R,z]=(0,Ge.useState)(null),[A,Q]=(0,Ge.useState)(""),[K,fe]=(0,Ge.useState)([]),[Ue,Be]=(0,Ge.useState)(new Set),[Ye,Ne]=(0,Ge.useState)(null),[we,oe]=(0,Ge.useState)(""),[se,ye]=(0,Ge.useState)([]),vt=(0,Ge.useRef)(null),Ee=(0,Ge.useRef)(!1),$=k=>`${e}:${k}`,ue=k=>Pr(k.chosen,{lineId:$(k.requirement.key),description:k.requirement.label,unit:k.requirement.unit,qty:k.requirement.qty}),Ze=(0,Ge.useMemo)(()=>t.map(k=>`${k.key}|${k.query}|${k.category??""}`).join("~"),[t]);(0,Ge.useEffect)(()=>{let k=!1;return Nw().then(L=>{k||p(L.itemCount>0)}).catch(()=>{k||p(!1)}),()=>{k=!0}},[]),(0,Ge.useEffect)(()=>{if(!a||!c)return;let k=!1,L;l&&b(!0),T(null);let P=Date.now();return(async()=>{let pe=null;try{pe=(await kw(t,void 0,e)).map(({requirement:xt,candidates:it})=>({requirement:xt,candidates:it,chosen:it[0]??null}))}catch(xe){k||T(xe instanceof Error?xe.message:"Could not load products")}if(!k){if(Bw=o,l){let xe=ox-(Date.now()-P);xe>0&&await new Promise(xt=>{L=window.setTimeout(xt,xe)})}k||(pe&&(h(pe),!Ee.current&&n&&(Ee.current=!0,n.addManyToCart(pe.filter(xe=>xe.chosen).map(ue)))),b(!1))}})(),()=>{k=!0,window.clearTimeout(L)}},[a,c,Ze]),(0,Ge.useEffect)(()=>{if(!R)return;let k=A.trim();if(!k){fe([]);return}let L=!1,P=window.setTimeout(()=>{fr(k).then(pe=>{L||fe(pe)}).catch(()=>{L||fe([])})},250);return()=>{L=!0,window.clearTimeout(P)}},[R,A]),(0,Ge.useEffect)(()=>{if(!Ye)return;let k=we.trim();if(!k){ye([]);return}let L=!1,P=window.setTimeout(()=>{fr(k).then(pe=>{L||ye(pe)}).catch(()=>{L||ye([])})},250);return()=>{L=!0,window.clearTimeout(P)}},[Ye,we]);let pt=(0,Ge.useMemo)(()=>{let k=w.trim().toLowerCase(),L=k?d.filter(P=>P.requirement.label.toLowerCase().includes(k)||(P.chosen?.description??"").toLowerCase().includes(k)||(P.chosen?.product_id??"").toLowerCase().includes(k)):d;return u?[...L].sort((P,pe)=>{let xe=P.requirement.label.localeCompare(pe.requirement.label);return u==="asc"?xe:-xe}):L},[d,w,u]),wt=pt.filter(k=>k.chosen),He=pt.filter(k=>!k.chosen),de=d.filter(k=>k.chosen),_e=de.filter(k=>k.chosen?.price==null).length,Se=de.reduce((k,L)=>k+(Ft(ue(L),Kd).lineTotal??0),0);if((0,Ge.useEffect)(()=>{i?.(Se)},[Se,i]),!a||c===!1)return null;let E=n?de.filter(k=>n.cart[$(k.requirement.key)]).length:0,O=Ye?d.find(k=>k.requirement.key===Ye)??null:null,ce=we.trim()?se:O?.candidates??[],he=k=>{let L=R===k.requirement.key;z(L?null:k.requirement.key),Q(L?"":k.requirement.query)},Ae=(k,L)=>{let P=d.find(pe=>pe.requirement.key===k);h(pe=>pe.map(xe=>xe.requirement.key===k?{...xe,chosen:L}:xe)),n&&P&&n.cart[$(k)]&&n.addToCart(ue({...P,chosen:L})),z(null),Q("")},Pe=k=>{h(L=>L.map(P=>P.requirement.key===k?{...P,chosen:null}:P)),n?.cart[$(k)]&&n.removeFromCart($(k))},g=k=>{Ne(k.requirement.key),oe(""),ye([])},M=()=>{Ne(null),oe(""),ye([])},N=k=>{if(!n)return;let L=$(k.requirement.key);n.cart[L]?n.removeFromCart(L):n.addToCart(ue(k))},Y=k=>{Be(L=>{let P=new Set(L);return P.has(k)?P.delete(k):P.add(k),P})},Z=k=>{let L=K.length>0?K:k.candidates;return(0,C.jsxs)("div",{className:"estimator-products__picker",children:[(0,C.jsx)("input",{type:"text",className:"results-search-input",value:A,autoFocus:!0,placeholder:"Search products in catalogue...",onChange:P=>Q(P.target.value),"aria-label":`Search a product for ${k.requirement.label}`}),(0,C.jsxs)("div",{className:"estimator-products__options",children:[L.map(P=>(0,C.jsxs)("button",{type:"button",className:`estimator-products__option${P.product_id===k.chosen?.product_id?" is-selected":""}`,onClick:()=>Ae(k.requirement.key,P),children:[(0,C.jsx)("span",{children:P.description}),(0,C.jsxs)("span",{className:"results-row-meta",children:[P.product_id,P.price!=null&&` \xB7 ${lt(P.price)}`]})]},P.product_id)),L.length===0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No matching products."})]})]})};return(0,C.jsxs)("section",{className:"estimator-products results-tile-section","aria-label":"Matched products",children:[!m&&(0,C.jsxs)("div",{className:"estimator-products__head",children:[(0,C.jsxs)("div",{className:"results-tile-section__head",children:[(0,C.jsx)("h3",{children:"Matched Products"}),(0,C.jsx)("p",{children:"Products matched to your estimate, check before adding to your basket."})]}),!O&&(0,C.jsxs)("div",{className:"results-summary estimator-products__toolbar",children:[_e>0&&(0,C.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,C.jsx)("strong",{children:_e})," need pricing"]}),(0,C.jsxs)("div",{className:"estimator-products__controls",children:[(0,C.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:w,onChange:k=>S(k.target.value),"aria-label":"Search matched products"}),(0,C.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,C.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="tile"?" is-active":""}`,"aria-pressed":D==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>f("tile"),children:(0,C.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,C.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,C.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="list"?" is-active":""}`,"aria-pressed":D==="list","aria-label":"List view",title:"List view",onClick:()=>f("list"),children:(0,C.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,C.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,C.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,C.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),(0,C.jsxs)("details",{ref:vt,style:{position:"relative"},children:[(0,C.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort materials",style:{fontSize:16},children:"\u21C5"}),(0,C.jsx)("div",{className:"sort-menu-panel",children:nx.map(k=>{let L=u===k.dir;return(0,C.jsxs)("button",{type:"button",className:`sort-menu-item${L?" is-active":""}`,onClick:()=>{v(L?null:k.dir),vt.current?.removeAttribute("open")},children:[(0,C.jsx)("span",{className:"sort-menu-item__check",children:L?"\u2713":""}),k.label]},k.dir)})})]})]})]})]}),O&&(0,C.jsxs)("div",{className:"results-review-page",children:[(0,C.jsxs)("div",{className:"results-review-page__top",children:[(0,C.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:M,children:[(0,C.jsx)(Kr,{}),"Back to results"]}),(0,C.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,C.jsx)("div",{className:"results-review-searchbar",children:(0,C.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:we,onChange:k=>oe(k.target.value),"aria-label":`Search a product for ${O.requirement.label}`})}),O.chosen&&(0,C.jsx)("div",{className:"results-candidate-actions",children:(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Pe(O.requirement.key),children:"Clear selected product"})})]})]}),(0,C.jsxs)("div",{className:"results-review-page__hero",children:[(0,C.jsx)("div",{className:"results-review-page__image-wrap",children:(0,C.jsx)("img",{className:"fill-img results-review-page__image",src:Ga(O.chosen?.description||O.requirement.label,O.chosen?.product_id,O.chosen?.pdp_photo_url),alt:""})}),(0,C.jsxs)("div",{className:"results-review-page__summary",children:[(0,C.jsx)("h2",{children:O.requirement.label}),(0,C.jsxs)("p",{className:"results-review-page__meta",children:[yi(O.requirement.qty)," ",Sa(O.requirement.unit,O.requirement.qty)]}),O.chosen?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"results-review-page__product",children:O.chosen.description}),(0,C.jsxs)("div",{className:"results-row-meta",children:[O.chosen.product_id,O.chosen.price!=null?` \xB7 ${hc(O.chosen.price,O.chosen.price_basis)}`:""]})]}):(0,C.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line."}),(0,C.jsx)("div",{className:"results-review-page__actions",children:(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${n?.cart[$(O.requirement.key)]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(O),disabled:!O.chosen||!n,children:n?.cart[$(O.requirement.key)]?"\u2713 Added":"+ Add to basket"})})]})]}),ce.length===0?(0,C.jsx)("p",{className:"results-empty-hint",children:"No matching products."}):(0,C.jsxs)("table",{className:"score-breakdown-table",children:[(0,C.jsx)("thead",{children:(0,C.jsxs)("tr",{children:[(0,C.jsx)("th",{children:"Product"}),(0,C.jsx)("th",{children:"Dims (mm)"}),(0,C.jsx)("th",{children:"Price"}),(0,C.jsx)("th",{"aria-label":"Actions"})]})}),(0,C.jsx)("tbody",{children:ce.map(k=>{let L=k.product_id===O.chosen?.product_id;return(0,C.jsxs)("tr",{className:L?"score-breakdown-row--best":"",children:[(0,C.jsxs)("td",{children:[(0,C.jsx)("div",{children:k.description}),(0,C.jsx)("div",{className:"results-row-meta",children:k.product_id})]}),(0,C.jsx)("td",{children:(0,C.jsx)("span",{className:"unit-badge",children:lx(k.measurements_mm)})}),(0,C.jsx)("td",{children:k.price!=null?hc(k.price,k.price_basis):"-"}),(0,C.jsx)("td",{children:(0,C.jsxs)("label",{className:"switch-toggle",title:L?"Currently selected":"Use this candidate",children:[(0,C.jsx)("input",{type:"checkbox",checked:L,onChange:()=>{L?Pe(O.requirement.key):Ae(O.requirement.key,k)},"aria-label":L?`${k.description} selected`:`Use ${k.description}`}),(0,C.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},k.product_id)})})]})]}),!O&&m&&(0,C.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{padding:"32px 24px"},children:[(0,C.jsx)(dr,{}),(0,C.jsx)("p",{className:"banter-message is-visible",style:{fontSize:15,minHeight:0},children:"Matching your materials against the catalogue\u2026"})]}),!O&&y&&(0,C.jsx)("p",{className:"results-empty-hint estimator-products__error",children:y}),!O&&!m&&!y&&pt.length===0&&d.length>0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No materials match the current search."}),!O&&!m&&!y&&D==="tile"&&wt.length>0&&(0,C.jsx)("div",{className:"results-tile-grid",children:wt.map(k=>{let{requirement:L,chosen:P}=k,pe=P?Ft(ue(k),Kd):null,xe=n?!!n.cart[$(L.key)]:!1;return(0,C.jsxs)("article",{className:"results-tile-card",children:[(0,C.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>g(k),"aria-label":`Review match for ${L.label}`,children:[(0,C.jsx)("div",{className:"results-tile-card__media",children:(0,C.jsx)("img",{className:"fill-img results-tile-card__image",src:Ga(P?.description||L.label,P?.product_id,P?.pdp_photo_url),alt:""})}),(0,C.jsxs)("div",{className:"results-tile-card__body",children:[P?(0,C.jsxs)("div",{className:"results-tile-card__heading",children:[(0,C.jsx)("div",{className:"results-tile-card__title",children:P.description}),(0,C.jsxs)("div",{className:"results-tile-card__match-meta",children:[(0,C.jsx)("span",{children:P.product_id}),P.price!=null?(0,C.jsx)("span",{children:hc(P.price,P.price_basis)}):null]})]}):(0,C.jsx)("div",{className:"results-empty-hint",children:"No product matched for this line."}),(0,C.jsxs)("div",{className:"results-tile-card__match",children:[(0,C.jsx)("div",{className:"results-tile-card__match-label",children:"\u21B3 calculated as"}),(0,C.jsx)("div",{className:"results-tile-card__match-name",children:L.label}),(0,C.jsxs)("div",{className:"results-tile-card__meta",children:[yi(L.qty)," ",Sa(L.unit,L.qty)]}),pe?.requiredSellUnits!=null?(0,C.jsxs)("div",{className:"results-tile-card__meta estimator-products__order",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${lt(pe.lineTotal)}`:""]}):P?(0,C.jsx)("div",{className:"results-row-meta",children:"Quantity needs review"}):null]})]})]}),(0,C.jsxs)("div",{className:"results-tile-card__actions",children:[(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>g(k),children:"Review"}),(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${xe?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(k),disabled:!P||!n,children:xe?"\u2713 Added":"+ Add"})]})]},L.key)})}),!O&&!m&&!y&&D==="list"&&wt.length>0&&(0,C.jsx)("div",{className:"bom-table-wrap",children:(0,C.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched materials",children:[(0,C.jsxs)("colgroup",{children:[(0,C.jsx)("col",{style:{width:"56px"}}),(0,C.jsx)("col",{className:"col-item"}),(0,C.jsx)("col",{style:{width:"90px"}}),(0,C.jsx)("col",{style:{width:"80px"}}),(0,C.jsx)("col",{style:{width:"220px"}}),(0,C.jsx)("col",{style:{width:"110px"}})]}),(0,C.jsx)("thead",{children:(0,C.jsxs)("tr",{className:"bom-col-header",children:[(0,C.jsx)("th",{"aria-label":"Expand"}),(0,C.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Qty"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Unit"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Basket"})]})}),(0,C.jsx)("tbody",{children:wt.map(k=>{let{requirement:L,chosen:P}=k,pe=P?Ft(ue(k),Kd):null,xe=n?!!n.cart[$(L.key)]:!1,xt=Ue.has(L.key);return(0,C.jsxs)(Ge.Fragment,{children:[(0,C.jsxs)("tr",{className:"bom-row",children:[(0,C.jsx)("td",{className:"bom-actions",style:{textAlign:"center",paddingLeft:0,paddingRight:0},children:(0,C.jsx)("button",{type:"button",className:"link-btn",onClick:()=>Y(L.key),"aria-expanded":xt,"aria-label":xt?"Collapse product options":"Expand product options",children:xt?"\u25BE":"\u25B8"})}),(0,C.jsxs)("td",{style:{paddingLeft:0},children:[(0,C.jsx)("div",{className:"bom-component-name",children:L.label}),pe?.requiredSellUnits!=null&&(0,C.jsxs)("div",{className:"results-row-meta",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${lt(pe.lineTotal)}`:""]})]}),(0,C.jsx)("td",{className:"bom-qty col-order",style:{textAlign:"center"},children:yi(L.qty)}),(0,C.jsx)("td",{style:{textAlign:"center"},children:Sa(L.unit,L.qty)}),(0,C.jsx)("td",{style:{textAlign:"center"},children:P?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"bom-component-name",children:P.description}),(0,C.jsxs)("div",{className:"results-row-meta",children:[P.product_id,P.price!=null&&` \xB7 ${hc(P.price,P.price_basis)}`]})]}):(0,C.jsx)("span",{className:"results-empty-hint",children:"No match"})}),(0,C.jsx)("td",{style:{textAlign:"center"},children:(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${xe?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(k),disabled:!P||!n,children:xe?"\u2713 Added":"+ Add"})})]}),xt&&(0,C.jsx)("tr",{children:(0,C.jsx)("td",{colSpan:6,style:{paddingLeft:0,paddingRight:0},children:R===L.key?Z(k):(0,C.jsxs)("div",{className:"estimator-products__picker",children:[(0,C.jsxs)("div",{className:"estimator-products__options",children:[k.candidates.map(it=>(0,C.jsxs)("button",{type:"button",className:`estimator-products__option${it.product_id===P?.product_id?" is-selected":""}`,onClick:()=>Ae(L.key,it),children:[(0,C.jsx)("span",{children:it.description}),(0,C.jsxs)("span",{className:"results-row-meta",children:[it.product_id,it.price!=null&&` \xB7 ${lt(it.price)}`]})]},it.product_id)),k.candidates.length===0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No candidates found."})]}),(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>he(k),children:"Search the catalogue"})]})})})]},L.key)})})]})}),!O&&!m&&!y&&He.length>0&&(0,C.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,C.jsxs)("div",{className:"results-tile-section__head",children:[(0,C.jsx)("h3",{children:"Require Matching"}),(0,C.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,C.jsx)("div",{className:"results-unmatched-list",children:He.map(k=>(0,C.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>g(k),children:[(0,C.jsxs)("span",{className:"results-unmatched-card__main",children:[(0,C.jsx)("span",{className:"results-unmatched-card__title",children:k.requirement.label}),(0,C.jsxs)("span",{className:"results-row-meta",children:[yi(k.requirement.qty)," ",Sa(k.requirement.unit,k.requirement.qty)]})]}),(0,C.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},k.requirement.key))})]}),!m&&!y&&d.length>0&&(0,C.jsxs)("div",{className:"disclaimer-box",style:{alignItems:"center"},children:[(0,C.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,C.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence."})]}),!O&&!m&&!y&&(r||E>0)&&(0,C.jsxs)("div",{className:"btn-row estimator-products__footer",children:[r&&(0,C.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:r,children:"Back"}),E>0&&n&&(0,C.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:r?"0 1 70%":1,marginTop:0},onClick:n.openBasket,children:[(0,C.jsxs)("span",{children:["View Basket (",E,")"]}),(0,C.jsx)("span",{className:"arrow",children:(0,C.jsx)(Qt,{})})]})]})]})}var Gt=G(ee());function Jd({toolId:e,toolTitle:t,requirements:a,onBack:r}){let[i,n]=(0,bc.useState)(0),o=(0,bc.useCallback)(l=>n(l),[]);return(0,Gt.jsx)(Gt.Fragment,{children:(0,Gt.jsxs)("div",{className:"truss-estimator",children:[(0,Gt.jsxs)("div",{className:"quick-order-hero",children:[(0,Gt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Gt.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,Gt.jsx)("h1",{children:"Your Materials"}),i>0&&(0,Gt.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,Gt.jsx)("strong",{children:lt(i)})," Est. total"]})]}),(0,Gt.jsxs)("p",{children:["Quantities from the ",t,", matched against your merchant\u2019s catalogue."]})]}),(0,Gt.jsx)("div",{className:"truss-estimator__card",style:{minHeight:0},children:(0,Gt.jsx)(Pd,{toolId:e,requirements:a,ready:!0,onBack:r,onTotalChange:o})})]})})}var Id=G(Xe());var Wt=G(ee()),sx=1500;function Lw(e){let{addManyToCart:t,clearCart:a,openBasket:r}=Un(),[i,n]=(0,Id.useState)(!1),[o,l]=(0,Id.useState)(null);return{adding:i,basketError:o,addToBasket:async(p,d)=>{let h=Date.now();n(!0),l(null);try{let m=await Promise.all(p.filter(y=>y.qty>0).map(async y=>{let T=(await fr(y.search)).find(D=>D.product_id===y.productId);if(!T)throw new Error("A selected product is no longer available in this catalogue.");return Pr(T,{lineId:`${e}:${y.key}`,description:T.description,unit:zd(y.unit??"each",T),qty:y.qty,calculatorWasteIncluded:d})})),b=sx-(Date.now()-h);b>0&&await new Promise(y=>window.setTimeout(y,b)),a(),t(m),r()}catch(m){l(m instanceof Error?m.message:"Could not add the products to your basket.")}finally{n(!1)}}}}function Hw({toolTitle:e}){return(0,Wt.jsx)(Wt.Fragment,{children:(0,Wt.jsxs)("div",{className:"truss-estimator",children:[(0,Wt.jsxs)("div",{className:"quick-order-hero",children:[(0,Wt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Wt.jsx)("h1",{children:"Your Materials"}),(0,Wt.jsxs)("p",{children:["Calculating quantities from the ",e,"."]})]}),(0,Wt.jsx)("div",{className:"truss-estimator__card",children:(0,Wt.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,Wt.jsx)(dr,{}),(0,Wt.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})})}var Re=G(ee());function vc(e){let[t,a]=(0,Xa.useState)(!1);return(0,Re.jsx)(ec,{onOpenBasket:()=>a(!0),children:(0,Re.jsx)(cx,{...e,showBasket:t,onShowBasket:a})})}function cx({fullPage:e=!1,hideHeader:t=!1,internal:a=!1,showBasket:r,onShowBasket:i}){let[n,o]=(0,Xa.useState)(null),[l,c]=(0,Xa.useState)(null),p=Zd.find(A=>A.id===n),{cart:d,updateCartQty:h,updateCartSellUnits:m,updateCartConversions:b,removeFromCart:y,clearCart:T}=Un(),{adding:D,basketError:f,addToBasket:u}=Lw(p?.title??"calculator"),v=(0,Xa.useRef)(null),w=Ys("estimating-tools",v);(0,Xa.useEffect)(()=>{w("viewed")},[w]);let S=r?"basket":D?"adding":l?"review":n??"list",R=(0,Xa.useRef)(S);(0,Xa.useEffect)(()=>{R.current!==S&&(R.current=S,window.scrollTo(0,0))},[S]);let z=A=>{if(!p)return;w("estimate_completed",{calculator:p.id,lines:A.length});let Q=_w(p.id,A);Q?u(Q,A[0]?.calculatorWasteIncluded??!1):c(A)};return(0,Re.jsx)(Po.Provider,{value:w,children:(0,Re.jsx)("div",{ref:v,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}`,style:jt().theme,children:(0,Re.jsx)("main",{className:"main-content",children:r?(0,Re.jsx)(ol,{cart:d,onUpdateQty:h,onUpdateSellUnits:m,onResolveConversions:b,onRemove:y,onBack:()=>i(!1),onStartNewQuote:()=>{T(),o(null),c(null),i(!1)},internal:a}):D&&p?(0,Re.jsx)(Hw,{toolTitle:p.title}):p?(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsx)("div",{hidden:l!==null,children:(0,Re.jsx)(p.Component,{onBack:()=>o(null),onReview:z})}),f&&(0,Re.jsx)("p",{className:"results-empty-hint estimator-products__error",children:f}),l!==null&&(0,Re.jsx)(Jd,{toolId:p.id,toolTitle:p.title,requirements:l,onBack:()=>c(null)})]}):(0,Re.jsx)(Re.Fragment,{children:(0,Re.jsxs)("div",{className:"quick-order-card",children:[(0,Re.jsxs)("div",{className:"quick-order-hero",children:[(0,Re.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,Re.jsx)("h1",{children:"Estimating Tools"}),(0,Re.jsx)("p",{children:"Trade-specific calculators for trusses, fencing, decking, masonry and painting. Dial in your specs and get an instant material estimate."})]}),(0,Re.jsxs)("div",{className:"quick-order-alt",children:[(0,Re.jsx)("div",{className:"quick-order-alt-title",children:"Choose a Calculator"}),(0,Re.jsx)("div",{className:"estimator-tools-grid",children:Zd.map(A=>(0,Re.jsxs)("button",{type:"button",className:"estimator-tool-card",onClick:()=>{w("calculator_selected",{calculator:A.id}),o(A.id),c(null)},children:[(0,Re.jsx)("span",{className:"estimator-tool-card__image-wrap",children:(0,Re.jsx)("img",{className:"fill-img estimator-tool-card__image",src:It(A.imageUrl),alt:""})}),(0,Re.jsxs)("span",{className:"estimator-tool-card__content",children:[(0,Re.jsx)("span",{className:"estimator-tool-card__title",children:A.title}),(0,Re.jsx)("span",{className:"estimator-tool-card__desc",children:A.desc})]})]},A.id))})]})]})})})})})}var wc=G(ee());function Fd({config:e,children:t}){return rv(e),(0,wc.jsx)(wc.Fragment,{children:t})}var Wd=G(ee()),ux="https://api.metronlabs.ai",px=["client","api-key","api-url","theme","hide-header","analytics"],dx=["all","events-only","none"];function Qw(e,t){var a;customElements.get(e)||customElements.define(e,(a=class extends HTMLElement{constructor(){super();this.root=null;this.attachShadow({mode:"open"})}connectedCallback(){if(this.dataset.version="0.1.50",this.id||(this.id=e),this.setAttribute("data-turbo-permanent",""),this.setAttribute("data-turbolinks-permanent",""),!this.root){let i=document.createElement("div"),n=document.createElement("style");n.textContent=`:host { display: block; }
6969
+ `)}function Pr(e,t){return{lineId:t.lineId,description:e?.description||t.description||"(no description)",requestedDescription:t.description,productId:e?.product_id??"-",price:e?.price??null,priceBasis:e?.price_basis??null,unit:t.unit,uoi:e?.uoi??t.unit,uoiCount:e?.uoi_count??null,saleUnit:e?.conversion?.sale_unit??null,saleUnitQuantity:e?.conversion?.sale_unit_quantity??null,unitConversions:e?.conversion?.unit_conversions?.map(a=>({requestUom:a.request_uom,quantityPerSaleUnit:a.quantity_per_sale_unit,evidence:a.evidence,confidence:a.confidence})),pdpPhotoUrl:e?.pdp_photo_url??null,measurementsMm:e?.measurements_mm??[],conversionType:e?.conversion?.conversion_type??null,requestUomsSupported:e?.conversion?.request_uoms_supported??null,salesUomNormalised:e?.conversion?.sales_uom_normalised??null,salesUnitSize:e?.conversion?.sales_unit_size??null,salesUnitSizeUom:e?.conversion?.sales_unit_size_uom??null,coverageQty:e?.conversion?.coverage_qty??null,coverageUom:e?.conversion?.coverage_uom??null,itemsPerPallet:e?.conversion?.items_per_pallet??null,itemsPerPack:e?.conversion?.items_per_pack??null,itemsPerBox:e?.conversion?.items_per_box??null,itemsPerM2:e?.conversion?.items_per_m2??null,wasteFactorDefault:e?.conversion?.waste_factor_default??null,roundingRule:e?.conversion?.rounding_rule??null,derivedCoverageM2:e?.conversion?.derived_coverage_m2??null,derivedLengthM:e?.conversion?.derived_length_m??null,quoteQtyFormulaType:e?.conversion?.quote_qty_formula_type??null,conversionConfidence:e?.conversion?.conversion_confidence??null,conversionNotes:e?.conversion?.conversion_notes??null,calculatorWasteIncluded:t.calculatorWasteIncluded,qty:t.qty,linkedContext:t.linkedContext}}var ov=e=>(e??"").trim().toLowerCase(),n_={sqm:"m2","sq m":"m2","m\xB2":"m2",cbm:"m3","cu m":"m3",lm:"m","lin m":"m",metre:"m",meter:"m",each:"each",ea:"each",nr:"each",no:"each",item:"each",unit:"each",units:"each",pc:"each",pcs:"each",board:"sheet",bags:"bag",length:"length",lengths:"length",pallet:"pallet",pallets:"pallet"},vd=new Set(["sheet","length","box","bag","pack","roll","set","tub","each"]),av=new Set(["box","bag","pack","pallet","roll","set","tub"]),rv=(e,t)=>t==="ml"?e:["l","litre","litres"].includes(t)?e*1e3:null,iv=(e,t)=>t==="g"?e:["kg","kilogram","kilograms"].includes(t)?e*1e3:["t","tonne","tonnes"].includes(t)?e*1e6:null,_i=e=>{let t=ov(e);return n_[t]??t},st=(e,t)=>{let a=_i(e),r=_i(t);return a.length>0&&a===r},o_=(e,t)=>{let a=ov(t);return a?a.includes("round_up_1000")?Math.ceil(e):a.includes("allow_decimal")?Math.round(e*1e3)/1e3:a.includes("round_up")?Math.ceil(e):e:e},l_=e=>(e??"").split(",").map(t=>_i(t)).filter(Boolean),s_=(e,t)=>{let a=l_(e.requestUomsSupported);return!!(a.length===0||a.includes(t)||st(t,"pallet")&&e.itemsPerPallet!=null&&e.itemsPerPallet>0||st(t,"pack")&&e.itemsPerPack!=null&&e.itemsPerPack>0||st(t,"box")&&e.itemsPerBox!=null&&e.itemsPerBox>0)},nv=(e,t)=>st(t,"pallet")?e.itemsPerPallet??null:st(t,"pack")?e.itemsPerPack??null:st(t,"box")?e.itemsPerBox??null:null,c_=(e,t,a)=>{if(!st(t,"m2"))return null;let r=e.description.match(/(\d+(?:[.,]\d+)?)\s*(m2|m²|sqm|sq\.?\s*m)\s*(?:\/|per)\s*([a-z]+)/i);if(!r||!st(r[3],a))return null;let i=Number.parseFloat(r[1].replace(",","."));return Number.isFinite(i)&&i>0?i:null};function Is(e,t){let a=e.map(r=>Ft(r,t).lineTotal);return a.some(r=>r==null)?null:a.reduce((r,i)=>r+(i??0),0)}function Ft(e,t){let a=e.qty,r=_i(e.saleUnit??e.salesUnitSizeUom??e.uoi??e.salesUomNormalised)||"-",i=_i(e.unit)||(a>0&&vd.has(r)?r:"-"),n=e.saleUnitQuantity??e.salesUnitSize??e.uoiCount??1,o=t?.wasteFactorEnabled===!1?0:t?.wasteFactorOverride??e.wasteFactorOverride??e.wasteFactorDefault??0,l=e.sellUnitsOverride!=null&&Number.isFinite(e.sellUnitsOverride)&&e.sellUnitsOverride>0,c=l?vd.has(r)?Math.ceil(e.sellUnitsOverride):e.sellUnitsOverride:null,p=v=>({requestedAmount:a,requestedUnit:i,salesUnitSize:e.salesUnitSize??e.uoiCount??null,sellUnit:r,calculatedSellUnits:null,requiredSellUnits:c,unitPrice:e.price,lineTotal:e.price!=null&&c!=null?e.price*c:null,calculation:c!=null?`${v} Manually set to ${c} ${r}.`:v,costingMode:"review"});if(!Number.isFinite(a)||a<=0)return p("Quantity needs confirmation.");if(!s_(e,i))return p("Requested unit is not supported by this catalogue conversion.");let d=null,g="review",m=e.roundingRule,b=`Quantity review required, initial request needed ${a} ${i}.`,y=1+o,T=c_(e,i,r),D=e.unitConversions?.find(v=>st(v.requestUom,i));if(!!e.saleUnit&&(st(i,r)||!!D||st(i,"each")&&!av.has(r)))if(st(i,r))d=a*y/n,g="direct",b=`${a} ${i}${o>0?` x ${y}`:""}`;else if(D){d=a*y/D.quantityPerSaleUnit,g="derived";let v=1/D.quantityPerSaleUnit,S=Math.round(v);b=st(r,"each")&&D.quantityPerSaleUnit<1&&Math.abs(v-S)<1e-9?`${a} ${i}${o>0?` x ${y}`:""} x ${S} per ${i}`:`${a} ${i}${o>0?` x ${y}`:""} / ${D.quantityPerSaleUnit} ${i} per ${r}`}else st(i,"each")&&!av.has(r)&&(d=a*y/n,g="derived",b=`${a} ${r}${o>0?` x ${y}`:""}`);else if(st(i,r)&&n>0)d=a*y/n,g="direct",b=o>0?`${a} ${i} x ${y} / ${n} ${r} per sell unit`:`${a} ${i} / ${n} ${r} per sell unit`;else if(st(i,"each")&&n>0&&vd.has(r))d=a*y/n,g="derived",b=o>0?`${a} each x ${y} / ${n} each per ${r}`:`${a} each / ${n} each per ${r}`;else if(nv(e,i)!=null&&n>0){let v=nv(e,i)??0;d=a*v*y/n,g="derived";let S=`${a} ${i} x ${v} each${o>0?` x ${y}`:""}`;b=n===1&&st(r,"each")?S:`${S} / ${n} each per ${r}`}else if(T!=null)d=a*y/T,g="derived",m??(m="round_up_each"),b=`${a} m2 x ${y} / ${T} m2 per ${r} (from product description)`;else if(e.conversionType==="basket_line_unit")n>0&&(d=a*y/n,g="derived",b=`${a} ${i}${o>0?` x ${y}`:""} / ${n} ${i} per ${r}`);else{if(e.conversionType==="count_only")return p(`Quantity review required, initial request needed ${a} ${i}.`);if(["area_from_dims","explicit_coverage_area","roll_area"].includes(e.conversionType??"")){let v=e.coverageQty??e.derivedCoverageM2??null;st(i,"m2")&&v!=null&&v>0&&(d=a*y/v,g="derived",b=`${a} m2 x ${y} / ${v} m2 per ${r}`)}else if(e.conversionType==="count_per_area"){let v=e.coverageQty??null;st(i,"m2")&&v!=null&&v>0?(d=a/v,g="derived",b=`${a} m2 / ${v} m2 per sell unit`):st(i,"m2")&&e.itemsPerM2!=null&&e.itemsPerM2>0&&n>0&&(d=a*e.itemsPerM2*y/n,g="derived",b=`${a} m2 x ${e.itemsPerM2} ${r}/m2 x ${y} / ${n}`)}else if(e.conversionType==="length_from_dims"){let v=e.coverageQty??e.derivedLengthM??null;st(i,"m")&&v!=null&&v>0&&(d=a*y/v,g="derived",b=`${a} m x ${y} / ${v} m per ${r}`)}else if(e.conversionType==="volume_from_description"){let v=rv(a,i),S=rv(e.coverageQty??0,_i(e.coverageUom));v!=null&&S!=null&&S>0&&(d=v*y/S,g="derived",b=`${a} ${i} x ${y} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="weight_from_description"){let v=iv(a,i),S=iv(e.coverageQty??0,_i(e.coverageUom));v!=null&&S!=null&&S>0&&(d=v*y/S,g="derived",b=`${a} ${i} x ${y} / ${e.coverageQty} ${e.coverageUom} per ${r}`)}else if(e.conversionType==="same_unit_volume"){let v=e.coverageQty??null;st(i,"m3")&&v!=null&&v>0&&(d=a/v,g="derived",b=`${a} m3 / ${v} m3 per ${r}`)}}if(d==null||!Number.isFinite(d)||d<0)return p(`Quantity review required, initial request needed ${a} ${i}.`);let u=o_(d,m),w=l?c:u;return{requestedAmount:a,requestedUnit:i,salesUnitSize:n,sellUnit:r,calculatedSellUnits:u,requiredSellUnits:w,unitPrice:e.price,lineTotal:e.price!=null&&w!=null?e.price*w:null,calculation:l?`${b} = ${u} ${r} (manually set to ${w})`:`${b} = ${w} ${r}`,costingMode:g}}var lv=()=>import("./xlsx-K4MOA2QM.js"),al=["Source Line ID","Split Line ID","Description","Section","Qty","Unit","Procurement intent","Procurement aliases","Build-up type","Layer count","Total thickness (mm)","Installation clues","System clues","Component requirements","Technical classification","Include in quote","Approval required","Approval type","Missing information","Adjudicator confidence","Decision reason","Selected candidate ID","Selected candidate description","Price basis","Price","Line total","Confidence","Status"],u_=al.indexOf("Line total");function p_(e){return e.unmatchable?"Not matched (labour/plant/referential)":e.decision?.include_in_quote===!0&&e.decision.approval_required===!0?"Approval required":e.decision?.include_in_quote===!0?"Quoted":e.decision?.technical_classification==="no_suitable_candidate"?"No suitable candidate":(e.best,"No match")}async function sv(e){let t=await lv(),a=t.utils.book_new(),r=new Date().toISOString().slice(0,10),i=[al],n=0;for(let c of e){let{item:p,best:d,qty:g,band:m,unmatchable:b,decision:y}=c,T=[p.section,p.subsection,p.subheading].filter(Boolean).join(" / "),D=!b&&d?.price!=null?d.price*g:null;D!=null&&(n+=D),i.push([p.source_line_id,p.line_id,p.description_original||"(no description)",T,g,p.unit,p.procurement_intent||"-",p.procurement_aliases.join(", "),p.build_up_type,p.layer_count,p.total_required_thickness_mm,p.installation_clues.join(", "),p.system_clues.join(", "),p.component_requirements.join(", "),y?.technical_classification??"",y?.include_in_quote==null?"":y.include_in_quote?"yes":"no",y?.approval_required==null?"":y.approval_required?"yes":"no",y?.approval_type??"",y?.missing_information.join(", ")??"",y?.confidence??"",y?.reason??"",b?"-":d?.product_id??y?.selected_candidate_id??"-",b?"-":d?.description??"-",b?"-":d?.price_basis??"-",b?null:d?.price??null,D,b?"-":m,p_(c)])}i.push(Array(al.length).fill(null));let o=Array(al.length).fill(null);o[0]="Estimated total",o[u_]=n,i.push(o),i.push(["DISCLAIMER: These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence.",...Array(al.length-1).fill(null)]);let l=t.utils.aoa_to_sheet(i);l["!cols"]=[{wch:12},{wch:12},{wch:44},{wch:24},{wch:8},{wch:8},{wch:28},{wch:28},{wch:16},{wch:10},{wch:12},{wch:24},{wch:24},{wch:24},{wch:22},{wch:14},{wch:14},{wch:18},{wch:24},{wch:16},{wch:48},{wch:16},{wch:40},{wch:10},{wch:10},{wch:12},{wch:11},{wch:26}],t.utils.book_append_sheet(a,l,"Schedule match"),t.writeFile(a,`schedule-quote-${r}.xlsx`)}var tl=["Product ID","Description","Costing mode","Required amount","Req unit","Sell unit size","Sell unit","Required sell units","Unit price","Line total"];async function cv(e,t){let a=await lv(),r=a.utils.book_new(),i=new Date().toISOString().slice(0,10),n=t?[["Account",t.name+" ("+t.id+")"],[],tl]:[tl],o=0;for(let p of e){let d=Ft(p),g=d.lineTotal;g!=null&&(o+=g),n.push([p.productId,p.description,d.costingMode,d.requestedAmount,Na(d.requestedUnit),d.salesUnitSize,Na(d.sellUnit),d.requiredSellUnits,d.unitPrice,g])}n.push(Array(tl.length).fill(null));let l=Array(tl.length).fill(null);l[0]="Estimated total",l[tl.length-1]=o,n.push(l);let c=a.utils.aoa_to_sheet(n);c["!cols"]=[{wch:14},{wch:48},{wch:12},{wch:14},{wch:10},{wch:14},{wch:10},{wch:16},{wch:12},{wch:14}],a.utils.book_append_sheet(r,c,"Basket"),a.writeFile(r,t?`basket-${t.id}-${i}.xlsx`:`basket-${i}.xlsx`)}var s=G(ee()),_d="__none__",rl=24,d_=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}];function mv(e){return e==null?"low":e>=.7?"high":e>=.5?"medium":"low"}var m_=e=>e.attrs.supply_nature==="labour_only"||e.attrs.supply_nature==="plant"||e.flags.includes("referential");function f_(e,t){if(t!==_d){if(t)return e?.candidates.find(a=>a.product_id===t);if(e?.decision?.selected_candidate_id!=null)return e.candidates.find(a=>a.product_id===e.decision.selected_candidate_id)}}function uv(e){return{product_id:e.productId,description:e.description,source_list:null,price:e.price,price_basis:e.priceBasis,uoi_count:e.uoiCount??null,uoi:e.uoi,pdp_photo_url:e.pdpPhotoUrl??null,measurements_mm:e.measurementsMm??[],conversion:{sale_unit:e.saleUnit,sale_unit_quantity:e.saleUnitQuantity,unit_conversions:e.unitConversions?.map(t=>({request_uom:t.requestUom,quantity_per_sale_unit:t.quantityPerSaleUnit,evidence:t.evidence,confidence:t.confidence})),sales_uom_normalised:e.salesUomNormalised,conversion_type:e.conversionType,request_uoms_supported:e.requestUomsSupported,sales_unit_size:e.salesUnitSize,sales_unit_size_uom:e.salesUnitSizeUom,coverage_qty:e.coverageQty,coverage_uom:e.coverageUom,items_per_pallet:e.itemsPerPallet,items_per_pack:e.itemsPerPack,items_per_box:e.itemsPerBox,items_per_m2:e.itemsPerM2,waste_factor_default:e.wasteFactorDefault,rounding_rule:e.roundingRule,derived_coverage_m2:e.derivedCoverageM2,derived_length_m:e.derivedLengthM,quote_qty_formula_type:e.quoteQtyFormulaType,conversion_confidence:e.conversionConfidence,conversion_notes:e.conversionNotes},scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"manual_cart_selection"}}function h_(e){return e?e.replace(/_/g," "):"not stated"}function g_({band:e}){return(0,s.jsx)("span",{className:`status-dot status-dot--${e}`,title:e,children:(0,s.jsx)("span",{className:"status-dot__mark"})})}function zn(e,t){if(e==null)return"-";let a=el(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function xd(e){return e&&e.length>0?e.join(" x "):"-"}function b_(e){return e==null?"-":Number.isInteger(e/1e3)?`${e/1e3}m`:`${(e/1e3).toFixed(1)}m`}function Tn(e){let t=(e??[]).map(a=>a.trim()).filter(Boolean);return t.length>0?t.join(", "):"-"}function Jr(e,t){let a=typeof e.description_original=="string"?e.description_original.trim():"";return(typeof e.customer_display_label=="string"?e.customer_display_label.trim():"")||a||"(no description)"}function w_(e,t){return t>0||e==null?null:lt(e)}var pv=[{background:"#fff7ed",borderColor:"#fdba74",color:"#9a3412"},{background:"#eff6ff",borderColor:"#93c5fd",color:"#1d4ed8"},{background:"#ecfeff",borderColor:"#67e8f9",color:"#0f766e"},{background:"#f0fdf4",borderColor:"#86efac",color:"#166534"},{background:"#fdf4ff",borderColor:"#f0abfc",color:"#a21caf"}];function v_(e){let t=new Map;return[...new Set(e.filter(mr).map(r=>r.linked_group_id))].forEach((r,i)=>{let n=i%26;t.set(r,{token:String.fromCharCode(65+n),bubbleStyle:pv[i%pv.length]})}),t}function mr(e){return!1}function An(e){if(!e.linked_group_id)return null;let t=e.linked_group_label||"Linked group",a=e.linked_group_role==="anchor"?"anchor":e.linked_group_role==="dependent"?"dependent":"member",r=e.linked_group_shared_width_mm!=null?`, ${e.linked_group_shared_width_mm}mm family`:"";return`${t} (${a}${r})`}function yd({meta:e}){return e?(0,s.jsx)("span",{className:"results-linked-pill",style:e.bubbleStyle,children:`Link ${e.token}`}):null}function y_(e,t,a){let r=t?.rerank?.recommendedCandidateIds??[];if(r.length===0){let o=e.slice(0,5),l=o.some(c=>c.product_id===a)?void 0:e.find(c=>c.product_id===a);return l?[...o,l]:o}let i=new Map(e.map(o=>[o.product_id,o])),n=r.map(o=>i.get(o)).filter(o=>o!=null);if(a&&!n.some(o=>o.product_id===a)){let o=i.get(a);o&&n.unshift(o)}return[...new Map(n.map(o=>[o.product_id,o])).values()].slice(0,5)}function Fs(e){let t=e?.rerank?.recommendedCandidateIds??[];if(t.length===0||!e)return[];let a=new Map(e.candidates.map(r=>[r.product_id,r]));return t.map(r=>a.get(r)).filter(r=>r!=null)}function Ws(e){if(e>=6e4){let t=Math.floor(e/6e4),a=Math.round(e%6e4/1e3);return a===60?`${t+1}m`:`${t}m ${a}s`}return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}s`:`${e}ms`}function __({processStages:e,llmCalls:t,totalDurationMs:a,llmDurationMs:r,llmCallCount:i}){let n=[...t].sort((l,c)=>c.durationMs-l.durationMs).slice(0,12),o=Math.max(0,t.length-n.length);return(0,s.jsxs)("div",{className:"results-detail-block",style:{marginBottom:18},children:[(0,s.jsx)("h3",{style:{margin:"0 0 12px"},children:"Pipeline timings"}),(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:12},children:[(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ws(a)})," total"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:i})," LLM calls"]}),(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:Ws(r)})," LLM time"]})]}),(0,s.jsxs)("table",{className:"score-breakdown-table",style:{marginBottom:14},children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Process stage"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:e.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ws(l.durationMs)})]},`${l.key}-${c}`))})]}),t.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{style:{margin:"0 0 10px"},children:"LLM calls"}),(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Call"}),(0,s.jsx)("th",{children:"Duration"})]})}),(0,s.jsx)("tbody",{children:n.map((l,c)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:l.label}),(0,s.jsx)("td",{children:Ws(l.durationMs)})]},`${l.key}-${c}`))})]}),o>0&&(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Showing slowest ",n.length," of ",t.length," LLM calls."]})]})]})}function x_({queries:e}){return e.length===0?null:(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Retrieval by procurement query"}),e.map((t,a)=>(0,s.jsxs)("div",{style:{marginBottom:16},children:[(0,s.jsxs)("div",{className:"results-row-meta",style:{marginBottom:6},children:["Query: ",(0,s.jsx)("strong",{children:t.query})]}),t.candidates.length===0?(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates returned for this query."}):(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Unit"}),(0,s.jsx)("th",{children:"bm25"})]})}),(0,s.jsx)("tbody",{children:t.candidates.slice(0,5).map((r,i)=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:r.description}),(0,s.jsx)("div",{className:"results-row-meta",children:r.product_id})]}),(0,s.jsx)("td",{children:xd(r.measurements_mm)}),(0,s.jsx)("td",{children:el(r.price_basis)||"-"}),(0,s.jsx)("td",{children:r.bm25.toFixed(2)})]},`${r.product_id}-${i}`))})]})]},`${t.query}-${a}`))]})}function dv({item:e,result:t}){let a=t?.retrieval_debug.map(i=>i.query).filter(Boolean)??[],r=[["Procurement intent",e.procurement_intent||"-"],["Procurement aliases",Tn(e.procurement_aliases)],["Retrieval queries",Tn(a)],["Category",e.attrs.category||"-"],["Fine category",e.attrs.category_fine||"-"],["Brand",e.attrs.brand||"-"],["Material",e.attrs.material||"-"],["Grade / standard",e.attrs.grade_standard||"-"],["Treatment",e.attrs.treatment||"-"],["Supply nature",e.attrs.supply_nature||"-"],["Measurements (mm)",xd(e.attrs.measurements_mm)],["Stock length",b_(e.attrs.stock_length_mm)],["Matching mode",e.matching_mode||"-"],["Build-up type",e.build_up_type||"-"],["Layer count",e.layer_count!=null?String(e.layer_count):"-"],["Required thickness (mm)",e.total_required_thickness_mm!=null?String(e.total_required_thickness_mm):"-"],["Allowed layer thicknesses (mm)",e.acceptable_layer_thicknesses_mm.length>0?e.acceptable_layer_thicknesses_mm.join(", "):"-"],["Installation clues",Tn(e.installation_clues)],["System clues",Tn(e.system_clues)],["Component requirements",Tn(e.component_requirements)],["Linked group",An(e)||"-"],["Flags",Tn(e.flags)]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Search context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:r.map(([i,n])=>(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:i}),(0,s.jsx)("dd",{children:n})]},i))})]})}function k_({item:e}){let t=e.decomposition_debug;return t?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Decomposition"}),(0,s.jsxs)("dl",{className:"results-detail-grid",children:[(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Attempted"}),(0,s.jsx)("dd",{children:t.attempted?"yes":"no"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Applied"}),(0,s.jsx)("dd",{children:t.applied?"yes":"no"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned items"}),(0,s.jsx)("dd",{children:t.returned_item_count??"-"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Reason"}),(0,s.jsx)("dd",{children:t.reason||"-"})]}),(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:"Returned intents"}),(0,s.jsx)("dd",{children:t.items.length>0?t.items.map(a=>`${a.intent}${a.inherits_quantity?" (inherits qty)":""}`).join(", "):"-"})]})]})]}):null}function N_({result:e}){let t=e?.adjudication_debug;if(!t)return null;let a=[["Dependent rerank applied",t.dependent_rerank_applied?"yes":"no"],["Linked parent selected product",t.linked_parent_selected_candidate_description||t.linked_parent_selected_candidate_id||"-"],["Dimension reason overridden",t.dimension_reason_overridden?"yes":"no"]];return(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsx)("h4",{style:{margin:"0 0 12px"},children:"Adjudication context"}),(0,s.jsx)("dl",{className:"results-detail-grid",children:a.map(([r,i])=>(0,s.jsxs)(ke.Fragment,{children:[(0,s.jsx)("dt",{children:r}),(0,s.jsx)("dd",{children:i})]},r))}),t.rerank_line_item_input?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h5",{style:{margin:"12px 0 8px"},children:"Rerank input"}),(0,s.jsx)("pre",{className:"results-pre",children:JSON.stringify(t.rerank_line_item_input,null,2)})]}):null]})}function S_({item:e,decision:t,result:a,showRetrievalDebug:r,reviewOnly:i=!1,linkedGroupMeta:n}){if(!t)return null;let o=t.technical_classification==="no_suitable_candidate"?"Exact match not found:":`AI review (${t.confidence??"confidence not stated"}):`;return i?t.reason?(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",n?`Link ${n.token} - `:"",An(e)]}):null]}):null:!t.reason&&!r?(0,s.jsx)(dv,{item:e,result:a}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(dv,{item:e,result:a}),r&&(0,s.jsx)(k_,{item:e}),r&&(0,s.jsx)(N_,{result:a}),t.reason&&(0,s.jsxs)("div",{className:"results-detail-block",children:[(0,s.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,s.jsx)("strong",{children:o}),"\xA0",t.reason]}),mr(e)?(0,s.jsxs)("p",{className:"results-row-meta",style:{marginTop:8},children:["Linked context: ",n?`Link ${n.token} - `:"",An(e)]}):null]}),r&&(0,s.jsx)(x_,{queries:a?.retrieval_debug??[]})]})}function C_({item:e,candidates:t,result:a,decision:r,unmatchable:i,selectedProductId:n,detailMode:o,onPick:l,onClear:c,showAll:p=!1,internal:d=!1,debugEnabled:g=!1,forceReviewNote:m=!1,linkedGroupMeta:b}){let y=d||o==="detailed",T=g&&o==="detailed",D=y||m?(0,s.jsx)(S_,{item:e,decision:r,result:a,showRetrievalDebug:T,reviewOnly:m&&!y,linkedGroupMeta:b}):null;if(i)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"Classified as labour/plant or referencing another line item - skipped by design."})]});if(t.length===0)return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsx)("p",{className:"results-empty-hint",children:"No candidates were returned for this line item."})]});let f=p||d||o==="detailed"?t:y_(t,a,n);return(0,s.jsxs)(s.Fragment,{children:[D,(0,s.jsxs)("table",{className:"score-breakdown-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Product"}),(0,s.jsx)("th",{children:"Dims (mm)"}),(0,s.jsx)("th",{children:"Price"}),T&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{children:"dimension"}),(0,s.jsx)("th",{children:"grade"}),(0,s.jsx)("th",{children:"brand"}),(0,s.jsx)("th",{children:"fuzzy"}),(0,s.jsx)("th",{children:"bm25"}),(0,s.jsx)("th",{children:"overall"})]}),(0,s.jsx)("th",{"aria-label":"Actions"})]})}),(0,s.jsx)("tbody",{children:f.map((u,w)=>{let v=u.product_id===n;return(0,s.jsxs)("tr",{className:v?"score-breakdown-row--best":"",children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{children:u.description}),(0,s.jsx)("div",{className:"results-row-meta",children:u.product_id})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"unit-badge",children:xd(u.measurements_mm??u.debug?.candidate.measurements_mm)})}),(0,s.jsx)("td",{children:zn(u.price,u.price_basis)}),T&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:(u.scores?.dimension??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.grade??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.brand??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.fuzzy??0).toFixed(2)}),(0,s.jsx)("td",{children:(u.scores?.bm25??0).toFixed(2)}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,s.jsx)(g_,{band:mv(u.scores?.overall)}),(0,s.jsx)("span",{className:"results-overall-cell",children:(u.scores?.overall??0).toFixed(2)})]})})]}),(0,s.jsx)("td",{children:(0,s.jsxs)("label",{className:"switch-toggle",title:v?"Currently selected":"Use this candidate",children:[(0,s.jsx)("input",{type:"checkbox",checked:v,onChange:()=>{v?c?.():l(u)},"aria-label":v?`${u.description} selected`:`Use ${u.description}`}),(0,s.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},`${u.product_id}-${w}`)})})]})]})}function kd({scheduleResult:e,onStartOver:t,cart:a,onAddToCart:r,onRemoveFromCart:i,onGoToBasket:n,cartSeeded:o,onCartSeeded:l,reviewGateComplete:c,onReviewGateComplete:p,internal:d=!1}){let g=!d&&Xs()==="QZA6-MRA4",m=g?"quote":"basket",{results:b,lineItems:y,parseReport:T,timings:D}=e,[f,u]=(0,ke.useState)({}),w=Cn(),[v,S]=(0,ke.useState)({}),[R,z]=(0,ke.useState)({}),[A,Q]=(0,ke.useState)(""),[K,fe]=(0,ke.useState)(null),[Ue,Be]=(0,ke.useState)(1),Ye=jt().debug===!0,[Ne,ve]=(0,ke.useState)("simple"),[oe,se]=(0,ke.useState)(d?"list":"tile"),[ye,wt]=(0,ke.useState)(!1),[Ee,$]=(0,ke.useState)(null),[ue,Ze]=(0,ke.useState)(""),[pt,vt]=(0,ke.useState)([]),[He,de]=(0,ke.useState)(!1),[_e,Se]=(0,ke.useState)(null),[E,O]=(0,ke.useState)(!1),[re,ce]=(0,ke.useState)(null),ge=(0,ke.useRef)(null),[Ae,Pe]=(0,ke.useState)(new Set),[h,M]=(0,ke.useState)(new Set),[N,Y]=(0,ke.useState)(!1);(0,ke.useEffect)(()=>{Be(1)},[A,K,oe]);let Z=new Map(b.map(x=>[x.line_id,x])),k=v_(y),L=y.map(x=>{let H=Z.get(x.line_id),be=H?.decision,dt=m_(x),Je=f[x.line_id],ea=f_(H,Je),zi=a[x.line_id],Pv=Je===_d?void 0:v[x.line_id]??(zi&&zi.productId!==ea?.product_id?uv(zi):ea),um=dt?void 0:Pv,Jv=x.qty??0;return{item:x,result:H,decision:be,unmatchable:dt,best:um,qty:Jv,band:mv(um?.scores?.overall)}}),pe=L.some(x=>!x.unmatchable&&!x.best&&!h.has(x.item.line_id))?null:Is(Object.values(a),{wasteFactorEnabled:!1,wasteFactorOverride:0}),xe=0;for(let x of L){if(x.unmatchable||x.decision?.include_in_quote!==!0||!x.best)continue;let H=a[x.item.line_id];(!H||Ft(H).lineTotal==null)&&(xe+=1)}xe>0&&(pe=null);let xt=w_(pe,xe),it=x=>!x.unmatchable&&!x.best&&x.decision?.technical_classification!=="no_suitable_candidate"&&Fs(x.result).length>0,Et=x=>x.best??Fs(x.result)[0],Ir=L.filter(x=>!x.unmatchable&&!x.best).filter(x=>!h.has(x.item.line_id)),yc=L.filter(x=>h.has(x.item.line_id)),Yt=L;if(A.trim()){let x=A.trim().toLowerCase();Yt=Yt.filter(H=>H.item.description_original?.toLowerCase().includes(x)||Et(H)?.description?.toLowerCase().includes(x))}if(K){let x=K==="asc"?1:-1;Yt=[...Yt].sort((H,be)=>x*(H.item.description_original||"").localeCompare(be.item.description_original||""))}let br=Math.max(1,Math.ceil(Yt.length/rl)),kt=Math.min(Ue,br),qi=Yt.slice((kt-1)*rl,kt*rl),tm=qi.filter(x=>!x.unmatchable&&x.best),hx=qi.filter(x=>it(x)),_c=qi.filter(x=>!x.unmatchable&&(x.best||it(x))),am=qi.filter(x=>x.unmatchable||!x.best&&!it(x)),J=Ee?L.find(x=>x.item.line_id===Ee)??null:null,Gv=!d&&!c&&!J&&Ir.length>0,Yn=(0,ke.useRef)(null),Xn=()=>{let x=ge.current;if(!x)return;let{top:H,left:be,width:dt,height:Je}=x.getBoundingClientRect(),zi=x.querySelector(".bom-toolbar-btn")?.closest("td")?.getBoundingClientRect().left;ce({top:H,left:be,width:zi?zi-be:dt,height:Je})};(0,ke.useEffect)(()=>(window.addEventListener("scroll",Xn,!0),window.addEventListener("resize",Xn),()=>{window.removeEventListener("scroll",Xn,!0),window.removeEventListener("resize",Xn)})),(0,ke.useEffect)(()=>{let x=H=>{Yn.current&&!H.composedPath().includes(Yn.current)&&Yn.current.removeAttribute("open")};return document.addEventListener("click",x),()=>document.removeEventListener("click",x)},[]);let Ei=x=>{$(x),Ze("")},Yv=()=>{if(!Ee)return;let x=a[Ee];if(x){u(H=>({...H,[Ee]:x.productId})),S(H=>({...H,[Ee]:uv(x)}));return}u(H=>{let be={...H};return delete be[Ee],be}),S(H=>{let be={...H};return delete be[Ee],be})},Va=(x=!1)=>{let H=Ee?a[Ee]:void 0;!x&&H&&J?.best&&H.productId!==J.best.product_id&&!window.confirm("You have selected a new product. Leave without updating it?")||(x||Yv(),$(null),Y(!1))};Fo(E,()=>O(!1)),Fo(!!J&&!E,()=>Va());let Xv=x=>{if(Pe(H=>new Set(H).add(x)),Ir.some(H=>H.item.line_id!==x)){Va(!0);return}p(),Va(!0)},Vv=x=>{if(xc(x),M(H=>new Set(H).add(x)),Ir.some(H=>H.item.line_id!==x)){Va(!0);return}p(),Va(!0)},$v=()=>{M(x=>new Set([...x,...Ir.map(H=>H.item.line_id)])),p()},rm=()=>{J?.best&&(nm(J.item.line_id,J.best),r(Mi(J)),N?Xv(J.item.line_id):Va(!0))},im=am.length>0?(0,s.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,s.jsxs)("div",{className:"results-tile-section__head",children:[(0,s.jsx)("h3",{children:"Require Matching"}),(0,s.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,s.jsx)("div",{className:"results-unmatched-list",children:am.map(x=>{let{item:H,qty:be}=x;return(0,s.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>Ei(H.line_id),children:[(0,s.jsx)("span",{className:"results-unmatched-card__main",children:(0,s.jsx)("span",{className:"results-unmatched-card__title",children:Jr(H,y)})}),(0,s.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},H.line_id)})})]}):null,xc=x=>{u(H=>({...H,[x]:_d})),S(H=>({...H,[x]:void 0})),z(H=>({...H,[x]:void 0})),i(x)},kc=(x,H)=>{u(be=>({...be,[x]:H.product_id})),S(be=>({...be,[x]:H}))},nm=(x,H)=>{H.method==="catalogue_search"&&z(be=>({...be,[x]:H}))};function gx(){w("downloaded",{type:"schedule",lines:L.length}),sv(L.map(({item:x,best:H,qty:be,band:dt,unmatchable:Je,decision:ea})=>({item:x,best:H,qty:be,band:dt,unmatchable:Je,decision:ea})))}function Mi(x){let H=x.best??Fs(x.result)[0];return Pr(H,{lineId:x.item.line_id,description:x.item.description_original,unit:x.item.unit,qty:x.qty,linkedContext:x.item.linked_group_role==="dependent"&&x.item.linked_group_id?y.filter(be=>be.linked_group_id===x.item.linked_group_id&&be.linked_group_role==="anchor").slice(0,1).map(be=>{let dt=a[be.line_id];return{line_id:be.line_id,product_id:dt?.productId??null,measurements_mm:dt?.measurementsMm??be.attrs.measurements_mm,description:dt?.description??be.description_original,qty:be.qty,unit:be.unit,role:"anchor"}}):void 0})}(0,ke.useEffect)(()=>{if(!o){for(let x of L)!x.unmatchable&&x.best&&r(Mi(x));l()}},[o]),(0,ke.useEffect)(()=>{for(let x of L)!a[x.item.line_id]&&!x.unmatchable&&x.best&&r(Mi(x))},[e]),(0,ke.useEffect)(()=>{if(!Ee){vt([]),Se(null),de(!1);return}let x=ue.trim();if(!x){vt([]),Se(null),de(!1);return}let H=!1,be=window.setTimeout(async()=>{try{de(!0),Se(null);let dt=await fetch(pa(`/api/catalogue/search?q=${encodeURIComponent(x)}`),{headers:wi()}),Je=await ka(dt);if(!dt.ok)throw new Error(Je?.error||Je?.message||"Failed to search catalogue");H||vt(Array.isArray(Je?.items)?Je.items:[])}catch(dt){H||(vt([]),Se(dt?.message||"Failed to search catalogue"))}finally{H||de(!1)}},250);return()=>{H=!0,window.clearTimeout(be)}},[ue,Ee]);let Nc=Object.keys(a).length,Ma=ue.trim(),om=Fs(J?.result),ul=J?.decision?.technical_classification==="no_suitable_candidate"||!!J&&!J.best,lm=J?.decision?.technical_classification!=null,sm=J?.decision?.reason??(ul?"No catalogue candidate found. Refine the request or search the catalogue.":null),Zv=pt.map(x=>({product_id:x.product_id,description:x.description,source_list:x.source_list,price:x.price,price_basis:x.price_basis,uoi_count:x.uoi_count??null,uoi:x.uoi,pdp_photo_url:x.pdp_photo_url??null,conversion:x.conversion,measurements_mm:x.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"catalogue_search"})),Vn=Ma?Zv:om,Ti=J?R[J.item.line_id]:void 0,$n=!Ma&&Ti&&!Vn.some(x=>x.product_id===Ti.product_id)?[...Vn,Ti]:Vn,cm=(()=>{let x=$n.slice(0,Ma?12:3);return Ma||!Ti||x.some(H=>H.product_id===Ti.product_id)?x:[...x,Ti]})(),pl=!!J?.best&&a[J.item.line_id]?.productId===J.best.product_id,Kv=!!J?.best&&!!a[J.item.line_id]&&!pl;return(0,s.jsxs)("div",{className:"wizard-step entry-stage",children:[(0,s.jsxs)("div",{className:`quick-order-card${d?"":" quick-order-card--customer"}`,children:[(0,s.jsx)("div",{className:`quick-order-hero${d?"":" quick-order-hero--customer"}`,children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,s.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,s.jsx)("h1",{children:"Your Results"}),(0,s.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,s.jsx)("strong",{children:xt??"Review quantities"})," Est. total"]})]}),(0,s.jsx)("p",{children:"Each line item from your schedule matched against your catalogue, ranked by confidence."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{children:"Review your matched products"}),(0,s.jsxs)("p",{children:["Check you're happy with these items, then click ",g?"View Quote":"View Basket"," to continue."]})]}),(0,s.jsxs)("button",{type:"button",className:"results-total-action",onClick:n,"aria-label":g?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[(0,s.jsx)("small",{children:g?"View Quote":"View Basket"}),xt!=null&&(0,s.jsx)("strong",{children:xt})]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Qt,{})})]})]})}),(0,s.jsxs)("div",{className:"quick-order-panel",style:{paddingTop:16},children:[Ye&&(0,s.jsx)("div",{className:"results-summary",style:{marginBottom:12},children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn","aria-pressed":ye,onClick:()=>wt(x=>!x),children:ye?"Hide timings":"Show timings"})}),Ye&&ye&&(0,s.jsx)(__,{...D}),!g&&(0,s.jsx)("div",{className:"results-toolbar-row",children:!J&&(0,s.jsxs)("div",{className:"results-summary",style:{marginBottom:0},children:[xe>0&&(0,s.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,s.jsx)("strong",{children:xe})," need pricing"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:A,onChange:x=>Q(x.target.value),"aria-label":"Search line items"}),!d&&(0,s.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${oe==="tile"?" is-active":""}`,"aria-pressed":oe==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>se("tile"),children:(0,s.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,s.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,s.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,s.jsx)("button",{type:"button",className:`results-view-toggle__btn${oe==="list"?" is-active":""}`,"aria-pressed":oe==="list","aria-label":"List view",title:"List view",onClick:()=>se("list"),children:(0,s.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,s.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,s.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),Ye&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ve(x=>x==="simple"?"detailed":"simple"),children:Ne==="detailed"?"Hide detailed view":"Show detailed view"}),(0,s.jsxs)("details",{ref:Yn,style:{position:"relative"},children:[(0,s.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort line items",style:{fontSize:16},children:"\u21C5"}),(0,s.jsx)("div",{className:"sort-menu-panel",children:d_.map(x=>{let H=K===x.dir;return(0,s.jsxs)("button",{type:"button",className:`sort-menu-item${H?" is-active":""}`,onClick:()=>{fe(H?null:x.dir),Yn.current?.removeAttribute("open")},children:[(0,s.jsx)("span",{className:"sort-menu-item__check",children:H?"\u2713":""}),x.label]},x.dir)})})]})]})]})}),oe==="tile"||J?(0,s.jsxs)(s.Fragment,{children:[J?(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop",role:"dialog","aria-modal":"true","aria-label":"Product options",onClick:()=>Va(),children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal results-review-modal",onClick:x=>x.stopPropagation(),children:[(0,s.jsx)("button",{type:"button",className:"quick-order-workflow-close results-review-modal__close",onClick:()=>Va(),"aria-label":"Close product options",children:(0,s.jsx)(Jo,{})}),(0,s.jsx)("div",{className:"results-review-page",children:d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"results-review-page__top",children:[(0,s.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:()=>Va(),children:[(0,s.jsx)(Kr,{}),"Back to results"]}),(0,s.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[Ye&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ve(x=>x==="simple"?"detailed":"simple"),children:Ne==="detailed"?"Hide detailed info":"Show detailed info"}),(0,s.jsx)("div",{className:"results-review-searchbar",children:(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:ue,onChange:x=>Ze(x.target.value),"aria-label":"Search database candidates"})}),(0,s.jsx)("div",{className:"results-candidate-actions",children:(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>xc(J.item.line_id),children:"Clear selected product"})})]})]}),(0,s.jsxs)("div",{className:"results-review-page__hero",children:[(0,s.jsx)("div",{className:"results-review-page__image-wrap",children:(0,s.jsx)("img",{className:"fill-img results-review-page__image",src:Ga(Et(J)?.description||J.item.description_original,Et(J)?.product_id,Et(J)?.pdp_photo_url),alt:""})}),(0,s.jsxs)("div",{className:"results-review-page__summary",children:[(0,s.jsx)("h2",{children:Jr(J.item,y)}),(0,s.jsxs)("p",{className:"results-review-page__meta",children:[yi(J.qty)," ",Sa(J.item.unit,J.qty)]}),J.best?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:J.best.description}),J.best.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:zn(J.best.price,J.best.price_basis)}):null]}):Et(J)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-review-page__product",children:Et(J)?.description}),Et(J)?.price!=null?(0,s.jsx)("div",{className:"results-row-meta",children:zn(Et(J)?.price??null,Et(J)?.price_basis??null)}):null,(0,s.jsx)("div",{className:"results-row-meta",children:"Best reviewed alternative - not yet selected"})]}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),mr(J.item)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,s.jsx)(yd,{meta:k.get(J.item.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:An(J.item)})]}):null,(0,s.jsx)("div",{className:"results-review-page__actions",children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[J.item.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[J.item.line_id]?i(J.item.line_id):(J.best&&nm(J.item.line_id,J.best),r(Mi(J)))},disabled:!J.best,"aria-label":a[J.item.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[J.item.line_id]?"\u2713 Added":d?"+ Add to selection":`Add to ${m}`})})]})]}),He?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,!He&&_e?(0,s.jsx)("div",{className:"results-empty-card",children:_e}):null,!He&&!_e&&Ma&&Vn.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No candidate products match this database search."}):!He&&!_e?(0,s.jsx)(C_,{item:J.item,candidates:Vn,result:J.result,decision:J.decision,unmatchable:J.unmatchable,selectedProductId:J.best?.product_id??null,detailMode:Ne,linkedGroupMeta:mr(J.item)?k.get(J.item.linked_group_id):void 0,onPick:x=>kc(J.item.line_id,x),onClear:()=>xc(J.item.line_id),showAll:d||Ye||Ma.length>0,internal:d,debugEnabled:Ye,forceReviewNote:!0}):null]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"customer-review-request",children:[(0,s.jsx)("span",{className:"customer-review-eyebrow",children:"Original request"}),(0,s.jsx)("strong",{children:Jr(J.item,y)||"Original request"})]}),sm?(0,s.jsxs)("section",{className:"customer-review-ai",children:[(0,s.jsx)("strong",{children:ul?"Exact match not found:":"AI review:"})," ",sm]}):null,(0,s.jsxs)("section",{className:"customer-review-options",children:[(0,s.jsx)("div",{className:"customer-review-options__head",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:ul?"We couldn't find a suitable product":lm?"Choose a product":"We couldn't review this item"}),(0,s.jsx)("p",{children:ul?om.length>0?"These AI-reviewed alternatives may be useful, but need approval.":"Search the catalogue to choose an alternative.":lm?`Select the option you want to add to your ${m}.`:"Search the catalogue to choose a product."})]})}),!Ma&&$n.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:cm.map(x=>{let H=x.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${H?" is-selected":""}`,onClick:()=>kc(J.item.line_id,x),"aria-pressed":H,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Ga(x.description,x.product_id,x.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:x.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:x.price!=null?`\xA3${zn(x.price,x.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:H?"Selected":"Choose"})]},x.product_id)})}):null,$n.length>0&&(0,s.jsx)("div",{className:"customer-review-divider",children:(0,s.jsx)("span",{children:"or"})}),(0,s.jsxs)("label",{className:"customer-review-search",children:[(0,s.jsx)("span",{children:"Search our full catalogue"}),(0,s.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products...",value:ue,onChange:x=>Ze(x.target.value),"aria-label":"Search catalogue"})]}),Ma&&He?(0,s.jsx)("div",{className:"results-empty-card",children:"Searching catalogue\u2026"}):null,Ma&&!He&&_e?(0,s.jsx)("div",{className:"results-empty-card",children:_e}):null,Ma&&!He&&!_e&&$n.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No products match this search."}):null,Ma&&!He&&!_e&&$n.length>0?(0,s.jsx)("div",{className:"customer-review-option-grid",children:cm.map(x=>{let H=x.product_id===J.best?.product_id;return(0,s.jsxs)("button",{type:"button",className:`customer-review-option${H?" is-selected":""}`,onClick:()=>kc(J.item.line_id,x),"aria-pressed":H,children:[(0,s.jsx)("img",{className:"customer-review-option__image",src:Ga(x.description,x.product_id,x.pdp_photo_url),alt:"",width:64,height:64}),(0,s.jsx)("span",{className:"customer-review-option__copy",children:(0,s.jsx)("strong",{children:x.description})}),(0,s.jsx)("span",{className:"customer-review-option__price",children:x.price!=null?`\xA3${zn(x.price,x.price_basis)}`:"-"}),(0,s.jsx)("span",{className:"customer-review-option__state",children:H?"Selected":"Choose"})]},x.product_id)})}):null]}),J.best?Kv?(0,s.jsxs)("div",{style:{display:"grid",gap:8},children:[(0,s.jsx)("button",{type:"button",className:"cta-btn customer-review-add",onClick:()=>{rm()},children:(0,s.jsx)("span",{children:"Update product"})}),(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-add",onClick:()=>i(J.item.line_id),children:(0,s.jsx)("span",{children:`Remove from ${m}`})})]}):(0,s.jsx)("button",{type:"button",className:`cta-btn customer-review-add${pl?" cta-btn-secondary":""}`,onClick:()=>{pl?i(J.item.line_id):rm()},children:(0,s.jsx)("span",{children:pl?`Remove from ${m}`:`Add selected product to ${m}`})}):null,N?(0,s.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary customer-review-skip",onClick:()=>Vv(J.item.line_id),children:"Skip this item"}):null]})})]})}):null,(0,s.jsxs)("div",{className:"results-tile-layout",children:[Yt.length===0?(0,s.jsx)("div",{className:"results-empty-card",children:"No line items match the current search/filter."}):null,_c.length>0?(0,s.jsx)("section",{className:"results-tile-section","aria-label":"Matched and review items",children:(0,s.jsx)("div",{className:"results-tile-grid",children:_c.map(x=>{let{item:H,best:be,qty:dt}=x,Je=Et(x),ea=!be&&it(x);return(0,s.jsxs)("article",{className:"results-tile-card",children:[(0,s.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>Ei(H.line_id),"aria-label":`Review match for ${Jr(H,y)||"item"}`,children:[(0,s.jsxs)("div",{className:"results-tile-card__media",children:[ea||mr(H)?(0,s.jsxs)("div",{className:"results-tile-card__badges",children:[mr(H)?(0,s.jsx)(yd,{meta:k.get(H.linked_group_id)}):(0,s.jsx)("span",{}),ea?(0,s.jsx)("span",{style:{padding:"6px 10px",borderRadius:999,background:"#fef3c7",color:"#92400e",fontSize:12,fontWeight:700,lineHeight:1},children:"Partially matched"}):null]}):null,(0,s.jsx)("img",{className:"fill-img results-tile-card__image",src:Ga(Je?.description||H.description_original,Je?.product_id,Je?.pdp_photo_url),alt:""})]}),(0,s.jsxs)("div",{className:"results-tile-card__body",children:[Je?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"results-tile-card__heading",children:(0,s.jsx)("div",{className:"results-tile-card__title",children:Je.description})})}):(0,s.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line item."}),(0,s.jsx)("div",{className:"results-tile-card__match",children:Je?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"results-tile-card__match-label",children:ea?"\u21B3 partially matched from":"\u21B3 matched from"}),(0,s.jsx)("div",{className:"results-tile-card__match-name",children:Jr(H,y)}),mr(H)?(0,s.jsx)("div",{className:"results-row-meta",children:An(H)}):null]}):(0,s.jsx)("span",{className:"results-empty-hint",children:"No matched product selected."})})]}),(0,s.jsx)("span",{className:"results-tile-card__hover-prompt","aria-hidden":"true",children:"Click to view options"})]}),(0,s.jsxs)("div",{className:"results-tile-card__actions",children:[d&&(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Ei(H.line_id),children:"Review"}),(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[H.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>{a[H.line_id]?i(H.line_id):r(Mi(x))},disabled:!Je,"aria-label":a[H.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[H.line_id]?"\u2713 Added":d?"+ Add":`Add to ${m}`})]})]},H.line_id)})})}):null,im]})]}):(0,s.jsxs)(s.Fragment,{children:[re&&(0,s.jsx)("div",{className:"results-table__hover-overlay",style:re,"aria-hidden":"true",children:"Click to view options"}),(0,s.jsx)("div",{className:"bom-table-wrap",children:(0,s.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched line items",children:[(0,s.jsxs)("colgroup",{children:[(0,s.jsx)("col",{className:"col-item"}),(0,s.jsx)("col",{style:{width:"220px"}}),(0,s.jsx)("col",{style:{width:"100px"}}),Ne==="simple"&&(0,s.jsx)("col",{style:{width:"110px"}})]}),(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"bom-col-header",children:[(0,s.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,s.jsx)("th",{style:{textAlign:"center"},children:"Price"}),Ne==="simple"&&(0,s.jsx)("th",{style:{textAlign:"center"},children:d?"Selection":g?"Quote":"Basket"})]})}),(0,s.jsxs)("tbody",{children:[Yt.length===0&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:Ne==="simple"?4:3,className:"results-empty-hint",style:{padding:"16px 8px"},children:"No line items match the current search/filter."})}),_c.map(x=>{let{item:H,result:be,decision:dt,best:Je}=x;return(0,s.jsxs)("tr",{className:"bom-row results-table__review-row",onClick:()=>Ei(H.line_id),onMouseEnter:ea=>{ge.current=ea.currentTarget,Xn()},onMouseLeave:()=>{ge.current=null,ce(null)},children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("div",{className:"bom-component-name",children:Jr(H,y)}),mr(H)?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[(0,s.jsx)(yd,{meta:k.get(H.linked_group_id)}),(0,s.jsx)("div",{className:"results-row-meta",style:{marginTop:0},children:An(H)})]}):null]}),(0,s.jsx)("td",{children:Je?(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"results-match-cell-text",title:Je.description,children:Je.description}),Ne==="detailed"&&dt?.technical_classification&&(0,s.jsxs)("div",{className:"results-row-meta",children:[h_(dt.technical_classification),dt.approval_required?" - approval required":""]})]}):(0,s.jsx)("span",{className:"results-empty-hint"})}),(0,s.jsx)("td",{style:{textAlign:"center"},children:Je?.price!=null?zn(Je.price,Je.price_basis):"-"}),Ne==="simple"&&(0,s.jsx)("td",{style:{textAlign:"center"},children:(0,s.jsx)("button",{type:"button",className:`bom-toolbar-btn${a[H.line_id]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,style:{width:84,justifyContent:"center"},onClick:ea=>{ea.stopPropagation(),a[H.line_id]?i(H.line_id):r(Mi(x))},"aria-label":a[H.line_id]?d?"Remove from selection":`Remove from ${m}`:d?"Add to selection":`Add to ${m}`,children:a[H.line_id]?"\u2713 Added":d?"+ Add":`Add to ${m}`})})]},H.line_id)})]})]})}),im]}),!J&&br>1&&(0,s.jsxs)("div",{className:"results-pagination",children:[(0,s.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(kt-1)*rl+1,"\u2013",Math.min(kt*rl,Yt.length)," of ",Yt.length]}),(0,s.jsxs)("div",{className:"results-pagination-controls",children:[(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Be(kt-1),disabled:kt===1,children:"Previous"}),(0,s.jsxs)("span",{className:"results-pagination-page",children:["Page ",kt," of ",br]}),(0,s.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Be(kt+1),disabled:kt===br,children:"Next"})]})]}),(T.itemCount!=null||T.headingCount!=null||T.skippedCount!=null)&&(0,s.jsxs)("div",{className:"results-summary",style:{marginTop:16},children:[T.itemCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.itemCount})," items parsed"]}),T.headingCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.headingCount})," headings"]}),T.skippedCount!=null&&(0,s.jsxs)("span",{className:"summary-chip",children:[(0,s.jsx)("strong",{children:T.skippedCount})," rows skipped"]})]}),(0,s.jsxs)("div",{className:"disclaimer-box",children:[(0,s.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,s.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before purchase."})]}),!J&&(0,s.jsxs)("div",{className:"btn-row results-actions",children:[(0,s.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:(Nc>0,"0 1 30%"),gap:10,justifyContent:"center"},onClick:()=>O(!0),"aria-label":"Start over",children:[(0,s.jsx)(bd,{}),(0,s.jsx)("span",{children:"Start Over"})]}),Nc>0&&(0,s.jsxs)("button",{className:"cta-btn",style:{flex:"0 1 70%"},onClick:n,"aria-label":d?"View selection":g?"View quote":"View basket",children:[(0,s.jsxs)("span",{children:[d?"View Selection":g?"View Quote":"View Basket"," (",Nc,")"]}),(0,s.jsx)("span",{className:"arrow",children:(0,s.jsx)(Qt,{})})]})]})]})]}),Gv&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop review-gate-modal-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"review-gate-title",children:(0,s.jsxs)("section",{className:"quick-order-workflow-modal review-gate-modal",children:[(0,s.jsxs)("div",{className:"review-gate-modal__header",children:[(0,s.jsx)("h2",{id:"review-gate-title",children:"Choose products for these items"}),(0,s.jsx)("p",{children:"We couldn\u2019t find a clear match for these items, so we need your help. Select an option from the suggestions, search the catalogue, or leave the item out."})]}),(0,s.jsx)("div",{className:"review-gate-list",children:Ir.map(x=>{let H=Ae.has(x.item.line_id),be=it(x);return(0,s.jsx)("div",{className:`review-gate-item${H?" is-reviewed":""}`,children:(0,s.jsxs)("button",{type:"button",className:"review-gate-item__review",onClick:()=>{Y(!0),Ei(x.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Jr(x.item,y)}),(0,s.jsx)("span",{children:x.decision?.reason||(be?"A close alternative is available but needs confirmation.":"No product has been selected for this item yet.")})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:H?"Choice made":"Choose a product"})]})},x.item.line_id)})}),(0,s.jsx)("button",{type:"button",className:"review-gate-skip",onClick:$v,children:"Skip all"}),yc.length>0?(0,s.jsxs)("div",{className:"review-gate-skipped",children:[(0,s.jsx)("strong",{children:"Skipped"}),yc.map(x=>(0,s.jsxs)("button",{type:"button",className:"review-gate-item is-skipped",onClick:()=>{M(H=>{let be=new Set(H);return be.delete(x.item.line_id),be}),Y(!0),Ei(x.item.line_id)},children:[(0,s.jsxs)("span",{className:"review-gate-item__copy",children:[(0,s.jsx)("strong",{children:Jr(x.item,y)}),(0,s.jsx)("span",{children:`Not added to your ${m}.`})]}),(0,s.jsx)("span",{className:"review-gate-item__action",children:"Choose a product"})]},x.item.line_id))]}):null]})}),E&&(0,s.jsx)("div",{className:"modal-backdrop quick-order-modal-backdrop start-over-modal",role:"dialog","aria-modal":"true","aria-labelledby":"start-over-modal-title",children:(0,s.jsxs)("div",{className:"modal-card start-over-modal__card",children:[(0,s.jsx)("h2",{id:"start-over-modal-title",className:"modal-title",children:"Start over?"}),(0,s.jsxs)("p",{className:"modal-body",children:["This will clear the current results and ",g?"quote":"basket"," and take you back to the start."]}),(0,s.jsxs)("div",{className:"modal-actions",children:[(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-secondary",onClick:()=>O(!1),children:"Cancel"}),(0,s.jsx)("button",{type:"button",className:"modal-btn modal-btn-danger",onClick:()=>{O(!1),t()},autoFocus:!0,children:"Start Over"})]})]})})]})}var bt=G(Xe());var Ut=G(Xe()),fv=G(ee());function Rn(e){return JSON.stringify([e.productId,e.qty,e.unit,e.linkedContext??[]])}function q_(e,t){let a={...e,[t.lineId]:t};for(let[r,i]of Object.entries(a)){if(!i.linkedContext)continue;let n=i.linkedContext.find(l=>l.role==="anchor"&&l.line_id&&a[l.line_id]),o=n?.line_id?a[n.line_id]:void 0;if(!(!n||!o||n.product_id===o.productId&&n.description===o.description)){if(i.conversionType!=="basket_line_unit"){a[r]={...i,linkedContext:i.linkedContext.map(l=>l.line_id===n.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l)};continue}a[r]={...i,qty:0,sellUnitsOverride:null,linkedContext:i.linkedContext.map(l=>l.line_id===n.line_id?{...l,product_id:o.productId,measurements_mm:o.measurementsMm??[],description:o.description}:l),conversionType:null,requestUomsSupported:null,salesUomNormalised:null,salesUnitSize:null,salesUnitSizeUom:null,coverageQty:null,coverageUom:null,roundingRule:null,conversionConfidence:null,conversionNotes:null}}}return a}var Nd=(0,Ut.createContext)(null);function ec({children:e,onOpenBasket:t}){let[a,r]=(0,Ut.useState)({}),i=(0,Ut.useCallback)(m=>{r(b=>q_(b,m))},[]),n=(0,Ut.useCallback)(m=>{r(b=>{let y={...b};for(let T of m)y[T.lineId]=T;return y})},[]),o=(0,Ut.useCallback)(m=>{r(b=>{let y={...b};return delete y[m],y})},[]),l=(0,Ut.useCallback)((m,b)=>{r(y=>y[m]?{...y,[m]:{...y[m],qty:b,sellUnitsOverride:null}}:y)},[]),c=(0,Ut.useCallback)((m,b)=>{r(y=>y[m]?{...y,[m]:{...y[m],sellUnitsOverride:b}}:y)},[]),p=(0,Ut.useCallback)(m=>{r(b=>{let y=!1,T={...b};for(let[D,f]of Object.entries(m))T[D]&&(T[D]={...T[D],...f},y=!0);return y?T:b})},[]),d=(0,Ut.useCallback)(()=>r({}),[]),g=(0,Ut.useMemo)(()=>({cart:a,count:Object.keys(a).length,addToCart:i,addManyToCart:n,removeFromCart:o,updateCartQty:l,updateCartSellUnits:c,updateCartConversions:p,clearCart:d,openBasket:t??(()=>{})}),[a,i,n,o,l,c,p,d,t]);return(0,fv.jsx)(Nd.Provider,{value:g,children:e})}function Un(){let e=(0,Ut.useContext)(Nd);if(!e)throw new Error("useCart must be used inside a <CartProvider>");return e}function tc(){return(0,Ut.useContext)(Nd)}var q=G(ee()),hv=.2,il=10,gv="Enter a valid email address so we can send your quote.",E_=(e,t)=>{let a=`${t.requestedAmount} ${Na(t.requestedUnit,t.requestedAmount)}`,r=`${t.requiredSellUnits} ${Na(t.sellUnit,t.requiredSellUnits??0)}`,i=e.unitConversions?.find(n=>n.requestUom===t.requestedUnit);return i&&i.quantityPerSaleUnit<1?`${a} requested \u2192 order ${r} (${Math.round(1/i.quantityPerSaleUnit)} ${Na(t.sellUnit,2)} per ${Na(t.requestedUnit,1)})`:e.coverageQty&&/^m per /i.test(e.coverageUom??"")?`${a} requested \u2192 order ${r} (${e.coverageQty} ${e.coverageUom})`:`${a} requested \u2192 order ${r}`},M_=e=>["box","pack"].includes(e.requestedUnit)?"Pack size needed to calculate the order quantity.":`This product is sold by ${Na(e.sellUnit,1)}.`;function T_(){return(0,q.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,q.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,q.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,q.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})}function nl(){return(0,q.jsx)("svg",{width:"8",height:"5",viewBox:"0 0 8 5",fill:"none",children:(0,q.jsx)("path",{d:"M1 4L4 1L7 4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function ol({cart:e,onUpdateQty:t,onUpdateSellUnits:a,onResolveConversions:r,onRemove:i,onBack:n,onStartNewQuote:o,onQuoteRequested:l,internal:c=!1}){let p=(0,bt.useId)(),d=!c&&Xs()==="QZA6-MRA4",g=Object.values(e),[m,b]=(0,bt.useState)(""),[y,T]=(0,bt.useState)(!1),[D,f]=(0,bt.useState)(!1),u=Cn(),[w,v]=(0,bt.useState)(""),[S,R]=(0,bt.useState)({}),[z,A]=(0,bt.useState)({}),[Q,K]=(0,bt.useState)(1),[fe,Ue]=(0,bt.useState)({}),[Be,Ye]=(0,bt.useState)(!1),[Ne,ve]=(0,bt.useState)("0"),[oe,se]=(0,bt.useState)({}),ye=(0,bt.useRef)(new Map);(0,bt.useEffect)(()=>{if(!r)return;for(let N of Object.values(e))Ft(N).requiredSellUnits!=null&&ye.current.delete(N.lineId);let h=Object.values(e).filter(N=>{if(N.productId==="-"||Ft(N).requiredSellUnits!=null)return!1;let Y=Rn(N);return ye.current.get(N.lineId)===Y?!1:(ye.current.set(N.lineId,Y),!0)});if(h.length===0)return;let M=new Map(h.map(N=>[N.lineId,Rn(N)]));se(N=>({...N,...Object.fromEntries(M)})),fetch(pa("/api/catalogue/resolve-conversions"),{method:"POST",headers:{"Content-Type":"application/json",...$r()},body:JSON.stringify({lines:h.map(N=>({line_id:N.lineId,product_id:N.productId,requested_description:N.requestedDescription??N.description,requested_qty:N.qty,requested_uom:N.unit||null,linked_context:N.linkedContext??[],selected_description:N.description,selected_uoi:N.uoi,selected_uoi_count:N.uoiCount,selected_conversion:{sales_uom_normalised:N.salesUomNormalised,conversion_type:N.conversionType,sales_unit_size:N.salesUnitSize,sales_unit_size_uom:N.salesUnitSizeUom,coverage_qty:N.coverageQty,coverage_uom:N.coverageUom}}))})}).then(N=>N.ok?ka(N):null).then(N=>{let Y={},Z=new Map(h.map(k=>[k.lineId,Rn(k)]));for(let k of N?.data?.items??N?.items??[]){let L=k?.conversion;if(!L||typeof k?.line_id!="string"||ye.current.get(k.line_id)!==Z.get(k.line_id))continue;let P=e[k.line_id];Y[k.line_id]={conversionType:L.conversion_type,requestUomsSupported:L.request_uoms_supported,salesUomNormalised:L.sales_uom_normalised,salesUnitSize:L.sales_unit_size,salesUnitSizeUom:L.sales_unit_size_uom,coverageQty:L.coverage_qty,coverageUom:L.coverage_uom,roundingRule:L.rounding_rule,conversionConfidence:L.conversion_confidence,conversionNotes:L.conversion_notes,...P?.qty===0&&Number.isFinite(L.suggested_order_qty)&&L.suggested_order_qty>0?{qty:L.suggested_order_qty,unit:L.suggested_order_uom||P.unit}:{}}}Object.keys(Y).length>0&&r(Y)}).catch(N=>console.error("Catalogue conversion resolution failed",N)).finally(()=>{se(N=>{let Y={...N};for(let[Z,k]of M)Y[Z]===k&&delete Y[Z];return Y})})},[e,r]);function wt(h){R(M=>{let N={...M};return delete N[h],N})}function Ee(h,M){let N=parseFloat(M);!isNaN(N)&&N>=0&&t(h,Math.min(N,1e5)),wt(h)}function $(h,M,N){t(h,Math.min(1e5,Math.max(0,M+N))),wt(h)}function ue(h){A(M=>{let N={...M};return delete N[h],N})}function Ze(h,M){let N=parseFloat(M);!isNaN(N)&&N>=0&&a(h,Math.min(N,1e5)),ue(h)}function pt(h,M,N){a(h,Math.min(1e5,Math.max(0,M+N))),ue(h)}async function vt(){if(He.some(({pricing:M})=>M.lineTotal==null)){v("Confirm the highlighted quantities before requesting a quote.");return}let h=m.trim();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(h)){v(gv);return}v(""),f(!0);try{let M=await fetch(pa("/api/quote-requests"),{method:"POST",headers:{"Content-Type":"application/json",...$r()},body:JSON.stringify({email:h,items:He.map(({item:N,pricing:Y})=>{let Z=Y.requiredSellUnits??Y.requestedAmount,k=Y.requiredSellUnits!=null?Y.sellUnit:Y.requestedUnit;return{product_id:N.productId,description:N.description,quantity:Z,unit:Na(k,Z),unit_price:Y.requiredSellUnits!=null?Y.unitPrice:null,line_total:Y.lineTotal}})})});if(!M.ok){let N=await ka(M);console.error("Quote request failed",M.status,N?.message),v(M.status===429?"You've sent a few requests already. Please try again in a few minutes.":"Your request couldn't be sent. Please try again, or contact us if it keeps happening.");return}Se!=null&&u("quote_requested",{items:He.length,total:Math.round(Se*100)/100}),T(!0),l?.(),window.scrollTo(0,0)}catch{v("Your request couldn't be sent. Check your connection and try again.")}finally{f(!1)}}let He=g.map(h=>({item:h,pricing:Ft(h,{wasteFactorEnabled:Be,wasteFactorOverride:Math.max(0,Number.parseFloat(Ne)||0)/100})})),de=Is(g,{wasteFactorEnabled:Be,wasteFactorOverride:Math.max(0,Number.parseFloat(Ne)||0)/100}),_e=de==null?null:de*hv,Se=de==null?null:de*(1+hv),E=He.filter(({pricing:h})=>h.lineTotal==null).length,O=Object.keys(oe).length,re=!!r&&g.some(h=>{if(h.productId==="-"||Ft(h).requiredSellUnits!=null)return!1;let M=Rn(h);return ye.current.get(h.lineId)!==M||oe[h.lineId]===M}),ce=(0,bt.useRef)({items:He.length,...Se==null?{}:{total:Math.round(Se*100)/100}});(0,bt.useEffect)(()=>{u("basket_viewed",ce.current)},[u]);let ge=Math.max(1,Math.ceil(He.length/il)),Ae=Math.min(Q,ge),Pe=He.slice((Ae-1)*il,Ae*il);return y?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",role:"status",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsx)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,q.jsx)("polyline",{points:"5 12.5 10 17.5 19 7"})})}),(0,q.jsx)("h1",{children:"Quote requested"}),(0,q.jsxs)("p",{children:["You're all done. We'll email your sharper price to ",(0,q.jsx)("strong",{children:m.trim()}),", usually within one working day."]}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Start a new quote"})}),(0,q.jsx)("p",{className:"quote-request-sent-note",children:"Nothing is charged until you approve the quote."})]})}):!c&&g.length===0?(0,q.jsx)("div",{className:"wizard-step entry-stage",children:(0,q.jsxs)("div",{className:"quote-request-sent",children:[(0,q.jsx)("div",{className:"quote-request-sent-icon","aria-hidden":"true",children:(0,q.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("path",{d:"M3 9h18l-2 11H5z"}),(0,q.jsx)("path",{d:"M8 9l4-6 4 6"})]})}),(0,q.jsx)("h1",{children:d?"Your quote request is empty":"Your basket is empty"}),(0,q.jsx)("p",{children:d?"Start again with your list to build your quote.":"Start again with your list to fill your basket."}),(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:o,children:(0,q.jsx)("span",{children:"Back to start"})})]})}):(0,q.jsx)("div",{className:`wizard-step entry-stage${d?" basket-layout--qza6-mra4":""}`,children:(0,q.jsxs)("div",{className:`quick-order-card${c?"":" quick-order-card--customer"}`,children:[(0,q.jsxs)("div",{className:`quick-order-hero${c?"":" quick-order-hero--customer"}`,children:[c&&(0,q.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,q.jsxs)("div",{className:"basket-hero-copy",children:[d&&(0,q.jsxs)("button",{type:"button",className:"cta-btn cta-btn-secondary basket-hero-back",onClick:n,children:[(0,q.jsx)(Kr,{}),(0,q.jsx)("span",{children:"Back to results"})]}),(0,q.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,q.jsx)("h1",{children:c?"Your Selection":d?"Request a quote":"Your Basket"}),c&&(0,q.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,q.jsx)("strong",{children:g.length})," ",g.length===1?"item":"items"]})]}),(0,q.jsx)("p",{children:c?"Review the items you've added before exporting them for review.":d?"Check your items and quantities below, and we'll do our best to beat list prices.":"Review your quantities and order summary before you buy."})]})]}),(0,q.jsx)("div",{className:"quick-order-panel",style:{paddingTop:16},children:re?(0,q.jsxs)("div",{className:"basket-resolving",role:"status","aria-label":"Calculating order quantities",children:[(0,q.jsx)("span",{className:"basket-resolving-wheel","aria-hidden":"true"}),(0,q.jsx)("span",{children:"Calculating your quantities\u2026"})]}):g.length===0?(0,q.jsxs)("div",{className:"quick-order-history-empty",children:[(0,q.jsx)("div",{className:"basket-empty-icon","aria-hidden":"true",children:"\u{1F4CB}"}),(0,q.jsx)("p",{children:"Your selection is empty."}),(0,q.jsx)("p",{className:"basket-empty-hint",children:"Go back to your results and add quoted items."}),(0,q.jsx)("div",{className:"btn-row",style:{marginTop:20,justifyContent:"center"},children:(0,q.jsx)("button",{className:"cta-btn",style:{width:"auto",maxWidth:280},onClick:n,"aria-label":"Back to results",children:(0,q.jsx)("span",{children:"Back to Results"})})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)("div",{className:"basket-layout",children:[(0,q.jsxs)("div",{className:"basket-main",children:[(0,q.jsx)("div",{className:"basket-list","aria-label":c?"Selection items":d?"Quote request items":"Basket items",children:Pe.map(({item:h,pricing:M})=>{let N=S[h.lineId]??String(M.requestedAmount),Y=M.requestedUnit===M.sellUnit||M.costingMode==="review",Z=M.requiredSellUnits==null||M.requestedAmount!==M.requiredSellUnits||M.requestedUnit!==M.sellUnit;return(0,q.jsxs)("article",{className:"basket-card",children:[(0,q.jsxs)("div",{className:"basket-card-top",children:[(0,q.jsx)("img",{className:"basket-card-thumb",src:Ga(h.description,h.productId,h.pdpPhotoUrl),alt:"",width:48,height:48}),(0,q.jsxs)("div",{className:"basket-card-info",children:[(0,q.jsx)("div",{className:"bom-component-name",children:h.description}),Z&&M.costingMode!=="review"&&(0,q.jsxs)("button",{type:"button",className:"basket-calc-toggle",onClick:()=>Ue(k=>({...k,[h.lineId]:!k[h.lineId]})),"aria-expanded":!!fe[h.lineId],children:["How we calculated this",(0,q.jsx)("span",{className:`basket-calc-toggle-chevron${fe[h.lineId]?" basket-calc-toggle-chevron--open":""}`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("div",{className:"basket-card-actions",children:(0,q.jsx)("button",{type:"button",className:"mf-remove-small-btn basket-card-remove",onClick:()=>i(h.lineId),"aria-label":`Remove ${h.description}`,children:(0,q.jsx)(T_,{})})})]}),c&&(0,q.jsxs)("div",{className:"results-detail-block basket-internal-detail",children:[(0,q.jsxs)("dl",{className:"results-detail-grid",children:[(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion type"}),(0,q.jsx)("dd",{children:h.conversionType??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Conversion confidence"}),(0,q.jsx)("dd",{children:h.conversionConfidence??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Sales unit"}),(0,q.jsx)("dd",{children:h.salesUnitSize!=null?(0,q.jsxs)(q.Fragment,{children:[h.salesUnitSize," ",Sa(h.salesUnitSizeUom,h.salesUnitSize)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Coverage"}),(0,q.jsx)("dd",{children:h.coverageQty!=null?(0,q.jsxs)(q.Fragment,{children:[h.coverageQty," ",Sa(h.coverageUom,h.coverageQty)]}):"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Waste factor"}),(0,q.jsx)("dd",{children:h.wasteFactorDefault??"-"})]}),(0,q.jsxs)("div",{children:[(0,q.jsx)("dt",{children:"Rounding rule"}),(0,q.jsx)("dd",{children:h.roundingRule??"-"})]})]}),h.conversionNotes&&(0,q.jsx)("p",{className:"results-rerank-note",children:h.conversionNotes})]}),M.costingMode==="review"?(0,q.jsxs)("p",{className:"basket-calc-text basket-calc-text--review",children:[(0,q.jsx)("strong",{children:oe[h.lineId]===Rn(h)?"Calculating order quantity\u2026":"Quantity needs confirmation."})," ",M_(M)]}):Z&&fe[h.lineId]?(0,q.jsx)("p",{className:"basket-calc-text",children:E_(h,M)}):null,(0,q.jsxs)("div",{className:"basket-card-stats",children:[(0,q.jsxs)("div",{className:"basket-stat",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Requested qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:N,disabled:Y,onChange:k=>R(L=>({...L,[h.lineId]:k.target.value})),onBlur:k=>Ee(h.lineId,k.target.value),onKeyDown:k=>{k.key==="Enter"&&k.target.blur()},"aria-label":`${h.description} requested quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",disabled:Y,onClick:()=>$(h.lineId,parseFloat(N)||0,1),"aria-label":`Increase ${h.description} quantity`,children:(0,q.jsx)(nl,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",disabled:Y,onClick:()=>$(h.lineId,parseFloat(N)||0,-1),"aria-label":`Decrease ${h.description} quantity`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:Sa(M.requestedUnit,parseFloat(N)||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--right",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Order qty"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsxs)("div",{className:"basket-qty-field",children:[(0,q.jsx)("input",{className:"bom-qty-edit",type:"number",inputMode:"decimal",min:"0",placeholder:"-",value:z[h.lineId]??String(M.requiredSellUnits??""),onChange:k=>A(L=>({...L,[h.lineId]:k.target.value})),onBlur:k=>Ze(h.lineId,k.target.value),onKeyDown:k=>{k.key==="Enter"&&k.target.blur()},"aria-label":`${h.description} order quantity`}),(0,q.jsxs)("div",{className:"basket-qty-arrows",children:[(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow",onClick:()=>pt(h.lineId,parseFloat(z[h.lineId]??String(M.requiredSellUnits??"0"))||0,1),"aria-label":`Increase ${h.description} order quantity`,children:(0,q.jsx)(nl,{})}),(0,q.jsx)("button",{type:"button",className:"basket-qty-arrow basket-qty-arrow--down",onClick:()=>pt(h.lineId,parseFloat(z[h.lineId]??String(M.requiredSellUnits??"0"))||0,-1),"aria-label":`Decrease ${h.description} order quantity`,children:(0,q.jsx)(nl,{})})]})]}),(0,q.jsx)("span",{className:"basket-metric-unit",children:Sa(M.sellUnit,parseFloat(z[h.lineId]??String(M.requiredSellUnits??"0"))||0)})]})]}),(0,q.jsxs)("div",{className:"basket-stat basket-stat--total",children:[(0,q.jsx)("span",{className:"basket-stat-label",children:"Total"}),(0,q.jsxs)("div",{className:"basket-stat-value",children:[(0,q.jsx)("strong",{children:M.lineTotal!=null?lt(M.lineTotal):"-"}),M.lineTotal!=null&&(0,q.jsx)("span",{className:"basket-metric-unit",children:"ex. VAT"})]})]})]})]},h.lineId)})}),ge>1&&(0,q.jsxs)("div",{className:"results-pagination",children:[(0,q.jsxs)("span",{className:"results-pagination-count",children:["Showing ",(Ae-1)*il+1,"\u2013",Math.min(Ae*il,He.length)," of ",He.length]}),(0,q.jsxs)("div",{className:"results-pagination-controls",children:[(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>K(Ae-1),disabled:Ae===1,children:"Previous"}),(0,q.jsxs)("span",{className:"results-pagination-page",children:["Page ",Ae," of ",ge]}),(0,q.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>K(Ae+1),disabled:Ae===ge,children:"Next"})]})]})]}),(0,q.jsxs)("aside",{className:"basket-sidebar",children:[(0,q.jsx)("div",{className:"basket-sidebar-title",children:d?"Quote request summary":"Order summary"}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:d?"List price (ex. VAT)":"Subtotal (ex. VAT)"}),(0,q.jsx)("span",{children:de==null?"To confirm":lt(de)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row",children:[(0,q.jsx)("span",{children:"VAT (20%)"}),(0,q.jsx)("span",{children:_e==null?"To confirm":lt(_e)})]}),(0,q.jsxs)("div",{className:"basket-sidebar-row basket-sidebar-row--total",children:[(0,q.jsx)("span",{children:d?"List price (inc.\xA0VAT)":"Total"}),(0,q.jsx)("span",{children:Se==null?"To confirm":lt(Se)})]}),!d&&(0,q.jsx)("div",{className:"basket-summary-waste",children:(0,q.jsxs)("div",{className:"basket-waste-control",children:[(0,q.jsxs)("label",{className:"basket-global-waste",children:[(0,q.jsx)("input",{type:"checkbox",checked:Be,onChange:h=>Ye(h.target.checked)}),(0,q.jsx)("span",{children:"Add waste factor"})]}),(0,q.jsxs)("label",{className:"basket-global-waste-percent",children:[(0,q.jsx)("input",{type:"number",inputMode:"decimal",min:"0",step:"0.1",value:Ne,onChange:h=>ve(h.target.value),disabled:!Be,"aria-label":"Waste factor percent"}),(0,q.jsx)("span",{children:"%"})]})]})}),(0,q.jsx)("label",{htmlFor:`${p}-basket-reference`,className:"basket-sidebar-label",children:d?"Enter email for your sharper quote":"Your reference (optional)"}),(0,q.jsx)("input",{id:`${p}-basket-reference`,type:d?"email":"text",className:"basket-sidebar-input",value:m,onChange:h=>{b(h.target.value),d&&v("")},placeholder:d?"you@example.com":"PO number or job reference","aria-invalid":d&&w===gv,"aria-describedby":d&&w?`${p}-basket-reference-error`:void 0}),d&&w&&(0,q.jsx)("p",{id:`${p}-basket-reference-error`,className:"basket-quote-request-error",role:"alert",children:w}),d?(0,q.jsx)("button",{type:"button",className:"cta-btn",onClick:()=>{vt()},disabled:D||E>0||O>0,"aria-busy":D,children:(0,q.jsx)("span",{children:D?"Sending\u2026":"Request our best quote"})}):(0,q.jsx)("button",{className:"cta-btn",onClick:()=>{u("downloaded",{type:"basket",items:g.length}),cv(g)},"aria-label":c?"Download selection":"Download basket",children:(0,q.jsx)("span",{children:c?"Download Quote":"Buy Now"})}),(0,q.jsxs)("p",{className:"basket-sidebar-disclaimer",children:[(0,q.jsx)("span",{"aria-hidden":"true",children:"\u26A0\uFE0F"}),d?"This is a quote request, not an order. We'll confirm our best price, availability and delivery before you approve.":"Prices and availability are estimates and should be confirmed before procurement."]})]})]}),(0,q.jsx)("div",{className:"btn-row results-actions",children:(0,q.jsxs)("button",{className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",gap:10,justifyContent:"center"},onClick:n,"aria-label":"Back to results",children:[(0,q.jsx)(Kr,{}),(0,q.jsx)("span",{children:"Back to results"})]})})]})})]})})}var Ca=G(ee()),Cd="metron-quick-quote";function ac(e){return(0,Ca.jsx)(ec,{children:(0,Ca.jsx)(z_,{...e})})}function z_({fullPage:e=!1,hideHeader:t=!1,internal:a=!1}){let[r,i]=(0,Le.useState)("entry"),[n,o]=(0,Le.useState)(null),[l,c]=(0,Le.useState)(""),p=(0,Le.useRef)(null),d=(0,Le.useRef)(0),[g,m]=(0,Le.useState)(0),[b,y]=(0,Le.useState)(null),[T,D]=(0,Le.useState)(!1),{cart:f,addToCart:u,addManyToCart:w,removeFromCart:v,updateCartQty:S,updateCartSellUnits:R,updateCartConversions:z,clearCart:A}=Un(),[Q,K]=(0,Le.useState)(!1),[fe,Ue]=(0,Le.useState)(null),Be=()=>{Ue(null);try{window.sessionStorage.removeItem(Js)}catch{}},Ye=(0,Le.useRef)(null),Ne=Ys("quick-quote",Ye);(0,Le.useEffect)(()=>{Ne("viewed")},[Ne]);let[ve,oe]=(0,Le.useState)(!1);(0,Le.useEffect)(()=>{let de=window.location.hash,_e=null;try{_e=JSON.parse(window.sessionStorage.getItem(Cd)??"null")}catch{}if(_e?.scheduleResult)o("schedule"),y(_e.scheduleResult),D(_e.reviewGateComplete),K(_e.cartSeeded),w(Object.values(_e.cart)),de==="#quote-request"?i("basket"):de==="#matched-products"&&i("results");else if(de==="#matched-products"||de==="#quote-request"){let Se=new URL(window.location.href);Se.hash="",window.history.replaceState(window.history.state,"",Se)}oe(!0)},[]),(0,Le.useEffect)(()=>{if(ve)try{b?window.sessionStorage.setItem(Cd,JSON.stringify({scheduleResult:b,reviewGateComplete:T,cartSeeded:Q,cart:f})):window.sessionStorage.removeItem(Cd)}catch{}},[ve,b,T,Q,f]);let se=(0,Le.useCallback)(de=>{if(typeof window>"u")return;let _e=new URL(window.location.href);_e.hash=de==="basket"?"quote-request":"matched-products";let Se=de==="results"&&(window.location.hash==="#matched-products"||window.location.hash==="#quote-request");window.history[Se?"replaceState":"pushState"]({boqQuoteStage:de},"",_e)},[]),ye=(0,Le.useRef)(!1);(0,Le.useEffect)(()=>{let de=_e=>{ye.current=!1;let Se=window.location.hash;Se==="#quote-request"?i("basket"):Se==="#matched-products"&&b?(o("schedule"),i("results")):i("entry");let E=_e.state,O=window.location.href;setTimeout(()=>{if(window.location.href===O){if(Se==="#quote-request"||Se==="#matched-products"||Se==="#quote-entry"){window.history.replaceState({boqQuoteStage:Se==="#quote-request"?"basket":Se==="#quote-entry"?"entry":"results"},"",O);return}!E?.turbo&&window.history.state?.turbo&&window.history.replaceState(E,"",O)}})};return window.addEventListener("popstate",de),()=>window.removeEventListener("popstate",de)},[b]);let wt=(0,Le.useCallback)(()=>{se("basket"),i("basket")},[se]),Ee=(0,Le.useCallback)(()=>{if(window.location.hash==="#quote-request"){if(ye.current)return;ye.current=!0,window.history.back();return}i(b?"results":"entry")},[b]),$=(0,Le.useRef)(r);(0,Le.useEffect)(()=>{$.current!==r&&($.current=r,window.scrollTo(0,0))},[r]);let ue=()=>{i("entry"),o(null),c(""),m(0),y(null),D(!1),A(),K(!1),Be()},Ze=(0,Le.useCallback)(async(de,_e,Se=!0)=>{let E=++d.current;c(""),m(0);let O=0,re=()=>{O=Math.min(O+1,3),m(O)};try{let{jobId:ce}=await cw(de,_e,Se);if(E!==d.current)return;let{promise:ge,cancel:Ae}=pw(()=>uw(ce),5e3,re,"schedule");p.current=Ae;let Pe=await ge;if(Pe.status==="failed"||!Pe.result)throw new Error(Pe.error||"Failed to process schedule");let h=Pe.result.lineItems.length,M=Pe.result.results.filter(N=>N.candidates.length>0).length;Ne("results_shown",{lines:h,matched:M,unmatched:h-M}),A(),K(!1),D(!1),y(Pe.result),se("results"),i("results")}catch(ce){if(E!==d.current)return;Ne("error",{stage:"matching"}),c(ce?.message||"Failed to process schedule"),i("entry")}finally{E===d.current&&(p.current?.(),p.current=null)}},[se,Ne,A]),pt=(0,Le.useCallback)(()=>{d.current++,p.current?.(),p.current=null},[]),vt=(0,Le.useCallback)(async(de,_e,Se=!0)=>{if(!de.trim())return;o("schedule");let E=new File([de],"pasted-schedule.txt",{type:"text/plain"});await Ze(E,_e,Se)},[Ze]),He=(0,Le.useCallback)(async de=>{o("schedule"),await Ze(de)},[Ze]);return(0,Ca.jsx)(Po.Provider,{value:Ne,children:(0,Ca.jsx)("div",{ref:Ye,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}${!e&&r==="processing"?" app-wrapper--loading":""}`,style:jt().theme,children:(0,Ca.jsxs)("main",{className:"main-content",children:[l&&(0,Ca.jsxs)("div",{className:"error-box",role:"alert",children:[(0,Ca.jsx)("strong",{children:"Error:"})," ",l]}),r==="entry"&&(0,Ca.jsx)(hd,{onPasteSchedule:vt,onUploadSchedule:He,onEntryModeChange:o,draft:fe,onSubmitDraft:Ue,onCancelMatch:pt}),r==="results"&&n==="schedule"&&b&&(0,Ca.jsx)(kd,{scheduleResult:b,onStartOver:ue,cart:f,onAddToCart:u,onRemoveFromCart:v,onGoToBasket:wt,cartSeeded:Q,onCartSeeded:()=>K(!0),reviewGateComplete:T,onReviewGateComplete:()=>D(!0),internal:a}),r==="basket"&&(0,Ca.jsx)(ol,{cart:f,onUpdateQty:S,onUpdateSellUnits:R,onResolveConversions:z,onRemove:v,onBack:Ee,onStartNewQuote:ue,onQuoteRequested:()=>{y(null),D(!1),K(!1),A(),Be()},internal:a})]})})})}var Xa=G(Xe());var xi=G(Xe()),W=G(ee()),bv=[{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"},{id:"ovolo",label:"Ovolo",blurb:"Traditional rounded profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"square-edge",label:"Square edge",blurb:"Clean contemporary edge"}],rc=e=>Number.parseFloat(e)||0,wv=(e,t)=>rc(e)*(t==="m"?1:.3048),qd=(e,t)=>rc(e.quantity)*(2*wv(e.height,t)+wv(e.width,t)),A_=()=>({quantity:"1",width:"",height:""});function R_({profile:e}){return(0,W.jsxs)("svg",{className:"architrave-calculator__profile-diagram",viewBox:"0 0 112 76","aria-hidden":"true",children:[(0,W.jsx)("path",{d:{ogee:"M18 62 V38 C18 28 28 22 40 22 H78 C88 22 94 28 94 38 V62",torus:"M18 62 V40 C18 27 30 20 42 20 C54 20 58 30 66 30 C74 30 78 20 90 20 C102 20 94 34 94 40 V62",ovolo:"M18 62 V38 C18 28 30 20 42 20 H70 C82 20 94 28 94 38 V62","pencil-round":"M18 62 V38 C18 28 28 20 40 20 H72 C84 20 94 28 94 38 V62","square-edge":"M18 62 V20 H94 V62"}[e]}),(0,W.jsx)("line",{x1:"12",y1:"66",x2:"100",y2:"66"})]})}function Ed({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,xi.useState)("m"),[n,o]=(0,xi.useState)({quantity:"1",width:"0.76",height:"1.98"}),[l,c]=(0,xi.useState)({quantity:"0",width:"1.52",height:"1.98"}),[p,d]=(0,xi.useState)([]),[g,m]=(0,xi.useState)("ogee"),[b,y]=(0,xi.useState)("2.4"),T=(S,R,z)=>{S(A=>({...A,[R]:z}))},D=qd(n,r)+qd(l,r)+p.reduce((S,R)=>S+qd(R,r),0),f=rc(b)>0?Math.ceil(D/rc(b)):0,u=bv.find(S=>S.id===g)?.label??"",w=[{key:`architrave-${g}`,label:`Architrave (${u})`,qty:D,unit:"m",query:`${u} architrave`,category:"architrave"}],v=(S,R,z,A)=>(0,W.jsxs)("div",{className:"architrave-calculator__opening-row",children:[(0,W.jsx)("span",{children:S}),(0,W.jsx)("input",{"aria-label":`${S} quantity`,type:"number",min:"0",step:"1",value:R.quantity,onChange:Q=>z("quantity",Q.target.value)}),(0,W.jsx)("input",{"aria-label":`${S} width`,type:"number",min:"0",step:"0.01",value:R.width,onChange:Q=>z("width",Q.target.value)}),(0,W.jsx)("input",{"aria-label":`${S} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:Q=>z("height",Q.target.value)}),A?(0,W.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:A,children:"Remove"}):null]});return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)("div",{className:"truss-estimator",children:[(0,W.jsxs)("div",{className:"quick-order-hero",children:[(0,W.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,W.jsx)("h1",{children:"Architrave Calculator"}),(0,W.jsx)("p",{children:"Estimate architrave lengths and board quantities for door openings."})]}),(0,W.jsxs)("div",{className:"truss-estimator__card architrave-calculator",children:[(0,W.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure your openings"}),(0,W.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each door or window opening. Mitred corners are allowed for, and board lengths are worked out from the net run."}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Door openings"}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Each opening is calculated as two side pieces plus one head piece."}),(0,W.jsxs)("div",{className:"architrave-calculator__unit-row",children:[(0,W.jsx)("span",{children:"Units"}),(0,W.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,W.jsx)("button",{type:"button",className:r==="m"?"is-selected":"",onClick:()=>i("m"),children:"Metres"}),(0,W.jsx)("button",{type:"button",className:r==="ft"?"is-selected":"",onClick:()=>i("ft"),children:"Feet"})]})]}),(0,W.jsxs)("div",{className:"architrave-calculator__dimensions-header",children:[(0,W.jsx)("span",{children:"Opening"}),(0,W.jsx)("span",{children:"Qty"}),(0,W.jsxs)("span",{children:["Width (",r,")"]}),(0,W.jsxs)("span",{children:["Height (",r,")"]}),(0,W.jsx)("span",{})]}),v("Single doors",n,(S,R)=>T(o,S,R)),v("Double doors",l,(S,R)=>T(c,S,R)),p.map((S,R)=>v(`Alternative door ${R+1}`,S,(z,A)=>d(Q=>Q.map((K,fe)=>fe===R?{...K,[z]:A}:K)),()=>d(z=>z.filter((A,Q)=>Q!==R)))),(0,W.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>d(S=>[...S,A_()]),children:"+ Add alternative-sized door"})]}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Standard profile"}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Choose the profile you plan to use. Length calculations are the same for each profile."}),(0,W.jsx)("div",{className:"architrave-calculator__profiles",children:bv.map(S=>(0,W.jsxs)("button",{type:"button",className:`truss-estimator__option-card${g===S.id?" is-selected":""}`,onClick:()=>m(S.id),children:[(0,W.jsx)(R_,{profile:S.id}),(0,W.jsx)("div",{className:"truss-estimator__option-title",children:S.label}),(0,W.jsx)("div",{className:"truss-estimator__option-copy",children:S.blurb})]},S.id))})]}),(0,W.jsxs)("div",{className:"architrave-calculator__section",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,W.jsx)("div",{className:"architrave-calculator__options",children:(0,W.jsxs)("label",{className:"truss-estimator__field",children:[(0,W.jsx)("span",{children:"Board length (m)"}),(0,W.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,W.jsx)("p",{className:"architrave-calculator__hint",children:"Waste allows for mitred corners, cuts and damaged lengths."})]}),(0,W.jsxs)("div",{className:"architrave-calculator__totals",children:[(0,W.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,W.jsxs)("div",{className:"architrave-calculator__result-grid",children:[(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:"Architrave needed"}),(0,W.jsxs)("strong",{children:[D.toFixed(2)," m"]})]}),(0,W.jsxs)("div",{children:[(0,W.jsx)("span",{children:"Board lengths"}),(0,W.jsx)("strong",{children:f})]})]})]}),(0,W.jsxs)("div",{className:"architrave-calculator__actions",children:[(0,W.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,W.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(w),disabled:D<=0,children:a})]})]})]})})}var ki=G(Xe()),ne=G(ee()),vv=60,yv=10,U_=.02,D_=.012,O_=.01,Dn=e=>Number.parseFloat(e)||0,B_=(e,t=2)=>e.toFixed(t);function Md({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,ki.useState)("brick"),[n,o]=(0,ki.useState)("engineering-red"),[l,c]=(0,ki.useState)("metric"),[p,d]=(0,ki.useState)(""),[g,m]=(0,ki.useState)(""),[b,y]=(0,ki.useState)(!0),T=l==="metric"?Dn(p)*Dn(g):Dn(p)*Dn(g)*.092903,f=T*(r==="brick"?vv:yv),u=Math.ceil(f),w=T*(r==="brick"?U_:D_),v=Math.ceil(w/O_),S=l==="metric"?T:T*10.7639,R=[{key:r==="brick"?`brick-${n}`:"block",label:r==="brick"?{common:"Common concrete bricks","engineering-red":"Red engineering bricks","engineering-blue":"Blue engineering bricks"}[n]:"Blocks",qty:u,unit:"each",query:r==="brick"?"facing brick":"concrete block",category:"masonry"},...b?[{key:"mortar",label:"Blue Circle Quality Assured Mortar Mix 20kg",qty:v,unit:"bag",query:"ready mixed mortar",category:"mortar"}]:[]],z=A=>{if(A===l)return;let Q=A==="imperial"?3.28084:.3048;d((Dn(p)*Q).toFixed(2)),m((Dn(g)*Q).toFixed(2)),c(A)};return(0,ne.jsx)(ne.Fragment,{children:(0,ne.jsxs)("div",{className:"truss-estimator",children:[(0,ne.jsxs)("div",{className:"quick-order-hero",children:[(0,ne.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ne.jsx)("h1",{children:"Brick and Block Calculator"}),(0,ne.jsx)("p",{children:"Estimate masonry units, sand and cement for a wall."})]}),(0,ne.jsxs)("div",{className:"truss-estimator__card brick-calculator",children:[(0,ne.jsx)("h2",{className:"truss-estimator__step-title",children:"Wall area and masonry type"}),(0,ne.jsx)("p",{className:"truss-estimator__step-sub",children:"Pick brick or block and enter the wall dimensions for unit counts plus ready-mixed mortar."}),(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Masonry type"}),(0,ne.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["brick","Brick"],["block","Block"]].map(([A,Q])=>(0,ne.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===A?" is-selected":""}`,onClick:()=>i(A),children:[(0,ne.jsx)("div",{className:"truss-estimator__option-title",children:Q}),(0,ne.jsxs)("div",{className:"truss-estimator__option-copy",children:["Approx. ",A==="brick"?vv:yv," per m\xB2"]})]},A))})]}),r==="brick"&&(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Brick type"}),(0,ne.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["common","Common concrete","General-purpose grey concrete brick"],["engineering-red","Engineering red","Class B perforated, 65mm"],["engineering-blue","Engineering blue","Class B solid, 65mm"]].map(([A,Q,K])=>(0,ne.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n===A?" is-selected":""}`,onClick:()=>o(A),children:[(0,ne.jsx)("div",{className:"truss-estimator__option-title",children:Q}),(0,ne.jsx)("div",{className:"truss-estimator__option-copy",children:K})]},A))})]}),(0,ne.jsxs)("div",{className:"brick-calculator__section",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,ne.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,ne.jsx)("button",{type:"button",className:l==="metric"?"is-selected":"",onClick:()=>z("metric"),children:"Metric"}),(0,ne.jsx)("button",{type:"button",className:l==="imperial"?"is-selected":"",onClick:()=>z("imperial"),children:"Imperial"})]}),(0,ne.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ne.jsxs)("label",{className:"truss-estimator__field",children:[(0,ne.jsxs)("span",{children:["Height (",l==="metric"?"m":"ft",")"]}),(0,ne.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:A=>d(A.target.value)})]}),(0,ne.jsxs)("label",{className:"truss-estimator__field",children:[(0,ne.jsxs)("span",{children:["Width (",l==="metric"?"m":"ft",")"]}),(0,ne.jsx)("input",{type:"number",min:"0",step:"0.01",value:g,onChange:A=>m(A.target.value)})]})]})]}),(0,ne.jsx)("div",{className:"brick-calculator__options",children:(0,ne.jsxs)("label",{className:"brick-calculator__checkbox",children:[(0,ne.jsx)("input",{type:"checkbox",checked:b,onChange:A=>y(A.target.checked)}),(0,ne.jsx)("span",{children:"Include ready-mixed mortar"})]})}),(0,ne.jsxs)("div",{className:"brick-calculator__totals",children:[(0,ne.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ne.jsxs)("div",{className:"brick-calculator__result-grid",children:[(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:"Wall area"}),(0,ne.jsxs)("strong",{children:[B_(S)," ",l==="metric"?"m\xB2":"ft\xB2"]})]}),(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:r==="brick"?"Bricks":"Blocks"}),(0,ne.jsx)("strong",{children:u.toLocaleString("en-GB")})]}),b?(0,ne.jsxs)("div",{children:[(0,ne.jsx)("span",{children:"Ready-mixed mortar"}),(0,ne.jsxs)("strong",{children:[v," x 20kg bags"]})]}):null]}),(0,ne.jsx)("p",{className:"brick-calculator__note",children:"Estimate based on standard nominal sizes and 10mm joints. Mortar bags are approximate; confirm the required mortar specification before ordering."})]}),(0,ne.jsxs)("div",{className:"brick-calculator__actions",children:[(0,ne.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ne.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(R),disabled:T<=0,children:a})]})]})]})})}var hr=G(Xe());var L_={"NZ4Y-ZMSQ":{"brick-block":{"brick-common":"105499","brick-engineering-red":"1654","brick-engineering-blue":"1723",block:"501",mortar:"646"},skirting:{"skirting-chamfered":"1525","skirting-ogee":"135 primed mdf ogee","skirting-pencil-round":"892","skirting-torus":"1941"},architrave:{"architrave-ogee":"134 primed mdf ogee","architrave-ovolo":"1531","architrave-pencil-round":"1896","architrave-square-edge":"118 primed mdf square","architrave-torus":"1531"},plasterboard:{standard:"1647",moisture:"11 moisture plasterboard",fire:"14 fire plasterboard",sound:"1769",screws:"131160",tape:"1766",adhesive:"108439"},insulation:{"insulation-floor":"152187","insulation-wall":"147","insulation-roof":"442","insulation-loft":"152180"},timber:{studs:"1213",joists:"208",battens:"1729"},fencing:{"panels-boundary-0.9":"66 lap fence panel","panels-boundary-1.2":"1450","panels-boundary-1.5":"1449","panels-boundary-1.8":"1448","panels-skyline-1.8":"1475","concrete-intermediate-8":"40197","concrete-end-8":"40198","timber-post-6":"141411","timber-post-8":"1709",postcrete:"12142",gate:"1984","gravel-boards":"40200"},decking:{"boards-summit":"24322",joists:"208",screws:"131079"},paving:{"surface-council":"23995","surface-raj":"12369","surface-brindle":"304","surface-charcoal":"296","surface-pea":"431","sub-base":"569",bedding:"563"}}};function Td(e,t){let a=L_[jt().client??""]?.[e];if(!a)return null;let r=e==="plasterboard"&&t.key==="board"?t.label.split(" ")[0].toLowerCase():t.key;return a[r]??null}function _v(e,t){let a=t.map(r=>{let i=Td(e,r);return i?{key:r.key,productId:i.split(" ")[0],search:i,qty:r.qty,unit:r.unit}:null});return a.length>0&&a.every(Boolean)?a:null}var xv=new Map;function H_(e){return{product_id:e.product_id,description:e.description,source_list:e.source_list??null,price:e.price??null,list_price:e.list_price,discount:e.discount,price_basis:e.price_basis??null,uoi_count:e.uoi_count??null,uoi:e.uoi??null,pdp_photo_url:e.pdp_photo_url??null,conversion:e.conversion,measurements_mm:e.measurements_mm??e.attrs?.measurements_mm??[],scores:{dimension:0,grade:0,brand:0,fuzzy:0,bm25:0,overall:0},method:"estimator_catalogue_search"}}async function fr(e,t,a=12,r){let i=`${jt().client??""}||${e}||${t??""}||${a}||${r??""}`,n=xv.get(i);if(n)return n;let o=new URLSearchParams({q:e,limit:String(a)});t&&o.set("category",t),r&&o.set("account",r);let l=await fetch(pa(`/api/catalogue/search?${o.toString()}`),{headers:wi()}),c=await ka(l);if(!l.ok)throw new Error(c?.error||c?.message||"Could not reach the product catalogue");let p=Array.isArray(c?.items)?c.items.map(H_):[];return xv.set(i,p),p}var j_=new Set(["bag","box","roll","pack"]),Q_=new Set(["each","bag","box","roll","pack","tub"]);function zd(e,t){let a=t?.uoi,r=a!=null&&Q_.has(a.toLowerCase())&&(t?.uoi_count??1)===1;return j_.has(e)&&r?a:e}async function kv(e,t,a){return await Promise.all(e.map(async i=>{try{let n=a?Td(a,i):null,[o,l]=await Promise.all([n?fr(n,void 0,void 0,t).then(p=>p.find(d=>d.product_id===n.split(" ")[0]),()=>{}):void 0,fr(i.query,i.category,void 0,t)]),c=o?[o,...l.filter(p=>p.product_id!==o.product_id)]:l;return{requirement:{...i,unit:zd(i.unit,c[0])},candidates:c}}catch{return{requirement:i,candidates:[]}}}))}async function Nv(){let e=await fetch(pa("/api/catalogue"),{headers:wi()});if(!e.ok)return{itemCount:0,uploadedAt:null};let t=await ka(e);return{itemCount:Number(t?.itemCount)||0,uploadedAt:t?.uploadedAt??null}}var X=G(ee()),G_=1.54,Y_=1440,X_=25,Ad=800,V_=1500,Rd=e=>Number.parseFloat(e)||0,On={mot:{label:"MOT Type 1",blurb:"Sub-base for patios and driveways",density:1.7,productId:"6001007"},"sharp-sand":{label:"Sharp sand",blurb:"Bedding and general groundwork",density:1.6,productId:"6001012"},gravel:{label:"20mm gravel",blurb:"Drainage and landscaping",density:1.6,productId:"6001004"}};function Ud({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let r=tc(),[i,n]=(0,hr.useState)("m"),[o,l]=(0,hr.useState)(""),[c,p]=(0,hr.useState)(""),[d,g]=(0,hr.useState)(""),[m,b]=(0,hr.useState)("concrete"),[y,T]=(0,hr.useState)("mot"),[D,f]=(0,hr.useState)(!1),[u,w]=(0,hr.useState)(null),v=i==="m"?1:.3048,S=Rd(o)*v*Rd(c)*v*Rd(d)*(i==="m"?.01:.0254),R=On[y],z=S*G_/7,A=z*Y_,Q=z*2,K=z*4,fe=Math.ceil(A/X_),Ue=Math.ceil(Q*On["sharp-sand"].density*1e3/Ad),Be=Math.ceil(K*On.gravel.density*1e3/Ad),Ye=Math.ceil(S*R.density*1e3/Ad),Ne=m==="concrete"?[{key:"cement",label:"Blue Circle General Purpose Grey Cement 25kg",qty:fe,productId:"6003004"},{key:"sharp-sand",label:"Sharp Sand Bulk Bag (800kg)",qty:Ue,productId:"6001012"},{key:"gravel",label:"20mm Non Decorative Pea Shingle/Gravel Bulk Bag (800kg)",qty:Be,productId:"6001004"}]:[{key:y,label:`${R.label} Bulk Bag (800kg)`,qty:Ye,productId:R.productId}],ve=()=>{if(t){t(Ne.map(se=>({key:se.key,label:se.label,qty:se.qty,unit:"each",query:se.productId})));return}oe()},oe=async()=>{let se=Date.now();f(!0),w(null);try{let ye=await Promise.all(Ne.map(async Ee=>{let $=(await fr(Ee.productId)).find(ue=>ue.product_id===Ee.productId);if(!$)throw new Error(`${Ee.label} is no longer available in this catalogue.`);return Pr($,{lineId:`concrete-aggregate:${Ee.key}`,description:Ee.label,unit:"bag",qty:Ee.qty})})),wt=V_-(Date.now()-se);wt>0&&await new Promise(Ee=>window.setTimeout(Ee,wt)),r?.clearCart(),r?.addManyToCart(ye),r?.openBasket()}catch(ye){w(ye instanceof Error?ye.message:"Could not add the products to your basket.")}finally{f(!1)}};return D?(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)("div",{className:"truss-estimator",children:[(0,X.jsxs)("div",{className:"quick-order-hero",children:[(0,X.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,X.jsx)("h1",{children:"Your Materials"}),(0,X.jsx)("p",{children:"Calculating quantities from the Concrete and Aggregate Calculator."})]}),(0,X.jsx)("div",{className:"truss-estimator__card",children:(0,X.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,X.jsx)(dr,{}),(0,X.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})}):(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)("div",{className:"truss-estimator",children:[(0,X.jsxs)("div",{className:"quick-order-hero",children:[(0,X.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,X.jsx)("h1",{children:"Concrete and Aggregate Calculator"}),(0,X.jsx)("p",{children:"Calculate fixed site-mix concrete ingredients or aggregate bulk bags."})]}),(0,X.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,X.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose what you need"}),(0,X.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the area and depth. The calculator adds the fixed Materials Market products directly to your basket."}),(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Material type"}),(0,X.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${m==="concrete"?" is-selected":""}`,onClick:()=>b("concrete"),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:"Site-mixed concrete"}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:"Cement, sharp sand and 20mm aggregate"})]}),(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${m==="aggregate"?" is-selected":""}`,onClick:()=>b("aggregate"),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:"Aggregates"}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:"MOT Type 1, sharp sand or 20mm gravel"})]})]})]}),m==="aggregate"&&(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Aggregate type"}),(0,X.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.keys(On).map(se=>(0,X.jsxs)("button",{type:"button",className:`truss-estimator__option-card${y===se?" is-selected":""}`,onClick:()=>T(se),children:[(0,X.jsx)("div",{className:"truss-estimator__option-title",children:On[se].label}),(0,X.jsx)("div",{className:"truss-estimator__option-copy",children:On[se].blurb})]},se))})]}),(0,X.jsxs)("div",{className:"materials-calculator__section",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and depth"}),(0,X.jsxs)("div",{className:"materials-calculator__unit-row",children:[(0,X.jsx)("span",{children:"Units"}),(0,X.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,X.jsx)("button",{type:"button",className:i==="m"?"is-selected":"",onClick:()=>n("m"),children:"Metric"}),(0,X.jsx)("button",{type:"button",className:i==="ft"?"is-selected":"",onClick:()=>n("ft"),children:"Imperial"})]})]}),(0,X.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,X.jsxs)("label",{className:"truss-estimator__field",children:[(0,X.jsxs)("span",{children:["Length (",i,")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.01",value:o,onChange:se=>l(se.target.value)})]}),(0,X.jsxs)("label",{className:"truss-estimator__field",children:[(0,X.jsxs)("span",{children:["Width (",i,")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.01",value:c,onChange:se=>p(se.target.value)})]})]}),(0,X.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,X.jsxs)("span",{children:["Depth (",i==="m"?"cm":"inches",")"]}),(0,X.jsx)("input",{type:"number",min:"0",step:"0.1",value:d,onChange:se=>g(se.target.value)})]})]}),(0,X.jsxs)("div",{className:"materials-calculator__totals",children:[(0,X.jsx)("div",{className:"truss-estimator__section-heading",children:"Materials required"}),(0,X.jsx)("div",{className:"materials-calculator__result-grid",children:m==="concrete"?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Cement"}),(0,X.jsxs)("strong",{children:[A.toFixed(0)," kg"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Sharp sand"}),(0,X.jsxs)("strong",{children:[Q.toFixed(2)," m\xB3"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"20mm aggregate"}),(0,X.jsxs)("strong",{children:[K.toFixed(2)," m\xB3"]})]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:R.label}),(0,X.jsxs)("strong",{children:[S.toFixed(2)," m\xB3"]})]}),(0,X.jsxs)("div",{children:[(0,X.jsx)("span",{children:"Approx. weight"}),(0,X.jsxs)("strong",{children:[(S*R.density).toFixed(2)," t"]})]}),(0,X.jsx)("div",{})]})}),(0,X.jsx)("p",{className:"materials-calculator__note",children:m==="concrete"?"Based on a 1:2:4 mix. Confirm the mix design for structural work.":"Figures are estimates. Confirm the specification and supplier quantities before ordering."})]}),u&&(0,X.jsx)("p",{className:"results-empty-hint estimator-products__error",children:u}),(0,X.jsxs)("div",{className:"materials-calculator__actions",children:[(0,X.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,X.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:ve,disabled:S<=0||D,children:D?"Adding products\u2026":a})]})]})]})})}var Ya=G(Xe());var U=G(ee()),Bn=12,Ln=8,ic=.56,Sv=.21,Ra={ranges:{meridian:{label:"Standard grooved timber",blurb:"32 \xD7 125mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.125},summit:{label:"Wide grooved timber",blurb:"32 \xD7 150mm pressure-treated softwood boards.",boardLengthM:3.6,boardWidthM:.15}},boardGapM:.006,wastage:{straight:.05,diagonal:.15},pictureFrame:{extraWastage:.08},joist:{spacingOptions:[{id:"300",label:"300mm centres (heavy duty)",spacingM:.3},{id:"400",label:"400mm centres (standard)",spacingM:.4},{id:"450",label:"450mm centres (light use)",spacingM:.45}]}},Ni=["range","grid","pictureFrame","substructure"],$_={range:null,colour:null,deckSizeMode:"quick",quickLengthM:"",quickWidthM:"",points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:"",pictureFrame:null,direction:null,deckHeightMode:"standard",deckHeightCm:"",joistSpacing:null,supportType:null,contact:{name:"",email:""}},nc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),oc=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),Z_=(e,t,a,r)=>{let i=nc(e,t,a),n=nc(e,t,r),o=nc(a,r,e),l=nc(a,r,t);return i===0&&oc(e,t,a)||n===0&&oc(e,t,r)||o===0&&oc(a,r,e)||l===0&&oc(a,r,t)?!0:i>0!=n>0&&o>0!=l>0},Dd=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1){let i=e[(r+1)%e.length];for(let n=r+1;n<a;n+=1)if(!(n===r+1||t&&r===0&&n===a-1)&&Z_(e[r],i,e[n],e[(n+1)%e.length]))return!0}return!1};function Od({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ya.useState)(0),[n,o]=(0,Ya.useState)($_),[l,c]=(0,Ya.useState)(1),[p,d]=(0,Ya.useState)({x:0,y:0}),[g,m]=(0,Ya.useState)(null),b=(0,Ya.useRef)(null),y=(0,Ya.useRef)(null),T=(0,Ya.useRef)(null),D=Ni[r],f=n.range?Ra.ranges[n.range]:null,u=Bn/l,w=Ln/l,v=(Bn-u)/2,S=(Ln-w)/2,R=Math.max(-Bn,Math.min(Bn*2-u,v+p.x)),z=Math.max(-Ln,Math.min(Ln*2-w,S+p.y)),A=Number.parseFloat(n.quickLengthM),Q=Number.parseFloat(n.quickWidthM),K=A>0&&Q>0,fe=E=>Math.abs(E.reduce((O,re,ce)=>{let ge=E[(ce+1)%E.length];return O+re.x*ge.y-ge.x*re.y},0))/2,Ue=(E,O)=>Math.hypot(O.x-E.x,O.y-E.y),Be=n.isOutlineClosed?fe(n.points):0,Ye=n.isOutlineClosed?n.points.reduce((E,O,re)=>E+Ue(O,n.points[(re+1)%n.points.length]),0):0,Ne=n.isOutlineClosed?n.points.reduce((E,O,re)=>E+(n.wallSegments.has(re)?0:Ue(O,n.points[(re+1)%n.points.length])),0):0,ve=n.points.reduce((E,O)=>({x:E.x+O.x/n.points.length,y:E.y+O.y/n.points.length}),{x:0,y:0}),oe=n.points.length>1?(()=>{let E=n.points[0],O=n.points[1],re=Ue(E,O),ce=re?-(O.y-E.y)/re:0,ge=re?(O.x-E.x)/re:0,Ae=(E.x+O.x)/2,Pe=(E.y+O.y)/2,h=ce*(Ae-ve.x)+ge*(Pe-ve.y)>=0?1:-1;return{x:Ae+ce*ic*h,y:Pe+ge*ic*h}})():null,ye=(()=>{let E=n.range?Ra.ranges[n.range]:Ra.ranges.meridian,O=n.deckSizeMode==="quick"?A*Q:Be,re=n.deckSizeMode==="quick"?2*(A+Q):Ne,ce=n.direction==="diagonal"?Ra.wastage.diagonal:Ra.wastage.straight,ge=n.pictureFrame==="yes"?Ra.pictureFrame.extraWastage:0,Pe=O/(E.boardWidthM+Ra.boardGapM)/E.boardLengthM,h=Math.ceil(Pe*(1+ce+ge)),M=Math.ceil(O*30*(1+ce+ge)/200),N=Ra.joist.spacingOptions.find(k=>k.id===n.joistSpacing)??Ra.joist.spacingOptions[1],Y=O/N.spacingM,Z=Math.ceil(Y);return{range:E,area:O,boardCount:h,screwBoxes:M,joistMetres:Z,spacing:N}})(),wt=ye?[{key:`boards-${n.range??"meridian"}`,label:`Deck boards (${ye.range.label})`,qty:ye.boardCount,unit:"each",query:"timber decking board",category:"decking",calculatorWasteIncluded:!0},{key:"joists",label:"Treated C24 joists",qty:ye.joistMetres,unit:"m",query:"treated joist",category:"timber",calculatorWasteIncluded:!0},{key:"screws",label:"Green decking screws (200/box)",qty:ye.screwBoxes,unit:"box",query:"green decking screws",category:"fixings",calculatorWasteIncluded:!0}]:[],Ee=()=>D==="range"?!!n.range:D==="grid"?n.deckSizeMode==="quick"?K:n.isOutlineClosed&&Be>0:D==="pictureFrame"?!!n.pictureFrame&&!!n.direction:D==="substructure"?!!n.joistSpacing:!0,$=r===Ni.length-1?a:"Next",ue=(E,O,re=!1)=>{let ce=T.current?.getBoundingClientRect();if(!ce)return null;let ge=re?1:.25;return{x:Math.round(Math.max(R,Math.min(R+u,R+(E-ce.left)/ce.width*u))/ge)*ge,y:Math.round(Math.max(z,Math.min(z+w,z+(O-ce.top)/ce.height*w))/ge)*ge}},Ze=E=>{if(n.isOutlineClosed){let re=E.target;if(re!==E.currentTarget&&!re.classList.contains("deck-outline__grid"))return;y.current={startX:E.clientX,startY:E.clientY,startViewX:R,startViewY:z},E.currentTarget.setPointerCapture(E.pointerId);return}if(n.drawMode!=="outline")return;let O=ue(E.clientX,E.clientY,!0);O&&(m(null),o(re=>{let ce=[...re.points,O];return Dd(ce,!1)?{...re,drawError:"Edges cannot cross. Choose another corner."}:{...re,points:ce,drawError:""}}))},pt=(E,O)=>{if(!n.isOutlineClosed){E.stopPropagation(),O===0&&n.points.length>=3&&o(re=>({...re,isOutlineClosed:!0,drawMode:"edges"}));return}E.stopPropagation(),b.current=O,E.currentTarget.setPointerCapture(E.pointerId)},vt=E=>{if(y.current){let ce=T.current?.getBoundingClientRect();if(!ce)return;let ge=y.current,Ae=ge.startViewX-(E.clientX-ge.startX)/ce.width*u,Pe=ge.startViewY-(E.clientY-ge.startY)/ce.height*w;d({x:Ae-v,y:Pe-S});return}!n.isOutlineClosed&&n.drawMode==="outline"&&m(ue(E.clientX,E.clientY,!0));let O=b.current;if(O===null)return;let re=ue(E.clientX,E.clientY);re&&o(ce=>{let ge=ce.points.map((Ae,Pe)=>Pe===O?re:Ae);return Dd(ge,!0)?{...ce,drawError:"Edges cannot cross. Move the corner to a different position."}:{...ce,points:ge,drawError:""}})},He=E=>{y.current=null,b.current=null,E.currentTarget.hasPointerCapture(E.pointerId)&&E.currentTarget.releasePointerCapture(E.pointerId)},de=E=>{o(O=>{let re=new Set(O.wallSegments);return re.has(E)?re.delete(E):re.add(E),{...O,wallSegments:re}})},_e=()=>{r===0?e():i(E=>E-1)},Se=()=>{Ee()&&(r===Ni.length-1?t?.(wt):i(E=>E+1))};return(0,U.jsx)(U.Fragment,{children:(0,U.jsxs)("div",{className:"truss-estimator",children:[(0,U.jsxs)("div",{className:"quick-order-hero",children:[(0,U.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,U.jsx)("h1",{children:"Decking Calculator"}),(0,U.jsx)("p",{children:"Estimate timber boards, joists and screws for your deck."})]}),(0,U.jsxs)("div",{className:"truss-estimator__card",children:[(0,U.jsxs)("div",{className:"truss-estimator__body",children:[D==="range"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your timber decking"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Both options are fixed, orderable pressure-treated timber boards."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(Ra.ranges).map(([E,O])=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.range===E?" is-selected":""}`,onClick:()=>o(re=>({...re,range:E})),children:[(0,U.jsx)("div",{className:"truss-estimator__option-title",children:O.label}),(0,U.jsx)("div",{className:"truss-estimator__option-copy",children:O.blurb}),(0,U.jsxs)("div",{className:"truss-estimator__option-copy",children:[O.boardLengthM,"m boards"]})]},E))})]}):null,D==="grid"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Tell us your deck size"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Start with a quick rectangle estimate, or draw an irregular deck for a more precise result."}),(0,U.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.deckSizeMode==="quick"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"quick"})),children:"Quick estimate"}),(0,U.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.deckSizeMode==="draw"?" is-selected":""}`,onClick:()=>o(E=>({...E,deckSizeMode:"draw",drawMode:"outline"})),children:"Draw your space"})]}),n.deckSizeMode==="quick"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Length (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:n.quickLengthM,onChange:E=>o(O=>({...O,quickLengthM:E.target.value}))})]}),(0,U.jsxs)("label",{className:"truss-estimator__field",children:[(0,U.jsx)("span",{children:"Width (m)"}),(0,U.jsx)("input",{type:"number",inputMode:"decimal",min:"0.1",step:"0.1",value:n.quickWidthM,onChange:E=>o(O=>({...O,quickWidthM:E.target.value}))})]})]}),(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:"For L-shaped decks, cut-outs, or sides against a wall, use Draw your space."}),K?(0,U.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,U.jsxs)("div",{children:[(A*Q).toFixed(2)," m\xB2 deck"]}),(0,U.jsxs)("div",{children:[(2*(A+Q)).toFixed(2)," m perimeter"]})]}):null]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Draw your deck"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Click to add corners, then close the outline. Drag any handle to refine it."}),(0,U.jsxs)("div",{className:"deck-outline__toolbar",children:[n.isOutlineClosed?(0,U.jsxs)("div",{className:"deck-outline__summary",children:[(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Deck area"}),(0,U.jsxs)("strong",{children:[Be.toFixed(2)," m\xB2"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Perimeter"}),(0,U.jsxs)("strong",{children:[Ye.toFixed(2)," m"]})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Wall edges"}),(0,U.jsx)("strong",{children:n.wallSegments.size>0?n.wallSegments.size:"None"})]}),(0,U.jsxs)("div",{children:[(0,U.jsx)("span",{children:"Visible edge"}),(0,U.jsxs)("strong",{children:[Ne.toFixed(2)," m"]})]})]}):null,(0,U.jsxs)("div",{className:"deck-outline__actions",children:[(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:E.points.slice(0,-1)})),disabled:n.points.length===0||n.isOutlineClosed,children:"Undo"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{m(null),o(E=>({...E,points:[],isOutlineClosed:!1,wallSegments:new Set,drawMode:"outline",drawError:""}))},disabled:n.points.length===0,children:"Clear"}),(0,U.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(E=>({...E,points:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5}],isOutlineClosed:!0,wallSegments:new Set,drawMode:"edges",drawError:""})),children:"Start with rectangle"})]})]}),(0,U.jsx)("div",{className:"deck-editor-layout",children:(0,U.jsxs)("div",{className:"deck-editor-layout__canvas-column",children:[(0,U.jsxs)("div",{className:"deck-outline",children:[(0,U.jsxs)("svg",{ref:T,className:`deck-outline__canvas${n.isOutlineClosed?" is-pan-mode":""}`,viewBox:`${R} ${z} ${u} ${w}`,preserveAspectRatio:"none","aria-label":"Deck outline drawing area",onPointerDown:Ze,onPointerMove:vt,onPointerUp:He,onPointerLeave:()=>{m(null),y.current||(b.current=null)},children:[(0,U.jsx)("defs",{children:(0,U.jsx)("pattern",{id:"deck-outline-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,U.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,U.jsx)("rect",{x:-Bn,y:-Ln,width:Bn*3,height:Ln*3,className:"deck-outline__grid",fill:"url(#deck-outline-grid)"}),n.points.length>1?(0,U.jsx)("polyline",{className:"deck-outline__preview",points:n.points.map(E=>`${E.x},${E.y}`).join(" ")}):null,n.isOutlineClosed?(0,U.jsx)("polygon",{className:"deck-outline__shape",points:n.points.map(E=>`${E.x},${E.y}`).join(" "),stroke:"none"}):null,n.points.length>1?n.points.slice(0,n.isOutlineClosed?void 0:-1).map((E,O)=>{let re=n.points[n.isOutlineClosed?(O+1)%n.points.length:O+1],ce=Ue(E,re),ge=ce?-(re.y-E.y)/ce:0,Ae=ce?(re.x-E.x)/ce:0,Pe=(E.x+re.x)/2,h=(E.y+re.y)/2,M=ge*(Pe-ve.x)+Ae*(h-ve.y)>=0?1:-1,N=Pe+ge*ic*M,Y=h+Ae*ic*M;return(0,U.jsxs)("g",{children:[(0,U.jsx)("line",{className:"deck-outline__edge-hit",x1:E.x,y1:E.y,x2:re.x,y2:re.y,onClick:n.isOutlineClosed?()=>de(O):void 0}),(0,U.jsx)("line",{className:`deck-outline__edge${n.wallSegments.has(O)?" is-wall":""}`,x1:E.x,y1:E.y,x2:re.x,y2:re.y,pointerEvents:"none"}),(0,U.jsxs)("text",{className:`deck-outline__edge-label${n.wallSegments.has(O)?" is-wall":""}`,x:N,y:Y,textAnchor:"middle",dominantBaseline:"central",fontSize:Sv/l,children:[ce.toFixed(2)," m"]})]},`segment-${O}`)}):null,!n.isOutlineClosed&&n.points.length>0&&g?(()=>{let E=n.points[n.points.length-1],O=Ue(E,g);if(!O)return null;let re=-(g.y-E.y)/O,ce=(g.x-E.x)/O,ge=(E.x+g.x)/2,Ae=(E.y+g.y)/2;return(0,U.jsxs)("g",{className:"deck-outline__live-measurement",children:[(0,U.jsx)("line",{x1:E.x,y1:E.y,x2:g.x,y2:g.y}),(0,U.jsxs)("text",{x:ge+re*.34,y:Ae+ce*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:Sv/l,children:[O.toFixed(2)," m"]})]})})():null,n.points.map((E,O)=>(0,U.jsx)("circle",{className:"deck-outline__point",cx:E.x,cy:E.y,r:"0.13",onPointerDown:re=>pt(re,O)},`point-${O}`))]}),(0,U.jsxs)("div",{className:"deck-outline__zoom","aria-label":"Zoom controls",children:[(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.max(.5,E-.25)),disabled:l===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,U.jsxs)("span",{children:[Math.round(l*100),"%"]}),(0,U.jsx)("button",{type:"button",onClick:()=>c(E=>Math.min(1,E+.25)),disabled:l===1,"aria-label":"Zoom in",children:"+"})]}),n.isOutlineClosed&&n.wallSegments.size===0&&oe?(0,U.jsx)("div",{className:"deck-outline__edge-prompt",role:"status",style:{left:`${(oe.x-R)/u*100}%`,top:`${(oe.y-z)/w*100}%`},children:"Tap an edge to mark it as a wall, or leave it as a visible edge."}):null,!n.isOutlineClosed&&n.points.length>=3?(0,U.jsx)("button",{type:"button",className:"deck-outline__close",onClick:()=>o(E=>Dd(E.points,!0)?{...E,drawError:"Edges cannot cross. Adjust the outline before finishing."}:{...E,isOutlineClosed:!0,drawMode:"edges",drawError:""}),children:"Finish outline"}):null]}),(0,U.jsxs)("div",{className:"deck-outline__supporting",children:[(0,U.jsx)("div",{className:"truss-estimator__grid-hint",children:n.isOutlineClosed?"Drag a corner handle to refine the outline.":"Add at least three corners, then click Finish outline."}),n.drawError?(0,U.jsx)("div",{className:"deck-outline__error",role:"alert",children:n.drawError}):null]})]})})]})]}):null,D==="pictureFrame"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Picture frame border?"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"A picture frame border runs boards around the perimeter for a finished look and uses extra material."}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No border",img:"/decking/boards/no-border.webp"},{id:"yes",label:"Picture frame",img:"/decking/boards/picture-frame.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.pictureFrame===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,pictureFrame:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:It(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))}),(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Board direction"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"straight",label:"Straight",img:"/decking/boards/straight.webp"},{id:"diagonal",label:"Diagonal",img:"/decking/boards/diagonal.webp"}].map(E=>(0,U.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.direction===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,direction:E.id})),children:[(0,U.jsx)("img",{className:"truss-estimator__visual-card-img",src:It(E.img),alt:""}),(0,U.jsx)("span",{children:E.label})]},E.id))})]})]}):null,D==="substructure"?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Ni.length]}),(0,U.jsx)("h2",{className:"truss-estimator__step-title",children:"Substructure"}),(0,U.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the joist spacing. Posts, footings and ground preparation vary by site, so are not included."}),(0,U.jsx)("div",{className:"truss-estimator__section-heading",children:"Joist spacing"}),(0,U.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Ra.joist.spacingOptions.map(E=>(0,U.jsx)("button",{type:"button",className:`truss-estimator__option-card${n.joistSpacing===E.id?" is-selected":""}`,onClick:()=>o(O=>({...O,joistSpacing:E.id})),children:(0,U.jsx)("div",{className:"truss-estimator__option-title",children:E.label})},E.id))})]}):null]}),(0,U.jsxs)("div",{className:"truss-estimator__nav",children:[(0,U.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:_e,children:"Back"}),(0,U.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:Se,disabled:!Ee(),children:[(0,U.jsx)("span",{children:$}),(0,U.jsx)("span",{className:"arrow",children:(0,U.jsx)(Qt,{})})]})]})]})]})})}var Ea=G(Xe());var j=G(ee()),Cv=12,qv=30,Hn=12,jn=8,Ev=.56,qa={ranges:{boundary:{label:"Horizontal lap",blurb:"Traditional pressure-treated timber panels.",panelWidthM:1.83},skyline:{label:"Feather edge",blurb:"Heavier timber panels for a more solid boundary.",panelWidthM:1.83}},heights:["0.9","1.2","1.5","1.8"],gate:{single:{label:"Single lap gate",widthDefault:.9}},mounting:{concrete:{label:"Concrete posts",blurb:"Slotted concrete posts with matching panels."},postcrete:{label:"Postcrete bags",blurb:"Fast-set post-mix bags in a dug hole.",bagsPerPost:2}}},Si=["range","height","gate","posts"],K_={range:null,colour:null,grid:new Set,excludedEdges:new Set,gridMode:"draw",boundaryMode:"quick",quickLengthM:"",boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set,height:null,gravelBoard:null,gateType:null,gateWidthM:"",mountingType:null,contact:{name:"",email:""}},lc=(e,t,a)=>(t.x-e.x)*(a.y-e.y)-(t.y-e.y)*(a.x-e.x),sc=(e,t,a)=>a.x>=Math.min(e.x,t.x)&&a.x<=Math.max(e.x,t.x)&&a.y>=Math.min(e.y,t.y)&&a.y<=Math.max(e.y,t.y),P_=(e,t,a,r)=>{let i=lc(e,t,a),n=lc(e,t,r),o=lc(a,r,e),l=lc(a,r,t);return i===0&&sc(e,t,a)||n===0&&sc(e,t,r)||o===0&&sc(a,r,e)||l===0&&sc(a,r,t)?!0:i>0!=n>0&&o>0!=l>0},cc=(e,t)=>{let a=t?e.length:e.length-1;for(let r=0;r<a;r+=1)for(let i=r+1;i<a;i+=1)if(!(i===r+1||t&&r===0&&i===a-1)&&P_(e[r],e[(r+1)%e.length],e[i],e[(i+1)%e.length]))return!0;return!1};function Bd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ea.useState)(0),[n,o]=(0,Ea.useState)(K_),l=(0,Ea.useRef)(null),c=(0,Ea.useRef)(null),[p,d]=(0,Ea.useState)(1),[g,m]=(0,Ea.useState)({x:0,y:0}),[b,y]=(0,Ea.useState)(null),T=(0,Ea.useRef)(null),D=(0,Ea.useRef)(null),f=(0,Ea.useRef)(null),u=Si[r],w=n.range?qa.ranges[n.range]:null,v=Hn/p,S=jn/p,R=(Hn-v)/2,z=(jn-S)/2,A=Math.max(-Hn,Math.min(Hn*2-v,R+g.x)),Q=Math.max(-jn,Math.min(jn*2-S,z+g.y)),K=n.boundaryPoints.reduce((h,M)=>({x:h.x+M.x/Math.max(1,n.boundaryPoints.length),y:h.y+M.y/Math.max(1,n.boundaryPoints.length)}),{x:0,y:0}),fe=h=>{let M=new Set,N=[];return h.forEach(Y=>{let[Z,k]=Y.split(",").map(Number),L=[{key:`H,${Z},${k}`,type:"H",x:Z,y:k},{key:`H,${Z},${k+1}`,type:"H",x:Z,y:k+1},{key:`V,${Z},${k}`,type:"V",x:Z,y:k},{key:`V,${Z+1},${k}`,type:"V",x:Z+1,y:k}],P=[!h.has(`${Z},${k-1}`),!h.has(`${Z},${k+1}`),!h.has(`${Z-1},${k}`),!h.has(`${Z+1},${k}`)];L.forEach((pe,xe)=>{P[xe]&&!M.has(pe.key)&&(M.add(pe.key),N.push(pe))})}),N},Ue=(h,M)=>fe(h).filter(N=>!M.has(N.key)),Be=(h,M)=>Ue(h,M).length,Ye=(h,M)=>{let N={};Ue(h,M).forEach(Z=>{var k,L,P,pe;Z.type==="H"?((N[k=`${Z.x},${Z.y}`]||(N[k]=[])).push("H"),(N[L=`${Z.x+1},${Z.y}`]||(N[L]=[])).push("H")):((N[P=`${Z.x},${Z.y}`]||(N[P]=[])).push("V"),(N[pe=`${Z.x},${Z.y+1}`]||(N[pe]=[])).push("V"))});let Y=0;return Object.values(N).forEach(Z=>{(Z.length===1||Z.length===2&&Z[0]!==Z[1]||Z.length>=3)&&(Y+=1)}),Y},ve=(()=>{let h=n.range?qa.ranges[n.range]:qa.ranges.boundary,M=n.height??"1.8",N=n.boundaryMode==="quick"?Math.max(0,Number.parseFloat(n.quickLengthM)||0):n.boundaryClosed?n.boundaryPoints.slice(0,-1).reduce((Yt,br,kt)=>Yt+(n.excludedBoundaryEdges.has(kt)?0:Math.hypot(n.boundaryPoints[kt+1].x-br.x,n.boundaryPoints[kt+1].y-br.y)),0):0,Y=n.gateType&&n.gateType!=="none"?Number.parseFloat(n.gateWidthM)||qa.gate[n.gateType].widthDefault:0,Z=Math.max(0,N-Y),k=Z>0?Math.ceil(Z/h.panelWidthM):0,L=n.boundaryPoints.length>2&&n.boundaryPoints[0].x===n.boundaryPoints[n.boundaryPoints.length-1].x&&n.boundaryPoints[0].y===n.boundaryPoints[n.boundaryPoints.length-1].y,P=n.boundaryMode==="quick"?Z>0?2:0:n.boundaryClosed?n.boundaryPoints.slice(0,L?-1:void 0).reduce((Yt,br,kt)=>{let qi=kt>0&&!n.excludedBoundaryEdges.has(kt-1),tm=kt<n.boundaryPoints.length-1&&!n.excludedBoundaryEdges.has(kt);return Yt+(qi||tm?1:0)},0):0,pe=Z>0?Math.ceil(Z/h.panelWidthM)+1:0,xe=Math.max(0,pe-P),xt=n.mountingType?qa.mounting[n.mountingType]:qa.mounting.concrete,it=n.gateType&&n.gateType!=="none"?2:0,Et=xe+P+it,em=n.mountingType==="postcrete"?Et*qa.mounting.postcrete.bagsPerPost:0,Ir=n.gravelBoard==="yes"?k:0;return{range:h,height:M,totalEdgeM:N,fencedLengthM:Z,gateWidthM:Y,panelsCount:k,cornerPostCount:P,intermediatePostCount:xe,gatePostCount:it,totalPostCount:Et,bagsCount:em,gravelCount:Ir,capCount:Et,mounting:xt}})(),oe=n.gateType&&n.gateType!=="none"?qa.gate[n.gateType].label:null,se=Number(ve.height)<=1.2?"6":"8",ye=ve?[{key:`panels-${n.range??"boundary"}-${ve.height}`,label:`${ve.range.label} panels (${ve.height}m)`,qty:ve.panelsCount,unit:"each",query:"fence panel",category:"fencing"},...n.mountingType==="concrete"?[{key:`concrete-intermediate-${se}`,label:"Intermediate concrete posts",qty:ve.intermediatePostCount,unit:"each",query:"concrete fence post",category:"fencing"},{key:`concrete-end-${se}`,label:"End and corner concrete posts",qty:ve.cornerPostCount+ve.gatePostCount,unit:"each",query:"concrete end post",category:"fencing"}]:[{key:`timber-post-${se}`,label:"Timber fence posts",qty:ve.totalPostCount,unit:"each",query:"timber fence post",category:"fencing"},{key:"postcrete",label:"Postcrete",qty:ve.bagsCount,unit:"bag",query:"postcrete",category:"cement"}],...oe?[{key:"gate",label:oe,qty:1,unit:"each",query:"lap gate",category:"fencing"}]:[],...ve.gravelCount>0?[{key:"gravel-boards",label:"Concrete gravel boards",qty:ve.gravelCount,unit:"each",query:"gravel board",category:"fencing"}]:[]]:[],wt=()=>{if(u==="range"){let h=n.boundaryMode==="quick"?(Number.parseFloat(n.quickLengthM)||0)>0:n.boundaryClosed&&n.boundaryPoints.length>=2;return!!n.range&&h}return u==="height"?!!n.height&&!!n.gravelBoard:u==="gate"?!!n.gateType&&(n.gateType==="none"||n.gateWidthM.trim()!==""):u==="posts"?!!n.mountingType:!0},Ee=r===Si.length-1?a:"Next",$=h=>{o(M=>{let N=h(new Set(M.grid)),Y=new Set([...M.excludedEdges].filter(Z=>fe(N).some(k=>k.key===Z)));return{...M,grid:N,excludedEdges:Y}})},ue=(h,M,N)=>{$(Y=>{let Z=`${h},${M}`;return N?Y.add(Z):Y.delete(Z),Y})},Ze=(h,M,N,Y,Z)=>{let k=h,L=M,P=Math.abs(N-h),pe=h<N?1:-1,xe=-Math.abs(Y-M),xt=M<Y?1:-1,it=P+xe;for(;ue(k,L,Z),!(k===N&&L===Y);){let Et=2*it;Et>=xe&&(it+=xe,k+=pe),Et<=P&&(it+=P,L+=xt)}},pt=(h,M)=>{let N=c.current?.getBoundingClientRect();if(!N)return null;let Y=Math.floor((h-N.left)/qv),Z=Math.floor((M-N.top)/qv);return Y<0||Z<0||Y>=Cv||Z>=Cv?null:{x:Y,y:Z}},vt=h=>{if(n.gridMode!=="draw")return;let M=pt(h.clientX,h.clientY);if(!M)return;h.preventDefault();let N=`${M.x},${M.y}`,Y=!n.grid.has(N);l.current={active:!0,paintValue:Y,lastX:M.x,lastY:M.y},h.currentTarget.setPointerCapture(h.pointerId),ue(M.x,M.y,Y)},He=h=>{let M=l.current;if(!M?.active)return;let N=pt(h.clientX,h.clientY);N&&(N.x===M.lastX&&N.y===M.lastY||(Ze(M.lastX,M.lastY,N.x,N.y,M.paintValue),l.current={...M,lastX:N.x,lastY:N.y}))},de=h=>{l.current?.active&&(l.current=null,h.currentTarget.releasePointerCapture(h.pointerId))},_e=(h,M,N=!1)=>{let Y=f.current?.getBoundingClientRect();if(!Y)return null;let Z=N?1:.25;return{x:Math.round(Math.max(A,Math.min(A+v,A+(h-Y.left)/Y.width*v))/Z)*Z,y:Math.round(Math.max(Q,Math.min(Q+S,Q+(M-Y.top)/Y.height*S))/Z)*Z}},Se=h=>{if(n.boundaryClosed){let N=h.target;if(N!==h.currentTarget&&!N.classList.contains("fence-boundary__grid"))return;D.current={startX:h.clientX,startY:h.clientY,startViewX:A,startViewY:Q},h.currentTarget.setPointerCapture(h.pointerId);return}let M=_e(h.clientX,h.clientY,!0);M&&(y(null),o(N=>{let Y=[...N.boundaryPoints,M];return cc(Y,!1)?{...N}:{...N,boundaryPoints:Y}}))},E=(h,M)=>{if(h.stopPropagation(),!n.boundaryClosed){if(M!==0||n.boundaryPoints.length<3)return;o(N=>cc(N.boundaryPoints,!0)?N:{...N,boundaryPoints:[...N.boundaryPoints,N.boundaryPoints[0]],boundaryClosed:!0});return}T.current=M,h.currentTarget.setPointerCapture(h.pointerId)},O=h=>{if(D.current){let N=f.current?.getBoundingClientRect();if(!N)return;let Y=D.current,Z=Y.startViewX-(h.clientX-Y.startX)/N.width*v,k=Y.startViewY-(h.clientY-Y.startY)/N.height*S;m({x:Z-R,y:k-z});return}if(n.boundaryClosed||y(_e(h.clientX,h.clientY,!0)),T.current===null)return;let M=_e(h.clientX,h.clientY);M&&o(N=>{let Y=N.boundaryPoints.length>2&&N.boundaryPoints[0].x===N.boundaryPoints[N.boundaryPoints.length-1].x&&N.boundaryPoints[0].y===N.boundaryPoints[N.boundaryPoints.length-1].y,Z=N.boundaryPoints.map((k,L)=>{let P=L===T.current,pe=Y&&T.current===0&&L===N.boundaryPoints.length-1;return P||pe?M:k});return cc(Z,!1)?N:{...N,boundaryPoints:Z}})},re=h=>{D.current=null,T.current=null,h.currentTarget.hasPointerCapture(h.pointerId)&&h.currentTarget.releasePointerCapture(h.pointerId)},ce=h=>{o(M=>{let N=new Set(M.excludedBoundaryEdges);return N.has(h)?N.delete(h):N.add(h),{...M,excludedBoundaryEdges:N}})},ge=()=>{r===0?e():i(h=>h-1)},Ae=()=>{wt()&&(r===Si.length-1?t?.(ye):i(h=>h+1))},Pe=fe(n.grid);return(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)("div",{className:"truss-estimator",children:[(0,j.jsxs)("div",{className:"quick-order-hero",children:[(0,j.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,j.jsx)("h1",{children:"Fencing Calculator"}),(0,j.jsx)("p",{children:"Estimate panels, posts and cost for your fence line in a few steps."})]}),(0,j.jsxs)("div",{className:"truss-estimator__card",children:[(0,j.jsxs)("div",{className:"truss-estimator__body",children:[u==="range"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your fence panels"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"The calculator uses fixed, orderable timber panels from the catalogue."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(qa.ranges).map(([h,M])=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.range===h?" is-selected":""}`,onClick:()=>o(N=>({...N,range:h})),children:[(0,j.jsx)("div",{className:"truss-estimator__option-title",children:M.label}),(0,j.jsx)("div",{className:"truss-estimator__option-copy",children:M.blurb})]},h))})]}):null,u==="range"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("div",{className:"truss-estimator__section-heading",children:"Measure your fence line"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Use a quick total, or draw the boundary to mark existing edges that do not need new fencing."}),(0,j.jsxs)("div",{className:"truss-estimator__toggle-row",children:[(0,j.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.boundaryMode==="quick"?" is-selected":""}`,onClick:()=>o(h=>({...h,boundaryMode:"quick"})),children:"Quick estimate"}),(0,j.jsx)("button",{type:"button",className:`truss-estimator__toggle${n.boundaryMode==="draw"?" is-selected":""}`,onClick:()=>o(h=>({...h,boundaryMode:"draw"})),children:"Draw your boundary"})]}),n.boundaryMode==="quick"?(0,j.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact fence-boundary__quick-field",children:[(0,j.jsx)("span",{children:"Total fence length (m)"}),(0,j.jsx)("input",{type:"number",min:"0",step:"0.1",value:n.quickLengthM,onChange:h=>o(M=>({...M,quickLengthM:h.target.value}))})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("div",{className:"fence-boundary__toolbar",children:(0,j.jsxs)("div",{className:"fence-boundary__actions",children:[(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(h=>({...h,boundaryPoints:h.boundaryPoints.slice(0,-1),boundaryClosed:!1,excludedBoundaryEdges:new Set})),disabled:n.boundaryPoints.length===0||n.boundaryClosed,children:"Undo"}),(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>{m({x:0,y:0}),y(null),o(h=>({...h,boundaryPoints:[],boundaryClosed:!1,excludedBoundaryEdges:new Set}))},disabled:n.boundaryPoints.length===0,children:"Clear"}),(0,j.jsx)("button",{type:"button",className:"deck-outline__action",onClick:()=>o(h=>({...h,boundaryPoints:[{x:2,y:2},{x:8,y:2},{x:8,y:5},{x:2,y:5},{x:2,y:2}],boundaryClosed:!0,excludedBoundaryEdges:new Set})),children:"Start with rectangle"})]})}),(0,j.jsxs)("div",{className:"fence-boundary",children:[(0,j.jsxs)("svg",{ref:f,className:`fence-boundary__canvas${n.boundaryClosed?" is-pan-mode":""}`,viewBox:`${A} ${Q} ${v} ${S}`,preserveAspectRatio:"none","aria-label":"Fence boundary drawing area",onPointerDown:Se,onPointerMove:O,onPointerUp:re,onPointerLeave:()=>{y(null),D.current||(T.current=null)},children:[(0,j.jsx)("defs",{children:(0,j.jsx)("pattern",{id:"fence-boundary-grid",width:"1",height:"1",patternUnits:"userSpaceOnUse",children:(0,j.jsx)("path",{d:"M 1 0 L 0 0 0 1",fill:"none",stroke:"currentColor",strokeWidth:"0.03"})})}),(0,j.jsx)("rect",{x:-Hn,y:-jn,width:Hn*3,height:jn*3,className:"fence-boundary__grid",fill:"url(#fence-boundary-grid)"}),n.boundaryPoints.length>1?(0,j.jsx)("polyline",{className:"fence-boundary__preview",points:n.boundaryPoints.map(h=>`${h.x},${h.y}`).join(" ")}):null,n.boundaryPoints.length>1?n.boundaryPoints.slice(0,-1).map((h,M)=>{let N=n.boundaryPoints[M+1],Y=Math.hypot(N.x-h.x,N.y-h.y),Z=Y?-(N.y-h.y)/Y:0,k=Y?(N.x-h.x)/Y:0,L=(h.x+N.x)/2,P=(h.y+N.y)/2,pe=Z*(L-K.x)+k*(P-K.y)>=0?1:-1,xe=L+Z*Ev*pe,xt=P+k*Ev*pe;return(0,j.jsxs)("g",{children:[(0,j.jsx)("line",{className:"fence-boundary__edge-hit",x1:h.x,y1:h.y,x2:N.x,y2:N.y,onClick:n.boundaryClosed?()=>ce(M):void 0}),(0,j.jsx)("line",{className:`fence-boundary__edge${n.excludedBoundaryEdges.has(M)?" is-excluded":""}`,x1:h.x,y1:h.y,x2:N.x,y2:N.y,pointerEvents:"none"}),(0,j.jsxs)("text",{className:`fence-boundary__edge-label${n.excludedBoundaryEdges.has(M)?" is-excluded":""}`,x:xe,y:xt,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[Y.toFixed(2)," m"]})]},`fence-edge-${M}`)}):null,!n.boundaryClosed&&n.boundaryPoints.length>0&&b?(()=>{let h=n.boundaryPoints[n.boundaryPoints.length-1],M=Math.hypot(b.x-h.x,b.y-h.y);if(!M)return null;let N=-(b.y-h.y)/M,Y=(b.x-h.x)/M,Z=(h.x+b.x)/2,k=(h.y+b.y)/2;return(0,j.jsxs)("g",{className:"fence-boundary__live-measurement",children:[(0,j.jsx)("line",{x1:h.x,y1:h.y,x2:b.x,y2:b.y}),(0,j.jsxs)("text",{x:Z+N*.34,y:k+Y*.34,textAnchor:"middle",dominantBaseline:"central",fontSize:.21/p,children:[M.toFixed(2)," m"]})]})})():null,n.boundaryPoints.map((h,M)=>M>0&&M===n.boundaryPoints.length-1&&h.x===n.boundaryPoints[0]?.x&&h.y===n.boundaryPoints[0]?.y?null:(0,j.jsx)("circle",{className:`fence-boundary__point${!n.boundaryClosed&&M===0&&n.boundaryPoints.length>=3?" is-close-target":""}`,cx:h.x,cy:h.y,r:"0.13",onPointerDown:N=>E(N,M)},`fence-point-${M}`))]}),(0,j.jsxs)("div",{className:"fence-boundary__zoom","aria-label":"Zoom controls",children:[(0,j.jsx)("button",{type:"button",onClick:()=>d(h=>Math.max(.5,h-.25)),disabled:p===.5,"aria-label":"Zoom out",children:"\u2212"}),(0,j.jsxs)("span",{children:[Math.round(p*100),"%"]}),(0,j.jsx)("button",{type:"button",onClick:()=>d(h=>Math.min(1,h+.25)),disabled:p===1,"aria-label":"Zoom in",children:"+"})]}),!n.boundaryClosed&&n.boundaryPoints.length>=2?(0,j.jsx)("button",{type:"button",className:"fence-boundary__close",onClick:()=>o(h=>cc(h.boundaryPoints,!1)?h:{...h,boundaryClosed:!0}),children:"Finish fence line"}):null]}),(0,j.jsx)("div",{className:"truss-estimator__grid-hint",children:n.boundaryClosed?"Drag the blank canvas to pan. Tap an edge to exclude it from the new fence.":"Click to add points, then finish the fence line. The displayed distances update as you draw."})]}),(0,j.jsxs)("div",{className:"truss-estimator__grid-stats",children:[(0,j.jsx)("div",{children:n.boundaryMode==="quick"?`${(Number.parseFloat(n.quickLengthM)||0).toFixed(2)} m fence line`:`${ve.totalEdgeM.toFixed(2)} m fence line`}),n.boundaryMode==="draw"&&n.boundaryClosed?(0,j.jsxs)("div",{children:[ve.cornerPostCount," corner/end posts"]}):null]})]}):null,null,u==="height"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Fence height"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Select the nearest available panel height."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:qa.heights.map(h=>(0,j.jsx)("button",{type:"button",className:`truss-estimator__visual-card${n.height===h?" is-selected":""}`,onClick:()=>o(M=>({...M,height:h})),children:(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--tall",src:It(`/fencing/height/${h}.webp`),alt:""})},h))}),(0,j.jsx)("div",{className:"truss-estimator__section-heading",children:"Gravel board?"}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No gravel board",img:"/fencing/no-gravel-board.webp"},{id:"yes",label:"Add gravel board",img:"/fencing/gravel-board.webp"}].map(h=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${n.gravelBoard===h.id?" is-selected":""}`,onClick:()=>o(M=>({...M,gravelBoard:h.id})),children:[(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:It(h.img),alt:""}),(0,j.jsx)("span",{children:h.label})]},h.id))})]}):null,u==="gate"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Do you need a gate?"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"A gate opening replaces part of the panel run and adds a gate kit with heavy-duty posts."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"none",label:"No gate",img:"/fencing/gates/no-gate.webp"},{id:"single",label:"Single gate",img:"/fencing/gates/single-gate.webp"}].map(h=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${n.gateType===h.id?" is-selected":""}`,onClick:()=>o(M=>({...M,gateType:h.id,gateWidthM:h.id==="none"?"":String(qa.gate[h.id].widthDefault)})),children:[(0,j.jsx)("img",{className:"truss-estimator__visual-card-img truss-estimator__visual-card-img--mid",src:It(h.img),alt:""}),(0,j.jsx)("span",{children:h.label})]},h.id))}),n.gateType&&n.gateType!=="none"?(0,j.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,j.jsx)("span",{children:"Gate width (m)"}),(0,j.jsx)("input",{type:"text",inputMode:"decimal",value:n.gateWidthM,onChange:h=>o(M=>({...M,gateWidthM:h.target.value}))})]}):null]}):null,u==="posts"?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"truss-estimator__step-label",children:["Step ",r+1," of ",Si.length]}),(0,j.jsx)("h2",{className:"truss-estimator__step-title",children:"Posts and fixing type"}),(0,j.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose how the posts will be set."}),(0,j.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:Object.entries(qa.mounting).map(([h,M])=>(0,j.jsxs)("button",{type:"button",className:`truss-estimator__option-card${n.mountingType===h?" is-selected":""}`,onClick:()=>o(N=>({...N,mountingType:h})),children:[(0,j.jsx)("div",{className:"truss-estimator__option-title",children:M.label}),(0,j.jsx)("div",{className:"truss-estimator__option-copy",children:M.blurb})]},h))})]}):null]}),(0,j.jsxs)("div",{className:"truss-estimator__nav",children:[(0,j.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:ge,children:"Back"}),(0,j.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:Ae,disabled:!wt(),children:[(0,j.jsx)("span",{children:Ee}),(0,j.jsx)("span",{className:"arrow",children:(0,j.jsx)(Qt,{})})]})]})]})]})})}var uc=G(Xe()),we=G(ee()),Mv={floor:{label:"Floor",product:"Knauf Acoustic Roll",thickness:"100mm",coverage:12.36,salesUnit:"roll"},wall:{label:"Cavity wall",product:"Celotex CW4100",thickness:"100mm",coverage:3.24,salesUnit:"pack"},roof:{label:"Pitched roof",product:"Kingspan K107",thickness:"100mm",coverage:8.64,salesUnit:"pack",byArea:!0},loft:{label:"Loft",product:"Knauf Loft Roll 44",thickness:"100mm",coverage:13.89,salesUnit:"roll",byArea:!0}};function Ld({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,uc.useState)("floor"),[n,o]=(0,uc.useState)(""),[l,c]=(0,uc.useState)(""),p=Number.parseFloat(n)*Number.parseFloat(l)||0,d=Mv[r],g=Math.ceil(p/d.coverage),m=[{key:`insulation-${r}`,label:`${d.product} ${d.thickness}`,qty:d.byArea?Math.round(p*100)/100:g,unit:d.byArea?"m2":d.salesUnit,query:d.product,category:"insulation"}],b=Object.entries(Mv);return(0,we.jsx)(we.Fragment,{children:(0,we.jsxs)("div",{className:"truss-estimator",children:[(0,we.jsxs)("div",{className:"quick-order-hero",children:[(0,we.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,we.jsx)("h1",{children:"Insulation Calculator"}),(0,we.jsx)("p",{children:"Estimate insulation coverage and pack quantities for floors, walls, roofs and lofts."})]}),(0,we.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,we.jsx)("h2",{className:"truss-estimator__step-title",children:"Where and what you are insulating"}),(0,we.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the application and product, and enter the area, for coverage and pack quantities."}),(0,we.jsxs)("div",{className:"materials-calculator__section",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Application"}),(0,we.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:b.map(([y,T])=>(0,we.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===y?" is-selected":""}`,onClick:()=>i(y),children:[(0,we.jsx)("div",{className:"truss-estimator__option-title",children:T.label}),(0,we.jsxs)("div",{className:"truss-estimator__option-copy",children:[T.product,", ",T.thickness]})]},y))})]}),(0,we.jsxs)("div",{className:"materials-calculator__section",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Area"}),(0,we.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,we.jsxs)("label",{className:"truss-estimator__field",children:[(0,we.jsx)("span",{children:"Length (m)"}),(0,we.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:y=>o(y.target.value)})]}),(0,we.jsxs)("label",{className:"truss-estimator__field",children:[(0,we.jsx)("span",{children:"Width (m)"}),(0,we.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:y=>c(y.target.value)})]})]})]}),(0,we.jsxs)("div",{className:"materials-calculator__totals",children:[(0,we.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,we.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,we.jsxs)("div",{children:[(0,we.jsx)("span",{children:"Insulated area"}),(0,we.jsxs)("strong",{children:[p.toFixed(2)," m\xB2"]})]}),(0,we.jsxs)("div",{children:[(0,we.jsx)("span",{children:d.product}),(0,we.jsxs)("strong",{children:[g," packs"]})]})]}),(0,we.jsx)("p",{className:"materials-calculator__note",children:"This is a simple product choice, not thermal or Building Regulations advice. Confirm the specification before ordering."})]}),(0,we.jsxs)("div",{className:"materials-calculator__actions",children:[(0,we.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,we.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(m),disabled:p<=0,children:a})]})]})]})})}var Qn=G(Xe()),V=G(ee()),J_=10,I_=1.9*.762,F_=1.9*1.524,pc=()=>({height:"",width:""}),dc=e=>Number.parseFloat(e)||0,Tv=({height:e,width:t})=>dc(e)*dc(t);function Hd({onBack:e}){let[t,a]=(0,Qn.useState)([pc()]),[r,i]=(0,Qn.useState)([pc()]),[n,o]=(0,Qn.useState)("0"),[l,c]=(0,Qn.useState)("0"),[p,d]=(0,Qn.useState)(1),g=t.reduce((f,u)=>f+Tv(u),0),m=r.reduce((f,u)=>f+Tv(u),0),b=dc(n)*I_+dc(l)*F_,y=Math.max(0,g-m-b),T=y*p/J_,D=(f,u,w,v)=>{f(S=>S.map((R,z)=>z===u?{...R,[w]:v}:R))};return(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)("div",{className:"truss-estimator",children:[(0,V.jsxs)("div",{className:"quick-order-hero",children:[(0,V.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,V.jsx)("h1",{children:"Paint Calculator"}),(0,V.jsx)("p",{children:"Estimate how much paint you need for your walls, including multiple coats and excluded areas."})]}),(0,V.jsxs)("div",{className:"truss-estimator__card paint-calculator",children:[(0,V.jsx)("h2",{className:"truss-estimator__step-title",children:"Walls, exclusions and coats"}),(0,V.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter each wall, subtract windows and doors, and choose your number of coats. Quantities assume a coverage of 10 m\xB2 per litre."}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall dimensions"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Enter the height and width of each wall you want to paint."}),(0,V.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,V.jsx)("span",{}),(0,V.jsx)("span",{children:"Height (m)"}),(0,V.jsx)("span",{children:"Width (m)"}),(0,V.jsx)("span",{})]}),t.map((f,u)=>(0,V.jsxs)("div",{className:"paint-calculator__row",children:[(0,V.jsxs)("span",{className:"paint-calculator__row-label",children:["Wall ",u+1]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,V.jsx)("input",{"aria-label":`Wall ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:f.height,onChange:w=>D(a,u,"height",w.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,V.jsx)("input",{"aria-label":`Wall ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:f.width,onChange:w=>D(a,u,"width",w.target.value)})]}),t.length>1?(0,V.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>a(w=>w.filter((v,S)=>S!==u)),children:"Remove"}):null]},`wall-${u}`)),(0,V.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>a(f=>[...f,pc()]),children:"+ Add another wall"})]}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Areas to exclude"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Add windows, sockets, skirting boards or other areas that will not be painted."}),(0,V.jsxs)("div",{className:"paint-calculator__dimensions-header","aria-hidden":"true",children:[(0,V.jsx)("span",{}),(0,V.jsx)("span",{children:"Height (m)"}),(0,V.jsx)("span",{children:"Width (m)"}),(0,V.jsx)("span",{})]}),r.map((f,u)=>(0,V.jsxs)("div",{className:"paint-calculator__row",children:[(0,V.jsxs)("span",{className:"paint-calculator__row-label",children:["Area ",u+1]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Height (m)"}),(0,V.jsx)("input",{"aria-label":`Area ${u+1} height in metres`,type:"number",min:"0",step:"0.01",value:f.height,onChange:w=>D(i,u,"height",w.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{className:"sr-only",children:"Width (m)"}),(0,V.jsx)("input",{"aria-label":`Area ${u+1} width in metres`,type:"number",min:"0",step:"0.01",value:f.width,onChange:w=>D(i,u,"width",w.target.value)})]}),r.length>1?(0,V.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>i(w=>w.filter((v,S)=>S!==u)),children:"Remove"}):null]},`excluded-${u}`)),(0,V.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>i(f=>[...f,pc()]),children:"+ Add another area"})]}),(0,V.jsxs)("div",{className:"paint-calculator__section",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Doors and coats"}),(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Enter the number of standard single and double doors to leave unpainted. Door sizes are estimated automatically."}),(0,V.jsxs)("div",{className:"truss-estimator__field-grid paint-calculator__small-fields",children:[(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Doors"}),(0,V.jsx)("input",{type:"number",min:"0",step:"1",value:n,onChange:f=>o(f.target.value)})]}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Double doors"}),(0,V.jsx)("input",{type:"number",min:"0",step:"1",value:l,onChange:f=>c(f.target.value)})]})]}),(0,V.jsxs)("div",{className:"paint-calculator__coat-field",children:[(0,V.jsx)("p",{className:"paint-calculator__hint",children:"Most walls need 2 coats for an even finish. Use 3 coats when changing colour significantly or covering a darker wall."}),(0,V.jsxs)("label",{className:"truss-estimator__field",children:[(0,V.jsx)("span",{children:"Number of coats"}),(0,V.jsxs)("select",{value:p,onChange:f=>d(Number(f.target.value)),children:[(0,V.jsx)("option",{value:"1",children:"1 coat"}),(0,V.jsx)("option",{value:"2",children:"2 coats"}),(0,V.jsx)("option",{value:"3",children:"3 coats"})]})]})]})]}),(0,V.jsxs)("div",{className:"paint-calculator__totals",children:[(0,V.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,V.jsxs)("div",{className:"paint-calculator__result-grid",children:[(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Paintable area"}),(0,V.jsxs)("strong",{children:[y.toFixed(2)," m\xB2"]})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Coverage"}),(0,V.jsxs)("strong",{children:[p," ",p===1?"coat":"coats"]})]}),(0,V.jsxs)("div",{children:[(0,V.jsx)("span",{children:"Paint required"}),(0,V.jsxs)("strong",{children:[T.toFixed(1)," litres"]})]})]}),(0,V.jsx)("p",{className:"paint-calculator__note",children:"Based on paint coverage of 10 m\xB2 per litre. Decorative paint is not currently stocked in this catalogue, so this remains an estimate only."})]}),(0,V.jsxs)("div",{className:"paint-calculator__actions",children:[(0,V.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,V.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",disabled:!0,children:"Paint products unavailable"})]})]})]})})}var gr=G(Xe()),te=G(ee()),mc=e=>Number.parseFloat(e)||0,jd={paving:[{id:"council",label:"Council paving slab (600 \xD7 600mm)"},{id:"raj",label:"Raj blend sandstone (600 \xD7 600mm)"}],block:[{id:"brindle",label:"Brindle block paving (60mm)"},{id:"charcoal",label:"Charcoal block paving (60mm)"}],gravel:[{id:"pea",label:"20mm pea shingle"}]};function Qd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,gr.useState)("paving"),[n,o]=(0,gr.useState)("council"),[l,c]=(0,gr.useState)(""),[p,d]=(0,gr.useState)(""),[g,m]=(0,gr.useState)("100"),[b,y]=(0,gr.useState)("50"),[T,D]=(0,gr.useState)(!0),[f,u]=(0,gr.useState)(!0),w=mc(l)*mc(p),v=w,S=w*(mc(g)/1e3),R=w*.04,z=w*(mc(b)/1e3),A=Math.ceil(v/.36),Q=Math.ceil(v/.1),K=Math.ceil(S*1700/800),fe=Math.ceil(R*1600/800),Ue=Math.ceil(z*1600/800),Be=r==="paving"?{qty:A,unit:"each"}:r==="block"?{qty:v,unit:"m2"}:{qty:Ue,unit:"bag"},Ye={paving:"paving slab",block:"block paver",gravel:"decorative gravel"}[r],Ne=[{key:`surface-${n}`,label:jd[r].find(oe=>oe.id===n)?.label??"Surface material",qty:Be.qty,unit:Be.unit,query:Ye,category:"landscaping"},...T?[{key:"sub-base",label:"MOT Type 1 sub-base",qty:K,unit:"bag",query:"MOT Type 1 sub base",category:"aggregate"}]:[],...f?[{key:"bedding",label:"Sharp sand bedding",qty:fe,unit:"bag",query:"sharp sand",category:"aggregate"}]:[]];return(0,te.jsx)(te.Fragment,{children:(0,te.jsxs)("div",{className:"truss-estimator",children:[(0,te.jsxs)("div",{className:"quick-order-hero",children:[(0,te.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,te.jsx)("h1",{children:"Paving and Driveway Calculator"}),(0,te.jsx)("p",{children:"Estimate paving, block paving, sub-base and bedding materials for outdoor areas."})]}),(0,te.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,te.jsx)("h2",{className:"truss-estimator__step-title",children:"Surface and ground build-up"}),(0,te.jsx)("p",{className:"truss-estimator__step-sub",children:"Choose the surface material and enter the area. Sub-base and bedding sand are estimated alongside the surface units."}),(0,te.jsxs)("div",{className:"materials-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Surface material"}),(0,te.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:[["paving","Paving slabs","For patios and paths"],["block","Block paving","For driveways and paths"],["gravel","Decorative gravel","For paths and landscaping"]].map(([oe,se,ye])=>(0,te.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===oe?" is-selected":""}`,onClick:()=>{i(oe),o(jd[oe][0].id)},children:[(0,te.jsx)("div",{className:"truss-estimator__option-title",children:se}),(0,te.jsx)("div",{className:"truss-estimator__option-copy",children:ye})]},oe))}),(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Finish"}),(0,te.jsx)("select",{value:n,onChange:oe=>o(oe.target.value),children:jd[r].map(oe=>(0,te.jsx)("option",{value:oe.id,children:oe.label},oe.id))})]})]}),(0,te.jsxs)("div",{className:"materials-calculator__section",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Area and groundwork"}),(0,te.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Length (m)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:oe=>c(oe.target.value)})]}),(0,te.jsxs)("label",{className:"truss-estimator__field",children:[(0,te.jsx)("span",{children:"Width (m)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"0.01",value:p,onChange:oe=>d(oe.target.value)})]})]}),r==="gravel"&&(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Gravel depth (mm)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"10",value:b,onChange:oe=>y(oe.target.value)})]}),T&&(0,te.jsxs)("label",{className:"truss-estimator__field materials-calculator__depth",children:[(0,te.jsx)("span",{children:"Sub-base depth (mm)"}),(0,te.jsx)("input",{type:"number",min:"0",step:"10",value:g,onChange:oe=>m(oe.target.value)})]}),(0,te.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,te.jsx)("input",{type:"checkbox",checked:T,onChange:oe=>D(oe.target.checked)}),(0,te.jsx)("span",{children:"Include MOT Type 1 sub-base"})]}),(0,te.jsxs)("label",{className:"brick-calculator__checkbox materials-calculator__waste",children:[(0,te.jsx)("input",{type:"checkbox",checked:f,onChange:oe=>u(oe.target.checked)}),(0,te.jsx)("span",{children:"Include sharp sand bedding"})]})]}),(0,te.jsxs)("div",{className:"materials-calculator__totals",children:[(0,te.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,te.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Surface area"}),(0,te.jsxs)("strong",{children:[w.toFixed(2)," m\xB2"]})]}),(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:r==="paving"?"Paving slabs":r==="block"?"Block paving":"Gravel"}),(0,te.jsx)("strong",{children:r==="paving"?`${A} slabs`:r==="block"?`${v.toFixed(2)} m\xB2`:`${Ue} bulk bags`})]}),T&&(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"MOT Type 1"}),(0,te.jsxs)("strong",{children:[K," bulk bags"]})]}),f&&(0,te.jsxs)("div",{children:[(0,te.jsx)("span",{children:"Sharp sand"}),(0,te.jsxs)("strong",{children:[fe," bulk bags"]})]})]}),(0,te.jsx)("p",{className:"materials-calculator__note",children:"Slab and block quantities use typical sizes. Confirm pack coverage and laying pattern before ordering."})]}),(0,te.jsxs)("div",{className:"materials-calculator__actions",children:[(0,te.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,te.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(Ne),disabled:w<=0,children:a})]})]})]})})}var ll=G(Xe()),ae=G(ee()),W_=2.88,zv=[{id:"standard",label:"Standard wallboard",blurb:"General internal walls and ceilings"},{id:"moisture",label:"Moisture resistant",blurb:"Kitchens, bathrooms and utility rooms"},{id:"fire",label:"Fire resistant",blurb:"Where fire-rated lining is required"},{id:"sound",label:"Sound resistant",blurb:"Improved acoustic performance"}],Av=()=>({length:"",height:""}),Gd=e=>Number.parseFloat(e)||0;function Yd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,ll.useState)([Av()]),[n,o]=(0,ll.useState)(""),[l,c]=(0,ll.useState)("standard"),[p,d]=(0,ll.useState)("screws"),g=r.reduce((R,z)=>R+Gd(z.length)*Gd(z.height),0),m=Math.max(0,g-Gd(n)),b=Math.ceil(m/W_),y=Math.ceil(m*12),T=Math.ceil(y/1e3),D=Math.ceil(m*1.2),f=Math.ceil(D/90),u=Math.ceil(m/3.5),w=zv.find(R=>R.id===l)?.label??"Standard",v=[{key:"board",label:`${w} plasterboard`,qty:b,unit:"sheet",query:`${w} plasterboard`,category:"plasterboard"},...p==="screws"?[{key:"screws",label:"Drywall screws",qty:T,unit:"box",query:"drywall screws",category:"fixings"}]:[{key:"adhesive",label:"Board adhesive",qty:u,unit:"bag",query:"drywall board adhesive",category:"plasterboard"}],{key:"tape",label:"Joint tape",qty:f,unit:"roll",query:"plasterboard joint tape",category:"plasterboard"}],S=(R,z,A)=>{i(Q=>Q.map((K,fe)=>fe===R?{...K,[z]:A}:K))};return(0,ae.jsx)(ae.Fragment,{children:(0,ae.jsxs)("div",{className:"truss-estimator",children:[(0,ae.jsxs)("div",{className:"quick-order-hero",children:[(0,ae.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ae.jsx)("h1",{children:"Plasterboard and Drylining Calculator"}),(0,ae.jsx)("p",{children:"Estimate boards, fixings and jointing materials for walls and ceilings."})]}),(0,ae.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ae.jsx)("h2",{className:"truss-estimator__step-title",children:"Boards, fixings and jointing"}),(0,ae.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter the surfaces you are lining and the board specification. Screws, tape and adhesive are estimated with the boards."}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Board type"}),(0,ae.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:zv.map(R=>(0,ae.jsxs)("button",{type:"button",className:`truss-estimator__option-card${l===R.id?" is-selected":""}`,onClick:()=>c(R.id),children:[(0,ae.jsx)("div",{className:"truss-estimator__option-title",children:R.label}),(0,ae.jsx)("div",{className:"truss-estimator__option-copy",children:R.blurb})]},R.id))})]}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Fixing method"}),(0,ae.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[["screws","Drywall screws","For timber or metal framing"],["adhesive","Board adhesive","For masonry dot-and-dab"]].map(([R,z,A])=>(0,ae.jsxs)("button",{type:"button",className:`truss-estimator__option-card${p===R?" is-selected":""}`,onClick:()=>d(R),children:[(0,ae.jsx)("div",{className:"truss-estimator__option-title",children:z}),(0,ae.jsx)("div",{className:"truss-estimator__option-copy",children:A})]},R))})]}),(0,ae.jsxs)("div",{className:"materials-calculator__section",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Wall and ceiling areas"}),(0,ae.jsx)("p",{className:"materials-calculator__hint",children:"Add each surface separately so different wall sizes are easy to measure."}),(0,ae.jsxs)("div",{className:"materials-calculator__dimensions-header",children:[(0,ae.jsx)("span",{children:"Surface"}),(0,ae.jsx)("span",{children:"Length (m)"}),(0,ae.jsx)("span",{children:"Height (m)"}),(0,ae.jsx)("span",{})]}),r.map((R,z)=>(0,ae.jsxs)("div",{className:"materials-calculator__surface-row",children:[(0,ae.jsxs)("span",{children:["Surface ",z+1]}),(0,ae.jsx)("input",{"aria-label":`Surface ${z+1} length`,type:"number",min:"0",step:"0.01",value:R.length,onChange:A=>S(z,"length",A.target.value)}),(0,ae.jsx)("input",{"aria-label":`Surface ${z+1} height`,type:"number",min:"0",step:"0.01",value:R.height,onChange:A=>S(z,"height",A.target.value)}),r.length>1?(0,ae.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>i(A=>A.filter((Q,K)=>K!==z)),children:"Remove"}):null]},`surface-${z}`)),(0,ae.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>i(R=>[...R,Av()]),children:"+ Add another surface"}),(0,ae.jsxs)("label",{className:"truss-estimator__field materials-calculator__openings",children:[(0,ae.jsxs)("span",{children:["Openings to deduct (m\xB2) ",(0,ae.jsx)("small",{children:"optional"})]}),(0,ae.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:R=>o(R.target.value)})]})]}),(0,ae.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ae.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ae.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"Board area"}),(0,ae.jsxs)("strong",{children:[m.toFixed(2)," m\xB2"]})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"2.4 x 1.2 m boards"}),(0,ae.jsx)("strong",{children:b})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:p==="screws"?"Drywall screws":"Board adhesive"}),(0,ae.jsx)("strong",{children:p==="screws"?`${y} (${T} boxes)`:`${u} bags`})]}),(0,ae.jsxs)("div",{children:[(0,ae.jsx)("span",{children:"Joint tape"}),(0,ae.jsxs)("strong",{children:[D," m (",f," rolls)"]})]})]}),(0,ae.jsx)("p",{className:"materials-calculator__note",children:"Figures are estimates. Confirm board specification, fixing patterns and fire or acoustic requirements before ordering."})]}),(0,ae.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ae.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ae.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(v),disabled:m<=0,children:a})]})]})]})})}var sl=G(Xe());var _=G(ee()),Dt={ranges:{standard:{label:"Standard Fink",blurb:"Classic W-shaped truss for standard pitched roofs."},attic:{label:"Attic",blurb:"Room-in-roof truss with usable attic space and clear span."},mono:{label:"Mono-pitch",blurb:"Single-slope truss for lean-to roofs and outbuildings."}},pitches:["15","20","22.5","25","30","35","40","45","50","55"],pitchMultipliers:{15:.95,20:.98,"22.5":1,25:1.02,30:1.05,35:1.1,40:1.18,45:1.27,50:1.38,55:1.52},overhang:{thresholdMM:300,surchargePerTruss:3.5},centresOptions:["400","600"],treatment:{treated:{label:"Treated (tanalised)",surchargePct:.08},untreated:{label:"Untreated",surchargePct:0}},estimate:{design:250,delivery:250,bracingPerMetre:6.5,girderMultiplier:1.8,ranges:{standard:{supplyAt8m:53.33,installPerTruss:30},attic:{supplyAt8m:128.35,installPerTruss:55},mono:{supplyAt8m:60,installPerTruss:38}}}},fc=["range","pitchAndDimensions","quantityAndGirders","bracing"],ex={range:null,pitch:null,spanMM:"",overhangMM:"",roofLengthM:"",centres:null,girderCount:0,bracing:null,treatment:null,contact:{name:"",email:""}};function tx({degrees:e}){let a=e*Math.PI/180,i=82-Math.min(58,38*Math.tan(a));return(0,_.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,_.jsx)("line",{x1:"6",y1:"82",x2:"94",y2:"82",stroke:"var(--border)",strokeWidth:"2"}),(0,_.jsx)("polygon",{points:`12,82 88,82 50,${i}`,fill:"var(--accent-light)",stroke:"var(--accent)",strokeWidth:"3",strokeLinejoin:"round"})]})}function ax({type:e}){let t="#b3835a",a="#5c3b22",r="#d9b48f",i="#d3d8de",n="#7c8494",o=(d,g,m,b,y=8,T)=>{let D=m-d,f=b-g,u=Math.hypot(D,f)||1,w=-f/u,v=D/u,S=y*.2;return(0,_.jsxs)("g",{children:[(0,_.jsx)("line",{x1:d,y1:g,x2:m,y2:b,stroke:a,strokeWidth:y+3,strokeLinecap:"square"}),(0,_.jsx)("line",{x1:d,y1:g,x2:m,y2:b,stroke:t,strokeWidth:y,strokeLinecap:"square"}),(0,_.jsx)("line",{x1:d-w*S,y1:g-v*S,x2:m-w*S,y2:b-v*S,stroke:r,strokeWidth:Math.max(1.5,y*.24),strokeLinecap:"round",opacity:"0.9"})]},T)},l=(d,g,m)=>(0,_.jsxs)("g",{children:[(0,_.jsx)("rect",{x:d-7.5,y:g-5.5,width:"15",height:"11",rx:"2",fill:i,stroke:n,strokeWidth:"1"}),(0,_.jsx)("circle",{cx:d-4,cy:g-2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d+4,cy:g-2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d-4,cy:g+2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d+4,cy:g+2.5,r:"1",fill:n}),(0,_.jsx)("circle",{cx:d,cy:g,r:"1",fill:n})]},m),c=(d,g)=>(0,_.jsx)("rect",{x:d-9,y:"110",width:"18",height:"10",fill:a},g),p=(0,_.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"});return e==="attic"?(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,26,8,"b1"),o(174,112,100,26,8,"b2"),o(26,112,174,112,8,"b3"),o(58,112,58,70,6,"b4"),o(142,112,142,70,6,"b5"),o(58,70,142,70,7,"b6"),(0,_.jsx)("rect",{x:"90",y:"82",width:"20",height:"24",fill:"#cfe3f2",stroke:a,strokeWidth:"2"}),(0,_.jsx)("line",{x1:"100",y1:"82",x2:"100",y2:"106",stroke:a,strokeWidth:"1.5"}),l(26,112,"p1"),l(174,112,"p2"),l(100,26,"p3"),l(58,112,"p4"),l(58,70,"p5"),l(142,112,"p6"),l(142,70,"p7")]}):e==="mono"?(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,174,26,8,"b1"),o(174,26,174,112,8,"b2"),o(26,112,174,112,8,"b3"),o(90,112,90,75,5,"b4"),o(90,75,132,112,5,"b5"),l(26,112,"p1"),l(174,26,"p2"),l(174,112,"p3"),l(90,112,"p4"),l(90,75,"p5"),l(132,112,"p6")]}):(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[p,c(26,"wl"),c(174,"wr"),o(26,112,100,34,8,"b1"),o(174,112,100,34,8,"b2"),o(26,112,174,112,8,"b3"),o(63,112,100,34,5,"b4"),o(137,112,100,34,5,"b5"),o(63,112,54,83,5,"b6"),o(137,112,146,83,5,"b7"),(0,_.jsx)("rect",{x:"96",y:"108",width:"8",height:"8",fill:a}),l(26,112,"p1"),l(174,112,"p2"),l(100,34,"p3"),l(63,112,"p4"),l(137,112,"p5"),l(54,83,"p6"),l(146,83,"p7")]})}function rx({enabled:e}){return(0,_.jsxs)("svg",{viewBox:"0 0 200 130",className:"truss-estimator__diagram","aria-hidden":"true",children:[(0,_.jsx)("line",{x1:"6",y1:"122",x2:"194",y2:"122",stroke:"var(--border)",strokeWidth:"2"}),(0,_.jsx)("rect",{x:"17",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,_.jsx)("rect",{x:"165",y:"110",width:"18",height:"10",fill:"#5c3b22"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"174",y1:"112",x2:"100",y2:"34",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#5c3b22",strokeWidth:"11",strokeLinecap:"square"}),(0,_.jsx)("line",{x1:"26",y1:"112",x2:"174",y2:"112",stroke:"#b3835a",strokeWidth:"8",strokeLinecap:"square"}),e?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("line",{x1:"45",y1:"112",x2:"140",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"}),(0,_.jsx)("line",{x1:"155",y1:"112",x2:"60",y2:"88",stroke:"var(--accent)",strokeWidth:"3",strokeLinecap:"round",strokeDasharray:"7 5"})]}):null,(0,_.jsx)("rect",{x:"18.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,_.jsx)("rect",{x:"166.5",y:"106.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"}),(0,_.jsx)("rect",{x:"92.5",y:"28.5",width:"15",height:"11",rx:"2",fill:"#d3d8de",stroke:"#7c8494",strokeWidth:"1"})]})}function Rv({treated:e}){let t=e?"#5a7a4a":"var(--accent)";return(0,_.jsxs)("svg",{viewBox:"0 0 100 100",className:"truss-estimator__diagram truss-estimator__diagram--small","aria-hidden":"true",children:[(0,_.jsx)("rect",{x:"10",y:"22",width:"80",height:"14",rx:"2",fill:t}),(0,_.jsx)("rect",{x:"10",y:"43",width:"80",height:"14",rx:"2",fill:e?"#8faf7a":"var(--accent-light)"}),(0,_.jsx)("rect",{x:"10",y:"64",width:"80",height:"14",rx:"2",fill:t})]})}function Xd({onBack:e}){let[t,a]=(0,sl.useState)(0),[r,i]=(0,sl.useState)(ex),[n,o]=(0,sl.useState)(!1),[l,c]=(0,sl.useState)(!1),p=()=>{let f=Number.parseFloat(r.roofLengthM)||0,u=Number.parseFloat(r.centres??"");return f<=0||!u?0:Math.ceil(f*1e3/u)+1},g=(()=>{let f=r.range?Dt.ranges[r.range]:Dt.ranges.standard,u=r.pitch??"22.5",w=Dt.pitchMultipliers[u],v=(Number.parseFloat(r.spanMM)||0)/1e3,R=(Number.parseFloat(r.overhangMM)||0)>Dt.overhang.thresholdMM,z=p(),A=z+r.girderCount,Q=Number.parseFloat(r.roofLengthM)||0,K=r.treatment?Dt.treatment[r.treatment]:Dt.treatment.untreated,fe=Dt.estimate.ranges[r.range??"standard"],Ue=fe.supplyAt8m*Math.max(.7,v/8)*w*(1+K.surchargePct)+(R?Dt.overhang.surchargePerTruss:0),Be=z*Ue,Ye=r.girderCount*Ue*Dt.estimate.girderMultiplier,Ne=r.bracing==="yes"?Q*Dt.estimate.bracingPerMetre:0,ve=Be+Ye+Ne+Dt.estimate.delivery,oe=Dt.estimate.design+z*fe.installPerTruss+r.girderCount*40,se=ve+oe,ye=se*.2;return{range:f,count:z,girderCount:r.girderCount,overhangApplies:R,overhangUnits:A,roofLengthM:Q,treatment:K,trussSupply:Be,bracingMaterials:Ne,delivery:Dt.estimate.delivery,labour:oe,subtotal:se,vat:ye,total:se+ye}})(),m=()=>{let f=fc[t];return f==="range"?!!r.range:f==="pitchAndDimensions"?!!r.pitch&&r.spanMM.trim()!==""&&r.overhangMM.trim()!=="":f==="quantityAndGirders"?r.roofLengthM.trim()!==""&&!!r.centres:f==="bracing"?!!r.bracing&&!!r.treatment:!0},b=t===fc.length-1?"View truss request":"Next",y=()=>{n?o(!1):t===0?e():a(f=>f-1)},T=()=>{m()&&(t===fc.length-1?(c(!1),o(!0)):a(f=>f+1))},D=()=>{let f=fc[t];return f==="range"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 1 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Choose your truss range"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Pricing shown is placeholder. Swap in your real engineering and pricing catalogue."}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--range",children:Object.entries(Dt.ranges).map(([u,w])=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r.range===u?" is-selected":""}`,onClick:()=>i(v=>({...v,range:u})),children:[(0,_.jsx)(ax,{type:u}),(0,_.jsxs)("div",{className:"truss-estimator__option-info",children:[(0,_.jsx)("div",{className:"truss-estimator__option-title",children:w.label}),(0,_.jsx)("div",{className:"truss-estimator__option-copy",children:w.blurb})]})]},u))})]}):f==="pitchAndDimensions"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 2 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Span, overhang and roof pitch"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Span is wall-to-wall, overhang is the eaves tail beyond the wall line. Steeper pitches use more timber per truss."}),(0,_.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,_.jsxs)("label",{className:"truss-estimator__field",children:[(0,_.jsx)("span",{children:"Span (mm)"}),(0,_.jsx)("input",{type:"text",inputMode:"numeric",value:r.spanMM,onChange:u=>i(w=>({...w,spanMM:u.target.value}))})]}),(0,_.jsxs)("label",{className:"truss-estimator__field",children:[(0,_.jsx)("span",{children:"Overhang (mm)"}),(0,_.jsx)("input",{type:"text",inputMode:"numeric",value:r.overhangMM,onChange:u=>i(w=>({...w,overhangMM:u.target.value}))}),(0,_.jsxs)("small",{children:["Overhangs beyond ",Dt.overhang.thresholdMM,"mm add a small surcharge per truss."]})]})]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Roof pitch"}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--pitch",children:Dt.pitches.map(u=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card${r.pitch===u?" is-selected":""}`,onClick:()=>i(w=>({...w,pitch:u})),children:[(0,_.jsx)(tx,{degrees:Number.parseFloat(u)}),(0,_.jsxs)("span",{children:[u,"\xB0"]})]},u))})]}):f==="quantityAndGirders"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 3 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Roof length"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Trusses are based on designs at 400mm or 600mm centres wherever possible."}),(0,_.jsxs)("label",{className:"truss-estimator__field truss-estimator__field--compact",children:[(0,_.jsx)("span",{children:"Roof length (m)"}),(0,_.jsx)("input",{type:"text",inputMode:"decimal",value:r.roofLengthM,onChange:u=>i(w=>({...w,roofLengthM:u.target.value}))})]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Truss centres"}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--centres",children:Dt.centresOptions.map(u=>(0,_.jsx)("button",{type:"button",className:`truss-estimator__option-card truss-estimator__option-card--compact${r.centres===u?" is-selected":""}`,onClick:()=>i(w=>({...w,centres:u})),children:(0,_.jsxs)("div",{className:"truss-estimator__option-title",children:[u,"mm centres"]})},u))}),(0,_.jsxs)("div",{className:"truss-estimator__stat",children:[p()," trusses estimated"]}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Girder trusses"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Heavy-duty girder trusses carry point loads over large openings. Set 0 if you do not need any."}),(0,_.jsxs)("div",{className:"truss-estimator__stepper",children:[(0,_.jsx)("button",{type:"button",onClick:()=>i(u=>({...u,girderCount:Math.max(0,u.girderCount-1)})),children:"\u2212"}),(0,_.jsx)("span",{children:r.girderCount}),(0,_.jsx)("button",{type:"button",onClick:()=>i(u=>({...u,girderCount:Math.min(3,u.girderCount+1)})),children:"+"})]})]}):f==="bracing"?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Step 4 of 4"}),(0,_.jsx)("h2",{className:"truss-estimator__step-title",children:"Bracing pack?"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"A timber bracing pack stabilises the roof structure once trusses are erected."}),(0,_.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[{id:"no",label:"No bracing pack"},{id:"yes",label:"Add bracing pack"}].map(u=>(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.bracing===u.id?" is-selected":""}`,onClick:()=>i(w=>({...w,bracing:u.id})),children:[(0,_.jsx)(rx,{enabled:u.id==="yes"}),(0,_.jsx)("span",{children:u.label})]},u.id))}),(0,_.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber treatment"}),(0,_.jsx)("p",{className:"truss-estimator__step-sub",children:"Tanalised timber protects against rot in exposed or damp locations."}),(0,_.jsxs)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--two",children:[(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="untreated"?" is-selected":""}`,onClick:()=>i(u=>({...u,treatment:"untreated"})),children:[(0,_.jsx)(Rv,{treated:!1}),(0,_.jsx)("span",{children:"Untreated"})]}),(0,_.jsxs)("button",{type:"button",className:`truss-estimator__visual-card truss-estimator__visual-card--wide${r.treatment==="treated"?" is-selected":""}`,onClick:()=>i(u=>({...u,treatment:"treated"})),children:[(0,_.jsx)(Rv,{treated:!0}),(0,_.jsx)("span",{children:"Treated (+8% cost)"}),(0,_.jsx)("small",{children:"Applies to trusses, girders and overhang"})]})]})]}):null};return n?(0,_.jsx)(_.Fragment,{children:(0,_.jsxs)("div",{className:"truss-estimator",children:[(0,_.jsxs)("div",{className:"quick-order-hero",children:[(0,_.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,_.jsx)("h1",{children:"Your truss estimate"}),(0,_.jsx)("p",{children:"A provisional quantity and specification based on the dimensions you entered."})]}),(0,_.jsxs)("div",{className:"truss-estimator__card truss-request",style:{minHeight:0},children:[(0,_.jsxs)("div",{className:"truss-request__heading",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Estimated requirement"}),(0,_.jsxs)("h2",{children:[g.range.label," roof trusses"]})]}),(0,_.jsxs)("strong",{children:[g.count,(0,_.jsx)("span",{children:"trusses"})]})]}),(0,_.jsxs)("div",{className:"truss-request__grid",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Span"}),(0,_.jsxs)("strong",{children:[r.spanMM," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Roof length"}),(0,_.jsxs)("strong",{children:[r.roofLengthM," m"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Pitch"}),(0,_.jsxs)("strong",{children:[r.pitch,"\xB0"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Centres"}),(0,_.jsxs)("strong",{children:[r.centres," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Overhang"}),(0,_.jsxs)("strong",{children:[r.overhangMM," mm"]})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Treatment"}),(0,_.jsx)("strong",{children:g.treatment.label})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Girder trusses"}),(0,_.jsx)("strong",{children:g.girderCount||"None"})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Bracing pack"}),(0,_.jsx)("strong",{children:r.bracing==="yes"?"Included":"Not included"})]})]}),(0,_.jsxs)("div",{className:"truss-request__price",children:[(0,_.jsx)("div",{className:"truss-estimator__step-label",children:"Indicative cost estimate"}),(0,_.jsxs)("div",{className:"truss-request__price-grid",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Truss supply allowance"}),(0,_.jsx)("strong",{children:lt(g.trussSupply)})]}),g.bracingMaterials>0&&(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Bracing materials allowance"}),(0,_.jsx)("strong",{children:lt(g.bracingMaterials)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Delivery allowance"}),(0,_.jsx)("strong",{children:lt(g.delivery)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Design and installation labour"}),(0,_.jsx)("strong",{children:lt(g.labour)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"Subtotal (ex. VAT)"}),(0,_.jsx)("strong",{children:lt(g.subtotal)})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("span",{children:"VAT (20%)"}),(0,_.jsx)("strong",{children:lt(g.vat)})]}),(0,_.jsxs)("div",{className:"truss-request__price-total",children:[(0,_.jsx)("span",{children:"Estimated total"}),(0,_.jsx)("strong",{children:lt(g.total)})]})]}),(0,_.jsx)("p",{children:"Trusses are not listed as fixed products in this catalogue, so supply, delivery and labour are benchmark allowances. Confirm the engineered design and final quote before ordering."})]}),(0,_.jsxs)("div",{className:"truss-request__notice",children:[(0,_.jsx)("strong",{children:"Before ordering"}),(0,_.jsx)("span",{children:"Roof trusses must be designed and signed off for the building. Confirm loading, bearings, wind bracing and final drawings with the truss manufacturer."})]}),(0,_.jsxs)("div",{className:"truss-estimator__nav",children:[(0,_.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:y,children:"Back to calculator"}),(0,_.jsx)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",justifyContent:"center",marginTop:0},onClick:()=>c(!0),children:"Request order"})]}),l&&(0,_.jsx)("p",{className:"truss-request__demo",children:"Demo only \u2014 no order has been sent."})]})]})}):(0,_.jsx)(_.Fragment,{children:(0,_.jsxs)("div",{className:"truss-estimator",children:[(0,_.jsxs)("div",{className:"quick-order-hero",children:[(0,_.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,_.jsx)("h1",{children:"Roof Truss Calculator"}),(0,_.jsx)("p",{children:"Estimate trusses, girders and cost for your roof in a few steps."})]}),(0,_.jsxs)("div",{className:"truss-estimator__card",children:[(0,_.jsx)("div",{className:"truss-estimator__body",children:D()}),(0,_.jsxs)("div",{className:"truss-estimator__nav",children:[(0,_.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:y,children:"Back"}),(0,_.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:"0 1 70%",marginTop:0},onClick:T,disabled:!m(),children:[(0,_.jsx)("span",{children:b}),(0,_.jsx)("span",{className:"arrow",children:(0,_.jsx)(Qt,{})})]})]})]})]})})}var Ci=G(Xe()),F=G(ee()),Ov=e=>Number.parseFloat(e)||0,hc=(e,t)=>Ov(e)*(t==="m"?1:.3048),Uv=()=>({length:"",width:""}),Dv=[{id:"chamfered",label:"Chamfered",blurb:"Clean angled edge"},{id:"ogee",label:"Ogee",blurb:"Traditional curved profile"},{id:"pencil-round",label:"Pencil round",blurb:"Simple softened edge"},{id:"torus",label:"Torus",blurb:"Soft rounded detail"}];function ix({profile:e}){return(0,F.jsxs)("svg",{className:"skirting-calculator__profile-diagram",viewBox:"0 0 120 84","aria-hidden":"true",children:[(0,F.jsx)("path",{d:{chamfered:"M16 70V43L43 16H104V70Z",ogee:"M16 70V47C16 36 27 31 40 31C40 21 50 16 63 16H104V70Z","pencil-round":"M16 70V37C16 25 25 16 37 16H104V70Z",torus:"M16 70V49C16 39 25 34 36 34C36 22 47 16 61 16H104V70Z"}[e]}),(0,F.jsx)("line",{x1:"12",y1:"70",x2:"108",y2:"70"})]})}function Vd({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Ci.useState)("total"),[n,o]=(0,Ci.useState)("m"),[l,c]=(0,Ci.useState)(""),[p,d]=(0,Ci.useState)([Uv()]),[g,m]=(0,Ci.useState)(""),[b,y]=(0,Ci.useState)("chamfered"),T="4.4",D=r==="total"?hc(l,n):p.reduce((S,R)=>S+2*(hc(R.length,n)+hc(R.width,n)),0),f=Math.max(0,D-hc(g,n)),u=Math.ceil(f/Ov(T)),w=[{key:`skirting-${b}`,label:`${Dv.find(S=>S.id===b)?.label} skirting board`,qty:f,unit:"m",query:"skirting board",category:"skirting"}],v=(S,R,z)=>{d(A=>A.map((Q,K)=>K===S?{...Q,[R]:z}:Q))};return(0,F.jsx)(F.Fragment,{children:(0,F.jsxs)("div",{className:"truss-estimator",children:[(0,F.jsxs)("div",{className:"quick-order-hero",children:[(0,F.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,F.jsx)("h1",{children:"Skirting Board Calculator"}),(0,F.jsx)("p",{children:"Work out how many skirting board lengths you need for one room or a whole project."})]}),(0,F.jsxs)("div",{className:"truss-estimator__card skirting-calculator",children:[(0,F.jsx)("h2",{className:"truss-estimator__step-title",children:"Measure by room or total length"}),(0,F.jsx)("p",{className:"truss-estimator__step-sub",children:"Enter a single total or work room by room. The run is converted straight into board lengths."}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"How would you like to measure?"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle skirting-calculator__mode-toggle",role:"group","aria-label":"Calculation method",children:[(0,F.jsx)("button",{type:"button",className:r==="total"?"is-selected":"",onClick:()=>i("total"),children:"Total length"}),(0,F.jsx)("button",{type:"button",className:r==="rooms"?"is-selected":"",onClick:()=>i("rooms"),children:"Room by room"})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Measurements"}),(0,F.jsxs)("div",{className:"skirting-calculator__unit-row",children:[(0,F.jsx)("span",{children:"Units"}),(0,F.jsxs)("div",{className:"brick-calculator__unit-toggle",role:"group","aria-label":"Measurement units",children:[(0,F.jsx)("button",{type:"button",className:n==="m"?"is-selected":"",onClick:()=>o("m"),children:"Metres"}),(0,F.jsx)("button",{type:"button",className:n==="ft"?"is-selected":"",onClick:()=>o("ft"),children:"Feet"})]})]}),r==="total"?(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Total skirting length (",n,")"]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:S=>c(S.target.value)})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)("div",{className:"skirting-calculator__dimensions-header",children:[(0,F.jsx)("span",{children:"Room"}),(0,F.jsxs)("span",{children:["Length (",n,")"]}),(0,F.jsxs)("span",{children:["Width (",n,")"]}),(0,F.jsx)("span",{})]}),p.map((S,R)=>(0,F.jsxs)("div",{className:"skirting-calculator__room-row",children:[(0,F.jsxs)("span",{className:"skirting-calculator__room-label",children:["Room ",R+1]}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} length in ${n}`,type:"number",min:"0",step:"0.01",value:S.length,onChange:z=>v(R,"length",z.target.value)}),(0,F.jsx)("input",{"aria-label":`Room ${R+1} width in ${n}`,type:"number",min:"0",step:"0.01",value:S.width,onChange:z=>v(R,"width",z.target.value)}),p.length>1?(0,F.jsx)("button",{type:"button",className:"paint-calculator__remove",onClick:()=>d(z=>z.filter((A,Q)=>Q!==R)),children:"Remove"}):null]},`room-${R}`)),(0,F.jsx)("button",{type:"button",className:"paint-calculator__add",onClick:()=>d(S=>[...S,Uv()]),children:"+ Add another room"})]}),(0,F.jsxs)("label",{className:"truss-estimator__field skirting-calculator__single-field",children:[(0,F.jsxs)("span",{children:["Openings and doorways to deduct (",n,") ",(0,F.jsx)("small",{children:"optional"})]}),(0,F.jsx)("input",{type:"number",min:"0",step:"0.01",value:g,onChange:S=>m(S.target.value)})]})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Profile"}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Choose the finish you want for the fixed 4.4m white-primed MDF boards."}),(0,F.jsx)("div",{className:"architrave-calculator__profiles",children:Dv.map(S=>(0,F.jsxs)("button",{type:"button",className:`truss-estimator__option-card${b===S.id?" is-selected":""}`,onClick:()=>y(S.id),children:[(0,F.jsx)(ix,{profile:S.id}),(0,F.jsx)("div",{className:"truss-estimator__option-title",children:S.label}),(0,F.jsx)("div",{className:"truss-estimator__option-copy",children:S.blurb})]},S.id))})]}),(0,F.jsxs)("div",{className:"skirting-calculator__section",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Board and waste"}),(0,F.jsx)("div",{className:"truss-estimator__field-grid skirting-calculator__options-grid",children:(0,F.jsxs)("label",{className:"truss-estimator__field",children:[(0,F.jsx)("span",{children:"Board length"}),(0,F.jsx)("input",{value:"4.40 m",disabled:!0})]})}),(0,F.jsx)("p",{className:"skirting-calculator__hint",children:"Longer boards can reduce the number of joins, while 10% waste allows for cuts, corners and mistakes."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__totals",children:[(0,F.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,F.jsxs)("div",{className:"skirting-calculator__result-grid",children:[(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Net skirting"}),(0,F.jsxs)("strong",{children:[f.toFixed(2)," m"]})]}),(0,F.jsxs)("div",{children:[(0,F.jsx)("span",{children:"Board lengths"}),(0,F.jsx)("strong",{children:u})]})]}),(0,F.jsx)("p",{className:"skirting-calculator__note",children:"Corners and joins vary by room layout. Measure each wall where possible for the most accurate result."})]}),(0,F.jsxs)("div",{className:"skirting-calculator__actions",children:[(0,F.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,F.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(w),disabled:f<=0,children:a})]})]})]})})}var Gn=G(Xe()),ie=G(ee()),cl=e=>Number.parseFloat(e)||0;function $d({onBack:e,onReview:t,submitLabel:a="Add to basket"}){let[r,i]=(0,Gn.useState)("studs"),[n,o]=(0,Gn.useState)(""),[l,c]=(0,Gn.useState)(""),[p,d]=(0,Gn.useState)("600"),[g,m]=(0,Gn.useState)("2.4"),b=n&&l&&p?Math.ceil(cl(l)/(cl(p)/1e3))+1:0,y=b*cl(n),T=cl(g)>0?Math.ceil(y/cl(g)):0,D=[{key:r,label:{studs:"Stud timber",joists:"Joist timber",battens:"Batten timber"}[r],qty:y,unit:"m",query:{studs:"cls studwork timber",joists:"timber joist",battens:"roofing batten"}[r],category:"timber"}],f={studs:["Stud wall","Vertical studs along a wall length"],joists:["Joists","Parallel joists across a floor or deck"],battens:["Battens","Regularly spaced battens for lining or cladding"]},w={studs:{member:"Wall height",overall:"Wall length",help:"Studs repeat across the wall length.",count:"Studs"},joists:{member:"Joist span",overall:"Overall width",help:"Joists repeat across the overall floor or deck width.",count:"Joists"},battens:{member:"Batten length",overall:"Overall width",help:"Battens repeat across the overall lining or cladding width.",count:"Battens"}}[r];return(0,ie.jsx)(ie.Fragment,{children:(0,ie.jsxs)("div",{className:"truss-estimator",children:[(0,ie.jsxs)("div",{className:"quick-order-hero",children:[(0,ie.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,ie.jsx)("h1",{children:"Timber Calculator"}),(0,ie.jsx)("p",{children:"Estimate studs, joists or battens from a run length, width and spacing."})]}),(0,ie.jsxs)("div",{className:"truss-estimator__card materials-calculator",children:[(0,ie.jsx)("h2",{className:"truss-estimator__step-title",children:"Member size and spacing"}),(0,ie.jsxs)("p",{className:"truss-estimator__step-sub",children:[w.help," Enter the member length and centres to estimate the number of pieces and stock lengths."]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Timber use"}),(0,ie.jsx)("div",{className:"truss-estimator__option-grid truss-estimator__option-grid--three",children:Object.keys(f).map(v=>(0,ie.jsxs)("button",{type:"button",className:`truss-estimator__option-card${r===v?" is-selected":""}`,onClick:()=>i(v),children:[(0,ie.jsx)("div",{className:"truss-estimator__option-title",children:f[v][0]}),(0,ie.jsx)("div",{className:"truss-estimator__option-copy",children:f[v][1]})]},v))})]}),(0,ie.jsxs)("div",{className:"materials-calculator__section",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Dimensions and spacing"}),(0,ie.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsxs)("span",{children:[w.member," (m)"]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:n,onChange:v=>o(v.target.value)})]}),(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsxs)("span",{children:[w.overall," (m)"]}),(0,ie.jsx)("input",{type:"number",min:"0",step:"0.01",value:l,onChange:v=>c(v.target.value)})]})]}),(0,ie.jsxs)("div",{className:"truss-estimator__field-grid",children:[(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsx)("span",{children:"Centres (mm)"}),(0,ie.jsxs)("select",{value:p,onChange:v=>d(v.target.value),children:[(0,ie.jsx)("option",{value:"300",children:"300 mm"}),(0,ie.jsx)("option",{value:"400",children:"400 mm"}),(0,ie.jsx)("option",{value:"450",children:"450 mm"}),(0,ie.jsx)("option",{value:"600",children:"600 mm"})]})]}),(0,ie.jsxs)("label",{className:"truss-estimator__field",children:[(0,ie.jsx)("span",{children:"Stock length (m)"}),(0,ie.jsxs)("select",{value:g,onChange:v=>m(v.target.value),children:[(0,ie.jsx)("option",{value:"2.4",children:"2.40 m"}),(0,ie.jsx)("option",{value:"3.6",children:"3.60 m"}),(0,ie.jsx)("option",{value:"4.8",children:"4.80 m"})]})]})]})]}),(0,ie.jsxs)("div",{className:"materials-calculator__totals",children:[(0,ie.jsx)("div",{className:"truss-estimator__section-heading",children:"Totals"}),(0,ie.jsxs)("div",{className:"materials-calculator__result-grid",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:w.count}),(0,ie.jsx)("strong",{children:b})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("span",{children:"Linear metres"}),(0,ie.jsxs)("strong",{children:[y.toFixed(2)," m"]})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsxs)("span",{children:[g," m lengths"]}),(0,ie.jsx)("strong",{children:T})]})]}),(0,ie.jsx)("p",{className:"materials-calculator__note",children:"Spacing is measured centre-to-centre. Add extra timber for plates, noggins, trimming and openings where required."})]}),(0,ie.jsxs)("div",{className:"materials-calculator__actions",children:[(0,ie.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary estimator-actions__back",onClick:e,children:"Back"}),(0,ie.jsx)("button",{type:"button",className:"cta-btn estimator-actions__calculate",onClick:()=>t?.(D),disabled:y<=0,children:a})]})]})]})})}var Zd=[{id:"truss",title:"Roof Truss Calculator",desc:"Estimate trusses, girders and roof structure costs.",imageUrl:"/tool-images/truss.webp",Component:Xd},{id:"fencing",title:"Fencing Calculator",desc:"Estimate fence panels, posts, gravel boards and fixings.",imageUrl:"/tool-images/fencing.webp",Component:Bd},{id:"decking",title:"Decking Calculator",desc:"Estimate boards, substructure and fixing quantities.",imageUrl:"/tool-images/decking.webp",Component:Od},{id:"brick-block",title:"Brick and Block Calculator",desc:"Estimate masonry units and ready-mixed mortar for a wall.",imageUrl:"/tool-images/brick-block.webp",Component:Md},{id:"paint",title:"Paint Calculator",desc:"Estimate paint for walls, doors and multiple coats.",imageUrl:"/tool-images/paint.webp",Component:Hd},{id:"skirting",title:"Skirting Board Calculator",desc:"Estimate skirting lengths for rooms and wall runs.",imageUrl:"/tool-images/skirting.webp",Component:Vd},{id:"architrave",title:"Architrave Calculator",desc:"Estimate architrave lengths for door and window openings.",imageUrl:"/tool-images/architrave.webp",Component:Ed},{id:"concrete-aggregate",title:"Concrete and Aggregate Calculator",desc:"Estimate concrete, MOT, sand and gravel quantities.",imageUrl:"/tool-images/concrete-aggregate.webp",Component:Ud},{id:"plasterboard",title:"Plasterboard Calculator",desc:"Estimate plasterboard sheets, screws, tape and adhesive.",imageUrl:"/tool-images/plasterboard.webp",Component:Yd},{id:"insulation",title:"Insulation Calculator",desc:"Estimate insulation packs for floors, walls, roofs and lofts.",imageUrl:"/tool-images/insulation.webp",Component:Ld},{id:"timber",title:"Timber Calculator",desc:"Estimate studs, joists and battens from spacing and lengths.",imageUrl:"/tool-images/timber.webp",Component:$d},{id:"paving",title:"Paving and Driveway Calculator",desc:"Estimate paving, block paving, MOT and sharp sand.",imageUrl:"/tool-images/paving.webp",Component:Qd}];var bc=G(Xe());var Ge=G(Xe());var C=G(ee()),nx=[{dir:"asc",label:"Description (A-Z)"},{dir:"desc",label:"Description (Z-A)"}],Kd={wasteFactorEnabled:!0},ox=3e3,Bv=null;function gc(e,t){let a=el(t);return a?`${e.toFixed(2)} ${a}`:e.toFixed(2)}function lx(e){return e&&e.length>0?e.join(" x "):"-"}function Pd({toolId:e,requirements:t,ready:a,onBack:r,onTotalChange:i}){let n=tc(),o=`${e}~${t.map(k=>`${k.key}|${k.query}|${k.category??""}|${k.qty}`).join("~")}`,l=o!==Bv,[c,p]=(0,Ge.useState)(null),[d,g]=(0,Ge.useState)([]),[m,b]=(0,Ge.useState)(l),[y,T]=(0,Ge.useState)(null),[D,f]=(0,Ge.useState)("tile"),[u,w]=(0,Ge.useState)(null),[v,S]=(0,Ge.useState)(""),[R,z]=(0,Ge.useState)(null),[A,Q]=(0,Ge.useState)(""),[K,fe]=(0,Ge.useState)([]),[Ue,Be]=(0,Ge.useState)(new Set),[Ye,Ne]=(0,Ge.useState)(null),[ve,oe]=(0,Ge.useState)(""),[se,ye]=(0,Ge.useState)([]),wt=(0,Ge.useRef)(null),Ee=(0,Ge.useRef)(!1),$=k=>`${e}:${k}`,ue=k=>Pr(k.chosen,{lineId:$(k.requirement.key),description:k.requirement.label,unit:k.requirement.unit,qty:k.requirement.qty}),Ze=(0,Ge.useMemo)(()=>t.map(k=>`${k.key}|${k.query}|${k.category??""}`).join("~"),[t]);(0,Ge.useEffect)(()=>{let k=!1;return Nv().then(L=>{k||p(L.itemCount>0)}).catch(()=>{k||p(!1)}),()=>{k=!0}},[]),(0,Ge.useEffect)(()=>{if(!a||!c)return;let k=!1,L;l&&b(!0),T(null);let P=Date.now();return(async()=>{let pe=null;try{pe=(await kv(t,void 0,e)).map(({requirement:xt,candidates:it})=>({requirement:xt,candidates:it,chosen:it[0]??null}))}catch(xe){k||T(xe instanceof Error?xe.message:"Could not load products")}if(!k){if(Bv=o,l){let xe=ox-(Date.now()-P);xe>0&&await new Promise(xt=>{L=window.setTimeout(xt,xe)})}k||(pe&&(g(pe),!Ee.current&&n&&(Ee.current=!0,n.addManyToCart(pe.filter(xe=>xe.chosen).map(ue)))),b(!1))}})(),()=>{k=!0,window.clearTimeout(L)}},[a,c,Ze]),(0,Ge.useEffect)(()=>{if(!R)return;let k=A.trim();if(!k){fe([]);return}let L=!1,P=window.setTimeout(()=>{fr(k).then(pe=>{L||fe(pe)}).catch(()=>{L||fe([])})},250);return()=>{L=!0,window.clearTimeout(P)}},[R,A]),(0,Ge.useEffect)(()=>{if(!Ye)return;let k=ve.trim();if(!k){ye([]);return}let L=!1,P=window.setTimeout(()=>{fr(k).then(pe=>{L||ye(pe)}).catch(()=>{L||ye([])})},250);return()=>{L=!0,window.clearTimeout(P)}},[Ye,ve]);let pt=(0,Ge.useMemo)(()=>{let k=v.trim().toLowerCase(),L=k?d.filter(P=>P.requirement.label.toLowerCase().includes(k)||(P.chosen?.description??"").toLowerCase().includes(k)||(P.chosen?.product_id??"").toLowerCase().includes(k)):d;return u?[...L].sort((P,pe)=>{let xe=P.requirement.label.localeCompare(pe.requirement.label);return u==="asc"?xe:-xe}):L},[d,v,u]),vt=pt.filter(k=>k.chosen),He=pt.filter(k=>!k.chosen),de=d.filter(k=>k.chosen),_e=de.filter(k=>k.chosen?.price==null).length,Se=de.reduce((k,L)=>k+(Ft(ue(L),Kd).lineTotal??0),0);if((0,Ge.useEffect)(()=>{i?.(Se)},[Se,i]),!a||c===!1)return null;let E=n?de.filter(k=>n.cart[$(k.requirement.key)]).length:0,O=Ye?d.find(k=>k.requirement.key===Ye)??null:null,ce=ve.trim()?se:O?.candidates??[],ge=k=>{let L=R===k.requirement.key;z(L?null:k.requirement.key),Q(L?"":k.requirement.query)},Ae=(k,L)=>{let P=d.find(pe=>pe.requirement.key===k);g(pe=>pe.map(xe=>xe.requirement.key===k?{...xe,chosen:L}:xe)),n&&P&&n.cart[$(k)]&&n.addToCart(ue({...P,chosen:L})),z(null),Q("")},Pe=k=>{g(L=>L.map(P=>P.requirement.key===k?{...P,chosen:null}:P)),n?.cart[$(k)]&&n.removeFromCart($(k))},h=k=>{Ne(k.requirement.key),oe(""),ye([])},M=()=>{Ne(null),oe(""),ye([])},N=k=>{if(!n)return;let L=$(k.requirement.key);n.cart[L]?n.removeFromCart(L):n.addToCart(ue(k))},Y=k=>{Be(L=>{let P=new Set(L);return P.has(k)?P.delete(k):P.add(k),P})},Z=k=>{let L=K.length>0?K:k.candidates;return(0,C.jsxs)("div",{className:"estimator-products__picker",children:[(0,C.jsx)("input",{type:"text",className:"results-search-input",value:A,autoFocus:!0,placeholder:"Search products in catalogue...",onChange:P=>Q(P.target.value),"aria-label":`Search a product for ${k.requirement.label}`}),(0,C.jsxs)("div",{className:"estimator-products__options",children:[L.map(P=>(0,C.jsxs)("button",{type:"button",className:`estimator-products__option${P.product_id===k.chosen?.product_id?" is-selected":""}`,onClick:()=>Ae(k.requirement.key,P),children:[(0,C.jsx)("span",{children:P.description}),(0,C.jsxs)("span",{className:"results-row-meta",children:[P.product_id,P.price!=null&&` \xB7 ${lt(P.price)}`]})]},P.product_id)),L.length===0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No matching products."})]})]})};return(0,C.jsxs)("section",{className:"estimator-products results-tile-section","aria-label":"Matched products",children:[!m&&(0,C.jsxs)("div",{className:"estimator-products__head",children:[(0,C.jsxs)("div",{className:"results-tile-section__head",children:[(0,C.jsx)("h3",{children:"Matched Products"}),(0,C.jsx)("p",{children:"Products matched to your estimate, check before adding to your basket."})]}),!O&&(0,C.jsxs)("div",{className:"results-summary estimator-products__toolbar",children:[_e>0&&(0,C.jsxs)("span",{className:"summary-chip summary-chip--neutral",children:[(0,C.jsx)("strong",{children:_e})," need pricing"]}),(0,C.jsxs)("div",{className:"estimator-products__controls",children:[(0,C.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search description...",value:v,onChange:k=>S(k.target.value),"aria-label":"Search matched products"}),(0,C.jsxs)("div",{className:"results-view-toggle","aria-label":"Results view",children:[(0,C.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="tile"?" is-active":""}`,"aria-pressed":D==="tile","aria-label":"Tile view",title:"Tile view",onClick:()=>f("tile"),children:(0,C.jsxs)("svg",{width:"18",height:"12",viewBox:"0 0 15 10",fill:"currentColor",children:[(0,C.jsx)("rect",{x:"0.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"5.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"10.5",y:"0.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"0.5",y:"5.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"5.5",y:"5.5",width:"4",height:"4"}),(0,C.jsx)("rect",{x:"10.5",y:"5.5",width:"4",height:"4"})]})}),(0,C.jsx)("button",{type:"button",className:`results-view-toggle__btn${D==="list"?" is-active":""}`,"aria-pressed":D==="list","aria-label":"List view",title:"List view",onClick:()=>f("list"),children:(0,C.jsxs)("svg",{width:"17",height:"17",viewBox:"0 0 15 15",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,C.jsx)("line",{x1:"0.5",y1:"2.5",x2:"14.5",y2:"2.5"}),(0,C.jsx)("line",{x1:"0.5",y1:"7.5",x2:"14.5",y2:"7.5"}),(0,C.jsx)("line",{x1:"0.5",y1:"12.5",x2:"14.5",y2:"12.5"})]})})]}),(0,C.jsxs)("details",{ref:wt,style:{position:"relative"},children:[(0,C.jsx)("summary",{className:"bom-toolbar-btn sort-menu-summary","aria-label":"Sort materials",style:{fontSize:16},children:"\u21C5"}),(0,C.jsx)("div",{className:"sort-menu-panel",children:nx.map(k=>{let L=u===k.dir;return(0,C.jsxs)("button",{type:"button",className:`sort-menu-item${L?" is-active":""}`,onClick:()=>{w(L?null:k.dir),wt.current?.removeAttribute("open")},children:[(0,C.jsx)("span",{className:"sort-menu-item__check",children:L?"\u2713":""}),k.label]},k.dir)})})]})]})]})]}),O&&(0,C.jsxs)("div",{className:"results-review-page",children:[(0,C.jsxs)("div",{className:"results-review-page__top",children:[(0,C.jsxs)("button",{type:"button",className:"bom-toolbar-btn bom-toolbar-btn--accent",onClick:M,children:[(0,C.jsx)(Kr,{}),"Back to results"]}),(0,C.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,C.jsx)("div",{className:"results-review-searchbar",children:(0,C.jsx)("input",{type:"text",className:"results-search-input",placeholder:"Search products in catalogue...",value:ve,onChange:k=>oe(k.target.value),"aria-label":`Search a product for ${O.requirement.label}`})}),O.chosen&&(0,C.jsx)("div",{className:"results-candidate-actions",children:(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>Pe(O.requirement.key),children:"Clear selected product"})})]})]}),(0,C.jsxs)("div",{className:"results-review-page__hero",children:[(0,C.jsx)("div",{className:"results-review-page__image-wrap",children:(0,C.jsx)("img",{className:"fill-img results-review-page__image",src:Ga(O.chosen?.description||O.requirement.label,O.chosen?.product_id,O.chosen?.pdp_photo_url),alt:""})}),(0,C.jsxs)("div",{className:"results-review-page__summary",children:[(0,C.jsx)("h2",{children:O.requirement.label}),(0,C.jsxs)("p",{className:"results-review-page__meta",children:[yi(O.requirement.qty)," ",Sa(O.requirement.unit,O.requirement.qty)]}),O.chosen?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"results-review-page__product",children:O.chosen.description}),(0,C.jsxs)("div",{className:"results-row-meta",children:[O.chosen.product_id,O.chosen.price!=null?` \xB7 ${gc(O.chosen.price,O.chosen.price_basis)}`:""]})]}):(0,C.jsx)("div",{className:"results-empty-hint",children:"No product currently selected for this line."}),(0,C.jsx)("div",{className:"results-review-page__actions",children:(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${n?.cart[$(O.requirement.key)]?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(O),disabled:!O.chosen||!n,children:n?.cart[$(O.requirement.key)]?"\u2713 Added":"+ Add to basket"})})]})]}),ce.length===0?(0,C.jsx)("p",{className:"results-empty-hint",children:"No matching products."}):(0,C.jsxs)("table",{className:"score-breakdown-table",children:[(0,C.jsx)("thead",{children:(0,C.jsxs)("tr",{children:[(0,C.jsx)("th",{children:"Product"}),(0,C.jsx)("th",{children:"Dims (mm)"}),(0,C.jsx)("th",{children:"Price"}),(0,C.jsx)("th",{"aria-label":"Actions"})]})}),(0,C.jsx)("tbody",{children:ce.map(k=>{let L=k.product_id===O.chosen?.product_id;return(0,C.jsxs)("tr",{className:L?"score-breakdown-row--best":"",children:[(0,C.jsxs)("td",{children:[(0,C.jsx)("div",{children:k.description}),(0,C.jsx)("div",{className:"results-row-meta",children:k.product_id})]}),(0,C.jsx)("td",{children:(0,C.jsx)("span",{className:"unit-badge",children:lx(k.measurements_mm)})}),(0,C.jsx)("td",{children:k.price!=null?gc(k.price,k.price_basis):"-"}),(0,C.jsx)("td",{children:(0,C.jsxs)("label",{className:"switch-toggle",title:L?"Currently selected":"Use this candidate",children:[(0,C.jsx)("input",{type:"checkbox",checked:L,onChange:()=>{L?Pe(O.requirement.key):Ae(O.requirement.key,k)},"aria-label":L?`${k.description} selected`:`Use ${k.description}`}),(0,C.jsx)("span",{className:"switch-toggle-track","aria-hidden":"true"})]})})]},k.product_id)})})]})]}),!O&&m&&(0,C.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{padding:"32px 24px"},children:[(0,C.jsx)(dr,{}),(0,C.jsx)("p",{className:"banter-message is-visible",style:{fontSize:15,minHeight:0},children:"Matching your materials against the catalogue\u2026"})]}),!O&&y&&(0,C.jsx)("p",{className:"results-empty-hint estimator-products__error",children:y}),!O&&!m&&!y&&pt.length===0&&d.length>0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No materials match the current search."}),!O&&!m&&!y&&D==="tile"&&vt.length>0&&(0,C.jsx)("div",{className:"results-tile-grid",children:vt.map(k=>{let{requirement:L,chosen:P}=k,pe=P?Ft(ue(k),Kd):null,xe=n?!!n.cart[$(L.key)]:!1;return(0,C.jsxs)("article",{className:"results-tile-card",children:[(0,C.jsxs)("button",{type:"button",className:"results-tile-card__surface",onClick:()=>h(k),"aria-label":`Review match for ${L.label}`,children:[(0,C.jsx)("div",{className:"results-tile-card__media",children:(0,C.jsx)("img",{className:"fill-img results-tile-card__image",src:Ga(P?.description||L.label,P?.product_id,P?.pdp_photo_url),alt:""})}),(0,C.jsxs)("div",{className:"results-tile-card__body",children:[P?(0,C.jsxs)("div",{className:"results-tile-card__heading",children:[(0,C.jsx)("div",{className:"results-tile-card__title",children:P.description}),(0,C.jsxs)("div",{className:"results-tile-card__match-meta",children:[(0,C.jsx)("span",{children:P.product_id}),P.price!=null?(0,C.jsx)("span",{children:gc(P.price,P.price_basis)}):null]})]}):(0,C.jsx)("div",{className:"results-empty-hint",children:"No product matched for this line."}),(0,C.jsxs)("div",{className:"results-tile-card__match",children:[(0,C.jsx)("div",{className:"results-tile-card__match-label",children:"\u21B3 calculated as"}),(0,C.jsx)("div",{className:"results-tile-card__match-name",children:L.label}),(0,C.jsxs)("div",{className:"results-tile-card__meta",children:[yi(L.qty)," ",Sa(L.unit,L.qty)]}),pe?.requiredSellUnits!=null?(0,C.jsxs)("div",{className:"results-tile-card__meta estimator-products__order",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${lt(pe.lineTotal)}`:""]}):P?(0,C.jsx)("div",{className:"results-row-meta",children:"Quantity needs review"}):null]})]})]}),(0,C.jsxs)("div",{className:"results-tile-card__actions",children:[(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>h(k),children:"Review"}),(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${xe?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(k),disabled:!P||!n,children:xe?"\u2713 Added":"+ Add"})]})]},L.key)})}),!O&&!m&&!y&&D==="list"&&vt.length>0&&(0,C.jsx)("div",{className:"bom-table-wrap",children:(0,C.jsxs)("table",{className:"bom-table results-table","aria-label":"Matched materials",children:[(0,C.jsxs)("colgroup",{children:[(0,C.jsx)("col",{style:{width:"56px"}}),(0,C.jsx)("col",{className:"col-item"}),(0,C.jsx)("col",{style:{width:"90px"}}),(0,C.jsx)("col",{style:{width:"80px"}}),(0,C.jsx)("col",{style:{width:"220px"}}),(0,C.jsx)("col",{style:{width:"110px"}})]}),(0,C.jsx)("thead",{children:(0,C.jsxs)("tr",{className:"bom-col-header",children:[(0,C.jsx)("th",{"aria-label":"Expand"}),(0,C.jsx)("th",{style:{textAlign:"left"},children:"Description"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Qty"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Unit"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Product Matched"}),(0,C.jsx)("th",{style:{textAlign:"center"},children:"Basket"})]})}),(0,C.jsx)("tbody",{children:vt.map(k=>{let{requirement:L,chosen:P}=k,pe=P?Ft(ue(k),Kd):null,xe=n?!!n.cart[$(L.key)]:!1,xt=Ue.has(L.key);return(0,C.jsxs)(Ge.Fragment,{children:[(0,C.jsxs)("tr",{className:"bom-row",children:[(0,C.jsx)("td",{className:"bom-actions",style:{textAlign:"center",paddingLeft:0,paddingRight:0},children:(0,C.jsx)("button",{type:"button",className:"link-btn",onClick:()=>Y(L.key),"aria-expanded":xt,"aria-label":xt?"Collapse product options":"Expand product options",children:xt?"\u25BE":"\u25B8"})}),(0,C.jsxs)("td",{style:{paddingLeft:0},children:[(0,C.jsx)("div",{className:"bom-component-name",children:L.label}),pe?.requiredSellUnits!=null&&(0,C.jsxs)("div",{className:"results-row-meta",children:["Order ",pe.requiredSellUnits," ",pe.sellUnit,pe.lineTotal!=null?` \xB7 ${lt(pe.lineTotal)}`:""]})]}),(0,C.jsx)("td",{className:"bom-qty col-order",style:{textAlign:"center"},children:yi(L.qty)}),(0,C.jsx)("td",{style:{textAlign:"center"},children:Sa(L.unit,L.qty)}),(0,C.jsx)("td",{style:{textAlign:"center"},children:P?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"bom-component-name",children:P.description}),(0,C.jsxs)("div",{className:"results-row-meta",children:[P.product_id,P.price!=null&&` \xB7 ${gc(P.price,P.price_basis)}`]})]}):(0,C.jsx)("span",{className:"results-empty-hint",children:"No match"})}),(0,C.jsx)("td",{style:{textAlign:"center"},children:(0,C.jsx)("button",{type:"button",className:`bom-toolbar-btn${xe?" bom-toolbar-btn--added":" bom-toolbar-btn--accent"}`,onClick:()=>N(k),disabled:!P||!n,children:xe?"\u2713 Added":"+ Add"})})]}),xt&&(0,C.jsx)("tr",{children:(0,C.jsx)("td",{colSpan:6,style:{paddingLeft:0,paddingRight:0},children:R===L.key?Z(k):(0,C.jsxs)("div",{className:"estimator-products__picker",children:[(0,C.jsxs)("div",{className:"estimator-products__options",children:[k.candidates.map(it=>(0,C.jsxs)("button",{type:"button",className:`estimator-products__option${it.product_id===P?.product_id?" is-selected":""}`,onClick:()=>Ae(L.key,it),children:[(0,C.jsx)("span",{children:it.description}),(0,C.jsxs)("span",{className:"results-row-meta",children:[it.product_id,it.price!=null&&` \xB7 ${lt(it.price)}`]})]},it.product_id)),k.candidates.length===0&&(0,C.jsx)("p",{className:"results-empty-hint",children:"No candidates found."})]}),(0,C.jsx)("button",{type:"button",className:"bom-toolbar-btn",onClick:()=>ge(k),children:"Search the catalogue"})]})})})]},L.key)})})]})}),!O&&!m&&!y&&He.length>0&&(0,C.jsxs)("section",{className:"results-tile-section results-tile-section--unmatched","aria-label":"Items requiring matching",children:[(0,C.jsxs)("div",{className:"results-tile-section__head",children:[(0,C.jsx)("h3",{children:"Require Matching"}),(0,C.jsx)("p",{children:"We couldn\u2019t confidently match these to a product. Open one to pick from the closest options."})]}),(0,C.jsx)("div",{className:"results-unmatched-list",children:He.map(k=>(0,C.jsxs)("button",{type:"button",className:"results-unmatched-card",onClick:()=>h(k),children:[(0,C.jsxs)("span",{className:"results-unmatched-card__main",children:[(0,C.jsx)("span",{className:"results-unmatched-card__title",children:k.requirement.label}),(0,C.jsxs)("span",{className:"results-row-meta",children:[yi(k.requirement.qty)," ",Sa(k.requirement.unit,k.requirement.qty)]})]}),(0,C.jsx)("span",{className:"bom-toolbar-btn results-unmatched-card__prompt",children:"Review"})]},k.requirement.key))})]}),!m&&!y&&d.length>0&&(0,C.jsxs)("div",{className:"disclaimer-box",style:{alignItems:"center"},children:[(0,C.jsx)("span",{className:"disclaimer-icon",children:"\u26A0\uFE0F"}),(0,C.jsx)("p",{className:"disclaimer-text",children:"These matches are generated automatically and should be reviewed before procurement, especially any items flagged as medium or low confidence."})]}),!O&&!m&&!y&&(r||E>0)&&(0,C.jsxs)("div",{className:"btn-row estimator-products__footer",children:[r&&(0,C.jsx)("button",{type:"button",className:"cta-btn cta-btn-secondary",style:{flex:"0 1 30%",justifyContent:"center",marginTop:0},onClick:r,children:"Back"}),E>0&&n&&(0,C.jsxs)("button",{type:"button",className:"cta-btn",style:{flex:r?"0 1 70%":1,marginTop:0},onClick:n.openBasket,children:[(0,C.jsxs)("span",{children:["View Basket (",E,")"]}),(0,C.jsx)("span",{className:"arrow",children:(0,C.jsx)(Qt,{})})]})]})]})}var Gt=G(ee());function Jd({toolId:e,toolTitle:t,requirements:a,onBack:r}){let[i,n]=(0,bc.useState)(0),o=(0,bc.useCallback)(l=>n(l),[]);return(0,Gt.jsx)(Gt.Fragment,{children:(0,Gt.jsxs)("div",{className:"truss-estimator",children:[(0,Gt.jsxs)("div",{className:"quick-order-hero",children:[(0,Gt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Gt.jsxs)("div",{className:"quick-order-hero-title-row",children:[(0,Gt.jsx)("h1",{children:"Your Materials"}),i>0&&(0,Gt.jsxs)("span",{className:"summary-chip summary-chip--scope",children:[(0,Gt.jsx)("strong",{children:lt(i)})," Est. total"]})]}),(0,Gt.jsxs)("p",{children:["Quantities from the ",t,", matched against your merchant\u2019s catalogue."]})]}),(0,Gt.jsx)("div",{className:"truss-estimator__card",style:{minHeight:0},children:(0,Gt.jsx)(Pd,{toolId:e,requirements:a,ready:!0,onBack:r,onTotalChange:o})})]})})}var Id=G(Xe());var Wt=G(ee()),sx=1500;function Lv(e){let{addManyToCart:t,clearCart:a,openBasket:r}=Un(),[i,n]=(0,Id.useState)(!1),[o,l]=(0,Id.useState)(null);return{adding:i,basketError:o,addToBasket:async(p,d)=>{let g=Date.now();n(!0),l(null);try{let m=await Promise.all(p.filter(y=>y.qty>0).map(async y=>{let T=(await fr(y.search)).find(D=>D.product_id===y.productId);if(!T)throw new Error("A selected product is no longer available in this catalogue.");return Pr(T,{lineId:`${e}:${y.key}`,description:T.description,unit:zd(y.unit??"each",T),qty:y.qty,calculatorWasteIncluded:d})})),b=sx-(Date.now()-g);b>0&&await new Promise(y=>window.setTimeout(y,b)),a(),t(m),r()}catch(m){l(m instanceof Error?m.message:"Could not add the products to your basket.")}finally{n(!1)}}}}function Hv({toolTitle:e}){return(0,Wt.jsx)(Wt.Fragment,{children:(0,Wt.jsxs)("div",{className:"truss-estimator",children:[(0,Wt.jsxs)("div",{className:"quick-order-hero",children:[(0,Wt.jsx)("div",{className:"quick-order-eyebrow",children:"Estimating Tools"}),(0,Wt.jsx)("h1",{children:"Your Materials"}),(0,Wt.jsxs)("p",{children:["Calculating quantities from the ",e,"."]})]}),(0,Wt.jsx)("div",{className:"truss-estimator__card",children:(0,Wt.jsxs)("div",{className:"processing-container processing-variant-banter",role:"status","aria-label":"Loading",style:{flex:1,justifyContent:"center"},children:[(0,Wt.jsx)(dr,{}),(0,Wt.jsx)("p",{className:"banter-message is-visible",children:"Preparing your materials\u2026"})]})})]})})}var Re=G(ee());function wc(e){let[t,a]=(0,Xa.useState)(!1);return(0,Re.jsx)(ec,{onOpenBasket:()=>a(!0),children:(0,Re.jsx)(cx,{...e,showBasket:t,onShowBasket:a})})}function cx({fullPage:e=!1,hideHeader:t=!1,internal:a=!1,showBasket:r,onShowBasket:i}){let[n,o]=(0,Xa.useState)(null),[l,c]=(0,Xa.useState)(null),p=Zd.find(A=>A.id===n),{cart:d,updateCartQty:g,updateCartSellUnits:m,updateCartConversions:b,removeFromCart:y,clearCart:T}=Un(),{adding:D,basketError:f,addToBasket:u}=Lv(p?.title??"calculator"),w=(0,Xa.useRef)(null),v=Ys("estimating-tools",w);(0,Xa.useEffect)(()=>{v("viewed")},[v]);let S=r?"basket":D?"adding":l?"review":n??"list",R=(0,Xa.useRef)(S);(0,Xa.useEffect)(()=>{R.current!==S&&(R.current=S,window.scrollTo(0,0))},[S]);let z=A=>{if(!p)return;v("estimate_completed",{calculator:p.id,lines:A.length});let Q=_v(p.id,A);Q?u(Q,A[0]?.calculatorWasteIncluded??!1):c(A)};return(0,Re.jsx)(Po.Provider,{value:v,children:(0,Re.jsx)("div",{ref:w,className:`app-wrapper${e?"":" app-wrapper--embedded"}${t?" app-wrapper--no-header":""}${a?"":" estimating-tools--customer"}`,style:jt().theme,children:(0,Re.jsx)("main",{className:"main-content",children:r?(0,Re.jsx)(ol,{cart:d,onUpdateQty:g,onUpdateSellUnits:m,onResolveConversions:b,onRemove:y,onBack:()=>i(!1),onStartNewQuote:()=>{T(),o(null),c(null),i(!1)},internal:a}):D&&p?(0,Re.jsx)(Hv,{toolTitle:p.title}):p?(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsx)("div",{hidden:l!==null,children:(0,Re.jsx)(p.Component,{onBack:()=>o(null),onReview:z})}),f&&(0,Re.jsx)("p",{className:"results-empty-hint estimator-products__error",children:f}),l!==null&&(0,Re.jsx)(Jd,{toolId:p.id,toolTitle:p.title,requirements:l,onBack:()=>c(null)})]}):(0,Re.jsx)(Re.Fragment,{children:(0,Re.jsxs)("div",{className:"quick-order-card",children:[(0,Re.jsxs)("div",{className:"quick-order-hero",children:[(0,Re.jsx)("div",{className:"quick-order-eyebrow",children:"Construction Services"}),(0,Re.jsx)("h1",{children:"Estimating Tools"}),(0,Re.jsx)("p",{children:"Trade-specific calculators for trusses, fencing, decking, masonry and painting. Dial in your specs and get an instant material estimate."})]}),(0,Re.jsxs)("div",{className:"quick-order-alt",children:[(0,Re.jsx)("div",{className:"quick-order-alt-title",children:"Choose a Calculator"}),(0,Re.jsx)("div",{className:"estimator-tools-grid",children:Zd.map(A=>(0,Re.jsxs)("button",{type:"button",className:"estimator-tool-card",onClick:()=>{v("calculator_selected",{calculator:A.id}),o(A.id),c(null)},children:[(0,Re.jsx)("span",{className:"estimator-tool-card__image-wrap",children:(0,Re.jsx)("img",{className:"fill-img estimator-tool-card__image",src:It(A.imageUrl),alt:""})}),(0,Re.jsxs)("span",{className:"estimator-tool-card__content",children:[(0,Re.jsx)("span",{className:"estimator-tool-card__title",children:A.title}),(0,Re.jsx)("span",{className:"estimator-tool-card__desc",children:A.desc})]})]},A.id))})]})]})})})})})}var vc=G(ee());function Fd({config:e,children:t}){return rw(e),(0,vc.jsx)(vc.Fragment,{children:t})}var Wd=G(ee()),ux="https://api.metronlabs.ai",px=["client","api-key","api-url","theme","hide-header","analytics"],dx=["all","events-only","none"];function Qv(e,t){var a;customElements.get(e)||customElements.define(e,(a=class extends HTMLElement{constructor(){super();this.root=null;this.attachShadow({mode:"open"})}connectedCallback(){if(this.dataset.version="0.1.51",this.id||(this.id=e),this.setAttribute("data-turbo-permanent",""),this.setAttribute("data-turbolinks-permanent",""),!this.root){let i=document.createElement("div"),n=document.createElement("style");n.textContent=`:host { display: block; }
6803
6970
  :host > div { all: initial; display: block; }
6804
- ${av}`,this.shadowRoot.replaceChildren(n,i),this.root=(0,jw.createRoot)(i)}this.renderWidget()}disconnectedCallback(){queueMicrotask(()=>{this.isConnected||!this.root||(this.root.unmount(),this.root=null)})}attributeChangedCallback(){this.root&&this.renderWidget()}renderWidget(){let i=this.getAttribute("client")??void 0,n=this.getAttribute("api-key")??void 0;(!i||!n)&&console.error(`<${e}> needs client and api-key attributes.`);let o={apiBaseUrl:this.getAttribute("api-url")||ux,client:i,apiKey:n,theme:fx(e,this.getAttribute("theme")),analytics:mx(this.getAttribute("analytics"))};this.root.render((0,Wd.jsx)(Fd,{config:o,children:(0,Wd.jsx)(t,{hideHeader:this.hasAttribute("hide-header")})}))}},a.observedAttributes=px,a))}function mx(e){return dx.find(t=>t===e)??"all"}function fx(e,t){if(t)try{return JSON.parse(t)}catch{console.error(`<${e}> theme attribute isn't valid JSON; using the default colours.`);return}}Qw("metron-labs-quick-quote",ac);Qw("metron-labs-estimating-tools",vc);
6971
+ ${aw}`,this.shadowRoot.replaceChildren(n,i),this.root=(0,jv.createRoot)(i)}this.renderWidget()}disconnectedCallback(){queueMicrotask(()=>{this.isConnected||!this.root||(this.root.unmount(),this.root=null)})}attributeChangedCallback(){this.root&&this.renderWidget()}renderWidget(){let i=this.getAttribute("client")??void 0,n=this.getAttribute("api-key")??void 0;(!i||!n)&&console.error(`<${e}> needs client and api-key attributes.`);let o={apiBaseUrl:this.getAttribute("api-url")||ux,client:i,apiKey:n,theme:fx(e,this.getAttribute("theme")),analytics:mx(this.getAttribute("analytics"))};this.root.render((0,Wd.jsx)(Fd,{config:o,children:(0,Wd.jsx)(t,{hideHeader:this.hasAttribute("hide-header")})}))}},a.observedAttributes=px,a))}function mx(e){return dx.find(t=>t===e)??"all"}function fx(e,t){if(t)try{return JSON.parse(t)}catch{console.error(`<${e}> theme attribute isn't valid JSON; using the default colours.`);return}}Qv("metron-labs-quick-quote",ac);Qv("metron-labs-estimating-tools",wc);
6805
6972
  /*! Bundled license information:
6806
6973
 
6807
6974
  scheduler/cjs/scheduler.production.js: